PDA

Просмотр полной версии : МВУ8+modbus



Paul Clever
12.01.2009, 15:37
У меня возник следующий вопрос:

Я работаю с МВУ-8, адрес -16, и пытаюсь записать в первый выход - 1. Я передаю следующее сообщение:

0x10 - адрес, 0x10 - команда, 0x00, 0x00 - нач. адрес регистра, 0x00, 0x01 - количество регистров, 0x02 - количество байт, 0x00, 0x01 - значение, CRC_Low, CRC_High.

Состояние входа не изменяется. Мне кажется, что существуют адреса регистров(не 0000). Не могли бы вы подсказать в чем ошибка?

Ельцов Андрей
12.01.2009, 15:49
У меня возник следующий вопрос:

Я работаю с МВУ-8, адрес -16, и пытаюсь записать в первый выход - 1. Я передаю следующее сообщение:

0x10 - адрес, 0x10 - команда, 0x00, 0x00 - нач. адрес регистра, 0x00, 0x01 - количество регистров, 0x02 - количество байт, 0x00, 0x01 - значение, CRC_Low, CRC_High.

Состояние входа не изменяется. Мне кажется, что существуют адреса регистров(не 0000). Не могли бы вы подсказать в чем ошибка?

По протоколу Modbus на выход МВУ должно посылаться значение "1000".

Paul Clever
12.01.2009, 17:29
Я поменял значение на 1000, состояние выхода все равно не изменилось. Может быть в сообщении еще что-то нужно изменить?

Ельцов Андрей
13.01.2009, 08:57
Я поменял значение на 1000, состояние выхода все равно не изменилось. Может быть в сообщении еще что-то нужно изменить?

Уточните пожалуйста еще раз. Какую панель Вы используете. И как у Вас получается команда 10. Ведь панель посылает команду 0х06. При записи одного регистра. А еще МВУ необходимо перезагружать после работы с конфигуратором, для того чтобы новые сетевые настройки вступили в силу. Попробуйте какой-нибудь программкой типа modbus tester. управлять выходами МВУ8.

Paul Clever
13.01.2009, 11:19
Уточните пожалуйста еще раз. Какую панель Вы используете. И как у Вас получается команда 10. Ведь панель посылает команду 0х06. При записи одного регистра.
Я не использую панель, а с ПК программно посылаю сообщения COM-порту. В РЭ написано, что регистры записываются командой 16(10h).


А еще МВУ необходимо перезагружать после работы с конфигуратором, для того чтобы новые сетевые настройки вступили в силу. Попробуйте какой-нибудь программкой типа modbus tester. управлять выходами МВУ8.
Перезагрузка - это запись измененных параметров? Вы не могли бы подсказать, где можно взять такую программку (modbus tester).

И еще меня интересует вопрос по поводу ответа МВУ, существует ли он, если да, то сколько байт и какой формат?

Заранее спасибо, С Уважением, Павел.

Ельцов Андрей
13.01.2009, 12:22
Если так. Тогда небольшая инструкция по использованию МВУ8 при работе по протоколу modbus.
1. Убедиться в том, что прошивка МВУ8 2.0х, если прошивка 1.х, то прибор по протоколу modbus работать не будет. Проверить можно через конфигуратор МВУ8 в каталоге "Общие параметры прибора"
2. Убедитьтся, что снята перемычка отвечающая за перевод прибора в заводские сетевые настройки (Jp2)
3. Через конфигуратор указать, что прибор должен работать по протоколу modbus и сделать все необходимые настройки для прибора (сетевые и настройки выыходов).
4. Закрыть конфигуратор и перезагрузить прибор (включить\выключить) питание прибора. После этого прибор начнет работать попротоколу modbus. При очередной попытке установить с прибором через конфигуратор МВУ8 перейдет в режим работы по протоколу OWEN.
5. Запись значений на выходы происходит по 16-й команде.
Что касается программки modbus tester, попробуйте скачать отсюда: http://www.terring.ru/files/apps/TerringModbus-Installer.exe/ Он уже по другому стал называться...:)

Paul Clever
13.01.2009, 14:43
Большое спасибо за инструкцию. Я выполнил все ее пункты и запустил программу modbus tester. Там я подал свою команду на запись [10] [10] [00][00] [00][01] [02] [10][00] [6B][C0] и нажал старт. У меня началось прибавление параметра Poll и E.Time(насколько я понял за данное время прибор не ответил). Если я ставлю Device ID 00 вместо 10(16), то параметр E.Time=0 и не прибавляется, хотя выход МВУ не изменяется.

Не могли бы вы подсказать с чем связана данная ошибка?

Kirill
13.01.2009, 16:16
Большое спасибо за инструкцию. Я выполнил все ее пункты и запустил программу modbus tester. Там я подал свою команду на запись [10] [10] [00][00] [00][01] [02] [10][00] [6B][C0] и нажал старт. У меня началось прибавление параметра Poll и E.Time(насколько я понял за данное время прибор не ответил). Если я ставлю Device ID 00 вместо 10(16), то параметр E.Time=0 и не прибавляется, хотя выход МВУ не изменяется.

Не могли бы вы подсказать с чем связана данная ошибка?

Попробуйте следующую посылку. У меня работает.
Request
[10][10][00][00][00][01][02][03][E8][66][BE]
Response
[10][10][00][00][00][01][02][88]

Вы посылаете мву 1000 в шестнадцатиричном формате, а нужно в десятичном.

Paul Clever
13.01.2009, 17:20
Огромное спасибо за оказанную помощь!!! Даже не знаю как вас благодарить. МВУ-8 по ModBus у меня ожил, теперь дело за МВА-8...:)

Ельцов Андрей
14.01.2009, 09:11
Огромное спасибо за оказанную помощь!!! Даже не знаю как вас благодарить. МВУ-8 по ModBus у меня ожил, теперь дело за МВА-8...:)

Поздравляем!
Методика настройки МВА8 аналогична.
Рекомендую пользоваться измеренным значением в формате int, а запятую выставлять в программе на ПК. Так будет проще. т.к. float имеет разные последовательности байт.