ModBus RTU a PLC Allen Bradley Micrologic 1100

Petr Stehlik petr.stehlik@atlas.cz
Čtvrtek Březen 12 15:15:56 CET 2009


Neznam uvedene PLC, ale vypadato jakoby ty tabulky nebyly namapované do 
adresního prostoru modbusu.
Petr

----- Original Message ----- 
From: <tomas.martinec@centrum.cz>
To: "hw-list" <hw-list@list.hw.cz>
Sent: Thursday, March 12, 2009 1:25 PM
Subject: ModBus RTU a PLC Allen Bradley Micrologic 1100


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


_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list