Есть необходимость связаться с прибором по протоколу 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 :