Segnetics

Вернуться   Segnetics > Общий > Связь с внешним миром

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.08.2016, 14:45   #1
ngs
Новичок
 
Регистрация: Jun 2016
Сообщения: 7
По умолчанию Получение данных от Pixel по Modbus

Стоит туча Pixel, на них залиты программы, получить которые невозможно. Необходимо обеспечить чтение данных с Pixel и управление ими.

Документ modbus_list.doc прочитан, все данные из него введены, частично что-то получаю осознанное. Дополнил переменными из мануала на Pixel.

Но далеко не все работает, а то, что работает, делает это странно.

Скажем "Показания датчика температуры воздуха на выходе из вентустановки" - 40996, SCo_t_(канала), real

SCADA, при помощи которой ведется опрос, предлагает несколько вариантов типов данных - 2/4/8 байт, судя по шагу modbus адресов нужно выбирать один из типов по 4 байта? - unit/float/int?

А потом нужно еще и как-то преобразовать полученное значение? Датчик температуры другого устройства требует преобразования такого:
(значение канала)х(диапазон измерения)/65 535. Но тут такой подход явно не годиться - значение сильно изменяется.
ngs вне форума   Ответить с цитированием
Старый 29.08.2016, 14:52   #2
ngs
Новичок
 
Регистрация: Jun 2016
Сообщения: 7
По умолчанию Ответ: Получение данных от Pixel по Modbus

Не понятно так же и как пускать/останавливать установку. Изменение режима зима/лето/авто - происходит. Пытаюсь тем же методом включить/отключить, сбросить аварию - не получается.
ngs вне форума   Ответить с цитированием
Старый 29.08.2016, 15:23   #3
starmos
Senior Member
 
Регистрация: Jan 2013
Сообщения: 164
По умолчанию Ответ: Получение данных от Pixel по Modbus

[QUOTE=ngs;31041]
Скажем "Показания датчика температуры воздуха на выходе из вентустановки" - 40996, SCo_t_(канала), real

SCADA, при помощи которой ведется опрос, предлагает несколько вариантов типов данных - 2/4/8 байт, судя по шагу modbus адресов нужно выбирать один из типов по 4 байта? - unit/float/int?

А потом нужно еще и как-то преобразовать полученное значение? Датчик температуры другого устройства требует преобразования такого:
(значение канала)х(диапазон измерения)/65 535. Но тут такой подход явно не годиться - значение сильно изменяется.[/QUOTE

Посмотрел один из старых проектов, указанная переменная у меня по адресу 40995 - может адрес неправильно пишете?
Тип указан - float, т.е. 4 байта. данные содержат температуру в градусах - ничего преобразовывать не надо?
starmos вне форума   Ответить с цитированием
Старый 29.08.2016, 16:19   #4
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 358
По умолчанию Ответ: Получение данных от Pixel по Modbus

Цитата:
Сообщение от 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(битовые). Правда, вам может помешать режим управления (мест/дист). Ну и, само собой, блокировка тоже не даст пуск.


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov сейчас на форуме   Ответить с цитированием
Старый 30.08.2016, 15:01   #5
ngs
Новичок
 
Регистрация: Jun 2016
Сообщения: 7
По умолчанию Ответ: Получение данных от Pixel по Modbus

Воспользовался идеей взять данные о переменных из обычного проекта. Это дало мощную подвижку! Файл из тех документации соответствует моим контроллерам меньше. Совпадение не полное, но имеется, и это радует! Чудесный совет, спасибо.

СКАДА сама смогла переварить значение float для отображения температур.

Изменять уставки пока могу лишь для tзл. Чем они отличаются от прочих, пока не понял.
ngs вне форума   Ответить с цитированием
Старый 30.08.2016, 15:04   #6
ngs
Новичок
 
Регистрация: Jun 2016
Сообщения: 7
По умолчанию Ответ: Получение данных от Pixel по Modbus

[QUOTE=starmos;31043]
Цитата:
Сообщение от ngs Посмотреть сообщение
...указанная переменная у меня по адресу 40995 ...
В техдокументации указано на необходимость увеличивать на единицу адрес. Ваша рекомендация меня продвинула к истине!
ngs вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pixel - Modbus - Комп sysline SMLogix 12 21.12.2017 19:14
Получение данных с датчиков ОВЕН ПВТ100 по Modbus HWAK Вопросы о SMH-2G(i) 16 23.10.2017 16:05
связи по Modbus с Pixel Tyr0 Общий 1 14.04.2016 11:29
Обратная свзязь: Pixel - ModBus - Комп Wool Вопросы о программировании 35 03.04.2013 11:53
одновременный ModBus и LON на PIXEL lau Вопросы о Pixel 12 12.03.2008 14:40


Часовой пояс GMT +4, время: 15:53.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2016