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