P57 3634M Modbus TCP

Прочие PLC и HMI на русском
Post Reply
floke1
Posts: 5
Joined: Fri Aug 16, 2013 3:21 pm

P57 3634M Modbus TCP

Post by floke1 » Fri Aug 16, 2013 4:20 pm

Задача простая: прочитать регистры хранения. Модбас адрес сервера - 3.
Вроде бы всё правильно сделано... а в Managment table в [1] слове постоянно висит код 4 - неправильный адрес.
Крутил по-разному адрес - реакции никакой. Топики и на этом сайте и на других прочитал, но ошибку не вижу.
Проверяю на симуляторе под виртуалкой, из хостовой системы читать симулятор получается(использую ПО modbas poll), а наоборот(на хостовой машине ПО modRSsim - с другими ПЛК эта работает) не получается.
Может кто опытным взглядом посмотрит, увидит ошибку?

Ссылка на тестовый проект : http://files.mail.ru/99C986F724BC4461A7486E4A11DD3E21

Code: Select all

ADDR_NODE:='{1.158}0.0.3';

IF PFourthSecond = 0 and not PARA1[0].0  THEN (*PARA1[0].0 - activity bits*)

READ_VAR(adr := ADDR(ADDR_NODE),
   obj := '%MW',(*%MW for read holding registers, %IW for read input registers*)
    NUM := 16#0005,(*first object*)
   NB:= 2,(*count*)
   GEST := PARA1,(*Management Parameters, is always an array of 4 int, ARRAY[0..3] OF INT*)
   RECP => DATA_RD (*is array of "count" int, ARRAY[0..1] OF INT*)
   );
   
end_if;


pupena_san
Posts: 392
Joined: Fri Dec 18, 2009 3:02 pm
Location: Киев
Contact:

Re: P57 3634M Modbus TCP

Post by pupena_san » Fri Aug 16, 2013 8:09 pm

Посмотрите это

floke1
Posts: 5
Joined: Fri Aug 16, 2013 3:21 pm

Re: P57 3634M Modbus TCP

Post by floke1 » Fri Aug 16, 2013 8:54 pm

pupena_san wrote:Посмотрите это
Ознакомился до создания топика. Всё сделано аналогично: X-WAY - ip адрес добавлен, ругань идет, как я понимаю, на строчку ADDR_NODE:='{1.158}0.0.3' :
PARA1[1] равен 16#04, что соответствует некорректному адресу получателя. В чем прикол - не могу понять.

pupena_san
Posts: 392
Joined: Fri Dec 18, 2009 3:02 pm
Location: Киев
Contact:

Re: P57 3634M Modbus TCP

Post by pupena_san » Sat Aug 17, 2013 5:28 am

1) Вам нужно тоже через шлюз работать, или просто к Серверу на TCP обращаться? Во втором случае надо просто задать

Code: Select all

{1.158}SYS
2) Может Вы не правильно массив определили для адресса, вызовите ADDR прямо в вызове функции READ_VAR:

Code: Select all

 READ_VAR(ADDR('{1.158}0.0.3'...

floke1
Posts: 5
Joined: Fri Aug 16, 2013 3:21 pm

Re: P57 3634M Modbus TCP

Post by floke1 » Sat Aug 17, 2013 1:12 pm

Спасибо большое. Не очень понимал, в каких случаях нужно ставить SYS, а когда писать полную строку адреса.
Сейчас код выглядит так:

Code: Select all

IF PFourthSecond = 0 and not PARA1[0].0  THEN (*PARA1[0].0 - activity bits*)

READ_VAR(adr := ADDR('{1.158}SYS'),
   obj := '%MW',(*%MW for read holding registers, %IW for read input registers*)
    NUM := 16#0005,(*first object*)
   NB:= 2,(*count*)
   GEST := PARA1,(*Management Parameters, is always an array of 4 int, ARRAY[0..3] OF INT*)
   RECP => DATA_RD (*is array of "count" int, ARRAY[0..1] OF INT*)
   );
   
end_if;
Ничего не поменялось, опять 16#04 в элементе PARA1[1] : Communication Report - Incorrect destination address

pupena_san
Posts: 392
Joined: Fri Dec 18, 2009 3:02 pm
Location: Киев
Contact:

Re: P57 3634M Modbus TCP

Post by pupena_san » Sat Aug 17, 2013 11:07 pm

Скиньте проект в формате STA, у меня Unity 6 не ест ваш STU. Если проект в новой версии Юнити, проследите также, чтоб проц был не самой последней версии.

floke1
Posts: 5
Joined: Fri Aug 16, 2013 3:21 pm

Re: P57 3634M Modbus TCP

Post by floke1 » Sun Aug 18, 2013 8:48 am

pupena_san wrote:Скиньте проект в формате STA, у меня Unity 6 не ест ваш STU. Если проект в новой версии Юнити, проследите также, чтоб проц был не самой последней версии.
Заменил проц на P57 1634M v2.00
По ссылке - sta архив
Если не получится, прокину удаленный рабочий стол к виртуалке.
http://files.mail.ru/C279D6FCCF7D49ADA86FA3BCFB00A40B

pupena_san
Posts: 392
Joined: Fri Dec 18, 2009 3:02 pm
Location: Киев
Contact:

Re: P57 3634M Modbus TCP

Post by pupena_san » Sun Aug 18, 2013 1:14 pm

Все вроде правильно. Попробуйте в конйигурации соединения поставить Network устройства отличный от X-WaY ПЛК. Сейчас у меня нет возможности проверить, нет Премиума, и раньше сентября не появится.

floke1
Posts: 5
Joined: Fri Aug 16, 2013 3:21 pm

Re: P57 3634M Modbus TCP

Post by floke1 » Sun Aug 18, 2013 3:30 pm

pupena_san wrote:Все вроде правильно. Попробуйте в конйигурации соединения поставить Network устройства отличный от X-WaY ПЛК. Сейчас у меня нет возможности проверить, нет Премиума, и раньше сентября не появится.
Не помогло.
А у вас есть заведомо рабочий проектик с modbus TCP клиентом на шнайдере P57 серии?

Post Reply