Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Dokumentation Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Dokumentation: 28.02.2017 Version 1.2 © 2017 by STANGE Elektronik GmbH 1 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Autor: Lukas Jolbej In dieser Dokumentation wird die S7-Modbusanbindung an den STANGE SE-7xx erläutert. Verwendete Geräte: Stange SE-702 Siemens S7-1212C DC/DC/DC (6ES7 212-1AE40-0XB0) verbunden über einen 100 MBit/s-Switch Verwendete Software: Siemens TIA Portal V13 SP1 Update 6 Windows 7 SP1 Geräteversion 7.0.1.1 für SE-702 (WinCE 7.7.1.1; GUI 2.1.20.0) Firmwareversion 4.1 für S7-1212C Voraussetzungen: IP-Adresse des SE-7xx muss bekannt sein zugehörige TIA Portal-Vorlagen: se7xx-1200-1500-scl-mb (Vorlageprojekt), Version 1.2 se7xx-1200-1500-scl-mb-library (Bibliothek), Version 1.2 © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 2 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Inhaltsverzeichnis VORBEREITUNGEN ................................................................................................................................................................. 4 S7-SCHNITTSTELLE IM SE-7XX FREISCHALTEN ....................................................................................................................................... 4 DATENLOGGER-KONFIGURATION (SPS-ANWEISUNGSLISTE) .................................................................................................................... 4 PROJEKT ALS VORLAGE VERWENDEN ................................................................................................................................................... 4 BIBLIOTHEKSBAUSTEINE IN BESTEHENDEM PROJEKT VERWENDEN ............................................................................................................. 6 BESCHREIBUNG DER FUNKTIONALITÄT .................................................................................................................................. 8 ALLGEMEINES ................................................................................................................................................................................ 8 ÜBERSICHT FCS/FBS ....................................................................................................................................................................... 9 ALLGEMEINER AUFBAU FC/FB .......................................................................................................................................................... 9 FC5000: _DATATRANSFER ............................................................................................................................................................. 10 _TOTALDATA.CONTROL.BOOLDATA .................................................................................................................................................. 12 _TOTALDATA.STATUS.BOOLDATA .................................................................................................................................................... 12 _TOTALDATA.CONTROL.ACTVALUES/ANALOGVARS.............................................................................................................................. 12 _TOTALDATA.STATUS.ACTVALUES/SETVALUES/YVALUES/ANALOGVARS ................................................................................................... 12 FB114: DATALOGGER ................................................................................................................................................................... 13 INTERFACE DER BAUSTEINE (FC/FB)..................................................................................................................................... 14 _DATATRANSFER [FC5000] ........................................................................................................................................................... 14 ACTUALVALUEINPUT [FC112] ........................................................................................................................................................ 14 ACTUALVALUEOUTPUT [FC113] ..................................................................................................................................................... 14 ALARMS [FC103]......................................................................................................................................................................... 15 ANALOGVARINPUT [FC110] .......................................................................................................................................................... 15 ANALOGVAROUTPUT [FC111] ....................................................................................................................................................... 15 DIGITALTRACKS [FC105] ............................................................................................................................................................... 15 DIGITALVARINPUT [FC108] ........................................................................................................................................................... 16 DIGITALVAROUTPUT [FC109] ........................................................................................................................................................ 16 LIMITS [FC107] ........................................................................................................................................................................... 16 PROCESSSTEPS [FC104] ................................................................................................................................................................ 16 SETVALUES [FC101]..................................................................................................................................................................... 17 TOLERANCES [FC106] ................................................................................................................................................................... 17 ALARMHANDLER [FB103].............................................................................................................................................................. 18 ANALOGVARS [FB110] ................................................................................................................................................................. 18 CTRLZONES [FB102] .................................................................................................................................................................... 19 DIGITALVARS [FB108] .................................................................................................................................................................. 19 PROGRAMMER [FB100] ................................................................................................................................................................ 20 DATALOGGER [FB114].................................................................................................................................................................. 20 © 2017 by STANGE Elektronik GmbH 3 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Vorbereitungen S7-Schnittstelle im SE-7xx freischalten Als erstes wird die S7-Schnittstelle im SE-7xx freigeschaltet. Dies geschieht unter Konfiguration, Grundeinstellungen, Siemens-Modbusanbindung. Dort wird der Einstellpunkt Modbus Freigabe auf Freigegeben gestellt. Datenlogger-Konfiguration (SPS-Anweisungsliste) Damit der Datenlogger ordnungsgemäß mit der S7-Schnittstelle funktioniert, müssen in der SPS-Anweisungsliste des STANGE SE-7xx folgende beiden Zeilen hinzugefügt werden: L FA 768 R FA 1311 Die SPS-Anweisungsliste findet sich unter Konfiguration, Funktionen, SPS-Anweisungsliste. Nach dem Hinzufügen beider Zeilen wird die Änderung durch Tippen von „Übernahme“ übernommen und durch Tippen von „Zurück“ gespeichert. Weitere Informationen zur Konfiguration des Datenloggers siehe entsprechende Dokumentation. Projekt als Vorlage verwenden Das Projekt se7xx-1200-1500-scl-mb kann als Vorlage verwendet werden. Es wird in das TIA Portal geladen und kann dann direkt über Projekt > Speichern unter als Kopie unter einem neuen Namen gespeichert werden. Dies ermöglicht es, die Vorlage wieder zu verwenden. © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 4 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Im Vorlageprojekt sind jeweils eine S7-1212C DC/DC/DC und eine S7-1513-1 PN projektiert. Beide enthalten die gleichen Bausteine. Wenn eine andere SPS als die S7-1212C DC/DC/DC oder S7-1513-1 PN verwendet wird, muss die Projektierung angepasst werden. Dazu wird unter Geräte & Netze die S7 mit Rechts angeklickt und Gerät tauschen ausgewählt. Nun kann das verbaute Gerät gewählt werden. Die jeweils nicht benötigte S7 kann dann mittels Rechtsklick gelöscht werden. Um die IP-Adresse der S7 zu ändern, wird unter Geräte & Netze die S7 doppelt angeklickt und in der Baugruppenansicht nochmal doppelt angeklickt. Unter dem Eintrag PROFINET-Schnittstelle können die IP-Adresse, Subnetzmaske und ggf. Router-Adresse gesetzt werden. Die S7 kann dann über „Subnetz“ einem bestehenden Subnetz zugeordnet oder mit einem Klick auf „Neues Subnetz hinzufügen“ in ein neues Subnetz eingebunden werden. Dieser Schritt ist notwendig, damit sich das TIA Portal mit der S7 verbinden kann. Die Bausteine müssen anschließend übersetzt und auf die S7 geladen werden. © 2017 by STANGE Elektronik GmbH 5 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Bibliotheksbausteine in bestehendem Projekt verwenden Wenn bereits ein S7-Projekt in TIA Portal existiert und dieses lediglich um die Modbus-Kommunikation erweitert werden soll, dann kann auf die mitgelieferte Bibliothek se7xx-1200-1500-scl-mb-library zurückgegriffen werden. Das folgende Bild zeigt eine Übersicht der enthaltenen Bausteine: © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 6 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Damit die Modbus-Kommunikation funktioniert, werden mindestens folgende Bausteine benötigt. Diese müssen in das Projekt unter Programmbausteine kopiert werden: _TotalData Logger[1-4] und Datalogger [FB114] (bei Verwendung des Datenloggers) MB_CLIENT MB_CLIENT_DB[1-4] _datatransfer (+ ggf. _modbusconn) Die S7-Geräte verwenden standardmäßig die Systembibliothek „S7 Open user communication“ in der Version 4.0. In diesem Fall werden die Bausteine _datatransfer und _modbusconn aus dem Ordner „_S7 Open user communication 4.0“ benötigt. Sollte die Systembibliothek in der Version 3.1 genutzt werden, muss stattdessen _datatransfer aus dem Ordner „_S7 Open user communication 3.1“ in das Projekt kopiert werden. In diesem Fall wird _modbusconn nicht benötigt. Funktional besteht zwischen den beiden Versionen von _datatransfer kein Unterschied; lediglich die interne Ansteuerung des Systembausteins mb_client erfolgt etwas anders, weshalb beide Versionen des Bausteins zur Verfügung gestellt werden. Die Bibliothek benötigt Systemmerker. Diese können in der Gerätekonfiguration unter „System- und Taktmerker“ durch Setzen des Hakens „Verwendung des Systemmerkerbytes aktivieren“ eingeschaltet werden. Die restlichen FC/FB können je nach Bedarf in das Projekt eingebunden werden. Sie funktionieren aber nur, wenn sich auch die oben beschriebenen Bausteine im Projekt befinden. _datatransfer ist der Baustein, der die eigentliche Kommunikation der beiden Geräte durchführt. Er muss über OB1 eingebunden werden. Ein Beispiel-OB1 ist in der Bibliothek enthalten. Bei aktiviertem Datenlogger werden die Instanz-Datenbausteine (IDB) Logger1 bis Logger4 unbedingt benötigt. Sie werden einfach nach Programmbausteine kopiert. Der FB Datalogger muss über den OB1 eingebunden und mit einem IDB ausgestattet sein. Dieser Schritt ist zwingend notwendig, da der Datenlogger sonst nicht arbeitet. Wenn im Projekt der Datenlogger-Baustein und der Programmgeber-Baustein verwendet werden, muss der Eingang ProgStart des Programmgebers (Programmer) mit dem Bit Start_Programmer des Datenlogger-IDBs über eine ODERVerknüpfung beschaltet sein, ansonsten läuft der Programmgeber nicht an. Dies gilt nur, wenn ProgStart bereits beschaltet ist. Ansonsten kann ProgStart unbeschaltet bleiben. Wird der Datenlogger nicht verwendet, müssen die IDB Logger1 bis Logger4 und der FB Datalogger nicht eingebunden werden. Die Bausteine müssen anschließend übersetzt und auf die S7 geladen werden. Sollte beim Übersetzen der Fehler „Netzwerk 1: Der Operand "transfer_error" ist nicht definiert“ auftreten, so muss im Baustein Main [OB1] im Netzwerk 1 (_datatransfer) mit Rechtsklick auf transfer_error eine Variable definiert werden. Danach müssen die Bausteine erneut übersetzt und auf die S7 geladen werden. © 2017 by STANGE Elektronik GmbH 7 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Beschreibung der Funktionalität Allgemeines Der wichtigste Baustein ist Main [OB1]. Sein Inhalt wird zyklisch aufgerufen und enthält mindestens _datatransfer [FC5000] und bei Verwendung des Datenloggers Datalogger [FB114]. _datatransfer steuert den allgemeinen Datenaustausch zwischen S7 und dem SE-7xx. Ohne diesen FC ist keine Modbus-Kommunikation möglich. _datatransfer wird mit folgenden Parametern versorgt: Parameter Beschreibung enable_booldata setvalues actualvalues yvalues analogvariables IP_OCTET_[1..4] MB_PORT Steuer-/Statuswerte übertragen [true/false] Anzahl Sollwerte [0..30] Anzahl Istwerte [0..48] Anzahl Regler-Y-Werte [0..20] Anzahl Analogvariablen [0..40] IP-Adresse des SE-7xx (Standard: 192.168.0.1) Modbus/TCP-Port des SE-7xx (Standard: 21303) Am Ausgang transfer_error wird ggf. ein Fehler bei der Modbus-Übertragung signalisiert. Dieser kann auf einen Merker oder eine Bool-Variable in einem DB gelegt werden. Die einzelnen Bausteine sind unter Programmbausteine zu finden und entsprechen den Funktionen des STANGE-Gerätes. Sie können einfach in den OB1 oder einen selbst erstellten FC/FB gezogen werden. Diese werden dann über ihre Eingänge/Ausgänge in den Programmablauf eingebunden. Als InstanceNo wird die Nummer der Instanz beschrieben; beispielsweise Digitalspur 4 oder Grenzwert 2. Es erfolgt dabei ein Grenzen-Check; d.h. bei einer InstanceNo außerhalb des gültigen Bereichs (etwa Sollwert 23 bei maximal 20 möglichen) wird der Wert auf die maximal mögliche Instanz gesetzt; bei Werten kleiner/gleich 0 wird Instanz 1 gewählt. Die Anzahl der einfügbaren Bausteine ist nicht begrenzt. Für jeden eingefügten FB wird ein separater IDB (Instanz-DB) erstellt. Nicht genutzte Eingänge/Ausgänge bei FCs können auf einen nicht verwendeten Merker oder Variable in einem DB gesetzt werden. Die Reihenfolge von Instanzen eines FC/FB ist egal; jeder neue Aufruf eines Bausteins mit bereits benutzter Instanzennummer überschreibt aber jeden vorherigen Aufruf dieses Bausteins mit dieser Instanz. Nicht benutzte Bausteine können über den Eingang EN deaktiviert werden (auf false setzen). © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 8 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Übersicht FCs/FBs SetValues Alarms ProcessSteps DigitalTracks Tolerances Limits DigitalVarInput DigitalVarOutput AnalogVarInput AnalogVarOutput ActualValueInput ActualValueOutput FC101 FC103 FC104 FC105 FC106 FC107 FC108 FC109 FC110 FC111 FC112 FC113 Programmer CtrlZones Alarmhandler DigitalVars AnalogVars Datalogger FB100 FB102 FB103 FB108 FB110 FB114 Allgemeiner Aufbau FC/FB Inputs: InstanceNo [Instanznummer] und jeweilige Funktionseingänge. Outputs: Funktionsausgänge. Temp: instno_tmp: Kopie von InstanceNo; verwendet für Grenzencheck. Constant: entries: enthält maximale Anzahl an Instanzen; verwendet für Grenzencheck. Setze instno_tmp auf InstanceNo. Wenn instno_tmp kleiner 1, setze instno_tmp auf 1. Wenn instno_tmp größer als entries, setze instno_tmp auf entries. Im Folgenden wird nur noch mit instno_tmp gearbeitet. // Input schreiben _TotalData.control.booldata[xxxx + (#instno_tmp-1) * N] := #eingangsbit; xxxx ist der Gruppenoffset, z.B. 648 bei Digitaleingangsvariablen (siehe Modbus-Adressdokumentation). N ist die Anzahl der Bits pro Instanz, z.B. 16 bei CtrlZones (Regelzonen), ansonsten 1. // Output lesen #ausgangsbit := _TotalData.status.booldata[xxxx + (#instno_tmp-1) * N]; © 2017 by STANGE Elektronik GmbH 9 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx FC5000: _datatransfer Der FC5000 _datatransfer ist für das Senden und Empfangen der Daten über Modbus TCP zuständig. Dazu wird auf den Systembaustein mb_client zurückgegriffen. Es werden vier TCP-Verbindungen genutzt, über die jeweils zwei verschiedene Datenübertragungen gemultiplext werden. Jeder Datenübertragung einer Verbindung wird dabei je einer von zwei timeslices (Zeitscheiben) zugewiesen. Die Zeitscheiben werden nacheinander und jede Verbindung für sich abgearbeitet. Verbindung 1 2 3 4 Datenübertragung c[1-4]_1 c[1-4]_2 Booldata.rx Booldata.tx Setvalues.rx Actualvalues.rx Yvalues.rx Actualvalues.tx Analogvariables.rx Analogvariables.tx Netzwerk 1 berechnet aus der angegebenen Anzahl der zu übertragenen Werte die Anzahl der entsprechenden Register (Multiplikation mit zwei). Netzwerk 2 kopiert beim ersten Durchlauf die IP-Adresse und den Port in den DB _modbusconn, der später an jedem mb_client ausgelesen wird. Netzwerk 3 resettet nach SPS-Neustart die timeslices und setzt sie bei jeder Verbindung auf die jeweils erste. Netzwerke 4, 8, 10, 12, 16 enthalten jeweils einen mb_client, um Daten vom SE-7xx zu empfangen (BoolData, SetValues, ActualValues, Yvalues, AnalogVariables); Netzwerke 6, 14, 18 enthalten jeweils einen mb_client, um Daten zu senden (BoolData, ActualValues, AnalogVars). In den Netzwerken 5, 7, 9, 11, 13, 15, 17, 19 wird nach Abarbeitung einer timeslice einer Verbindung in die jeweils nächste oder zurück in die erste geschaltet. Die mb_clients einer Verbindung nutzen jeweils denselben IDB. Die mb_clients werden nur ENabled, wenn die angegebene Anzahl größer 0 bzw. die BoolData-Übertragung aktiviert ist. Die timeslice-Zuordnung und Timingsteuerung liegt an dem Eingang REQ des jeweiligen mb_client an. Die mb_clients schreiben ihre internen Statusdaten in den Struct transferblock im DB _TotalData. Im Struct timeslice wird die jeweils aktive timeslice der vier Verbindungen abgelegt; c3_2 auf TRUE bedeutet etwa, dass bei der Verbindung 3 die zweite timeslice momentan aktiv ist. Alle Daten werden über Halteregister (Adressbereich 400000-499999) des SE-7xx gelesen und geschrieben; standardmäßig abgebildet auf Port 21303 ab Register 100010 (Lesen) / 200010 (Schreiben). Lokal werden die Daten im DB _TotalData zwischengespeichert. Auf diesen DB greifen die FC/FB letztendlich zu. Daten aus control werden zum SE-7xx geschickt, Daten vom SE-7xx in status gespeichert. © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 10 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Verbindung 1: o BoolData empfangen (172 Byte) o BoolData senden (136 Byte) status.booldata control.booldata c1_1 c1_2 Verbindung 2: o Sollwerte empfangen (120 Byte1) o Istwerte empfangen (192 Byte1) status.setvalues status.actvalues c2_1 c2_2 Verbindung 3: o Y-Werte empfangen (80 Byte1) o Istwerte senden (192 Byte1) status.yvalues control.actvalues c3_1 c3_2 Verbindung 4: o Analogvariablen empfangen (160 Byte1) o Analogvariablen senden (160 Byte1) status.analogvars control.analogvars c4_1 c4_2 1 1 bei Übertragung aller Werte (4 Byte pro Wert) bei Übertragung aller Werte (4 Byte pro Wert) © 2017 by STANGE Elektronik GmbH 11 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx _TotalData.control.booldata Array [0..1087] of Bool. Aktivierung durch enable_booldata am FC5000. Enthält alle Bools, die zum Stange-Gerät gesendet werden sollen. Diese werden ab Adresse 200010 auf Port 21303 geschrieben (siehe Modbus-Adressdokumentation). Erstes gesendetes Bit ist Programmer: START. Letztes gesendetes Bit ist Bit 16 vom Datenlogger. _TotalData.status.booldata Array [0..1375] of Bool. Aktivierung durch enable_booldata am FC5000. Enthält alle Bools ab Modbus-Adresse 100010 vom Stange-Gerät (Port 21303, siehe Modbus-Adressdokumentation). Erstes empfangenes Bit ist Regelzone 01: Ausgang 1/Heizen. Letztes empfangenes Bit ist Bit 16 vom Datenlogger. _TotalData.control.actvalues/analogvars und _TotalData.status.actvalues/setvalues/yvalues/analogvars Array [0..47/39] of Real und Array [0..47/29/19/39] of Real. Aktivierung durch Werte größer Null am FC5000. Enthält 32-Bit-Istwerte(/Sollwerte/ Y-Werte)/Analogvariablen. Die gesendeten Analogvariablen 1-40 werden im SE-7xx als Analogvariablen 41-80 abgebildet. © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 12 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx FB114: Datalogger Der Datenlogger des STANGE SE-7xx funktioniert bei eingeschalteter S7-Schnittstelle nur, wenn der Datalogger-Baustein über OB1 eingebunden wird. Er enthält die Logik zur Ablaufsteuerung des Loggers. Die Eingänge und Ausgänge des Bausteins können gegebenenfalls in den S7-Programmablauf eingebunden werden, dies ist aber nicht notwendig. Um den Datenlogger über die S7 zu starten, genügt es, einen Impuls an den Eingang „ProcessStart“ anzulegen. Nach fünf Sekunden wird der Programmgeber automatisch gestartet. Sobald das Programm beendet ist oder der Bediener END oder RESET auswählt, stoppt der Logger automatisch. Die aufgezeichneten Daten sind dann in der Logliste des SE-7xx aufrufbar. Bei den Chargendetails wird als Benutzer „plc“ angegeben, wenn die Chargenaufzeichnung über die S7 gestartet wurde, ansonsten der Name des aktuell eingeloggten Benutzers. Da ein eventuell vorhandener Programmgeber-Baustein im S7-Projekt bei einer Beschaltung an ProgStart das Signal zum Starten des Programmgebers überschreiben würde, muss an diesem Eingang mittels einer ODER-Verknüpfung die Variable Start_Programmer des Instanz-Datenbausteins vom FB Datalogger verdrahtet werden. Wird der Eingang ProgStart nicht verwendet, so muss die Verdrahtung nicht vorgenommen werden. Programmgeber ohne Verdrahtung an ProgStart Programmgeber mit Verdrahtung an ProgStart © 2017 by STANGE Elektronik GmbH 13 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Interface der Bausteine (FC/FB) _datatransfer [FC5000] Data transfer between datablock _TotalData and Modbus slave (SE-7xx). Input enable_booldata setvalues actualvalues yvalues analogvariables IP_OCTET_[1..4] MB_PORT Format Bool UInt UInt UInt UInt UInt UInt Function Enable this to transfer bool data Set the amount of Setvalues to transfer Set the amount of Actualvalues to transfer Set the amount of Yvalues to transfer Set the amount of Analogvariables to transfer First/second/third/fourth part of IPv4 address of Modbus server Port number of Modbus server (e.g. 21303) Output transfer_error Format Bool Function Error flag, at least one transfer failed ActualValueInput [FC112] Writes actual value. InstanceNo: 1..48 Input InstanceNo Input Format Int Real Function Number of Actualvalue Actualvalue input ActualValueOutput [FC113] Reads actual value. InstanceNo: 1..48 Input InstanceNo Format Int Function Number of Actualvalue Output Value ActValueError Format Real Bool Function Actualvalue output (value) Actualvalue has an error © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 14 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Alarms [FC103] Writes alarm input and reads alarm output. InstanceNo: 1..240 (201..240: only system alarm output; AlarmInput state will be ignored) Input InstanceNo AlarmInput Format Int Bool Function Number of alarm input (direct selection) Enable selected alarm Output AlarmOutput Format Bool Function Selected alarm is active AnalogVarInput [FC110] Writes analog variable. InstanceNo: 1..40 Input InstanceNo Value Format Int Real Function Number of analog input Value of analog input AnalogVarOutput [FC111] Reads analog variable. InstanceNo: 1..40 Input InstanceNo Format Int Function Number of analog output Output Value Format Real Function Value of analog output DigitalTracks [FC105] Reads status of digital track. InstanceNo: 1..64 Input InstanceNo Format Int Function Number of digital track Output State Format Bool Function Digital track active © 2017 by STANGE Elektronik GmbH 15 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx DigitalVarInput [FC108] Writes digital variable. InstanceNo: 1..200 Input InstanceNo State Format Int Bool Function Number of digital input State of selected digital input DigitalVarOutput [FC109] Reads digital variable. InstanceNo: 1..200 Input InstanceNo Format Int Function Number of digital output Output State Format Bool Function State of selected digital output Input InstanceNo Format Int Function Number of limit Output Crossed Format Bool Function Limit crossed Limits [FC107] Reads status of limit. InstanceNo: 1..40 ProcessSteps [FC104] Reads status of process step. InstanceNo: 1..50 Input InstanceNo Format Int Function Number of process step Output State Format Bool Function Process step active © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 16 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx SetValues [FC101] Returns value and status of Setvalue. InstanceNo: 1..30 Input InstanceNo Format Int Function Number of setvalue Output Value ManualSVEnabled SVRising SVConst SVFalling SVRampsection Format Real Bool Bool Bool Bool Bool Function Value of setvalue Manual setvalue setting enabled Setvalue is rising Setvalue is constant Setvalue is falling Setvalue is currently in ramp section Tolerances [FC106] Enables tolerance and returns status. InstanceNo: 1..40 Input InstanceNo EnableTol Format Int Bool Function Number of tolerance Enable tolerance Output PlusTolCrossed MinusTolCrossed Format Bool Bool Function Upper tolerance crossed Lower tolerance crossed © 2017 by STANGE Elektronik GmbH 17 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Alarmhandler [FB103] Controls the alarm handler and returns status. Input AckAcoustic AckOptical AlarmComing_bcdbin AlarmGoing_bcdbin ClearAll Lock209 Output AcousticAck OpticalAck AcousticOut OpticalOut CommonOut FeedbackCommonack FeedbackSingleack AlarmnrReceived_bcdbin Priority1 Priority2 Priority3 Priority4 Priority5 Priority6 Priority7 Priority8 Format Bool Bool Bool Bool Bool Bool Format Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Function Acknowledge acoustic alarm Acknowledge optical common alarm Alarm is coming; using BCD/binary notation for alarm selection Alarm is going; using BCD/binary notation for alarm selection Clear all alarms Lock or unlock Alarm 209 (void actualvalues) Function Acoustic alarm has been acknowledged Optical alarm has been acknowledged Acoustic alarm output Optical alarm output Common alarm output Feedback for common acknowledging (acknowledging all alarms) Feedback for single acknowledging (acknowledging one alarm) The alarm number in BCD/binary format has been received Priority 1 alarm active Priority 2 alarm active Priority 3 alarm active Priority 4 alarm active Priority 5 alarm active Priority 6 alarm active Priority 7 alarm active Priority 8 alarm active AnalogVars [FB110] Writes and reads analog variables. Input Input1 Input2 […] Input40 Format Real Real […] Real Function Analog variable input Analog variable input […] Analog variable input Output Output1 Output2 […] Output40 Format Real Real […] Real Function Analog variable output Analog variable output […] Analog variable output © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 18 Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx CtrlZones [FB102] Controls control zone settings and returns status. InstanceNo: 1..20 Input InstanceNo PIDselect Disable EnableYlimit EnableSubstSV EnableSubstAV EnableYhandConstVal EnableXtrack EnableYtrack Format Int Int Bool Bool Bool Bool Bool Bool Bool Function Number of controller Number of PID parameter set (modulo 8) Disable controller Enable Y limiter for controller Enable substituting setvalue for controller Enable substituting actual value for controller Enable Y-HAND constant value Enable X-Tracking for controller Enable Y-Tracking for controller Output Value Heating Cooling AVVoidalarm AVTolerancealarm YhandActive XtrackAct YtrackAct MinusTolCrossed PlusTolCrossed LowLimCrossed HighLimCrossed Format Real Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Function Y-value for controller Controller is heating Controller is cooling Alarm: Value is broken Alarm: Value is out of tolerance Y-HAND is active X-Tracking is active Y-Tracking is active Value is lower than lower tolerance Value is higher than upper tolerance Value is lower than lower limit Value is higher than upper limit Input Shift10 Input1 Input2 […] Input10 Format Int Bool Bool […] Bool Function Offset multiplicated by 10 to access all 200 inputs/outputs Digital input Digital input […] Digital input Output Output1 Output2 […] Output10 Format Bool Bool […] Bool Function Digital output Digital output […] Digital output DigitalVars [FB108] Writes and reads digital variables. Shift10: 0..19 © 2017 by STANGE Elektronik GmbH 19 Technische Änderungen bleiben vorbehalten. Modbus/TCP - Anbindung S7-1200/1500 ↔ SE-7xx Programmer [FB100] Controls the programmer and returns status. Input ProgStart ProgStop ProgReset ProgInterlock JumpNextSect JumpProgEnd StopSectEndEnable ContSectEnd SetNoProg SetProg SetProgNr JumpAV JumpAVDest Output ProgNr SectNr Reset Run Stop InterlockActive StopSectEnd ProgEnd RunHalt PwrFailStop AVNotfound NewSectLoaded ProgSelected ProgNotfound CurrentProgChanged StarttimeEnabled Format Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Int Bool Int Format Int Int Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Function Program control: START program Program control: STOP program Program control: RESET program Program control: INTERLOCK program Program control: Jump to next section Program control: Jump to program end Program control: Stop at section end [static] Program control: Continue (if section end reached) [impulse] Program control: Set current program to "no program" Program control: Select program using SetProgNr (integer) Program control: Set program number Program control: Feature "Jump to actual value" Program control: Selection of controlzone for feature "Jump to actual value" Function Program status: Current program number Program status: Current section number Program status: RESET Program status: RUN Program status: STOP Program status: INTERLOCK active Program status: STOP after reaching section end Program status: Program END Program status: Program in RUN or STOP Program status: STOP after power failure Program status: Provided actual value not found Program status: New program section loaded Program status: Program selected Program status: Program not found Program status: Current program changed Program status: Program start at specific time/date enabled Datalogger [FB114] Communicates with the STANGE SE-7xx datalogger. Input ProcessStart LogReset DatasetTrigger Output ProcessstartActive LoggerActive Format Bool Bool Bool Format Int Int Function Starts the datalogger and after 5 seconds starts the programmer Resets the current datalogger recording and clears its status Trigger dataset Function Received a local (PLC) or remote (SE-7xx) process start event Datalogger active © 2017 by STANGE Elektronik GmbH Technische Änderungen bleiben vorbehalten. 20