ModBus
-
- beginner
- Сообщения: 42
- Зарегистрирован: 20 окт 2012, 08:04
- Версия LabVIEW: 11
- Контактная информация:
ModBus
Может кто сталкивался. В через ModBus управляю насосом качающим воду между емкостями. Вопрос, можно ли как то через ModBus напрямую управлять одним битом регистра выхода микроконтроллера?( т.е. у меня есть регистр Y20 - выходной регистор ПЛК, состоящий из 16 бит) и вот можно ли как-то через ModBus напрямую обращаться к 7 биту Y20 регистра, задавая значения 1 или 0?
Пока реализовал через запись в обычный регистр ПЛК, путем постоянного сканирования дополнительного регистра, что мне не очень нравится в плане быстродействия...
Рад любым идеям!)
Пока реализовал через запись в обычный регистр ПЛК, путем постоянного сканирования дополнительного регистра, что мне не очень нравится в плане быстродействия...
Рад любым идеям!)
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: ModBus
что Вы имеете в виду под понятием "быстродеиствие"opkaa писал(а):Может кто сталкивался. В через ModBus управляю насосом качающим воду между емкостями.
......................................................
Пока реализовал через запись в обычный регистр ПЛК, путем постоянного сканирования дополнительного регистра, что мне не очень нравится в плане быстродействия...
Рад любым идеям!)
для включения-выключения водяного насоса?
-
- beginner
- Сообщения: 42
- Зарегистрирован: 20 окт 2012, 08:04
- Версия LabVIEW: 11
- Контактная информация:
Re: ModBus
Другие насосы : )А что в остальных битах Y20 лежит?
Скорее цикл сканирование ПЛК этих регистров, потому что в цикле и так много проверок на уровень в емкостях и всевозможные защиты от переполнения, а эти новоявленные регистры дописываются к этим проверкам и забирают секунды обработки цикла.что Вы имеете в виду под понятием "быстродеиствие"
для включения-выключения водяного насоса?
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: ModBus
Если все данные лежат в одной области (до 128 ячеек), то имеет смысл забирать данные один раз, массивом, а не генерировать обмен с каждой ячейкой в отдельности.
В любом случае изменение бита в небитовом банке состоит из следующих операций: запрос ячейки->прием данных->отправление модифицированных данных->прием подтверждения. На всё это будет тратиться время. Если управляете всеми насосами, то установку рекомендую делать в одном месте, посылая сразу слово, а не модифицируя отдельные биты.
В любом случае изменение бита в небитовом банке состоит из следующих операций: запрос ячейки->прием данных->отправление модифицированных данных->прием подтверждения. На всё это будет тратиться время. Если управляете всеми насосами, то установку рекомендую делать в одном месте, посылая сразу слово, а не модифицируя отдельные биты.
-
- beginner
- Сообщения: 42
- Зарегистрирован: 20 окт 2012, 08:04
- Версия LabVIEW: 11
- Контактная информация:
Re: ModBus
Как раз-таки отдельные и нужно модифицировать, допустим мне же не нужно включать все насосы сразу, а хотелось бы по отдельности. Это и хочется реализовать через ModBus.Если все данные лежат в одной области (до 128 ячеек), то имеет смысл забирать данные один раз, массивом, а не генерировать обмен с каждой ячейкой в отдельности.
В любом случае изменение бита в небитовом банке состоит из следующих операций: запрос ячейки->прием данных->отправление модифицированных данных->прием подтверждения. На всё это будет тратиться время. Если управляете всеми насосами, то установку рекомендую делать в одном месте, посылая сразу слово, а не модифицируя отдельные биты.
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 8 раз
- Поблагодарили: 10 раз
- Контактная информация:
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: ModBus
Хорошо было бы маленькую блок-схему с конфигурацией железа,
увидеть, а то ничего не понятно какая система, сосредоточемнная
или рассредоточеная и вообще, что это за ПЛК, и зачем, собственно,
нужен ModBus.
Тогда легче будет чем то помочь.
Пока по теме ПЛК и Labview можете посмотреть в форуме здесь:
http://www.labviewportal.org/viewtopic. ... 541#p43928
увидеть, а то ничего не понятно какая система, сосредоточемнная
или рассредоточеная и вообще, что это за ПЛК, и зачем, собственно,
нужен ModBus.
Тогда легче будет чем то помочь.
Пока по теме ПЛК и Labview можете посмотреть в форуме здесь:
http://www.labviewportal.org/viewtopic. ... 541#p43928
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: ModBus
У вас есть слово, управляющее насосами. В конце цикла вы принимаете решение, какие насосы включать, какие- нет, формируете слово управления и записываете его в ПЛК. Вот о чем речь.
-
- beginner
- Сообщения: 42
- Зарегистрирован: 20 окт 2012, 08:04
- Версия LabVIEW: 11
- Контактная информация:
Re: ModBus
Разобрался, спасибо всем за внимание!
А модбас нужен потому что, у меня ПЛК Mitsubishii System Q и кроме как по модбасу связаться с ним не могу, не имею просто других драйверов для коммуникации на ПК и ПЛК
А модбас нужен потому что, у меня ПЛК Mitsubishii System Q и кроме как по модбасу связаться с ним не могу, не имею просто других драйверов для коммуникации на ПК и ПЛК
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: ModBus
Если это имеет отношение к LabVIEW, то у NI есть бесплатный тулкит-реализация Modbus протокола. Ставьте, смотрите, там все по стандарту.
- Di3el
- beginner
- Сообщения: 45
- Зарегистрирован: 18 дек 2012, 17:28
- Версия LabVIEW: 11
- Откуда: Российская Федерация
- Контактная информация:
Re: ModBus
Всем доброе время суток! Реализую опрос прибора для мониторинга качества электроэнергии РМ175 Satec. И что то все четно, не получается=/ с реализацией Modbus RTU в не знаю разобрался или нет. Помогите в сложившейся ситуации.
Если у кого то есть примеры реализованных программ с протоколом Modbus. Стандартные примеры что то мне не вкатили Спасибо!
Если у кого то есть примеры реализованных программ с протоколом Modbus. Стандартные примеры что то мне не вкатили Спасибо!
- Вложения
-
- PM175.vi
- (13.36 КБ) 396 скачиваний
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: ModBus
СНАЧАЛА открываете соединение, до вхождения в цикл, а потом уже мониторите. При выходе закрываете соединение. И почему адрес такой большой? Случайно не обращение к 400001? тогда должно стоять вместо 40001 число 1. Обращение к input registers уже "добавляет" 400000 к адресу. Quantity должен быть ненулевой - это количество запрашиваемых ячеек
- Di3el
- beginner
- Сообщения: 45
- Зарегистрирован: 18 дек 2012, 17:28
- Версия LabVIEW: 11
- Откуда: Российская Федерация
- Контактная информация:
Re: ModBus
Вы имеете ввиду что должно типа так?
По протоколу добавляет 40001, то есть первый уже будет 40002. А почему Quantity 0? в таком случае мы ничего не считываем. разве нет?
По протоколу добавляет 40001, то есть первый уже будет 40002. А почему Quantity 0? в таком случае мы ничего не считываем. разве нет?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 19 Ответы
- 7826 Просмотры
-
Последнее сообщение Artem.spb
-
- 38 Ответы
- 13219 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 5 Ответы
- 240 Просмотры
-
Последнее сообщение IvanLis