BK8x00 - FB COM-Port
Über diesen Funktionsbaustein kann über die serielle Schnittstelle des BXxxxx die seriellen Buskoppler BK8000 mit RS485 und BK8100 mit RS232-Anschluss verwendet werden. Die Maximale Baudrate beträgt 38400 Baud.

VAR_INPUT
stCOMConfig :ST_COMConfig;
byAddress :BYTE;
byLen :BYTE;
byMaxInputLen :BYTE;
ptDataOut :POINTER TO BYTE;
ptDataIN :POINTER TO BYTE;
bStart :BOOL;
TmOut :TIME;
Legende
stComConfig: Struktur für die Auswahl der COM Parameter
byAddress: BX8x00 Adresse 1-98 (0 und 99 sind reserviert)
byLen: Daten Länge in [BYTE] (es sind nur grade Zahlen zugelassen 0, 2, 4, ...)
byMaxInputLen: wird mit SIZEOF und der Variable, die mit ptDataIN verbunden ist, angeschlossen
ptDataOut: wird mit ADR und den Daten Out verbunden
ptDataIn: wird mit ADR und den Daten In verbunden
bStart: positive Flanke startet den Baustein
TMOut: Wartezeit bis abgebrochen wird
VAR_OUTPUT
bBusy :BOOL;
bError :BOOL;
iErrorId :WORD;
Input_len :WORD;
Legende
bBusy: So lange der Baustein TRUE ist der Baustein aktiv
bError: Fehler Bit
iErrorId: Fehler Nummer
Input_Len: Anzahl der Daten die Empfangen wurden
Rückgabeparameter iErrorId | Bedeutung |
---|---|
0 | kein Fehler |
100dez | Fehler beim Öffnen des COM-Ports |
101dez | Fehler beim Senden der Daten |
102dez | Watchdog Fehler, keine Antwort vom Slave innerhalb der WD-Zeit |
105dez | Der Input Puffer ist zu klein |
200dez | CRC-Fehler |
0x80xxhex | Buskoppler Fehler xx Status Byte des Buskopplers (siehe BX8x00 Dokumentation) |
Hardware
RS 232 Kommunikation PIN Belegung
BX COM1 RS232 | BX COM2 RS232 | BK8100 |
---|---|---|
2 | 8 | 2 |
3 | 7 | 3 |
5 | 5 | 5 |
RS485 Kommunikation PIN Belegung
Einstellungen im FB: Wichtig ist das bei der Nutzung der RS485-Verbindung die Variable stCOMConfig:=1 ist und die COM2-Schnittstelle angewählt ist.
BX COM2 RS485 | BK8000 |
---|---|
1 | 3 |
6 | 8 |
Beispiel Programm in ST
Download (Beispieldatei)
Notwendiges Material:
- BX3100 + Busklemme
- BK8100, KL1xx8, KL2xx8, KL9010
- Serielles Kabel, PIN Belegung: siehe im Beispielprogramm