PDA

Просмотр полной версии : ПЛК 110.32 и пять устройств Невод +М



Максим79
22.10.2013, 09:46
Добрый день. Помогите решить проблему. У нас есть ПЛК 110.32. К нему пытаемся подключить 5 Неводов +М по протоколу Dcon. Проблема в следующем. Подключено пока одно устройство, четыре нет. Опрашиваем дискретные входа. В какой-то момент состояние входов первого устройства появляется на других устройствах в конфигурации ПЛК, которые фактически не подключены. Снифером смотрим RS485 - контролер посылает первый запрос - получает ответ, посылает следующие запросы - ответов нет. Вроде бы все правильно. Но в какой-то момент в конфигурации ПЛК на входах не подключенных устройств появляется состояние входов первого устройства. Причем нет никакой закономерности. Может 10 мин работать нормально, потом записать ответ в другие каналы. Пробовали менять Framing time и Max response timeout при значениях 0 и 10 соответственно ПЛК не видит ни одно устройство, т.е. Last error=81. При соотношении 10 - 50 очень быстро происходит запись состояния входов первого устр в неподключ, причем во все. Помогите разобраться где какие "гайки" надо подкрутить.
На мой взгляд проблема решилась бы, если в формате ответа присутствовал адрес устройства, тогда ПЛК было бы понятно какое устройство ему отвечает. В примерах подключения дается подключение одного устройства, с этим проблем нет, а вот когда их несколько, и еще в добавок пропадает, например связь, с каким либо устройством, и вот тогда и начинается данная проблема.

Максим79
22.10.2013, 10:54
Просмотрев еще раз результаты снифера, получается что ПЛК опрашивает устройства не по порядку. Устройства прописаны в след порядке: 16 (адрес Owen МУ 110-8Р), 01 (первый Невод+М), 20 (второй), 30,40,50 (просто пробовали менять адреса, поэтому такой разбег). А по сниферу видно что спрашивает не по порядку. С чем это может быть связано. и может это как-то и влияет на то что ответы одного устройства записываются в другой. Помогите!!!!!!
$016
!00FE0F
#010000
>
@100001
>3E
$506
#500000
$406
$206
#400000
#200000
$306
$016
!00FE0F
#300000
@100001
>3E
$506
#500000
$406
$206
#400000
#200000
$016
!00FE0F
$306
@100001
>3E
#300000
$506
#500000
$406
$206
#400000
#200000

Максим79
22.10.2013, 18:42
Так что уважаемые, кто нибудь скажет как побороть этот глюк, или все работают только с Modbus-ом?
Уважаемые модераторы, может вы что-то подскажите, или это не лечится?

Sergey666
22.10.2013, 23:53
Напишите программу коннектор , библиотеки Сислибком .
Филоненко терпеть не может DCON...:confused:
Только там (на 110м) вроде тоже косяк какой-то с одним из 485х , смотреть по форуму надо...
+ связь через модемы привносит дополнительную задержку ответа , вот и получается , что устройство ответило с адр 1 , а запрос пошел на 2,3,4 и т.д .
Поставьте период опроса (Поллинг тайм ) больше и попробуйте.
Вообще по физ.линии с ДКОНом особых проблемм не было уже давно.

Максим79
23.10.2013, 22:24
Неводд+М подключен на столе, не через радиомодем.
Пока выяснили следующее: не работает параметр Max response timeout.
ПЛК не ждет установленное время и посылает следующую команду.
0:12:00.709> $016
0:12:00.959> iќ˜іЇ25$206
0:12:00.959> $306
0:12:01.021> #010000
0:12:01.021> ~Ы‚‚‚‚j#500000
0:12:01.284> #300000
в результате чего получается вот такая фигня.
полинг тайм работает, но это никак не помогает.
как вылечить эту проблему - понятия не имеем.:mad:

Пантелеев Дмитрий
23.10.2013, 22:36
Завтра проверим проблему и будем решать :)

Максим79
23.10.2013, 22:38
Завтра проверим проблему и будем решать :)
Ждем с нетерпением.

Пантелеев Дмитрий
24.10.2013, 10:59
Проверил, таймаут работает как надо.

0.20310542 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #180BC.
0.20309381 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #181BD.
5.21879734 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #100B4.
0.20309757 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #102B6.
0.20309638 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #180BC.
0.20309578 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #181BD. (все что выше - таймаут 200 мс)
8.46880852 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #100B4.
0.60935057 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #102B6. (Что ниже - таймаут 600 мс.)
0.59370745 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #180BC.
0.60933903 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #181BD.
5.62505776 hypertrm.exe IRP_MJ_READ Silabser0 TIMEOUT Length 7: #100B4.

Проверял на контроллере ПЛК110-32 с прошивкой 2.15.3

Максим79
24.10.2013, 15:18
Спасибо Дмитрию, разобрались.
Проблема была в том что мы создали шесть DCON мастеров , по одному на каждое устройство.
А надо было на один DCON мастер вешать все эти устройства.
Поэтому они и мешали друг другу.
После того как сделали правильно, все заработало, тайм аут действительно работает.