PDA

Просмотр полной версии : Подключение ПЛК110-30 + МВ110-16Д + МВ110-8А



Gorn_cem
07.07.2011, 12:48
Всем доброго времени суток! :)
Решили у нас для автоматизации производства использовать контроллеры ОВЕН, для чего и были закуплены ПЛК110-30 + МВ110-16Д + МВ110-8А. Теперь сижу разбираюсь с CoDeSys v 2.3. Мануал прочитал, попробовал на практике вытащить данные из модулей МВ110 но не получилось, к контроллеру модули подключены по RS-485-2 протокол ModBus(master), модули настроены как:
Протокол ModBus-ASCII, адреса: у 16Д-16 адрес, у 8А-32 адрес, скорость 9600.
1. Не совсем разобрался с адресацией, как я понял адреса модулей должен быть кратными 8?
2. Какой протокол лучше использовать Owen или ModBus для связи с этими модулями?
3. Как считать входа модуля 16Д по протоколу ModBus?
4. Если считывать входа модулей 16Д и 8А по протоколу Овен то как это сделать?

В CoDeSys Конф. ПЛК прописал: (см. скрин)
При попытке прописать адрес и считываемый регистр появляется ошибка (Недопустимое значение).

swerder
07.07.2011, 16:58
1. только для протокола овен, для модбаса любая адресация
2. не принципиально
3. например чтение регистра 51 функцией 0х03
4. в двух словах не скажешь. надо читать РЭ

по скрину:
даж не знаю как можно назвать такое число с системой счисления 32 :)
поменяйте на 16

Виктор Тимошков
07.07.2011, 18:30
Посмотрите пример подключения для модулей старой линейки http://www.owen.ru/text/76503040. Почти все делается аналогично.
По скрину. Если используете 120 регистр-пишите просто 120. Адрес устройства достаточно указать в Universal Modbus Device.

swerder
08.07.2011, 09:41
Если используете 120 регистр-пишите просто 120.

не вводите человека в заблуждение, просто 120 будет в десятичной системе счисления, а надо 120 в шестнадцатиричной
16#120

Gorn_cem
08.07.2011, 10:12
Большое спасибо за помощь :) с вашей помощью немного разобрался, модуль 16Д подключил но считать получилось только первые 8 входов, пробовал экспериментировать но входа с 9-16 не получается считать, подскажите пожалуйста как их прописать в "Конфигурация ПЛК"? И еще вопрос, к модулю МВ110-8А я тоже подключился, как я понял из документации чтобы считать 1 канал мне нужно "Измерение входа 1 в представлении с плавающей точкой" - тип Float32 - регистры 0004,0005(hex), как я понял необходимо считать оба регистра но как это сделать не понимаю? В итоге(см.скрин) в канал приходит неверное значение или может я в Конфигурации неправильно прописал?
И еще вопрос в настройках модуля 16Д есть настройка протокола, а в настройках модуля 8А такой настройки нет, у него авто определение?

swerder
08.07.2011, 10:58
может неправильно, а может и правильно, настроек на картинке нет.
-7 * 10^(-31) ~= 0

в настройках указывается адрес первого регистра этого флоат, т.е. 4, ну и стоит обратить внимание на фразу
"При передаче 4-х байтных значений (тип Float 32) старшее слово передается в регистре
с меньшим номером."
да, у 8А автоопределение протокола, надо только параметры задавать.

p.s. кстати, а где вы нашли регистр 120 в мв110-8а?

Gorn_cem
08.07.2011, 11:28
Про 120 регистр я видел где-то пример на форуме, там использовался аналоговый модуль, я не обратил внимания на модель :)
Сейчас к модулю 8А на первые два канала зацеплены датчики и есть реальные значения из я и пытаюсь вытащить(см.скрин), но данные в каналах Конфигурация ПЛК скачут, то в минус уходят то очень большое значение(см.скрин), сделал скрин с настройками. Также остался вопрос по модулю 16Д как вытащить каналы с 9 по 16?

swerder
08.07.2011, 11:55
реальное значение в модуле 29,1, а в контроллер приходит мильён шестьсот? странно.
попробуйте сделать как на рисунке


Также остался вопрос по модулю 16Д как вытащить каналы с 9 по 16? пока не подскажу, еще не игрался с этим девайсом

Gorn_cem
08.07.2011, 12:47
Вот что получилось:

swerder
08.07.2011, 13:23
к сожаления подсказать более нечего, знаний не хватает :(

Виктор Тимошков
08.07.2011, 14:20
не вводите человека в заблуждение, просто 120 будет в десятичной системе счисления, а надо 120 в шестнадцатиричной
16#120
никого я не ввожу в заблуждение. Запись 16#120 буквально означает использование dec - го аналога числа, которое в hex равно 120. Если напишите в конфигурации ПЛК 297 в качестве адреса - результат будет тот же.
Теперь по задаче.
Для МВА нужно добавить модули Real input modul c адресами 4, 10,16, 22,28,34, 40, 46.
120 hex регистр нужен для опроса модуля со скоростными входами МВ-110.ххх.АС.
для того, чтобы считать битовую маску целиком добавьте модуль Register Input Modul для считывания регистра 51. Полученная переменная типа Word допускает побитовое обращение для всех 16 битов.

swerder
08.07.2011, 14:37
никого я не ввожу в заблуждение. Запись 16#120 буквально означает использование dec - го аналога числа, которое в hex равно 120. Если напишите в конфигурации ПЛК 297 в качестве адреса - результат будет тот же.


если, как вы написали в первый раз, просто написать 120, то это не будет равно 16#120 по документации

Gorn_cem
11.07.2011, 06:41
никого я не ввожу в заблуждение. Запись 16#120 буквально означает использование dec - го аналога числа, которое в hex равно 120. Если напишите в конфигурации ПЛК 297 в качестве адреса - результат будет тот же.
Теперь по задаче.
Для МВА нужно добавить модули Real input modul c адресами 4, 10,16, 22,28,34, 40, 46.
120 hex регистр нужен для опроса модуля со скоростными входами МВ-110.ххх.АС.
для того, чтобы считать битовую маску целиком добавьте модуль Register Input Modul для считывания регистра 51. Полученная переменная типа Word допускает побитовое обращение для всех 16 битов.

По модулю 16Д, а как обратиться к конкретному биту например из ST?
Все каналы аналогового модуля добавил, но значения приходят не те(см. вложения) на первых 2-х каналах подключены датчики и там есть реальные значения. Такое ощущение что нужно считывать оба регистра(в документации они почему-то указаны именно парами) например для первого канала 4,5 и т.д. Возможно ли с помощью Real Input Module считать сразу два регистра?

Николаев Андрей
11.07.2011, 09:05
Подключение МВ110-8А делаете по аналогии с подключением МВА8 отсюда:
http://www.owen.ru/forum/showpost.php?p=7485&postcount=6
Единственно - по руководству на МВ110-8А адреса регистров проверьте.
Подключение МВ110-16Д по аналогии отсюда:
http://www.owen.ru/forum/showpost.php?p=23467&postcount=42
Из последнего примера берете только Register Input - значения всех входов в нем (регистр с именем inp_mask). Остальное для считывания и обнуления встроенных в МВ110-16Д счетчиков

Gorn_cem
11.07.2011, 10:29
Большое спасибо, все получилось, буду осваивать дальше :)