Ich steuere meine Rollladen mit einer Logo 8. Nun versuche ich die Visualisierung in IPS umzusetzen.
So wie ich das jetzt verstanden habe kann ich dies nur über in der Logo anzulegende Netzwerkeingänge steuern.
Da dies wohl nur mit dem Befehl „S7_WriteBit“ funktioniert stellt sich mir die Frage ob ich nun für jeden Rollladen jeweils 2 Instanzen (auf/ab) benötige oder ob es möglich ist mit nur einer Instanz verschiedene Adressen anzusprechen.
Ich weiß nicht wie du Rolladen in der Logo 8 ansteuerst, aber ich würde mir einen Merker erstellen mit z.B. 0=auf, 1=ab, 2=stop und die Logik in der Logo lassen (z.B. Verriegelung) Und dann kannst du in IPS ein schönes Profil an deine Integer setzen, womit die Steuerung auch gut aussieht.
Danke für die Antwort. Leider kann ich nicht ganz folgen. Es geht mir um den Zugriff auf die Logo, z.B. auf den in der Logo-Programmierung angelegten Netzwerkeingang Ni1. Dieser hat die Adresse V0.0. Nun kann ich in IP-Symcon eine Instanz für die Logo anlegen (Hier Instanz 54427). Als Area-Address wähle ich 0 und als Adresse ebenfalls 0 (weil V0.0). Somit kann ich in einem script über „S7_WriteBit(54427 /[Logo 1 V0.0]/, true);“ den Netzwereingang Ni1 steuern.
Geht das auch anders, oder muss ich nun für jeden Eingang eine weiter Instanz anlegen?
Ok, Danke.
D.h ich brauche für 20 Rollläden 20 Instanzen? Gilt das nur für die Logo? Weil ich sehe hier noch einige Beiträge bei denen z.B. alle Ausgänge der Logo in einer Instanz abgebildet sind, oder funktionierte das vielleicht nur in der Symcon-Version < 4 ?
Welchen Vorteil bringt denn die Benutzung von S7_WriteByte gegenüber S7_WriteBit ($Wert )
Ja, klar, mein Fehler, brauche natürlich 40 Instanzen. Wieso brauche ich mit Byte nur 20? Man kann doch mit write_byte auch nur die Instanz übergeben und nicht die Adresse, oder fehlt mir ein Byte in meinem begrenzten Schädel?
Ok, ich kann also jetzt mit dem Befehl S7_WriteByte ( 54427, integer $Wert ) 0 1 oder 2an die Instanz 54427 übergeben. Ich kann aber trotzdem an den Netzwerkeingang I1 nur true oder false an Adresse V0.0 weitergeben, den Merker in der Logo kann ich ja nicht direkt ansprechen. Hab ich da irgendwo nen Denkfehler? Sorry, habe erst gestern mit IP-Symcon begonnen.
Hallo
Sorry ich muss mich jetzt auch noch mal an das Thema anhängen.
Habe ich das richtig verstanden, dass ich Merker aus der Logo nur Bitweise lesen kann oder geht das auch mit Byte?
Ich habe in der Logo einen Zufallsgenerator laufen und möchte jetzt die Merker bzw. Rolladen Zustände in IPS visuallisieren.
Hab in IPS 4.0 Variablen angelegt für Rollo 1 mit dem Profil 0=Stop, 1=schliessen (Merker1), 2=öffnen (Merker2).
Rollo 2 hat dann das Profil 0=Stop, 4=schliessen (Merker3) und 8=öffnen (Merker4) usw. Jetzt soll aus der Siemens Instanz die Merker gelesen werden und dementsprechend die Variablen in IPS gesetzt werden. Geht das so überhaupt?
Das Problem ist wenn beide Merker z.B. 1 und 3 gesetzt werden in der Siemens Variable 5 gelesen wird und in den IPS Variablen nichts passiert weil natürlich auf 1 und 4 abgefragt ist.
Ich bin leider auch noch Neuling in IPS von daher schon mal Danke im vorraus für eure Hilfe
Gruß
Klar kannst du Bytes lesen. Aber die Variableprofile gehen nur mit konkreten Werten. Du kannst du keine Bitmasken nutzen. Somit musst du deine Zustände für das Rollo auch explizit definieren, sodass der Fall 1+3 = 5 eben nicht auftritt.
Ok. Dann darf in einem Byte immer nur ein Merker gesetzt sein für die Profile. Gibt es eine Möglichkeit ohne Variablenprofil innerhalb eines Bytes mehrere Merker Zustände gleichzeitig zu lesen oder muss in dem Fall dann über mehrere Bit Instanzen jeder Merker einzeln gelesen werden?
Das hatte ich auch mal versucht, allerdings war das Ergebnis leider negativ. Die Code Zeilen waren auch ein bißchen anders vielleicht lag es daran oder ich hatte noch einen anderen Fehler eingebaut. Aber jetzt funktioniert es:D. Super Danke an alle.