Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Modbus
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
uvt
кто объяснит доступным языком пару нюансов сети модбас
интерисуют приоритеты выбора тех или иных параметров при построении опросов и управленим контроллера corrigo, а именно

The Modbus type of the signals (type in the list below):
1 = Coil Status Register (Modbus function = 1, 5 and 15)
2 = Input Status Register (Modbus function = 2)
3 = Holding Register (Modbus function = 3, 6 and 16)
4 = Input Register (Modbus function = 4)
Supported Modbus functions:
1 = Read Coils
2 = Read Discrete Input
3 = Read Holding Register
4 = Read Input Register
5 = Write Single Coil
6 = Write Single Register
15 = Write Multiple Coils
16 = Write Multiple Registers

не могу разобраться, точнее вроде как понял но не до конца

и чем отличаются типы данных int16 int16 bool float float float ???

понимаю что для кого то эти вопросы покажутся смешными ,все когда то начинали)
переискав инфу в интернете что то стало понятно что то нет , подсказать на простом языке некому..
всем спасибо)))
san
Может это поможет:
https://sites.google.com/site/fieldbusbook/...modbuseducation
uvt
спасибо......за полезную инфу)
считывть состояние дискретных выходов и аналоговых входов получается..а вот управлять DO и AO .....ни чего не понятно....
san
Для управления нужны функции
5 = Write Single Coil
6 = Write Single Register
15 = Write Multiple Coils
16 = Write Multiple Registers
осталось только реализвать :-) . Задачу хоть уточните, обрудование какое, может подскажу что-то :-)
uvt
мaster scada + master OPC + corrigo e28
для начала хочу разобраться управелением и считыванием с corrigo,
считывать получается...ввожу адрес по таблице допустим 7 и все работает
а вот куда вводить функциии...???

в графе РЕГИОН я так понимаю выбираем тот или иной вход или выход мы хотим опросить



- Discrete Inputs область дискретных входов
- Coils дискретных выходов
- Input Registers в (аналоговых входов)
- Holding Registers (аналоговых выходов

графа адрес..... ??? вводить просто значение адреса или ....??? например

что указать в графе адрес чтобы дать команду на открытие DO1 .,.... 259 ???
san
Цитата(uvt @ 13.2.2013, 21:48) *
мaster scada + master OPC + corrigo e28
для начала хочу разобраться управелением и считыванием с corrigo,
считывать получается...ввожу адрес по таблице допустим 7 и все работает
а вот куда вводить функциии...???

Для SCADA как правило функции не вводятся. Просто пишется адрес в формате, определенном в доке. Тут нужно по master OPC мануалы почитать, я ни с чем из списка не работал. Так что наверное больше ничем не помогу.
uvt
вы написали что Для управления нужны функции , а куда их вводить????


5 = Write Single Coil
6 = Write Single Register
15 = Write Multiple Coils
16 = Write Multiple Registers
san
Цитата(uvt @ 13.2.2013, 22:01) *
вы написали что Для управления нужны функции , а куда их вводить????

Если бы Вы писали программу на ПЛК, которая должна бы была записывать значения Вы бы формровали запросы, куда бы писали функцию и всё остальное. В SCADA и в ОРС Вам всего навсего нужно указать адрес переменной (согласно Модбас) к которй Вы будете обращаться для чтения или записи.
Судя по приведенному Вами скрину нужно указать номер ячейки в полях:
адрес (0х000) для дсикретных выходов - 259-...

Цитата
MBAP определяет вобщем 4-ре зоны (области) данных (переменных):
- Discrete Inputs (начиная с 10001), или область дискретных входов (входных битов)
- Coils (начиная с 00001), или область дискретных выходов (выходных битов)
- Input Registers (начиная с 30001), или область входных регистров (аналоговых входов)
- Holding Registers (начиная с 40001), или область выходных регистров (аналоговых выходов)
uvt
прописываю 258 .... меняю значения True на False но состояние выхода не меняется....он выключен...в чем проблем то а...???


пишет про ошибку при записи в устройство....
SCADAMaster
Возможно дело в том, что в документации к контроллеру указаны адреса в шестнадцатеричной системе, а в MasterОРС нужно задавать в десятичной.
Чтобы ввести число в шестнадцатеричной введите в поле адрес в формате 0x далее адрес - произойдет пересчет в десятичную систему.

По умолчанию, запись в Coils идет функцией 0х0F (15 функция) - запись нескольких регистров. Возможно ваш контроллер поддерживает запись только одиночных - функцию 0х05. Попробуйте в ОРС сервере, у устройства поставить в "ложь" настройку "Не использовать команду WriteSingleCoil".
Хотя в такой ситуации контроллер должен был бы вернуть другой код ошибки, но попробовать стоит.

Вы смотрели наши видеопримеры по ОРС? Там это описывалось:
http://www.masteropc.ru/prices/info.php?pid=6944
uvt
спасибо всем за ответы, разобрался ))))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.