Ivan Vlasenko
Junior Member / Новичок
Участник № / Member № 1969
отправлено / posted
Я подключаюсь к контроллеру Quantum Modicon по протоколу ModBus TCP/IP и у меня возникли некоторые проблеммы: 1.1. Создаю три переменные типа Hex16 Open - связь с ModBus W_SingleCoil(5)#1 (адресс 0х1) Close - связь с ModBus W_SingleCoil(5)#2 (адресс 0х2) State - связь с ModBus Rout_Byte(1)#3 (с адресса 0х1) 1.2. На форме создаю две кнопки "Открыть" и "Закрыть"(взаимоинвертирующие) в свойствах MousePressed делаю два параметра "Передать значение" В кнопке "Открыть" в первом параметре: Тип передачи : ИЛИ Значение : 1 Результат : Open Источник : State_b1 во втором параметре: Тип передачи : И Значение : 0 Результат : Close Источник : State_b2
В кнопке "Закрыть" в первом параметре: Тип передачи : ИЛИ Значение : 1 Результат : Close Источник : State_b2 во втором параметре: Тип передачи : И Значение : 0 Результат : Open Источник : State_b1
И при запуске RTM наблюдаеться следующая картина : Если у меня по адресу 0х1 - False 0х2 - True и я нажимаю кнопку "Открыть" (тоесть посылаю в 0х1 - true, а в 0х2 - false) то в адрессах имею: 0х1 - True 0х2 - True после нажимаю кнопку "Закрыть" всё проходит как надо и дальше отрабатываеться всё на ура. Хромает только первое нажатие на кнопку. В отладчике смотрел первая запись проходит только по адресу 0х1, а надо бы и по 0х2.
2. Вторая проблемма связана с Modbus TCP/IP такого рода. Функциями Rout_Byte(1) и Rout_Float(3) я считываю некие значения. После выдёргивания сетевого кабеля переменные принимают последние значения(подскажите как обрыв показать), но когда я подключаю снова кабель, то значения принимают уже некоректные данные.Тоесть значения которые вообще неменяються в контроллере начинают скакать по такту системы.
Сообщения / Posts 13 | Из / From: Ukraine
| IP / IP: IP адрес / IP address |
отправлено / posted
В какой версии ТМ работаете? Присылайте проект на адрес техподдержки hotline@adastra.ru
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |