PDA

Просмотр полной версии : помогите разобраться с modbus



Amarok
20.10.2009, 18:44
У меня вот такой вопрос:
Значит у меня есть 36 кнопок 6 вакуметров и 1 пирометр
и овен 150 , мне надо связать их по протоколу modbus
и написать программу опросса (может это и легко) но что то я не догоняю как.(может есть где литература, ссылки ) помогите)))):)

Илья Кареткин
21.10.2009, 00:08
Для того чтобы связать устройства по протоколу Modbus они должны быть, как минимум интерфейсными и поддерживать этот протокол.
Насчет ваккумметров и пирометра ничего точно сказать не могу, а вот элемент кнопка к таким устройствам отнести точно нельзя.

Исходя только из количества кнопок..одного плк 150(6 дискретных входов) для их подключения вам не хватит, поэтому придётся подключать дополнительные модули.
После того как определитесь с количеством модулей итд. Вам как раз и придется сконфигурировать ПЛК для работы по протоколу Modbus.(См.PLC_Configuration на диске ПЛК и примеры)
Литература и не только есть на диске в комплекте ПЛК.
В СoDeSys есть не плохой Help
Примеры программ здесь:
http://www.owen.ru/forum/showthread.php?t=551

Amarok
21.10.2009, 09:44
да тока как подключить устройства с помощью модулей мне понятно,
а вот как произвести опрос этих модулей, я не понимаю

Николаев Андрей
21.10.2009, 10:13
А что Вы понимаете под устроить опрос???
Если Вы добавили ModBus Master и в нем модули - это и есть организация опроса.
Вопрос наверное как эти данные вытащить и что с ними делать.
Вы добавляете модуль Universal ModBus Device и в нем добавляете каналы: например для модуля ввода: 2 байта, с соответствующей командой. И уже в канале есть строчка, в которой будут получаемые данные.
Дальше мы эту строчку используем в программе. Либо через МЭК адреса, либо задав имя переменной в данной строчке.

Amarok
21.10.2009, 10:38
Ну хороше это понятно спс, а вот если я добавил Universal ModBus Device
а в нем 32 bit input module, то (как мне объяснили) каждому биту соответствует определенное устройство, как програмно присвоить каждому биту название этого устройства. или как проследить изменение адреса(или я опять непонял))))

Илья Кареткин
21.10.2009, 11:54
...
каждому модулю задаётся адрес, к каждому адресу обращается отдельный Universal ModBus Device в модуле Modbus Master, а только потом регистры соответствующие входам модулей согласно документации на них.

Amarok
21.10.2009, 14:41
ну вот у меня есть 32 bit input module, каждому биту соответствует одно устройство, тоесть есть кнопка она - 1 биту соответствует (правильно),
то есть если кнопка нажата то бит=1 если не нажата то бит=0, какой функциией привязать первую кнопку к 0 биту, вторую к 1 биту и так далее

magirus
21.10.2009, 17:32
они уже привязаны....

Amarok
21.10.2009, 17:52
хм чето я запутался

Amarok
21.10.2009, 18:09
ну а тогда , вот у меня есть программа, по которой работает моя система
как она узнает что именно первая кнопка нажата
тоесть в саму мою программу надо както вписать что мол изменился 0 бит стал не 1 а нольким и поэтому по условию программы должен например ,включиться двигатель, как это реализовать????????

Малышев Олег
21.10.2009, 19:55
Motor:=device.0; (* Проверка нулевого бита*)

magirus
21.10.2009, 20:02
как то так:

Amarok
22.10.2009, 17:09
спасибо, мне уже тоже объяснили вроде понял)))))