Вход

Просмотр полной версии : Вопрос по работе плк100+МВ110



dikkobraz
07.05.2015, 12:12
Здравствуйте. Помогите, пожалуйста, разобраться в вопросе.
Имеется система ПЛК100 + 8 модулей ввода МВ110-16Д + 4 модуля вывода МУ110-16К + 2 регистратора Элметро-ВиЭр. Связь между приборами осуществляется по RS-485, протокол ModBus-RTU, скорость – 115200, задержка ответа в модулях и регистраторах – 0мс.
Одна из задач системы состоит в следующем:
ПЛК опрашивает выходы регистратора и в случае какого-либо изменения на выходах ПЛК формирует команду на исполнительный элемент – реле (через модуль вывода), данное реле срабатывает и выдает информацию о своем срабатывании обратно в ПЛК (через модуль ввода).
При этом ПЛК фиксирует время изменения на выходах регистратора и время изменения на входах модуля ввода. Разница между изменениями составляет порядка 80мс (при времени срабатывания исполнительного реле – 7мс). То есть получается на опрос каждого модуля ввода и регистратора тратится порядка 8мс (8х(8+2)=80мс) или я ошибаюсь? Модули вывода опрашиваются по изменению. Баловался с циклом ПЛК и PollingTime, результат тот же.
Вопрос: Можно ли каким-либо образом приблизить разницу времен в 80мс к реальному времени срабатывания исполнительного реле 7мс или 80мс – это максимум, который можно выжать из системы?

Вольд
07.05.2015, 12:24
80мс – это максимум, который можно выжать из системы?
Скорее всего так и есть.

Алексей Александрович
07.05.2015, 12:48
Вы же знаете какое реле сработало и на какой модуль ввода поступил сигнал. Опрашивайте не все модули по кругу (по изменению) а конкретно этот модуль. Может что нибудь получится. Надо пробовать.

dikkobraz
07.05.2015, 13:11
Проблема в том, что остальные модули ввода в этот момент тоже принимают сигналы, пусть и не столь критичные по времени. Так что опрашивать исключительно один модуль не получится. Можно ли как-нибудь отделить один "важный" модуль от остальных и опрашивать его чаще остальных? Или для этого требуется отдельный Rs-485 как в плк110?

Алексей Александрович
07.05.2015, 13:23
ПЛК у вас мастер я так понял. Выдаете сигнал на включение реле. Отключаете опрос остальных модулей кроме того на который должен придти сигнал. Сигнал получили снова опрос по кругу. Как то так. Но логику надо конечно подрихтовать. У нас рабочий день заканчивается. Может кто еще что подскажет.

dikkobraz
07.05.2015, 13:34
Спасибо, попробую предложенный Вами вариант.

Александр Ч.
07.05.2015, 13:45
У всех дискретных модулей же есть регистр обмена-битовая маска значений входов(выходов).

dikkobraz
07.05.2015, 13:51
Ну так я маску и считываю.

amn
07.05.2015, 18:38
Посмотрите в этой (http://www.owen.ru/forum/showthread.php?t=19466&p=153117&viewfull=1#post153117) теме, может пригодится.

Алексей Александрович
08.05.2015, 12:16
Спасибо, попробую предложенный Вами вариант.
Рано благодарите. Смущает вот что. На входе в регистратор произошло изменение(время Т0)---время обработки в регистраторе---ПЛК получает данные и как раз это время плавает от Т0 потому что не понятно в каком месте в этот момент находится программа--- ну дальше то что можно сократить время включение реле, и т.д. И все это надо просчитать. А Вас 80 мс смущает.
:) Заметки вслух