Сообщение от
Felicio
Здравствуйте! Столкнулись с проблемой чтения данных на ПЛК160 [М02]. К контроллеру посредством RS-485 подключен счетчик газа ИРВИС-PC4-УЛЬТРА. Все данные читаются хорошо, за исключением Объема газа (на данный момент 7-мизначное число). Регистр в ИРВИСЕ-139, тип данных uint(dword), учитывая сдвиг, считываю 140 регистр. Считывал через modbus(master) при помощи 32bit input module (приложенный скриншот). Первые 2 цифры считывает верно, а следующие скачут между случайными значениями, то больше, то меньше. Перебрал все варианты. Все остальные данные (включая данные Float) читаются корректно. Есть серьезные подозрения на неправильный порядок считывания байтов в модуле 32bit input module. В ИРВИСЕ данный регистр является типом Uint32, а байты передаются в порядке 1-0-3-2. Подскажите, как поменять порядок байтов CodeSYS 2.3 или все-таки проблема в чем-то другом?
UPD: Проблему решил не совсем стандартным способом. Считал оба регистра 16 битным типом данных WORD и сложил побайтово в один DWORD. Делал при помощи библиотеки SysLibMem