Kontakt · Newsletter · ENGLISH
Um die Anforderungen zukünftiger digitaler Geschäftsprozesse zu erfüllen haben wir die IO/5640 entwickelt. Damit lassen sich IGW/9xx-Gateways direkt mit Prozess-Ein- und Ausgängen verbinden.
So sind Steuerungs- und Datenerfassungsaufgaben mit einem IGW/9xx, z. B. im Bereich Fernwirktechnik, Condition Monitoring oder Predictive Maintenance realisierbar.
Dafür stellt eine IO/5640 8 analoge Eingänge (je 4x 4-20 mA sowie 0-10 V), 6 digitale Ausgänge und 5 digitale Eingänge zur Verfügung.
IO/5640 und IGW/9xx werden über RS485 miteinander verbunden und verwenden das Modbus-RTU-Protokoll zur Kommunikation, wobei die IO/5640 als Modbus-Slave und das Gateway als Modbus-Master arbeitet. Insgesamt können bis zu 15 IO/5640 als Kaskade an einem einzelnen IGW/9xx betrieben werden.
Selbstverständlich kann die IO/5640 auch mit einem (Industrial) PC betrieben werden, z. B. um analoge Daten einem MES- oder ERP-System zur Verfügung zu stellen.
Der Funktionsumfang der IO/5640 kann durch sog. Application-specific Code Functions (ACF) erweitert und an individuelle Anforderungen angepasst werden.
Die ACF sind spezielle Software-Komponenten, die z. B. die Sensordatenfusion, zeitkritische Datenvorverarbeitungen, Hochgeschwindigkeits-Zeitmessungen und vieles mehr direkt in der IO/5640 ermöglichen. Die Ergebnisse werden in optionalen Modbus-Registern abgelegt.
So können z. B. über jeweils zwei binäre Sensoren zwei voneinander unabhängige 16-bit Zeitgeber (Timer) gestartet und gestoppt werden, um die Zeitspanne der Wegstrecke eines linearen Antriebs mit einer Auflösung von 1 Millisekunde auszumessen.
Um z. B. die Zeitspannen t1 und t2 der Wegstrecken x1 > x2 und x2 > x1 für die Bewegungen eines druckluftgetriebenen Antriebsschlittens Millisekunden-genau auszumessen, werden die Ausgänge der binären Näherungssensoren (Endschalter 1 und 2) mit zwei IO/5640-Eingängen verbunden. Ein Endschalter startet jeweils den Timer, der andere stoppt die Zeitmessung. Per Modbus-RTU sind die Werte für t1 und t2 auslesbar.
Die IO/5640 arbeitet als Signalerfassungseinheit für verschiedene analoge Sensorelemente. Die digitalisierten Daten werden von einem IGW/9xx-Gateway per Modbus-RTU ausgelesen, in die jeweils erforderlichen anwendungsbezogenen Datenformate (z. B. in CSV, JSON, XML) umgewandelt und bei Bedarf durch entsprechende Metadaten ergänzt.
Auch Sensordatenfusionen sind möglich. Mit Hilfe verschiedener Protokolle lassen sich die CSV/JSON/XML-Daten dann an eine Cloud oder andere IT-Systeme (z. B. MES, ERP, CRM- SQL-Datenbank) bzw. Automatisierungsbaugruppen weiterleiten.
Ein PC-basiertes Messdatenerfassungssystem (DAQ-System, DAQ = Data Acquisition) dient zur Erfassung physikalischer Prozessparameter (z. B. Strom, Spannung, Temperatur). Die IO/5640-Baugruppe übernimmt dabei die Signalkonditionierung und A/D-Wandlung.
Vom PC aus werden die digitalisierten Daten per Modbus-RTU von der DAQ-Software ausgelesen (ein Modbus-Treiber gehört in der Regel zum Lieferumfang guter DAQ-Systeme) und weiterverarbeitet. Zur ortsunabhängigen Visualisierung (z. B. Smartphone-App, SCADA) leitetet der PC die Daten bei Bedarf an eine Cloud weiter.
Die IO/5640-DS ist eine spezielle Variante der IO/5640 (siehe Produktvarianten und Zubehör). Statt des Modbus-RTU-Protokolls per RS485 bietet die IO/5640-DS einen schnellen Data Stream Mode zur analogen Datenerfassung mit 8 Kanälen für Data Science-Anwendungen.
Die RS485-Schnittstelle wird dabei "Point-to-Point" betrieben, um Datagramme mit Messdaten entweder direkt zu einem Edge-Gateway (z. B. ein IGW/9xx-Gateway) oder einem PC-System zu versenden.
Die 8 analogen Eingänge werden zu einem konstanten Datenstrom zusammengefasst und per RS485 als Datagramm übertragen. Kanalanzahl, Abtastintervall (bis zu 434 Mikrosekunden bzw. 2,3 kHz) bei 12 Bit-ADC-Auflösung sowie Kommunikationsblockgröße lassen sich individuell einstellen.
Die maximal mögliche Abtastrate hängt von der jeweiligen Kanalanzahl ab (siehe nebenstehende Tabelle).
Der Datenstrom einer IO/5640-DS besteht aus einzelnen Datagrammen, die nach jeder Messung per RS485 an das Edge-Gateway oder den PC übermittelt werden. Jeder Kanal hat aus Effizienzgründen einen festen Platz im Datagramm.
Übertragen wird der Kanal im Datagramm nur, wenn er bei der Initialisierung (siehe Abb. 5) ausgewählt wurde. Daher hat ein Datagramm eine variable Länge, die von der Kanalauswahl abhängt.
Für jeden ausgewählten Kanal werden 2 Bytes als Unsigned Int16 (16 Bit-Integer) im Little Endian Mode übertragen. Jedes Datagramm ist durch ein CRC8 als Prüfsumme abgesichert. Die Umrechnung der 16 Bit-Integer-Messwerte für Spannung und Strom erfolgt mit Hilfe der folgenden Gleichungen:
Das Verhalten der IO/5640-DS wird von einer State Machine (Zustandsmaschine) gesteuert. Durch Einschalten der Versorgungsspannung entsteht ein Power-on-Reset, der die IO/5640-DS in den initialen Ausgangszustand IDLE versetzt. In diesem Zustand wird auf ein Configuration Datagram (Konfigurations-Datagramm) gewartet, das von einem Edge-Gateway oder PC per RS485-Point-to-Point-Verbindung an die IO/5640-DS geschickt wird.
Ein gültiges Konfigurations-Datagramm versetzt die IO/5640-DS vom IDLE- in den MEASURING-Zustand (Zustandsübergang Start). Die jeweils gewünschten Kanäle sowie die Abtastfrequenz werden in einem Konfigurations-Datagramm als Parameter übertragen.
Im MEASURING-Zustand sendet die IO/5640-DS nach jeder Messung ein Messdaten-Datagramm an das Edge-Gateway bzw. den PC. Bei einer Abtastfrequenz von bspw. 500 Hz, versendet die IO/5640-DS alle 2 Millisekunden ein Datagramm mit den aktuellen Messwerten per RS485.
Anzahl Kanäle | Max. Abtastfrequenz | Abtastintervall |
---|---|---|
1 | 2.300 Hz | 434 µsec |
2 | 1.645 Hz | 607 µsec |
3 | 1.280 Hz | 781 µsec |
4 | 1.047 Hz | 955 µsec |
5 | 886 Hz | 1,12 msec |
6 | 768 Hz | 1,3 msec |
7 | 677 Hz | 1,47 msec |
8 | 606 Hz | 1,65 msec |
Abtastraten in Abhängikeit der Kanalanzahl |
Abbildung 5: Schema der State Machine in der IO/5640-DS
Um vom MEASURING-Zustand wieder in den IDLE-Ausgangszustand zu wechseln und somit die Übertragung von weiteren Messdaten-Datagrammen zu beenden, muss ein Stop Datagram an die IO/5640-DS gesendet werden.
Als Zubehör für die IO/5640-DS steht mit PyDSlog eine Open-Source-Python-Bibliothek zur Aufzeichnung beliebiger Sensormesswerte in CSV-Dateien zur Verfügung. Diese Bibliothek ermöglicht die sehr schnelle Sensorrohdatenerfassung über die analogen Eingänge.
Die CSV-Daten lassen sich zum einen für explorative oder deskriptive Datenanalysen und zum anderen für das Training von Machine Learning-Algorithmen zur Mustererkennung nutzen. Jede einzelne Messung wird als Zahlenwert in einem Feature Vector (Merkmalsvektor) gespeichert.
Ein solcher Vektor (Array aus Zahlenwerten) repräsentiert die Messwerte der gesamten IO/5640-DS-Eingangssensorik zu einem bestimmten Zeitpunkt. Mit anderen Worten: Der einzelne Merkmalsvektor beschreibt ein zeitpunktspezifisches Zustandsmuster der jeweiligen Sensormesswerte. Die CSV-Datei selbst bildet ein Datenset aus Merkmalsvektoren, die zu unterschiedlichen Zeitpunkten erfasst wurden.
Neben den Daten der acht analogen Kanäle ermöglicht PyDSlog auch das Hinzufügen weiterer Daten, wie bspw. einen Zeitstempel für Time Series-CSV-Dateien und ein Machine Learning-Label-Feld, um das Zustandsmuster eines Merkmalsvektors zu klassifizieren.
Die per PyDSlog erfassten Sensormessdaten lassen sich direkt mit anderen Python-Bibliotheken weiterverarbeiten.
Die für die Verdrahtung der IO/5640 verwendeten Kabel müssen folgende Spezifikationen einhalten:
Der für die Klemmleiste verwendete Schraubendreher darf max. 2,5 mm breit sein.
Parameter | Eigenschaft / Wert |
---|---|
Anzahl der Eingänge | 4 |
Eingangsspannung max. | ±17 V |
Signalspannung | 0 .. 10 V |
Eingangswiderstand | typ. 1 MΩ |
Auflösung | 12 Bit |
Wandlungszeit | typ. 10 ms |
Messfehler bei 25 °C | < ±0,2% vom Skalenendwert |
Temperaturkoeffizient 0 .. 70 °C | < ±0,0015%/K vom Skalenendwert |
Dieses Datenformat gilt nur für die IO/5640 im Modbus-Betrieb.
Eingangsspannung (V) | Messwert Hex |
---|---|
< 0,0 | 0x7FFF |
0,0 | 0x0000 |
2,5 | 0x2000 |
5,0 | 0x4000 |
7,5 | 0x6000 |
10,0 | 0x7FF8 |
> 10,0 | 0x7FF9 |
Dieses Datenformat gilt nur für die IO/5640-DS im Data Stream-Betrieb.
Für jeden ausgewählten Kanal werden 2 Bytes als Unsigned Int16 (16 Bit-Integer) im Little Endian Mode mit 12 Bit-ADC-Auflösung übertragen.
Umrechnung der 16 Bit-Integer-Messwerte:
U(x) = x * 0,0025 V.
Alle Signale beziehen sich auf AIGND.
Parameter | Eigenschaft / Wert |
---|---|
Anzahl der Eingänge | 4 |
Eingangsspannung | ±10 V |
Signalstrom | typ. 0 .. 20 mA |
Eingangswiderstand | 242 Ω |
Auflösung | 12 Bit |
Wandlungszeit | typ. 10 ms |
Messfehler bei 25 °C | < ±0,2% vom Skalenendwert |
Temperaturkoeffizient 0 .. 70 °C | < ±0,0025%/K vom Skalenendwert |
Dieses Datenformat gilt nur für die IO/5640 im Modbus-Betrieb.
Eingangsstrom (mA) | Messwert Hex |
---|---|
< 0,0 | 0x7FFF |
0,0 | 0x0000 |
5,0 | 0x2000 |
10,0 | 0x4000 |
15,0 | 0x6000 |
20,0 | 0x7FF8 |
> 20,0 | 0x7FF9 |
Dieses Datenformat gilt nur für die IO/5640-DS im Data Stream-Betrieb.
Für jeden ausgewählten Kanal werden 2 Bytes als Unsigned Int16 (16 Bit-Integer) im Little Endian Mode mit 12 Bit-ADC-Auflösung übertragen.
Umrechnung der 16 Bit-Integer-Messwerte:
I(x) = x * (3125/620000) mA.
Parameter | Eigenschaft / Wert |
---|---|
Anzahl der Eingänge | 5 |
Eingangsspannung max. | ±50 V |
H-Pegel | 18 .. 30 V |
L-Pegel | 0 .. 8 V |
Eingangswiderstand | typ. 10 kΩ |
Eingangsstrom bei 24 V | typ. 2,3 mA |
Eingangsfrequenz max. | 1 kHz |
Der digitale Input des IO/5640 kann als high side switch (Abb. 9) oder als low side switch (Abb. 10) beschaltet werden.
Parameter | Eigenschaft / Wert |
---|---|
Anzahl der Ausgänge | 6 |
Betriebsspannung (Feldseite) | 24 VDC ±10% |
Stromaufnahme (Feldseite) | 15 mA (Modul + Last) |
Lastart | ohmsch, induktiv, kapazitiv |
Schaltfrequenz max. | 3 kHz |
Ausgangsstrom max. | 0,5 A |
Kurzschlussstrom typ. | 1,1 A |
ON Widerstand@0,5 A | 150 .. 320 mΩ |
Absorbierbare Energie W max. | 1 J; Lmax = 2 × Wmax / I2 |
Die IO/5640 wird als Modbus-RTU-Slave via RS485 (halbduplex) mit dem Gateway/PC verbunden. Die Slave-Adresse wird über den Drehschalter an der Frontseite eingestellt.
Adresse 15 ist mit Terminierung. Adresse 16 (Position 0) ist nur für Servicezwecke.
Datentyp | Bits | Wertebereich | Kodierung/Byte-Reihenfolge |
---|---|---|---|
UINT16 | 16 | 0 .. 216-1 | [DB1][DB0] (big endian) - High-Byte zuerst |
SINT16 | 16 | -32768 .. 32767 | [DB1][DB0] (big endian) - High-Byte zuerst |
UINT8 | 8 | 0 .. 255 |
IO | Richtung | Function | Register [dec] | Datentyp |
---|---|---|---|---|
DI1+/- | S > M S > M S > M |
FC2 FC3 FC3 |
0 8 [BIT0] 9 |
UINT8 UINT16 UINT16 |
DI2+/- | S > M S > M S > M |
FC2 FC3 FC3 |
1 8 [BIT1] 10 |
UINT8 UINT16 UINT16 |
DI3+/- | S > M S > M S > M |
FC2 FC3 FC3 |
2 8 [BIT2] 11 |
UINT8 UINT16 UINT16 |
DI4+/- | S > M S > M S > M |
FC2 FC3 FC3 |
3 8 [BIT3] 12 |
UINT8 UINT16 UINT16 |
DI5+/- | S > M S > M S > M |
FC2 FC3 FC3 |
4 8 [BIT4] 13 |
UINT8 UINT16 UINT16 |
IO | Richtung | Function | Register [dec] | Datentyp |
---|---|---|---|---|
DO1 | M > S S > M M > S S > M |
FC5 FC1 FC6 FC3 |
0 0 14 [BIT0] 14 [BIT0] |
UINT8 UINT8 UINT16 UINT16 |
DO2 | M > S S > M M > S S > M |
FC5 FC1 FC6 FC3 |
1 1 14 [BIT1] 14 [BIT1] |
UINT8 UINT8 UINT16 UINT16 |
DO3 | M > S S > M M > S S > M |
FC5 FC1 FC6 FC3 |
2 2 14 [BIT2] 14 [BIT2] |
UINT8 UINT8 UINT16 UINT16 |
DO4 | M > S S > M M > S S > M |
FC5 FC1 FC6 FC3 |
3 3 14 [BIT3] 14 [BIT3] |
UINT8 UINT8 UINT16 UINT16 |
DO5 | M > S S > M M > S S > M |
FC5 FC1 FC6 FC3 |
4 4 14 [BIT4] 14 [BIT4] |
UINT8 UINT8 UINT16 UINT16 |
DO6 | M > S S > M M > S S > M |
FC5 FC1 FC6 FC3 |
5 5 14 [BIT5] 14 [BIT5] |
UINT8 UINT8 UINT16 UINT16 |
DO1 .. 6 | S > M |
FC3 |
15 [BIT0] 15 [BIT1] |
UINT16 |
IO | Richtung | Function | Register [dec] | Datentyp |
---|---|---|---|---|
AI1U | S > M | FC3 | 16 | SINT16 |
AI2U | S > M | FC3 | 17 | SINT16 |
AI3U | S > M | FC3 | 18 | SINT16 |
AI4U | S > M | FC3 | 19 | SINT16 |
AI1I | S > M | FC3 | 20 | SINT16 |
AI2I | S > M | FC3 | 21 | SINT16 |
AI3I | S > M | FC3 | 22 | SINT16 |
AI4I | S > M | FC3 | 23 | SINT16 |
IO | Richtung | Function | Reg. [dec] | Datentyp |
---|---|---|---|---|
LED_S1 | M > S S > M |
FC6 FC3 |
25 25 |
UINT16 UINT16 |
LED_S2 | M > S S > M |
FC6 FC3 |
26 26 |
UINT16 UINT16 |
DT1 | S > M | FC3 | 54 | UINT16 |
DT2 | S > M | FC3 | 55 | UINT16 |
SW_SVN | S > M | FC3 | 0 | UINT16 |
SW_BUILD | S > M | FC3 | 1 | UINT16 |
SW_VERSION | S > M | FC3 | 2 | UINT16 |
DEVICE_NAME | S > M S > M S > M S > M |
FC3 FC3 FC3 FC3 |
3 4 5 6 |
UINT16 UINT16 UINT16 UINT16 |
WATCHDOG | M > S S > M |
FC6 FC3 |
7 7 |
UINT16 UINT16 |
Bezeichnung | Beschreibung |
---|---|
IO/5640 | 6 digitale Ausgänge, 5 digitale und 8 analoge Eingänge, Betrieb als Modbus-RTU-Slave |
IO/5640-DS | 8 analoge Eingänge zur Datenerfassung im Data Stream Mode, PyDSlog-Bibliothek zur Datenaufzeichnung in CSV-Dateien |
USB-Adapter | RS485-auf-USB-Adapter mit 2 m Kabellänge zur Verbindung der IO/5640(-DS) mit einem PC |
SSV SOFTWARE SYSTEMS
Dünenweg 5
30419 Hannover
Fon: +49(0)511 · 40 000-0
Fax: +49(0)511 · 40 000-40
Impressum · Datenschutz · AGB
© 2024 SSV SOFTWARE SYSTEMS GmbH. Alle Rechte vorbehalten.
ISO 9001:2015