Kommunikation mit der PLC
7.2 MODBUS-Kommunikation
Programmierbeispiel
Das folgende Programm bietet ein Beispiel für die Berechnung des CRC für MODBUS RTU.
unsigned int crc_16 (unsigned char *buffer, unsigned int length)
{
unsigned int i, j, temp_bit, temp_int, crc;
crc = 0xFFFF;
for ( i = 0; i < length; i++ )
{
}
}
Parameterskalierung
Aufgrund der Einschränkungen für die Ganzzahldaten im MODBUS-Protokoll ist es
erforderlich, die Umrichterparameter vor ihrer Übertragung zu konvertieren. Dies wird durch
Skalierung erreicht, bei der ein Parameter, der eine Position nach einem
Dezimaltrennzeichen enthält, mit einem Faktor multipliziert wird, damit kein Bruchwert mehr
erforderlich ist. Der anzuwendende Skalierungsfaktor ist aus der obigen Tabelle zu
entnehmen.
BICO-Parameter
Die Aktualisierung von BICO-Parametern erfolgt ebenfalls während der
Parameterverarbeitung im Hintergrund. Aufgrund der Einschränkungen für den Registerwert
lassen sich lediglich eine "0" oder eine "1" in einen BICO-Parameter schreiben. Dadurch
wird der BICO-Eingang auf einen statischen Wert von entweder "0" oder "1" festgelegt. Die
vorherige Verbindung zu einem anderen Parameter geht verloren. Beim Auslesen des BICO-
Parameters wird der aktuelle Wert der BICO-Ausgabe zurückgegeben.
Beispiel: Modbus-Registernummer 40200. Wenn die Werte "0" oder "1" in das Register
geschrieben werden, wird der BICO-Eingang P0731 statisch auf den betreffenden Wert
festgelegt. Der Lesevorgang gibt den BICO-Ausgang zurück, der in r0747.0 gespeichert ist.
Störung
Der Umrichter zeigt die Störung F72 an, wenn die folgenden drei Bedingungen erfüllt sind:
● Der Parameter P2014 (USS/MODBUS-Telegramm-Auszeit) ist nicht gleich 0.
● Seit dem Hochfahren des Umrichters wurden Prozessdaten vom Master empfangen.
● Die Dauer zwischen dem Eingang zweier aufeinander folgender Datentelegramme
überschreitet den in P2014 festgelegten Wert.
186
temp_int = (unsigned char) *buffer++;
crc ^= temp_int;
for ( j = 0; j < 8; j++ )
{
temp_bit = crc & 0x0001;
crc >>= 1;
if ( temp_bit != 0 )
crc ^= 0xA001;
}
Umrichter SINAMICS V20
Betriebsanleitung, 05/2017, A5E34560031-007