This is topic Modbus ASCII in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


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

Posted by sugar (Участник № / Member № 1198) on :
 
Есть необходимость связаться с прибором по протоколу ModBUS ASCII.
Пробовал связаться используя Call.ChGroupReq и UniversalPLC_type данные получаю в HEX(DEC).
Как записать в канал тип данных STRING?(какие каналы использовать?)
Можно ли изменить порядок следования символов(байт) ,не используя программу?
Подскажите реально ли вообще без написания драйвера ModBUS ASCII, получить и отображать корректные данные?
(Какие способы лучше использовать?)

[ 05.04.2012, 11:31: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Можно организовать подключение на базе канала CALL_Vector (в профессиональном формате).
При этом, учитывая отсутствие разделителей в ответе устройства Modbus ASCII, групповые запросы реализовать нельзя.
 
Posted by yaDMM (Участник № / Member № 4855) on :
 
у меня похожая проблема, не работает запрос с микро-вычислительного устройства Метран-333 по протоколу Modbus ASCII. Какие еще есть тонкости с этим протоколом? есть примеры?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Других тонкостей мы не обнаруживали. По крайней мере, при опросе стандартного симулятора Modbus.
Возможно, особенности есть у устройства. Если они документированы, они могут быть учтены непосредственно в формировании команды запроса в канале Vector.
 
Posted by sugar (Участник № / Member № 1198) on :
 
При исрользовании канала Vektor привязать его можно только к источнику ModBus RTU, но у него контрольная сумма расчитывается по другому CRC.А мне нужно LRC.
Вопрос как отключить автоматическое добавление контрольной суммы или изменить на другую?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Согласно документации канал Vector можно привязать к источнику "Источники/Пользовательские_драйверы/TYPE11/UniversalPLC_type1".
При этом назначение COM-порта должно быть "Host Variant".
Контрольную сумму LRC вычисляете самостоятельно.
 
Posted by sugar (Участник № / Member № 1198) on :
 
Использую канал Vector ,UniversalPLC_type1.
Отправляю посылку тестовую посылку в порт SENDCMD=0305.Монитор COM порта показывает что послано 03 05 C1 43 7C.
Откуда беруться дополнительно 3 байта( C1 43 7C)?
 
Posted by Nico (Участник № / Member № 5342) on :
 
C1 43 -> контрольная сумма
для отмены добавить "CRCNO;"
после "SENDCMD=0305" обязательно ";"

[ 04.04.2012, 11:21: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Через пару дней мы выпустим учебный фильм о написании драйвера Modbus ASCII без программирования. См. http://www.adastra.ru/support/get_support/commer/get_support_tm6/videosprt/
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2