This is topic Работа с битовыми переключателями регистра Modbus TCP из NetLink Light in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/001808.html

Posted by EgorovV (Участник № / Member № 8847) on :
 
Добрый день, благодарю за внимание.

Ситуация: есть шкаф, управляемый по Modbus TCP и автоматами. За группу автоматов отвечает один регистр, каждый бит - это состояние одного автомата. На ГЭ пришлось делать для этого регистра логику управления автоматами через XOR, потому что побитово NetLink управлять не умеет. Теперь пришла новая задача: создать таймер включения автоматов. В условные 8 утра три бита регистра должны перейти в состояние 1, в условные 22 часа ночи - в состояние 0.

Я создал источник данных времени, по нему успешно происходит реакция каналов. Вот только теперь у меня, кажется, какой-то конфликт управления регистром: когда этот основной регистр, в котором биты правления шкафами, привязан и к кнопкам (для управления вручную по логике XOR), и использован в качестве входного параметра программы, которая сверяет время с уставкой и переключает нужные биты, он не меняется ни там, ни там. Возможно, я что-то сделал не так, или сама логика моей программы неверная. Помогите, пожалуйста, разобраться.

Основной вопрос: как корректно изменять биты в регистре из NetLink light и из программы-таймера?
 
Posted by EgorovV (Участник № / Member № 8847) on :
 
Уточню ещё: этот основной регистр также используется и в выходном параметре программы, мне ведь нужно брать его исходное значение и изменять его на выходе.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Без самого проекта сложно понять в чем может быть погрешность проекта. Проверьте привязки, их направление. Везде ли пишутся в нужный атрибут канала (например чтобы записать значение в числовой канал, надо подавать значение на атрибут IN, а не R и т.п.). Проверьте есть ли конфликты, когда например пишется из двух мест в одно одновременно и другие возможные логические погрешности.
 
Posted by EgorovV (Участник № / Member № 8847) on :
 
Проект большой, используется около 20 тысяч каналов, я уже получал несколько отказов в помощи по нему в предыдущие годы. Отдельно я протестировал функциональность программы, и она работает корректно. Но когда я дублирую её и сопутствующие каналы в основной проект, что-то идёт не так. Не может быть конфликта из-за того, что один и тот же канал используется и в кнопках, и в программе?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Здравствуйте!
Специалисты технической поддержки всегда готовы помочь нашим Пользователям.
Конечно, анализировать все 20.000 каналов при наличии конкретной проблемы не стоит. Можно описать что, где и как.

Если в один канал происходит запись из двух источников, то определенно будет конфликт.

Универсального решения соревновательного конфликта (запись в один канал из двух или более источников) не существует. Особенности объекта автоматизации оказывают свое влияние.

Общий подход к решению - определение приоритетности управления (чья команда приоритетнее) или системой блокировок (Оператор А взял управление на себя и значит только он управляет сигналом до тех пока не снимет блокировку).
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2