ich bin gerade am testen wie ich Modbus an mein Codesys Projekt anständig einbinde.
Ich kenne die Lösung mit dem Exklusiv Oder, nur muss ich da meine ganzen FB,s umbauen. Ich habe an jedem FB einen EIngang für Hardwaretaster und einen für Modbus.
Tastet ihr von IPS über ein Skript oder macht ihr das alle über XOR mit Rückmeldung an IPS??
Wenn mit Skript, wie bindet man so ein Skript in IPS ein?
Hi danke. für den Link. Den kenn ich aber schon, alles getest und verstehe ich auch. Doch mein SPS Programm ist Flankenorientiert, alles über Taster usw. Das geht aber mit der Lösung nicht.
Ich hatte jetzt folgendes vor. Merker 12288 500ms true dann false, als Rückmeldung dann 12289 lesend, sollte doch funktionieren oder?
Nur verzweifele ich beim Skript zur Instanz hinzufügen, beim PHP Code bin ich mir auch nicht sicher??
Könnte mir da jemand nen Tipp geben wie man das macht. Bin IPS EInsteiger.
Tasten aus IP Symcon muss ich sowieso mal, bei der Rollo stueuerung z.B. oder wie macht ihr SPS Modbus User das??
Also mit dem Skript scheitere ich weiter, ich habs so gemacht.
Modbus Instanz hinzugefügt, 12288 ist Schreiben (05) 12289 ist Lesen(01) dann mit Rechntklick (Skript hinzufügen) Und dann unter WERT das Skript als eigene Aktion hinzugefügt.
Jetzt kommt im Webfront beim Tasten, dieser Fehler: Warning: Instanz '12288 existiert nicht in C\IP-Symcon\scripts usw.
Daher die Variante wie in dem Beitrag den ich verlinkt habe.
Hier hast du nur du nur eine Variable die gleichzeitig ein-und Ausgang ist.
Du kannst zum “Tasten” (stromstoßschalter) ein Script nehmen was den aktuellen Wert einfach invertiert.
unter diesem Script hab ich für jede Variable die, nach dem sie auf true geschaltet wurde, wieder auf false geschaltet werden soll ein Ereignis angelegt. (Wenn true dann Script ausführen)
So hast du nur ein Script und musst einfach für jede Variable ein Ereignis erstellen. Fertig.
wie würde das aussehen, den Merker in der SPS zu resetten? Mit Ton und Tof?
Wäre interessant zu wissen. Weil das IPS sleep ist auch nicht so das wahre. Danke Gruß
ich habe deine Lösung jetzt mal getestet, bin leider jetzt erst dazu gekommen.
Ich habe jetzt das Profil Switch verwendet, funktioniert da dann bei dir das Lesen vom Status, also einen anderen Merker der Wago auslesen? Bei mir funktioniert das Tasten super aber lesen kann ich nicht.
Danke.
ich stand auch vor dem Problem das IPS ja nicht tastet sondern dauerhaft eine Variable schaltet. Ich habe es wie folgt gelöst:
Ein Script:
PHP-Code:
<?
$id = $_IPS[‚VARIABLE‘];
$parent= IPS_GetParent($id);
IPS_Sleep(100);
ModBus_WriteCoil($parent, false);
?>
unter diesem Script hab ich für jede Variable die, nach dem sie auf true geschaltet wurde, wieder auf false geschaltet werden soll ein Ereignis angelegt. (Wenn true dann Script ausführen)
So hast du nur ein Script und musst einfach für jede Variable ein Ereignis erstellen. Fertig.