Hallo,
ich bin auf der Suche nach der Belegung der Statusbytes (bzw. dem WORD) bei DI/DIO/DO Modulen. Online kann ich das leider nur für Core oder Connect finden.
Gruß Nicolai
Status bytes DIO/DI/DO
In der IoProtocol.h habe ich folgenden Typ gefunden, der sich mit meinen Beobachtungen deckt:
Bin ich auf der richtigen Spur?
Code: Select all
INT8U bitInputCommErr : 1; // no communication with chip
INT8U bitInputUVL1 : 1; // under voltage 1 on channel 0-7
INT8U bitInputUVL2 : 1; // under voltage 2 on channel 0-7
INT8U bitInputOTL : 1; // over temperature on channel 0-7
INT8U bitInputUVH1 : 1; // under voltage 1 on channel 8-15
INT8U bitInputUVH2 : 1; // under voltage 2 on channel 8-15
INT8U bitInputOTh : 1; // over temperature on channel 8-15
INT8U bitInputFault : 1; // fault signal on gpio
INT8U bitOutputCommErr : 1; // no communication with chip
INT8U bitOutputCRCErr : 1; // output chip reports crc error
INT8U bitOutputFault : 1; // fault signal on gpio
INT8U bitOutputReserve : 5;
Hallo nicolaiB,
bitte entschuldige die verspätete Antwort. Ja, du bist genau auf der richtigen Spur. Du findest diese struct SDioModuleStatus, deren Inhalt du oben zitiert hast, als drittes 16-Bit Word ab dem Input-Offset eines DIOs im Prozessabbild. Das Input-Offset bringst du mit "piTest -d" in Erfahrung. Wenn es z.B. 11 ist, findest du den SDioModuleStatus in Byte 15 und 16 des Prozessabbilds. Im Normalfall sind beide Bytes Null. Das Layout im Prozessabbild entspricht insoweit der struct SDioCounterResponse (ohne uHeader und i8uCrc). Hilft dir das weiter?
Lukas
bitte entschuldige die verspätete Antwort. Ja, du bist genau auf der richtigen Spur. Du findest diese struct SDioModuleStatus, deren Inhalt du oben zitiert hast, als drittes 16-Bit Word ab dem Input-Offset eines DIOs im Prozessabbild. Das Input-Offset bringst du mit "piTest -d" in Erfahrung. Wenn es z.B. 11 ist, findest du den SDioModuleStatus in Byte 15 und 16 des Prozessabbilds. Im Normalfall sind beide Bytes Null. Das Layout im Prozessabbild entspricht insoweit der struct SDioCounterResponse (ohne uHeader und i8uCrc). Hilft dir das weiter?
Lukas