owos 9.1.lib

Hallo,
die owos 9.1 lib ist fertig.
sie ist hier zu finden–>1-Wire Buskoppler für WAGO (CodeSys), OWOS | WAGO (CODESYS) Integration | Lösungen, Zutaten und Rezepte | E-Service Online, Home Automation

wichtige Änderungen gegenüber der 8.x:
-im Datentyp „one_wire_binaer“ und „DS2408“ wurde „Status“,„Aenderung“ und „DO_steuern“ in Array of Bool umgestellt.

-einige Parameter in owp wurden geändert bzw. hinzugefügt (owp.bus_ok…)
-Ablauf „one_wire“ und „ow_temperatur“ wurde geändert, die zyklische Püfung der Schnittstelle und ID-Suche wurde entfernt
-„fehler_in_liste_eintragen“ wurde geändert, bei gleicher Meldung wird Anzahl mit angezeigt…
bitte Handbuch lesen!!!

Library, Example, Doku ist unter o.g. Link zu finden
Wie immer bin ich für Anregungen, Änderungswünsche und Verbesserungsvorschläge dankbar.

Gruß,
Rayk

Hey enra,

Läuft an sich sehr sauber. Umstellung machte keine Probleme.

Einzig mein neu angelernter DS2438 stellt sich immer auf inaktiv (aktiv = false).

Den habe ich jedoch erst mit der V9.1 integriert. Werte kommen an. Wo kann man hier nach dem Problem forschen?

Hallo Rayk und IPSler,

will an meine Wago ca. 80 - 90 1-Wire Bausteine anschliesen.
Reicht da ein RS232/V24 Koppler oder benötige ich dort mehrer Koppler?

Habe nun heute ein wenig probiert, und bin wieder bei der Version 8 gelandet, da hier der o.g. Fehler nicht auftritt. der DS2438 Baustein bleibt aktiv.

Hallo Rayk,

bei mir kommt beim Überstzen der Vers 9 in Codsys

Fehler 350 Parameter 2 der Funktion ‚CONCAT‘: Das Ergebnis einer IEC-Funktion kann nicht als Stringparameter einer C-Funktion
übergeben werden.

Für mich so nicht einzubinden.

Haste ne Ahnung?

Wago ist 750-8202

Hallo,
das ‚CONCAT‘ Problem beim 750-8202 ist hier beschrieben mit Lösungsmöglichkeiten
Bei 750-8202 und der OSCAT-Lib kommt der Fehler 3150

Das Problem mit dem DS2438 kann ich nicht nachvollziehen, ich habe in 5 Anlagen die Lib. im Einsatz und dieses Verhalten ist noch nicht aufgetreten.

Gruß
Rayk

Danke für die Info

Hallo Rayk,

gibt es eigentlich auch eine Möglichkeit die Auflösung der DS1820 zu verändern ?
Wenn ich das richtig sehe werden ja aktuell nur „halbe“ Grad Schritte angezeigt?

Schöne Grüße
Eloee

der DS1820 kann nicht besser, im Handbuch steht „±0.5°C Accuracy“
der DS18B20 ist genauer…
Gruß
Rayk

Ich meinte natürlich den DS18B20 :o
Bei dem steht bei Maxim zwar auch „±0.5°C Accuracy from -10°C to +85°C“ aber hätte trotzdem gerne mehr als die 0.5 °C Schritte. Irgendwie kann man ihm das ja mitteilen das er das genauer versenden soll?

Schöne Grüße
Eloee

der DS18B20 stellt die Temperatur genauer dar -->
Zwischenablage01.jpg

Finde leider keinen Datentyp zum DS18B20… gibt es da eine neue Version der Lib (habe die 9.1) oder bin ich blind ? :smiley:

Schöne Grüße
Eloee

DS18B20 und DS18S20 haben den selben Datentyp, die Auflösung bestimmt der erkannte Bausteintyp
das ist auch nichts neues,
sind bei dir evtl. DS18S20 angeschlossen???

Gruß
Rayk

Also eigentlich dachte ich das wären alles DS18B20, hieß es zumindest laut Artikelbeschreibung.
Hatte auch mal einen an einem Arduino dran, dort konnte ich den genauer auslesen. War aber nicht der welcher jetzt an der Wago hängt, könnte also schon sein das da ein S20 dabei war…
Wenn ich es richtig verstehe liest OWOS also automatisch einen höher aufgelösten Wert aus, wenn ein B20 gefunden wird ?

Schöne Grüße
Eloee

genau so ist es, der Bausteintyp bestimmt die Auflösung…

Guten Abend,

ich benutze ein 750-8202 mit FW06 und wenn ich die owos_9_1.lib einbinde, kommt immer der folgende Fehler.

Ich habe schon vom SPS-Forum die angepassten oscat libs, dennoch ist das Problem noch da.
Muss ich die owos_9_1.lib mit der angepassten oscat.lib neu erstellen?

Am One-wire habe ich nur Temperaturfühler.

Danke für die Hilfe.

Hallo,
die owos 9.x benötigt die oscat_basic_333.lib.
Nenne deine angepasste oscat.lib einfach um und entferne den Aufruf zur original oscat.lib dann sollte es auch mit dem 750-8202 klappen.
Achtung bei Verwendung von „ow_temperatur“ aus der owos_9_1 es kann zu Störungsmeldungen kommen. Lösung ist in der noch nicht veröffentlichten owos_9_2.lib oder Mail an mich…

Gruß
Rayk

Guten Abend Rayk,

wie gestern in der Mail geschrieben, habe ich die owos.lib angepasst.
Es funktioniert dann aber nur für ca 5-12 Stunden und dann zeigen 2 von 12 temp-Fühlern ein falschen wer an. Der eine +1054 Grad C und ein anderer -1054 an.
Benutze aktuell die 8.3.1.

Gesendet von iPad mit Tapatalk

Hallo,

das Problem ist meines Erachtens gelöst.
Und zwar habe ich in der owos.lib (OneWire-Library) folgende des geändert.

Original:

id_str:=id_to_string(ADR(werte^.idsuch.id_mem[byte_nr,1]));

geändert:

temp1:=ADR(werte^.idsuch.id_mem[byte_nr,1]);
id_str:=id_to_string(temp1);

Original:

id_str:=id_to_string(ADR(werte^.idsuch.id_mem[werte^.idsuch.byte_nr,1]));

Geändert:

temp1:=ADR(werte^.idsuch.id_mem[werte^.idsuch.byte_nr,1]);
id_str:=id_to_string(temp1);

Original

id_to_string:=CONCAT(id_to_string, BYTE_TO_STRH(pt^[i]));

Geändert:

temp1:=BYTE_TO_STRH(pt^[i]);
id_to_string:=CONCAT(id_to_string,temp1);

Nach den Änderungen war die Funktion wieder gegeben und ich könnte mein Programm übersetzen.

Hallo,
ich hatte im Januar ohne diese Änderung die owos.lib auf dem 750-8202 laufen. Ich musste nur die angepasste oscat.lib einsetzen.
Wenn du Probleme mit dem „ow_temperatur“ hast, mail an mich.
Bitte mit brauchbarer Mailadresse, ich wollte dir die owos_9_2.lib schicken, Mail kam zurück…?

Gruß
Rayk