Вход

Просмотр полной версии : Коды функций Modbus-RTU



Newcomer
26.08.2015, 13:00
Добрый день.

Есть ПЛК110 (Modbus-Slave) и панель Weintek (Modbus-Master), интерфейс - RS-232, протокол Modbus-RTU. У Modbus-Master есть множество кодов функций для чтения/записи данных.

Вопросы ?:

1) какой код функции использовать для записи бита в ПЛК;
2) какой код функции использовать для чтения бита из ПЛК;
3) какой код функции использовать для записи регистра в ПЛК;
4) какой код функции использовать для чтения регистра из ПЛК.
5) каково соответствие между адресом данных задаваемом в панели и адресом данных в ПЛК.

Возможно, ответы на эти вопросы есть в документе "ОВЕН", но я не нашел.

"Железа" нет, проверить методом тыка нет возможности.

С уважением,

capzap
26.08.2015, 13:07
по Вашему Овен с Вейнтеком скинулись и придумали себе протокол обмена? https://ru.wikipedia.org/wiki/Modbus изучайте

Newcomer
26.08.2015, 13:10
по Вашему Овен с Вейнтеком скинулись и придумали себе протокол обмена? https://ru.wikipedia.org/wiki/Modbus
изучайте

Давно изучил.:eek: Дело в том, что специалисты фирмы "ОВЕН" довольно вольно трактует стандарт протокола Modbus. Это относится к перечню поддерживаемых кодов функций и к адресам данных.:mad: Посему и возникли вопросы.

capzap
26.08.2015, 13:13
Давно изучил. Дело в том, что специалисты фирмы "ОВЕН" довольно вольно трактует стандарт протокола Modbus. Это относится к перечню поддерживаемых кодов функций и к адресам.

обоснуйте предъяву, где это так происходит, единственная вольность которая имеет место быть это совмещение различных областей памяти, только Вы про них вопрос не задавали в явном виде

Newcomer
26.08.2015, 13:22
обоснуйте предъяву, где это так происходит, единственная вольность которая имеет место быть это совмещение различных областей памяти, только Вы про них вопрос не задавали в явном виде
А что скажите про коды функций Modbus, которые поддерживает ПЛК110 ?

capzap
26.08.2015, 13:25
открываете конфигуратор и смотрите поле какие функции доступны в качестве мастера, для слейва регистры читайте /пишите 3/16, биты сами разбирайтесь я ими не пользуюсь

petera
26.08.2015, 13:27
А что скажите про коды функций Modbus, которые поддерживает ПЛК110 ?
Все
http://www.owen.ru/forum/attachment.php?attachmentid=12621&d=1397777586
с учетом замечания про совмещение областей для ПЛК ОВЕН
читать биты можно 0х01 или 0х02
читать регистры -0х04 или 0х03

Newcomer
26.08.2015, 13:33
Все
http://www.owen.ru/forum/attachment.php?attachmentid=12621&d=1397777586
с учетом замечания про совмещение областей для ПЛК ОВЕН
читать биты можно 0х01 или 0х02
читать регистры -0х04 или 0х03

Хорошая табличка. petera, дайте, пожалуйста, ссылку на документ с этой табличкой.

Newcomer
26.08.2015, 13:37
Все
http://www.owen.ru/forum/attachment.php?attachmentid=12621&d=1397777586
с учетом замечания про совмещение областей для ПЛК ОВЕН
читать биты можно 0х01 или 0х02
читать регистры -0х04 или 0х03

А что означают выражения 0x, 1x, 3x, 4x ?

petera
26.08.2015, 13:40
А что означают выражения 0x, 1x, 3x, 4x ?
Табличку сам нарисовал:rolleyes:
Про 0x, 1x, 3x, 4x и прочее https://sites.google.com/site/fieldbusbook/seti/modbus/modbuseducation

Newcomer
26.08.2015, 13:43
Табличку сам нарисовал:rolleyes:
Про 0x, 1x, 3x, 4x и прочее https://sites.google.com/site/fieldbusbook/seti/modbus/modbuseducation
Спасибо. А вы точно знаете, что ПЛК110 в режиме Slave поддерживает коды функций, указанные в вашей таблице.

capzap
26.08.2015, 13:48
у вейнтека есть пунктик в меню передача данных, так вот пишите свой проект используя локальные переменные, как только придет оборудование, используете ту функцию, чтоб скопировать из слейва в панель все данные скопом, если затрудняетесь с записью, так же поступите пишите в локальную область и на элементе ставте уведомление, а этот бит отправит данные в плк так же группой. Естественно регистры для записи и чтения не перемешивайте

Newcomer
26.08.2015, 13:49
А как быть со смещением адресов данных в Master (панель) и Slave (ПЛК110) ? Это вопрос к petera.

petera
26.08.2015, 14:30
А как быть со смещением адресов данных в Master (панель) и Slave (ПЛК110) ? Это вопрос к petera.
Все регистры и биты в ПЛК начинаются с адреса "0" вот и все смещение.
ЗЫ. Смотрим внимательно на картинку
http://www.owen.ru/forum/attachment.php?attachmentid=12345&d=1395648726
И руководствуемся ей.
ЗЫ."Все регистры и биты в ПЛК начинаются с адреса "0" вот и все смещение."
У Вейнтека это называется MODBUS RTU(zero-based addressing)
19668
Но можно и просто MODBUS RTU, тогда для элементов на экране в адресе прибавлять единичку придется самому.

Newcomer
26.08.2015, 14:54
Все регистры и биты в ПЛК начинаются с адреса "0" вот и все смещение.
ЗЫ. Смотрим внимательно на картинку
http://www.owen.ru/forum/attachment.php?attachmentid=12345&d=1395648726
И руководствуемся ей.
ЗЫ."Все регистры и биты в ПЛК начинаются с адреса "0" вот и все смещение."
У Вейнтека это называется MODBUS RTU(zero-based addressing)
19668
Но можно и просто MODBUS RTU, тогда для элементов на экране в адресе прибавлять единичку придется самому.

Большое спасибо.

voffan
10.11.2015, 10:02
Табличку сам нарисовал:rolleyes:
Про 0x, 1x, 3x, 4x и прочее https://sites.google.com/site/fieldbusbook/seti/modbus/modbuseducation
"The distinctions between inputs and outputs, and between bit-addressable and wordaddressable
data items, do not imply any application behavior. It is perfectly acceptable, and
very common, to regard all four tables as overlaying one another, if this is the most natural
interpretation on the target machine in question.
For each of the primary tables, the protocol allows individual selection of 65536 data items,
and the operations of read or write of those items are designed to span multiple consecutive
data items up to a data size limit which is dependent on the transaction function code." MBAP V1.1b
всё остальное - ересь создающая пользователям проблемы