DO Modul - Ausgänge schalten nicht
Posted: 19 Apr 2022, 09:46
Hallo liebes Forum,
wir haben einen RevPi Core 3 mit einem DO Modul an der rechten Seite verbunden. Wir möchten mit den Ausgängen 24V Ventile über NodeRed schalten.
Wenn wir die Pins auf 1 setzen (über die Shell und über NodeRed) erhalten wir kein Signal auf den Pins. Dies haben wir mit einem Voltmeter nachgemessen.
Eigentlich müsste dort ja was ankommen.
X2 und X4 sind richtig verbunden.
Dir Firmware ist die aktuelle: RevPI DO V1.5
Wir haben das aktuelle Buster Image installiert.
Wir haben schon sehr viel recherchiert...
Die Konfiguration in PiCtory sieht wie folgt aus. PiTest -d gibt folgende Ausgabe: Wenn wir Pins in NodeRed auf 1 setzen, erhalten wir auch ein 1 in NodeRed und auch in der Shell ab Pin O_5. Im DO Modul kommt trotzdem nichts an.
Die LED am RevPi Core lässt sich ohne Problem über NodeRed schalten.
Wenn wir O_1 mit PiTest -w auf 1 setzen erhalten wir folgendes Ergebnis: Wir denken es liegt an den Offset Adressen. Diese überschneiden sich nämlich, wie bei piTest -d zu erkennen.
Die Offset Listen Ausgaben aus Pictory geben unterschiedliche Offset Adressen aus:
ST GLOBALS for logiCAD3:
/SYS_PROJECT_TS:20220419093601
GLOBALS hardwareConfig
VAR_GLOBAL
RevPiStatus AT %IB1.0: BYTE := 0; //
RevPiIOCycle AT %IB1.1: BYTE := 0; //
RevPiLED AT %QB1.6: BYTE := 0; //
O_1 AT %QX1.81.0: BOOL := 0; //
O_2 AT %QX1.81.1: BOOL := 0; //
O_3 AT %QX1.81.2: BOOL := 0; //
O_4 AT %QX1.81.3: BOOL := 0; //
O_5 AT %QX1.81.4: BOOL := 0; //
O_6 AT %QX1.81.5: BOOL := 0; //
O_7 AT %QX1.81.6: BOOL := 0; //
O_8 AT %QX1.81.7: BOOL := 0; //
O_9 AT %QX1.81.8: BOOL := 0; //
O_10 AT %QX1.81.9: BOOL := 0; //
O_11 AT %QX1.81.10: BOOL := 0; //
O_12 AT %QX1.81.11: BOOL := 0; //
O_13 AT %QX1.81.12: BOOL := 0; //
O_14 AT %QX1.81.13: BOOL := 0; //
O_15 AT %QX1.81.14: BOOL := 0; //
O_16 AT %QX1.81.15: BOOL := 0; //
END_VAR
END_GLOBALS
Offset List:
RevPiStatus 0 //BYTE
RevPiIOCycle 1 //BYTE
RevPiLED 6 //BYTE
O_1 81.0 //BOOL
O_2 81.1 //BOOL
O_3 81.2 //BOOL
O_4 81.3 //BOOL
O_5 81.4 //BOOL
O_6 81.5 //BOOL
O_7 81.6 //BOOL
O_8 81.7 //BOOL
O_9 81.8 //BOOL
O_10 81.9 //BOOL
O_11 81.10 //BOOL
O_12 81.11 //BOOL
O_13 81.12 //BOOL
O_14 81.13 //BOOL
O_15 81.14 //BOOL
O_16 81.15 //BOOL
Symbol list for IBHSoftec
E0 RevPiStatus
E1 RevPiIOCycle
A6 RevPiLED
A81.0 O_1
A81.1 O_2
A81.2 O_3
A81.3 O_4
A81.4 O_5
A81.5 O_6
A81.6 O_7
A81.7 O_8
A82.0 O_9
A82.1 O_10
A82.2 O_11
A82.3 O_12
A82.4 O_13
A82.5 O_14
A82.6 O_15
A82.7 O_16
Offset list for Codesys
//SYS_PROJECT_TS:20220419093841
VAR_GLOBAL
aby_CPI: ARRAY[0..4095] OF BYTE;
g_uiIn0Offset: UINT := 0;
g_uiOut0Offset: UINT := 6;
g_aui_RevPiStatusOffs: ARRAY[1..2] OF UINT := [0,0]; //
g_aui_RevPiIOCycleOffs: ARRAY[1..2] OF UINT := [1,0]; //
g_auiRevPiLEDOffs: ARRAY[1..2] OF UINT := [6,0]; //
g_uiIn32Offset: UINT := 11;
g_uiOut32Offset: UINT := 81;
g_auiO_1Offs: ARRAY[1..2] OF UINT := [81,0]; //
g_auiO_2Offs: ARRAY[1..2] OF UINT := [81,1]; //
g_auiO_3Offs: ARRAY[1..2] OF UINT := [81,2]; //
g_auiO_4Offs: ARRAY[1..2] OF UINT := [81,3]; //
g_auiO_5Offs: ARRAY[1..2] OF UINT := [81,4]; //
g_auiO_6Offs: ARRAY[1..2] OF UINT := [81,5]; //
g_auiO_7Offs: ARRAY[1..2] OF UINT := [81,6]; //
g_auiO_8Offs: ARRAY[1..2] OF UINT := [81,7]; //
g_auiO_9Offs: ARRAY[1..2] OF UINT := [81,8]; //
g_auiO_10Offs: ARRAY[1..2] OF UINT := [81,9]; //
g_auiO_11Offs: ARRAY[1..2] OF UINT := [81,10]; //
g_auiO_12Offs: ARRAY[1..2] OF UINT := [81,11]; //
g_auiO_13Offs: ARRAY[1..2] OF UINT := [81,12]; //
g_auiO_14Offs: ARRAY[1..2] OF UINT := [81,13]; //
g_auiO_15Offs: ARRAY[1..2] OF UINT := [81,14]; //
g_auiO_16Offs: ARRAY[1..2] OF UINT := [81,15]; //
END_VAR
Wie können wir die PINs am DO Modul schalten, sodass Spannung anliegt?
Danke im Voraus für Euren Support
Grüße
Sascha
wir haben einen RevPi Core 3 mit einem DO Modul an der rechten Seite verbunden. Wir möchten mit den Ausgängen 24V Ventile über NodeRed schalten.
Wenn wir die Pins auf 1 setzen (über die Shell und über NodeRed) erhalten wir kein Signal auf den Pins. Dies haben wir mit einem Voltmeter nachgemessen.
Eigentlich müsste dort ja was ankommen.
X2 und X4 sind richtig verbunden.
Dir Firmware ist die aktuelle: RevPI DO V1.5
Wir haben das aktuelle Buster Image installiert.
Wir haben schon sehr viel recherchiert...
Die Konfiguration in PiCtory sieht wie folgt aus. PiTest -d gibt folgende Ausgabe: Wenn wir Pins in NodeRed auf 1 setzen, erhalten wir auch ein 1 in NodeRed und auch in der Shell ab Pin O_5. Im DO Modul kommt trotzdem nichts an.
Die LED am RevPi Core lässt sich ohne Problem über NodeRed schalten.
Wenn wir O_1 mit PiTest -w auf 1 setzen erhalten wir folgendes Ergebnis: Wir denken es liegt an den Offset Adressen. Diese überschneiden sich nämlich, wie bei piTest -d zu erkennen.
Die Offset Listen Ausgaben aus Pictory geben unterschiedliche Offset Adressen aus:
ST GLOBALS for logiCAD3:
/SYS_PROJECT_TS:20220419093601
GLOBALS hardwareConfig
VAR_GLOBAL
RevPiStatus AT %IB1.0: BYTE := 0; //
RevPiIOCycle AT %IB1.1: BYTE := 0; //
RevPiLED AT %QB1.6: BYTE := 0; //
O_1 AT %QX1.81.0: BOOL := 0; //
O_2 AT %QX1.81.1: BOOL := 0; //
O_3 AT %QX1.81.2: BOOL := 0; //
O_4 AT %QX1.81.3: BOOL := 0; //
O_5 AT %QX1.81.4: BOOL := 0; //
O_6 AT %QX1.81.5: BOOL := 0; //
O_7 AT %QX1.81.6: BOOL := 0; //
O_8 AT %QX1.81.7: BOOL := 0; //
O_9 AT %QX1.81.8: BOOL := 0; //
O_10 AT %QX1.81.9: BOOL := 0; //
O_11 AT %QX1.81.10: BOOL := 0; //
O_12 AT %QX1.81.11: BOOL := 0; //
O_13 AT %QX1.81.12: BOOL := 0; //
O_14 AT %QX1.81.13: BOOL := 0; //
O_15 AT %QX1.81.14: BOOL := 0; //
O_16 AT %QX1.81.15: BOOL := 0; //
END_VAR
END_GLOBALS
Offset List:
RevPiStatus 0 //BYTE
RevPiIOCycle 1 //BYTE
RevPiLED 6 //BYTE
O_1 81.0 //BOOL
O_2 81.1 //BOOL
O_3 81.2 //BOOL
O_4 81.3 //BOOL
O_5 81.4 //BOOL
O_6 81.5 //BOOL
O_7 81.6 //BOOL
O_8 81.7 //BOOL
O_9 81.8 //BOOL
O_10 81.9 //BOOL
O_11 81.10 //BOOL
O_12 81.11 //BOOL
O_13 81.12 //BOOL
O_14 81.13 //BOOL
O_15 81.14 //BOOL
O_16 81.15 //BOOL
Symbol list for IBHSoftec
E0 RevPiStatus
E1 RevPiIOCycle
A6 RevPiLED
A81.0 O_1
A81.1 O_2
A81.2 O_3
A81.3 O_4
A81.4 O_5
A81.5 O_6
A81.6 O_7
A81.7 O_8
A82.0 O_9
A82.1 O_10
A82.2 O_11
A82.3 O_12
A82.4 O_13
A82.5 O_14
A82.6 O_15
A82.7 O_16
Offset list for Codesys
//SYS_PROJECT_TS:20220419093841
VAR_GLOBAL
aby_CPI: ARRAY[0..4095] OF BYTE;
g_uiIn0Offset: UINT := 0;
g_uiOut0Offset: UINT := 6;
g_aui_RevPiStatusOffs: ARRAY[1..2] OF UINT := [0,0]; //
g_aui_RevPiIOCycleOffs: ARRAY[1..2] OF UINT := [1,0]; //
g_auiRevPiLEDOffs: ARRAY[1..2] OF UINT := [6,0]; //
g_uiIn32Offset: UINT := 11;
g_uiOut32Offset: UINT := 81;
g_auiO_1Offs: ARRAY[1..2] OF UINT := [81,0]; //
g_auiO_2Offs: ARRAY[1..2] OF UINT := [81,1]; //
g_auiO_3Offs: ARRAY[1..2] OF UINT := [81,2]; //
g_auiO_4Offs: ARRAY[1..2] OF UINT := [81,3]; //
g_auiO_5Offs: ARRAY[1..2] OF UINT := [81,4]; //
g_auiO_6Offs: ARRAY[1..2] OF UINT := [81,5]; //
g_auiO_7Offs: ARRAY[1..2] OF UINT := [81,6]; //
g_auiO_8Offs: ARRAY[1..2] OF UINT := [81,7]; //
g_auiO_9Offs: ARRAY[1..2] OF UINT := [81,8]; //
g_auiO_10Offs: ARRAY[1..2] OF UINT := [81,9]; //
g_auiO_11Offs: ARRAY[1..2] OF UINT := [81,10]; //
g_auiO_12Offs: ARRAY[1..2] OF UINT := [81,11]; //
g_auiO_13Offs: ARRAY[1..2] OF UINT := [81,12]; //
g_auiO_14Offs: ARRAY[1..2] OF UINT := [81,13]; //
g_auiO_15Offs: ARRAY[1..2] OF UINT := [81,14]; //
g_auiO_16Offs: ARRAY[1..2] OF UINT := [81,15]; //
END_VAR
Wie können wir die PINs am DO Modul schalten, sodass Spannung anliegt?
Danke im Voraus für Euren Support
Grüße
Sascha