Тема / Topic: Передача значения в канал с помощью программы.
valover
Junior Member / Новичок
Участник № / Member № 3849
отправлено / posted
Добрый день! Необходимо послать с помощью кнопки 1 в бит канала типа HEX16. По прошествии 5 секунд, этот бит должен обнулится. Делаю с помощью ST программы функцией SetAttributeI(). Пятисекундную задержку реализую с помощью цикла while.Одновременно опрашиваются и управляются через ком порт несколько устройств типа ADAM 4017/4050. Проблема обнаруживается при устойчивой аппаратной недостоверности одного или нескольких каналов. В момент посылки команды управления нормально работающим каналом, во время работы цикла, тормозится работа ком порта и происходят потери команд управления. Так же, во время работы программы не обновляется экран. Решаю эту же задачу используя FBD. Битом канала в этом случае управляет функциональный блок TP. Отработка канала происходит только в момент вызова программы по начальному состоянию бита канала который связан через аргумент программы с выходом функционального блока TP. По истечении заданного времени импульса, сброс в 0 бита канала не происходит, канал не отрабатывается. Прошу помощи в решении проблемы.
Сообщения / Posts 7 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467
отправлено / posted
Подскажите пожалуйста, а как можно реализовать с помощью программы следующее: послать 1 в атрибут канала, на следующем цикле послать 0, и так раз в минуту?
Сообщения / Posts 125 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Romсheg
unregistered
отправлено / posted
В программе контролируете текущее астрономическое время - на равенство секунд нулю, и по этому равенству включаете на пару циклов (через инверсный выход блока TOFF) блок битового меандра через его вход RUN. Выход меандра в канал.
IP / IP: IP адрес / IP address |
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467