Просмотр полной версии : помогите разобраться с modbus
У меня вот такой вопрос:
Значит у меня есть 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
да тока как подключить устройства с помощью модулей мне понятно,
а вот как произвести опрос этих модулей, я не понимаю
Николаев Андрей
21.10.2009, 10:13
А что Вы понимаете под устроить опрос???
Если Вы добавили ModBus Master и в нем модули - это и есть организация опроса.
Вопрос наверное как эти данные вытащить и что с ними делать.
Вы добавляете модуль Universal ModBus Device и в нем добавляете каналы: например для модуля ввода: 2 байта, с соответствующей командой. И уже в канале есть строчка, в которой будут получаемые данные.
Дальше мы эту строчку используем в программе. Либо через МЭК адреса, либо задав имя переменной в данной строчке.
Ну хороше это понятно спс, а вот если я добавил Universal ModBus Device
а в нем 32 bit input module, то (как мне объяснили) каждому биту соответствует определенное устройство, как програмно присвоить каждому биту название этого устройства. или как проследить изменение адреса(или я опять непонял))))
Илья Кареткин
21.10.2009, 11:54
...
каждому модулю задаётся адрес, к каждому адресу обращается отдельный Universal ModBus Device в модуле Modbus Master, а только потом регистры соответствующие входам модулей согласно документации на них.
ну вот у меня есть 32 bit input module, каждому биту соответствует одно устройство, тоесть есть кнопка она - 1 биту соответствует (правильно),
то есть если кнопка нажата то бит=1 если не нажата то бит=0, какой функциией привязать первую кнопку к 0 биту, вторую к 1 биту и так далее
ну а тогда , вот у меня есть программа, по которой работает моя система
как она узнает что именно первая кнопка нажата
тоесть в саму мою программу надо както вписать что мол изменился 0 бит стал не 1 а нольким и поэтому по условию программы должен например ,включиться двигатель, как это реализовать????????
Малышев Олег
21.10.2009, 19:55
Motor:=device.0; (* Проверка нулевого бита*)
спасибо, мне уже тоже объяснили вроде понял)))))
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot