Тема / Topic: Значение выходного параметра не поступает в COM порт
Booster0
Junior Member / Новичок
Участник № / Member № 8431
отправлено / posted
Добрый день. Пишу программу управления установкой, в которой есть управление клапаном. Нужно передавать на модуль управления величину открытия клапана. Протокол MODBUS, обмен идет по COM порту. Делаю это следующим образом: 1. Есть окно с кнопками. 2. По нажатии на кнопку выполняется программа, выходным аргументом (OUT) которой есть величина открытия клапана 3. Этот аргумент привязан к каналу типа Float, который связан с источником типа W_FLOAT(16).
Впроцессе проверки определено, что программа выполняется, значение выходному параметру присваивается, но в COM порт ничего не уходит.
Подскажите, в каком направлении копать. ЗЫ. Если нужна дополнительная информация - предоставлю.
[ 03.07.2020, 10:50: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
Сообщения / Posts 28 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Канал имеет какой направление, OUT? В какой атрибут программа записывает число, во входное значение? Если число записано в канал, попробуйте принудительно отработать его через атрибут EXEC. Следите за атрибутом Достоверность канала.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Booster0
Junior Member / Новичок
Участник № / Member № 8431
отправлено / posted
Для простоты локализации проблемы сделайте тестовый проект. В нем оставьте только два источника ModBus RTU - один для чтения регистра, второй для записи этого же регистра.
Booster0
Junior Member / Новичок
Участник № / Member № 8431
отправлено / posted
"попробуйте принудительно отработать его через атрибут EXEC". Извините, а как это сделать?
Сообщения / Posts 28 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Для принудительной отработки канала OUT необходимо в Панели МРВ найти этот канал, найти его атрибут 39, EXEC и ввести 1. При этом значение данного атрибута изменится с - на E. После отработки канала атрибут вернется к -.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Booster0
Junior Member / Новичок
Участник № / Member № 8431
отправлено / posted
Выставил аттрибут канала EXEC в 1, через какое-то время он с Е вернулся к -, но команда в СОМ порт так и не ушла. Что мне дальше делать?
Сообщения / Posts 28 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Установите в файл *.cnf ключ: DEBUGON=200 как создать этот файл описано в http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/55/t/000001.html Запустите проект, попытайтесь записать команду в порт. В профайлерный текстовый протокол в этой же папке узла проекта появится диагностическая информация в т.ч. по работе с портом. Если самостоятельно расшифровать не получится, пришлите проект и папку узла проекта целиком после тестирования на адрес технической поддержки.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
UPD: Для тестирования рекомендуем сделать простой тестовый проект только с этим каналом/источником. Исключить программы, экраны или другие компоненты, которые могут управлять каналом. Писать в канал вручную через дерево каналов - Панель МРВ.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Booster0
Junior Member / Новичок
Участник № / Member № 8431
отправлено / posted
Добрый день. Простой тестовый проект (канал - источник) работает, команда в сом порт уходит. Рабочий проект (экран Панель_управления_15 - любая кнопка - программа Панель_управления_HCV_15 - канал R_R_15 - источник HCV_15_W_Float(16)) не работает. Проекты высылаю на адрес техподдержки
[ 06.07.2020, 13:52: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
Сообщения / Posts 28 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
В логах тестового проекта есть ошибка (17:33:3) ERR_RS:COM1 err=9 ch=Du15_W_Float(16)#1[2]
См. раздел "Коды диагностируемых ошибок": " 9, ERR_RT_TIMEOUT – превышен таймаут; " Устройство не отвечает на запрос. Чаще всего такая ситуация возникает по следующим причинам: - неправильно задан номер устройства в запросе, - устройство с заданным номером выключено или не подключено к сети, - в сети COM-порта высокий уровень помех, запрос доходит до устройства в искаженном виде и не принимается устройством.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |