Industrielles Internet der Dinge in der SPS Simatic S7-1x00 am Beispiel des MQTT-Protokolls

In der Siemens Knowledge Base (SIOS) finden Sie ein interessantes Beispiel fĂŒr die Verwendung von S7-1200- und S7-1500-Leitungssteuerungen als Client des MQTT-Protokolls





Link zur Originalquelle .





Folgen Sie dem Link, um die Bibliothek selbst mit dem Funktionsblock MQTT_Client (ĂŒbrigens Open Source) und einer ErlĂ€uterung zu finden. Die Dokumentation selbst ist ziemlich umfangreich. Wer Englisch kann, kann dem Link sicher folgen und diese Notiz nicht lesen, wodurch er sich mehrere faszinierende Stunden technischer Forschung verschafft. Und im Übrigen, weniger erfahren und / oder fauler, werde ich Ihnen kurz die Hauptsache erklĂ€ren und mein Beispiel fĂŒr die Arbeit eines Kunden demonstrieren, die kreativ fĂŒr eine mehr oder weniger reale Anwendung ĂŒberarbeitet wurde.





Kurz zu den Bedingungen.





MQTT - Telemetrietransport in der Warteschlange fĂŒr Nachrichten. Telemetrieprotokoll fĂŒr Messaging. Ich finde es schwierig, den Namen richtig ins Russische zu ĂŒbersetzen.





Nachricht - Nachricht. Direkt die ĂŒbertragenen Daten selbst. Die Nachricht besteht aus mehreren Teilen:





  • Thema, der Betreff der Nachricht. Eine Zeichenfolge, die im ursprĂŒnglichen Beispiel auf 200 Zeichen begrenzt ist. Um Nachrichten zu empfangen, mĂŒssen Clients zuerst ein bestimmtes Thema abonnieren, d. H. Thema





  • QoS, ServicequalitĂ€t. Ein zusĂ€tzliches Zeichen, das angibt, ob auf die BestĂ€tigung des Empfangs einer Nachricht gewartet werden soll oder nicht





  • Nachrichtentext, Nachrichtentext. Textzeichenfolge mit 500 Zeichen





Das Protokoll basiert auf einem Abonnenten- / Herausgebermodell, dessen allgemeine Logik sich geringfĂŒgig von dem in Industrieprotokollen ĂŒblichen Client-Server-Modell unterscheidet.





- , .. , . , . , . « Modbus». , .





-, MQTT, , (). . . , , , , . , .





, MQTT.





— publisher. , ( ) (topic).





— subscriber. , . .





. — .





MQTT , . , . .





, . . , , TCP/IP .





(. ) LMQTT_Client. , — Step 7. Options → Global Libraries → Open library. :









MQTT — S7-1200 S7-1500. , S7-1214. , S7-1500 , S7-1200 — ip-. LMQTT_Client Program Files . . MQTT_Client MQTTExchange:





, , . .





enable — MQTT, . .. TRUE





publishData — () . ( done error), , QoS





subscribeToTopic — , , (, ),





, : tcpConnParam mqttParam. OB100 . .









( « » ) . . ID , 64. Hardware ID .





— . TCP/IP, connection ID. 1 4096, , «», . - , «1»





— IP- , .





«» ip-. ip- . mosquitto Windows. .





, .





. ( ). mosquitto.exe, 1883 ( MQTT) .





, . 192.168.0. 192.168.1., — , , . , , ip-, , , ip.





, , « » «» ip-.





router address,





— , . , 1884, 1883. :





— . . S7-1214.





. , «SIMATIC» ( ). . , .





. Last will. — «» ( !). , . « » , . «» , .





. . . — .





activateSecureConn — , , . OPC UA . Open User Communications (SecOUC). . .





, , , . , , . enable LMQTT_Client:





, enable tcpEstablished mqttEstablished «», , . , — «» enable - . . , , . :





— 5 , , . 5 , . . .





, - , . , , . , — , , . , . . subscribeToTopic, , «» .





( , ) #SubscriveToTopics « » 1. , , , , ( ).





— «global». . (, , )





. « » = 1, 







 «», (global) «»






 «» , done error. done «» №2. — .





№2. . , «». , .





100 , ( №3).





№3 №1, . №3 « » (#SubscriveToTopics) « ».





.  mosquitto_pub.exe:





mosquitto_pub.exe -h myhost.mydomain.ru -t global -m «kill all humans»





,





myhost.mydomain.ru —





global — «global»,





kill all humans — global





subscriptionsMessage:





, global «kill all humans»





newMessageReceived . . , .





— . , . . , 10 , . 10 « » « » 1:





SCL, LAD. , — .





4 , , — . «» , personal0. . , REAL_TO_WSTRING . , , , — . — 500 , . , , . , . , , ( , ).





« » . , « » « ».





MQTT , personal0 ( ):





, . . personal0 exterminate, Q0.0 «».





:





mosquitto_pub.exe -h host.domain.ru -t personal0 -m «exterminate»





:





( newMessageReceived), . . , .





, . , , , . , , , , «» . , , . (, , , ) . , , — . GSM-, , , ip-. , , « ». , . ,





, , , , M2M (-). , .





, () . , , , WinCC Advanced.





Weitere Untersuchungen haben gezeigt, dass mqtt in Verbindung mit der Node-RED-Umgebung hervorragend verwendet wird. Auf Node-RED wurde ein Programm "gezeichnet", das diese Daten von einem Broker empfĂ€ngt, die empfangene Zeichenfolge analysiert und alle Informationen (Zeitstempel, Wert) in die MariaDB-Datenbank schreibt. Sie, das Programm auf Node-RED, ermöglichte es, Informationen fĂŒr einen bestimmten Zeitraum abzurufen, in Form einer Tabelle anzuzeigen, grafisch darzustellen und als CSV-Datei hochzuladen.








All Articles