FB_SMIDiscoverySlaveId

FB_SMIDiscoverySlaveId 1:

Es wird der erste Antrieb gesucht, der dem vorgegebenen Herstellercode entspricht und bei dem die Adresse 0 ist. Dieser Baustein findet Verwendung bei der Adressierung von SMI-Geräten und wird im Baustein FB_SMIAddressing() benutzt.

VAR_INPUT

bStart                  : BOOL;
bCancel                 : BOOL;
byManufacturer          : BYTE := 0;
dwOptions               : DWORD := 0;

bStart: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert und die Suche gestartet.

bCancel: Über eine positive Flanke an diesem Eingang wird der Baustein deaktiviert und die Suche abgebrochen.

byManufacturer: Der vorgegebene Herstellercode für die Suche nach dem SMI-Gerät. Einige SMI-Geräte erlauben nicht den Herstellercode 0.

dwOptions: reserviert für zukünftige Erweiterungen.

VAR_OUTPUT

bBusy                                 : BOOL;
bError                                : BOOL;
udiErrorId                            : UDINT;
dwCurrentSearchSlaveId                : DWORD;
eResSlaveAddrET0AndSlaveIdLTSerachId  : E_SMICompResSlaveAddrET0AndSlaveIdLTSearchId;
eResSlaveAddrET0AndSlaveIdGTSerachId  : E_SMICompResSlaveAddrET0AndSlaveIdGTSearchId;
eResSlaveAddrET0AndSlaveIdETSerachId  : E_SMICompResSlaveAddrET0AndSlaveIdETSearchId;
eResSlaveAddrNE0                      : E_SMICompResSlaveAddrNE0;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Durch das erneute Aktivieren des Bausteins über den Eingang bStart wird der Ausgang wieder auf FALSE zurückgesetzt.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das erneute Aktivieren des Bausteins über den Eingang bStart wieder auf 0 zurückgesetzt. Siehe Fehlercodes.

dwCurrentSearchSlaveId: Sobald der Bausteine seine Ausführung beendet hat (bBusy wechselt von TRUE auf FALSE) zeigt dieser Ausgang die Slave-Id des gefundenen SMI-Gerätes an.

eResSlaveAddrET0AndSlaveIdLTSerachId: Bei mindestens einem Motor / Bei keinem Motor ist die Adresse gleich 0 und die Slave-Id ist kleiner als die gesuchte Slave-Id (dwSlave-Id) / Der Wert ist undefiniert.

eResSlaveAddrET0AndSlaveIdGTSerachId: Bei mindestens einem Motor / Bei keinem Motor ist die Adresse gleich 0 und die Slave-Id ist größer als die gesuchte Slave-Id (dwSlave-Id) / Der Wert ist undefiniert.

eResSlaveAddrET0AndSlaveIdETSerachId: Bei mindestens einem Motor / Bei keinem Motor ist die Adresse gleich 0 und die Slave-Id ist ebenfalls gleich der gesuchten Slave-Id (dwSlave-Id) / Der Wert ist undefiniert.

eResSlaveAddrNE0: Bei mindestens einem Motor / Bei keinem Motor ist die Adresse ungleich 0 / Der Wert ist undefiniert.

VAR_IN_OUT

stCommandBuffer             : ST_SMICommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_KL6831KL6841Communication()-Baustein.

Voraussetzungen

Entwicklungsumgebung

Zielsystem

erforderliche Bibliotheken

TwinCAT 2.11 R3/x64 ab Build 2238

PC/CX, BX oder BC

TcSMI-Bibliothek ab V1.0.0