Temat: Odwołanie do wejść/wyjść modułu eth Wago 750-352

Witam


Na wstępie pozdrawiam szanownych użytkowników portalu codesys.

Mam problem z odwołaniem się do wejść wyjść wago coupler 750-352 z PLC 750-8202
po modbus, o ile samą komunikację zrealizowałem to nie znam zasady/algorytmu
sposobu dostępu do i/o modułów podłączonych do 750-352 (16DI, 16DO).

Czy istnieje możliwość odwołania się bezpośredniego w Codesys poprzez np %XQ1.1 ?
Uzasadniając 1 - jako węzeł ethernet ;1.x jako 1 modul podłączony do coupler.
Ewentualnie jak odwołać się do tablicy wskaźników np. wyjscia[1]; lub konwersji
tej tablicy na tyb BOOL.

Jeśli istnieje możliwość prosiłbym o jakiś przykład kodu z Codesys jak to zrealizować.

Dzięki za pomoc i pozdrawiam

2

Odp: Odwołanie do wejść/wyjść modułu eth Wago 750-352

Witam,

Do komunikacji nalezy skorzystać z biblioteki WagoLibModbus_IP_01.

Poniżej przedstawiam przykład jej wywołania.
W tym przypadku czytam i zapisuję po 10 rejestrów.


PROGRAM Modbus
VAR
    Modbus_Master: ETHERNET_MODBUSMASTER_UDP;

    Tablica_IN     : ARRAY [0..9] OF WORD;
    Tablica_OUT    : ARRAY [0..9] OF WORD;
    xCONNECT    : BOOL;
    xSEND        : BOOL;
END_VAR
Modbus_Master(
    xOPEN_SOCKET:=TRUE,
    strIP_ADDRESS:= '10.14.35.151',
    wPORT:= ,
    bUNIT_ID:= ,
    bFUNCTION_CODE:= 23,
    wREAD_ADDRESS:= 0,
    wREAD_QUANTITY:= 10,
    ptREAD_DATA:= ADR(Tablica_IN[0]),
    wWRITE_ADDRESS:= 0,
    wWRITE_QUANTITY:= 10,
    ptSEND_DATA:= ADR(Tablica_OUT[0]),
    tTIME_OUT:=t#1s ,
    xSEND:= xSEND,
    xIS_OPEN=> ,
    wERROR=> ,
    bRESPONSE_UNIT_ID=> );

IF NOT xSEND AND Modbus_Master.xIS_OPEN
THEN
    xSEND:=TRUE;
END_IF;


Tablica_IN[0];
Tablica_IN[1];

Tablica_IN[0].0;
Tablica_IN[0].1;
Tablica_IN[0].15;



Tablica_OUT[0];
Tablica_OUT[1];

Tablica_OUT[0].0;
Tablica_OUT[0].1;
Tablica_OUT[0].15;

Nie ma możliwości łatwego powiązania adresów %I, %Q bezpośrednio z modułami DI/DO interfaceu 750-352.

Post's attachments

modbus_352.pro 61.65 kb, 5 pobrań od 2014-04-01 

Nie masz uprawnień do pobrania załącznika z tego postu.

3

Odp: Odwołanie do wejść/wyjść modułu eth Wago 750-352

zgoda. należy tylko odpowiednio ustawić adresy. 0 w przypadku %I i 512 w przypadku %Q


PROGRAM Modbus
VAR
    Modbus_Master: ETHERNET_MODBUSMASTER_UDP;

    Tablica_IN     : ARRAY [0..9] OF WORD;
    Tablica_OUT    : ARRAY [0..9] OF WORD;
    xCONNECT    : BOOL;
    xSEND        : BOOL;
END_VAR

Modbus_Master(
    xOPEN_SOCKET:=TRUE,
    strIP_ADDRESS:= '10.14.35.151',     *(adres IP sterownika)*
   wPORT:= ,
    bUNIT_ID:= ,
    bFUNCTION_CODE:= 23,
    wREAD_ADDRESS:= 0,
    wREAD_QUANTITY:= 10,
    ptREAD_DATA:= ADR(Tablica_IN[0]),
    wWRITE_ADDRESS:= 512,
    wWRITE_QUANTITY:= 10,
    ptSEND_DATA:= ADR(Tablica_OUT[0]),
    tTIME_OUT:=t#1s ,
    xSEND:= xSEND,
    xIS_OPEN=> ,
    wERROR=> ,
    bRESPONSE_UNIT_ID=> );

IF NOT xSEND AND Modbus_Master.xIS_OPEN
THEN
    xSEND:=TRUE;
END_IF;

*( tablica zapisu)*

Tablica_IN[0];    *(adres tablicy całego Worda)*
Tablica_IN[1];

Tablica_IN[2].0;  *(adres bitu w Wordzie)*
Tablica_IN[2].1;
Tablica_IN[2].15;


*(tablica odczytu)*

Tablica_OUT[0];
Tablica_OUT[1];

Tablica_OUT[2].0;
Tablica_OUT[2].1