Добрый день !! В справке и в ответах техподдержки, прозвучало, что можно одновременно записать от 1 до 32 бит, по протоколу MODBUS, в область дискретных выходов (coil), для чего нужно использовать канал HEX32 и команду W_Byte(15). К сожалению реализовать запись больше 8 первых бит в плату I-8057(16 канальный дискретный порт вывода)одновременно не удаётся. В чём хитрость, как всё таки это сделать ???
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В текущем релизе обнаружено нарушение регламента функции W_Byte(15) - сдвиг байтов, начиная со второго. В ближайшем релизе это будет исправлено. Однако и после исправления будут передаваться сразу 4 байта в пространство койлов. Весьма вероятно, что модуль, имеющий 16 бит, "будет ругаться". Уверены ли Вы, что нельзя использовать функцию W_Word(6)? Можно попытаться использовать 2 канала HEX16 (W_Byte(15)) со смещенными адресами. Каждый из них будет передавать свои 8 бит в разные байты модуля.
Posted by PMA (Участник № / Member № 1387) on :
В настоящий момент используем 2 канала HEX16 со смещёнными адресами. W_Word пишет в регистры, а не в coil. Сам протокол MODBUS поддерживает запись 16 бит и более. Может стоит добавить возможность настройки колличества передаваемых бит.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :