Добрый день! Проблема в следующем: пытаюсь связать Trace Mode c электросчетчиком СС-301 (производство Гран-Электро, г.Гродно, РБ)
По вашим примерам создаю канал типа CALL к нему привязываю источник. Источник пробовал создавать двумя способами: Modbus->R_FIFO_Queue и Пользовательские драйверы->TYPE11->UniversalPLC_type4.
Согласно применяемого протокола обмена посылаю запрос к счетчику через com-порт.
Ответа не получаю. Подключаю порт-монитор и вижу, что байты CRC меняются местами. Ниже привожу скрины обращения к счетчику: 1-ый вариант обращаюсь через программу порт-монитор к счетчику и получаю ответ
2-ой вариант обращаюсь через профайлер TraceMode, ответа не получаю, запрос уходит в цикл.
Подскажите пожалуйста, что можно сделать? Как подружить TraceMode и СС-301?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Видимо, речь идет о канале CALL.Vector.
Согласно стандарту Modbus CRC передается младшим байтом вперед, что и делает Trace Mode 6.
Видимо, в счетчике СС-301 предусмотрена передача CRC старшим байтом вперед.
В таком случае Вам придется отказаться от стандартного формирования контрольной суммы, вычислять ее заранее для каждой команды и вставлять в текст команды. Отказаться от посылки стандартной CRC можно, введя после команды ключ CRCNO (через разделитель ";").
Posted by Maikl82 (Участник № / Member № 5675) on :
На форуме я нашел несколько сообщений с описанием подобной проблемы. Может всё же стоит в следующих версиях предусмотреть, возможность выбора как будет передоваться код CRC, младшим или старшим байтом вперед.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вариантов отступления от стандарта может быть очень много. Учесть их все не представляется возможным.