ModBus RTU a PLC Allen Bradley Micrologic 1100

tomas.martinec@centrum.cz tomas.martinec@centrum.cz
Čtvrtek Březen 12 13:25:20 CET 2009


Dobry den,

zacinam s protokolem ModBus a programuji  implementaci Mastera na tomto protokolu abych mohl komunikovat s PLC Micrologix 1100 pomoci linky RS232. Bohuzel se mi nedari rozchodit to podle dokumentace, tak bych chtel pozadat o radu zkusenejsi.

Nejprve jsem provedl nastaveni PLC na ModBus slave presne podle postupu od Rocwellu, pro kazdou oblast jsem vytvoril DataTable o velikosti 100 (bitu nebo bytu podle typu oblasti). 

Pokud se ale pokousim komunikovat s PLC, dostanu temer vzdy chybovou odpoved. Jde mi hlavne o cteni oblasti Holding registers (prikaz 3). Kdyz postupne ctu registry v celem rozsahu (0..65536, vzdy jen jeden registr), tak do adresy 256 dostanu odpoved Illegal Data Adress. Pri cteni nad touto adresou se mi vraci chyba Illegal Data Value. Pouze pri cteni v oblasti od adresy 1500 do adresy 1565 prijde nechybova odpoved s hodnotou. Hodnoty jsou vetsinou nulove, nektere promenne v teto oblasti se pomerne rychle meni takze predpokladam, ze jde o nejakou systemovou oblast. Zkousel jsem stejny postup i pro cteni Input registers (prikaz 4) a chovani je naprosto stejne. Stejne tak pokud se zkusim pripojit pomoci nektereho volne dostupneho programu (napr. Modbus Tester), tak se PLC chova naprosto stejne.

Konkretne napr. na dotaz:  
01][03][00][01][00][01][D5][CA]

prijde odpoved:

[01][83][02][C0][F1]

Bohuzel se mi nikde nepodarilo nalezt popis te oblasti od 1500 (ani v oficialnim manualu http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1763-rm001_-en-p.pdf). Tento manual dokonce uvadi i jine chybove kody, nez ostatni popisy ModBusu. Kod 2 je tam popsany jako Function Code not supported a kod 3 jako Bad Command Length (str. 537).

Proto bych se chtel zeptat, zda s timto problemem nema nekdo z konference zkusenosti. Neni jeste v PLC potreba neco nastavit? Lze protokol ModBus provozovat na tom PLC takto na RS232 nebo je nutne pripojit PLC pres RS485?

Predem diky za jakoukoli odpoved. S pozdravem


                                                                          Tomas Martinec





Další informace o konferenci Hw-list