SetSerialConf: Ändern der Konfiguration der seriellen Leitung
SetSerialConf ermöglicht die Änderung der Konfiguration der seriellen Leitung.
HINWEIS: Das Ändern der Konfiguration der Ports für serielle Leitungen während der Programmausführung kann zu einer Unterbrechung der Kommunikation zwischen zwei miteinander verbundenen Geräten führen.
|
STEUERUNGSAUSFALL AUFGRUND EINER KONFIGURATIONSÄNDERUNG |
Validieren und testen Sie alle Parameter der Funktion SetSerialConf vor der Ausführung des Programms. |
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben. |
Eingang |
Typ |
Kommentar |
---|---|---|
Link |
LinkNumber ist die Nummer des Kommunikationsports. |
|
PointerToSerialConf |
POINTER TO SERIAL_CONF |
PointerToSerialConf ist die Adresse der Konfigurationsstruktur (Variable vom Typ SERIAL_CONF), in der die neuen Konfigurationsparameter gespeichert werden. Die Standardfunktion ADR muss zum Definieren des zugehörigen Zeigers verwendet werden. (siehe nachstehendes Beispiel). Wenn 0, stellen Sie die Standardkonfiguration der Anwendung auf die serielle Leitung ein. |
Ausgang |
Typ |
Kommentar |
---|---|---|
SetSerialConf |
WORD |
Diese Funktion gibt Folgendes zurück: o0: Die neue Konfiguration ist eingerichtet. o255: Die neue Konfiguration wird abgelehnt, da: odie Funktion gerade ausgeführt wird. odie Eingangsparameter ungültig sind. |
VAR
MySerialConf: SERIAL_CONF
result: WORD;
END_VAR
(*Get current configuration of serial line 1*)
GetSerialConf(1, ADR(MySerialConf));
(*Change to modbus RTU slave address 9*)
MySerialConf.Protocol := 0; (*Modbus RTU/Machine Expert protocol (in this case CodesysCompliant selects the protocol)*)
MySerialConf.CodesysCompliant := 0; (*Modbus RTU*)
MySerialConf.address := 9; (*Set modbus address to 9*)
(*Reconfigure the serial line 1*)
result := SetSerialConf(1, ADR(MySerialConf));