Wago und 1-wire V7 / owos_7_6.lib

Hallo,
die „owos_7_6.lib“ nutzt nun vollständig die „oscat_basic.lib“ die „wago_tools.lib“ wird nicht mehr benötigt. Damit dürften das Problem der Kompatibilität bzw. der doppelten Bausteine gelöst sein.
folgende Fehler wurden beseitigt:
-Problem der Kopplung mit einer seriellen Klemme (750-650/x)
-LCD Problem bei Textänderung
-ID-Suche…
-Fehler bei der DO-Ausgabe des DS2450

Die „owos_7_6.lib“ ist hier zu finden–>
| 1-Wire für WAGO Library | E-Service-Online Shop

ich habe die aktuelle „oscat_basic.lib“ dazu gepackt,
weiterhin findet ihr das Tool „Formatter“ welches ein komfortables Einfügen der IDs der 1-Wire Teilnehmer in die one_wire_Daten ermöglicht.
Dieses wurde von @Jensen zur Verfügung gestellt, danke Jens.

Wie immer bin ich für Anregungen, Änderungswünsche und Verbesserungsvorschläge dankbar.

Gruß,
Rayk

Hallo Rayk,

bei mir funktioniert die 7.6 nicht.

Ich habe die 7.4 und die wago_tools.lib gelöscht und durch die 7.6 ersetzt. Danach kommen keine Daten mehr vom 1-Wire-Bus. Die Initialisierung des Busses scheint nicht richtig zu funktionieren.

Anschliessend wieder zurück, dh 7.6 löschen und 7.4 und wago_tools.lib rein.

Geht wieder alles.

Wenn ich bei der Ursachenforschung helfen kann, sag mir wie.

Gruß
Klaus

Komisch, ich habe das Gefühl, daß das Startprogramm nicht ausgeführt wird.

Darin steht

owp.ow_Zeiten.Abtastzeit:=T#10s;

bei laufendem Programm sind es dann in den globalen Variablen aber T#4m.

Kann es mit der 7.4 funktionieren, auch wenn das Startprogramm nicht ausgeführt wird?

Gruß
Klaus

Hallo,
„owp.sonstige_werte.one_wire_Reset“ muss auf TRUE-geschaltet werden (das passiert im Startprogramm), dann funktiniert es

Gruß,
Rayk

Wie muß ich mit angehangenen Fehlern umgehen?
Gruß Jens

ok, ich habe die i-Buttons aus den Übersetzungsoptionen herausgenommen

Die neue Version 7.6 hat den ersten Hardwaretest bestanden. Die Texte auf dem an DOs angeschlossenen Display lassen sich jetzt kontrolliert setzen.
Das Problem mit den DS2408 besteht jedoch weiterhin, es laufen Störungen auf und einer von beiden tut nicht, was er soll.
Ideen?
Gruß Jens

Hallo Jens,
wenn die Hardware stimmt, dann vergrößere mal „owp.ow_zeiten.aufrufintervall“ etwas.
Gruß,
Rayk

Also das Ändern des Abrufintervalls scheint nichts zu ändern, habe 35ms und 45ms getestet.
Wo wird eigentlich konfiguriert, ob es sich beim DS2408 um einen Ein- oder Ausgang handelt?
Gruß Jens

  1. Abrufintervall versuch mal Werte von >60ms, wenn dann immer noch Störungen auftreten, hat das andere Ursachen, welchen Controller hast du (750-841 oder 881)?
  2. die Festlegung von Ein-oder Ausgangsdaten wird nicht mehr angewendet, wenn sich in einem Bit der Ausgangdaten was geändert hat, dann wird das ausgegeben…

Gruß,
Rayk

Bei 70ms laufen keine Störungen mehr auf, der erste DS2408 funktioniert trotzdem nur sehr sporadisch.
Hardwarefehler schließe ich aus, ich kann den gesamten Bus mit einem Schalter auf den USB-Koppler legen und dann den Bus im OneWireViewer anschauen, dort lassen sich die Ausgänge des ersten DS2408 sauber schalten.

was heist: „der erste DS2408 funktioniert trotzdem nur sehr sporadisch“
was geht oder was geht nicht?

  • also an allen 16 Ausgängen hängen LEDs
  • mit 8 Tastern werden 8 DIs getastet
  • im Programm sind die 8 AusgangsBytes des einen und des anderen DS2408 mit den 8 DIs
  • drücke ich eine Taste, müssen 2 LEDs angehen, lasse ich sie los, sollten sie wieder ausgehen
  • bei den 8 LEDs des einen DS2408 funktioniert das tadellos, bei den anderen 8 LEDs geht sporadisch bei einem Tastendruck was an, geht dann aber nicht aus, geht irgendwann bei einem anderen Tastendruck aus usw.
  • wenn ich die beiden Zeilen in der Definition des ARRAY vertausche, dann vertauscht sich auch das Fehlverhalten der Ausgänge

Bin mir nicht sicher, ist das so verständlich beschrieben?
Gruß Jens

ach so, ich hab eine 841

Noch was Erfreuliches zum Schluß, auch das LCD163 von eservice online funktioniert am 1-Wire Bus an der Wago und läßt sich über den Baustein LCD_tool_163 ansprechen. :slight_smile:
Gruß Jens

gibt es spezielle einstellungen für den betrieb an einer 650/0003? wie kann man den baustein manuell starten
? ich habe das startprogramm in der taskkonfiguration an das systemereignis „start“ angehängt.

beim start sehe ich wie die versuche im owp innerhalb einer sekunde von 0-6 hochzählt. wenn ich dann im codesys stop und start anwähle passiert nix. erst nach einem reset und dann erneutem start?

die Version 6.3 hat schon mal kurz (für den ersten sensor) funktioniert.

vielen dank für eure hilfe
lg
cmdr

ps: 841, 650 , 1-wire to rs232 koppler und 1-wire hub von e-service online

Hallo,
als spezielle Einstellung ist nur COM >1 (2) für die 750-650/0003 Klemme nötig.

Einen manuellen Neustart kann man mit „owp.sonstige_werte.one_wire_reset“ =True hervorrufen,

Ich habe mal die neue owos8_1.lib angehängt, da es ein kleines Problem gab, wenn nur Temperatursensoren angeschlossen sind (ist nun beseitig),
mit der owos8_1.lib wird eine Textmeldung vom aktuellen Zustand unter „owp.Statusmeldung“ ausgegeben.

Gruß,
Rayk

owos_8_1.zip (30.9 KB)

Hallo,
neue Erkenntnisse zum DS2408 Problem.
Hier ein Ausschnitt aus one_wire_Daten.
1 und 2 sind identisch mit 4 und 5, wenn ich 1 und 2 benutze, funktioniert 1 nicht, wenn ich 4 und 5 benutze, funktioniert alles.
Vielleicht hilft das bei der Ursachenforschung? Ich kann mir keinen Reim drauf machen.
Gruß Jens

    (* 2408 *)
	Ds_2408: ARRAY[1..Anzahl_2408] OF DS2408_V7:=
	(Name:='DI/DO Box 2408 1',  ID:=16#29,16#FB,16#73,16#00,16#00,16#00,16#00,16#8A,			aktiv:= FALSE),
	(Name:='DI/DO Box 2408 2',  ID:=16#29,16#D5,16#1E,16#02,16#00,16#00,16#00,16#D5,			aktiv:= FALSE),
    (Name:='LCD extern',        ID:=16#29,16#83,16#0B,16#0C,16#00,16#00,16#00,16#F2,            aktiv:= TRUE),
	(Name:='DI/DO Box 2408 1',  ID:=16#29,16#FB,16#73,16#00,16#00,16#00,16#00,16#8A,			aktiv:= TRUE),
	(Name:='DI/DO Box 2408 2',  ID:=16#29,16#D5,16#1E,16#02,16#00,16#00,16#00,16#D5,			aktiv:= TRUE),
	(Name:='LCD 2408',	      ID:=16#29,16#5E,16#26,16#07,16#00,16#00,16#00,16#FC,            aktiv:= FALSE),
	(Name:='DI/DO Box 2408',	ID:=16#29,16#05,16#95,16#09,16#00,16#00,16#00,16#3E,            aktiv:= FALSE);

Hallo Enra,

ich habe Deine Library 7.6 im Einsatz und ein Problem, dass ich nicht lösen kann.

Es ist ein simples Testprogramm mit 12 Temp Sensoren alle anderen Arrays und Werte für sonstige Sensore sind im owp Baustein auf ‚0‘ gesetzt. Es gibt einen zyklischen Task für den ow Aufruf mit 10ms.
Sowie ein Startprogramm zum setzen der Parameter
Abtastzeit = 1m, Aufrufintervall = 60ms.

Die Sensoren werden bestens ausgelesen, aber nur einmal beim zweiten mal also ca. nach 1 Minute verliere ich die Kommunikation zur WAGO, d.h. Absturz. Fehler ist beliebig reproduzierbar nach WAGO Hard Reset.

Hast Du einen Tipp woran das liegen kann?

Grüße

MaZa

Schritt 1: wenn das Aufrufintervall = 60ms ist kannst du die Taskzeit auch auf 60ms erhöhen,
Schritt 2: nutze bitte die owos_8_1.lib, da es bei Einsatz von nur Temperatursensoren ein kleines Problem geben kann
Schritt 3: wenn das alles nichts hilft, stelle bitte mal dein Projekt zur Fehlernalyse ein

Gruß,
Rayk

@jensen
doppelte Verwendung von ID’s wird zwangsläufig zu Problemen führen, da sobald der Sensor ausgelesen wird die Flankenerkennung „a. latch“ gelöscht,
warum hast du die ID’s doppelt?

Gruß,
Rayk

hallo Rayk,

danke für die 8.1 die funktioniert jetzt. Allerdings habe ich sehr viele Fehler bei den einzelnen sensoren (nur temperatursensoren). ich habe derzeit 9 sensoren angeschlossen.

welche netzwerkgrößen und abtastintervalle sind in der praxis zu erreichen? wie zuverlässig ist das?

danke
lg
cmdr