Подскажите порядок настройки каналов на обмен с контроллером ГАММА-7. В канале подтип Modbus, RoutByte(1) появляется флаг аппаратной недостоверности. Функция RinWord(4) работает нормально.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Посмотрите в лог-файле проекта, что отвечает на запросы контроллер, может неверные настроки канала, либо данный контроллер не поддерживает функцию ModBus №1?
Posted by Sergey P. Antipov (Участник № / Member № 737) on :
Функция 01 контроллером поддерживается. Настройки канала: CH=0 Q=4
Код ошибки 03 - "Неверное значение данных" Почему в запросе появляется 00 08 ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Функция 01 в MODBUS в соответствии со стандартом предполагает возможность группового считывания битовых переменных. По умолчанию создаваемый Вами канал MODBUS/RoutByte(1) имеет разрядность 8. Именно это число битовых переменных он и запросил у прибора. Очевидно прибор не поддерживает групповую операцию чтения. Поставьте в "Реквизитах канала" в бланке "Маски и эмуляция" число бит 1. Канал будет запрашивать 1 бит.
Posted by Sergey P. Antipov (Участник № / Member № 737) on :
Спасибо, все работает. Только в окно "Число бит" необходимо ввести 4.
P.S. В нашем проекте функция W Byte(15) использоваться не будет, но при попытке проверить ее работоспособность так же появляется флаг аппаратной недостоверности. (Число байт в запросе = 10, а надо 11).
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В по спецификации MODBUS запрос функции 15 имеет длину, зависящую от количества передаваемых байтов. В нашем случае передается только 1 байт (так у нас и названа функция). В строгом соответствии со спецификацией запрос содержит 10 байтов.
Posted by Sergey P. Antipov (Участник № / Member № 737) on :
Контроллеры Gamma-7 (-8) присутствуют в списке оборудования, поддерживаемого TraceMode. Выходит - это не совсем так?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Контроллеры Gamma-7 (-8) должны принимать "1-байтовые" команды 15. Для того, чтобы передать большее количество информации по этой команде, надо создать в Трейс Моуд не один 8-битовый канал, а несколько. Так что групповая передача битовых сигналов в контроллеры Gamma-7 (-8) вполне осуществима. С точки зрения трафика это оправдано, т.к. при изменении любого бита в 16-битовом канале, генерирующем эту команду, отправлялись бы 2 байта, а в предлагаемом нами варианте - 1 байт.
Posted by Sergey P. Antipov (Участник № / Member № 737) on :
Я бы с вами согласился, но дело в том, что при помощи функции 15 я не могу послать в контроллер ни одного байта, т.к. структура запроса TraceMode не соответствует структуре, приведенной в техническом описании на "ГАММА-7". Возможно я ошибаюсь. Буду рад, если Вы меня просветите.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы реализуем структуру запроса, описанную в стандарте MODBUS, а не в описании прибора GAMMA-7. Я перепроверил еще раз и убедился, что стандарт выдерживается, что подтверждается и другими приборами. Если в описании GAMMA-7 утверждается, что он поддерживает MODBUS, он должен поддерживать его требования. http://www.modicon.com/techpubs/toc7.html Английское описание протокола.