-> Hier kostenlos registrieren
Moin zusammen,
nach der Migration eines S7-300 TIA Projektes in die neue S7-1500er Baureihe funktioniert unsere Ventilansteuerung für den Handbetrieb nicht mehr.
Wir nutzen einen DB in dem die einzelnen Strukturen aller Ventile liegen.
Der FB der die Ventile steuert wird als Multiinstanz aufgerufen. Über das Adressregister in der Multiinstanz wird die Startadresse jedes Ventil UDT´s gelesen. Ein kleiner Algorithmus kombiniert mit der Startadresse erzeugt eine eindeutige Ventilnummer. Diese wird im UDT gespeichert.
Will man nun in der HMI ein Ventil bedienen, drückt man auf es und ein Steuerungsdialog erscheint. Der Dialog wird auf das markierte Ventil "gemappt". Somit kann ein Dialog für n-Ventile genutzt werden.
Bisher weiß ich das die 1500er kein Adressregister mehr hat. Eine Möglichkeit wäre ein Array des Typ UDT zu erzeugen und dann via Indexierung die Ventilnummer zu vergeben und zu schreiben. Somit wäre allerdings jedes einzelne UDT nicht mehr separat zu benamen. Vielmehr würde es nur noch einen Namen geben mit dem Index in eckigen Klammern.
Hat von euch jemand schon mal ein ähnliches Problem gehabt und konnte es irgendwie retten ohne Indexierung via Array?
Viele Grüße,
Kai
nach der Migration eines S7-300 TIA Projektes in die neue S7-1500er Baureihe funktioniert unsere Ventilansteuerung für den Handbetrieb nicht mehr.
Wir nutzen einen DB in dem die einzelnen Strukturen aller Ventile liegen.
Der FB der die Ventile steuert wird als Multiinstanz aufgerufen. Über das Adressregister in der Multiinstanz wird die Startadresse jedes Ventil UDT´s gelesen. Ein kleiner Algorithmus kombiniert mit der Startadresse erzeugt eine eindeutige Ventilnummer. Diese wird im UDT gespeichert.
Will man nun in der HMI ein Ventil bedienen, drückt man auf es und ein Steuerungsdialog erscheint. Der Dialog wird auf das markierte Ventil "gemappt". Somit kann ein Dialog für n-Ventile genutzt werden.
Bisher weiß ich das die 1500er kein Adressregister mehr hat. Eine Möglichkeit wäre ein Array des Typ UDT zu erzeugen und dann via Indexierung die Ventilnummer zu vergeben und zu schreiben. Somit wäre allerdings jedes einzelne UDT nicht mehr separat zu benamen. Vielmehr würde es nur noch einen Namen geben mit dem Index in eckigen Klammern.
Hat von euch jemand schon mal ein ähnliches Problem gehabt und konnte es irgendwie retten ohne Indexierung via Array?
Viele Grüße,
Kai