This is topic Значение выходного параметра не поступает в COM порт 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/001698.html

Posted by Booster0 (Участник № / Member № 8431) on :
 
Добрый день. Пишу программу управления установкой, в которой есть управление клапаном.
Нужно передавать на модуль управления величину открытия клапана. Протокол MODBUS, обмен идет по COM порту.
Делаю это следующим образом:
1. Есть окно с кнопками.
2. По нажатии на кнопку выполняется программа, выходным аргументом (OUT) которой есть величина открытия клапана
3. Этот аргумент привязан к каналу типа Float, который связан с источником типа W_FLOAT(16).

Впроцессе проверки определено, что программа выполняется, значение выходному параметру присваивается, но в COM порт ничего не уходит.

Подскажите, в каком направлении копать.
ЗЫ. Если нужна дополнительная информация - предоставлю.

[ 03.07.2020, 10:50: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Канал имеет какой направление, OUT? В какой атрибут программа записывает число, во входное значение? Если число записано в канал, попробуйте принудительно отработать его через атрибут EXEC. Следите за атрибутом Достоверность канала.
 
Posted by Booster0 (Участник № / Member № 8431) on :
 
Направление канала OUT , программа пишет в "входное значение"
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Для простоты локализации проблемы сделайте тестовый проект. В нем оставьте только два источника ModBus RTU - один для чтения регистра, второй для записи этого же регистра.

Видео-урок по ModBus RTU
https://www.youtube.com/watch?v=NsRxC269xPY
 
Posted by Booster0 (Участник № / Member № 8431) on :
 
"попробуйте принудительно отработать его через атрибут EXEC".
Извините, а как это сделать?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Для принудительной отработки канала OUT необходимо в Панели МРВ найти этот канал, найти его атрибут 39, EXEC и ввести 1. При этом значение данного атрибута изменится с - на E. После отработки канала атрибут вернется к -.
 
Posted by Booster0 (Участник № / Member № 8431) on :
 
Выставил аттрибут канала EXEC в 1, через какое-то время он с Е вернулся к -, но команда в СОМ порт так и не ушла. Что мне дальше делать?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Установите в файл *.cnf ключ:
DEBUGON=200
как создать этот файл описано в http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/55/t/000001.html
Запустите проект, попытайтесь записать команду в порт. В профайлерный текстовый протокол в этой же папке узла проекта появится диагностическая информация в т.ч. по работе с портом. Если самостоятельно расшифровать не получится, пришлите проект и папку узла проекта целиком после тестирования на адрес технической поддержки.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
UPD:
Для тестирования рекомендуем сделать простой тестовый проект только с этим каналом/источником. Исключить программы, экраны или другие компоненты, которые могут управлять каналом. Писать в канал вручную через дерево каналов - Панель МРВ.
 
Posted by Booster0 (Участник № / Member № 8431) on :
 
Добрый день.
Простой тестовый проект (канал - источник) работает, команда в сом порт уходит.
Рабочий проект (экран Панель_управления_15 - любая кнопка - программа Панель_управления_HCV_15 - канал R_R_15 - источник HCV_15_W_Float(16)) не работает.
Проекты высылаю на адрес техподдержки

[ 06.07.2020, 13:52: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
В логах тестового проекта есть ошибка
(17:33:3) ERR_RS:COM1 err=9 ch=Du15_W_Float(16)#1[2]

См. раздел "Коды диагностируемых ошибок":
" 9, ERR_RT_TIMEOUT – превышен таймаут; "
Устройство не отвечает на запрос.
Чаще всего такая ситуация возникает по следующим причинам:
- неправильно задан номер устройства в запросе,
- устройство с заданным номером выключено или не подключено к сети,
- в сети COM-порта высокий уровень помех, запрос доходит до устройства в искаженном виде и не принимается устройством.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
В логах Рабочего проекта ошибок нет.
Есть запись
(12:16:51) INF_RS:COM1 TRANSACTION=1743 ERROR=0 BYTES=35387

По логам двух проектов все строго наоборот - тестовый не работает, а рабочий работает.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2