Die schnelle SPS-Task
Fügen Sie im Deklarationsteil folgenden SPS-Code hinzu:
PROGRAM P_SerialComm_HighSpeed
VAR
fbSerialLineCtrl : FB_IEC870_SerialLineCtrl := (
Mode := SERIALLINEMODE_PC_COM_PORT, (*SERIALLINEMODE_KL6_5B_STANDARD *)
Baudrate := 19200,
NoDatabits := 8,
Parity := PARITY_EVEN,
Stopbits := 1,
Handshake := HANDSHAKE_NONE,
ContinousMode := FALSE );
serial_in AT%IB4000 : PcComInData;
serial_out AT%QB4000 : PcComOutData;
KL6_in AT%IB4100 : KL6inData5B;
KL6_out AT%QB4100 : KL6outData5B;
hSerial : T_HSERIALCTRL;
END_VAR
und im Programmcode:
fbSerialLineCtrl( pComIn := SEL( fbSerialLineCtrl.Mode = SERIALLINEMODE_KL6_5B_STANDARD, ADR( serial_in ), ADR( KL6_in ) ),
pComOut := SEL( fbSerialLineCtrl.Mode = SERIALLINEMODE_KL6_5B_STANDARD, ADR( serial_out ), ADR( KL6_out ) ),
SizeComIn := SEL( fbSerialLineCtrl.Mode = SERIALLINEMODE_KL6_5B_STANDARD, SIZEOF( serial_in ), SIZEOF( KL6_in ) ),
hSerial := hSerial );
Eine zu diesem Beispiel passende TwinCAT System Manager Konfiguration finden Sie auf der Beispiele-Übersichtsseite. Die Mode-Variable kann dazu verwendet werden um zwischen zwei Kommunikationswegen umzuschalten.
Kommunikation über die standard PC COMx-Schnittstellen
- In diesem Fall wird der Mode-Parameter auf den Wert: SERIALLINEMODE_PC_COM_PORT gesetzt.
- Im TwinCAT System Manager werden die serial_in- und serial_out- Variablen mit den entsprechenden IO-Variablen der seriellen Schnittstelle verknüpft.
- Die Schnittstelle wird und muss im TwinCAT System Manager konfiguriert werden (Baudrate, Parity usw.). Andere Kommunikationsparameter an dem FB_IEC870_SerialLineCtrl-Funktionsbaustein sind in diesem Mode irrelevant.
Kommunikation über die seriellen Beckhoff Busklemmen KL6xxx
- In diesem Fall wird der Mode-Parameter auf den Wert: SERIALLINEMODE_KL6_5B_STANDARD gesetzt.
- Im TwinCAT System Manager werden die KL6_in - und KL6_out - Variablen mit den entsprechenden I/O-Variablen der seriellen Klemme KL6xxx verknüpft.
- Die Schnittstelle wird in der TwinCAT SPS durch die Instanz des FB_IEC870_SerialLineCtrl-Funktionsbausteins konfiguriert. Die Kommunikationsparameter wie Baudrate, Parity usw. sind an diesem Baustein einzustellen.
Kommunikation über die seriellen Beckhoff Busklemmen EL6xxx
PROGRAM P_SerialComm_HighSpeed
VAR
fbSerialLineCtrl : FB_IEC870_SerialLineCtrl := ( Mode := SERIALLINEMODE_EL6_22B );
EL6_in AT%IB4100 : EL6inData22B;
EL6_out AT%QB4100 : EL6outData22B;
hSerial : T_HSERIALCTRL;
END_VAR
fbSerialLineCtrl( pComIn := ADR( EL6_in ),
pComOut := ADR( EL6_out ),
SizeComIn := SIZEOF( EL6_in ),
hSerial := hSerial );
- In diesem Fall wird der Mode-Parameter auf den Wert: SERIALLINEMODE_EL6_22B gesetzt.
- Im TwinCAT System Manager werden die EL6_in - und EL6_out - Variablen mit den entsprechenden I/O-Variablen der seriellen Klemme EL6xxx verknüpft.
- Die Schnittstelle wird und muss im TwinCAT System Manager konfiguriert werden (Baudrate, Parity usw.). Andere Kommunikationsparameter an dem FB_IEC870_SerialLineCtrl-Funktionsbaustein sind in diesem Mode irrelevant.