Цитата:
Сообщение от ngs
Стоит туча Pixel, на них залиты программы, получить которые невозможно. Необходимо обеспечить чтение данных с Pixel и управление ими.
Документ modbus_list.doc прочитан, все данные из него введены, частично что-то получаю осознанное. Дополнил переменными из мануала на Pixel.
Но далеко не все работает, а то, что работает, делает это странно.
Скажем "Показания датчика температуры воздуха на выходе из вентустановки" - 40996, SCo_t_(канала), real
SCADA, при помощи которой ведется опрос, предлагает несколько вариантов типов данных - 2/4/8 байт, судя по шагу modbus адресов нужно выбирать один из типов по 4 байта? - unit/float/int?
А потом нужно еще и как-то преобразовать полученное значение? Датчик температуры другого устройства требует преобразования такого:
(значение канала)х(диапазон измерения)/65 535. Но тут такой подход явно не годиться - значение сильно изменяется.
|
Существует вероятность, что не все программы созданы в конструкторе. Кроме того, даже если они созданы в конструкторе - они могут быть изменены.
Далее - по регистрам. Число от датчика, которое имеет тип real - это 32 бита (4 байта), и это число с плавающей точкой, то есть float. В зависимости от того, каким софтом вы его читаете и формируется необходимость его приводить к чему-то. Как правило, ничего не нужно.
Про пуск и стоп: создайте программу в конструкторе, посмотрите как в ней это реализовано. Там никаких ухищрений. От скады есть "пуск" и есть "стоп" . данные bool(битовые). Правда, вам может помешать режим управления (мест/дист). Ну и, само собой, блокировка тоже не даст пуск.