ModBus

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
opkaa
beginner
beginner
Сообщения: 42
Зарегистрирован: 20 окт 2012, 08:04
Версия LabVIEW: 11
Контактная информация:

ModBus

Сообщение opkaa »

Может кто сталкивался. В :labview: через ModBus управляю насосом качающим воду между емкостями. Вопрос, можно ли как то через ModBus напрямую управлять одним битом регистра выхода микроконтроллера?( т.е. у меня есть регистр Y20 - выходной регистор ПЛК, состоящий из 16 бит) и вот можно ли как-то через ModBus напрямую обращаться к 7 биту Y20 регистра, задавая значения 1 или 0?
Пока реализовал через запись в обычный регистр ПЛК, путем постоянного сканирования дополнительного регистра, что мне не очень нравится в плане быстродействия...
Рад любым идеям!) :clap:
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: ModBus

Сообщение Borjomy_1 »

А что в остальных битах Y20 лежит?
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: ModBus

Сообщение Jakob Brontfeyn »

opkaa писал(а):Может кто сталкивался. В :labview: через ModBus управляю насосом качающим воду между емкостями.
......................................................
Пока реализовал через запись в обычный регистр ПЛК, путем постоянного сканирования дополнительного регистра, что мне не очень нравится в плане быстродействия...
Рад любым идеям!) :clap:
что Вы имеете в виду под понятием "быстродеиствие"
для включения-выключения водяного насоса?
opkaa
beginner
beginner
Сообщения: 42
Зарегистрирован: 20 окт 2012, 08:04
Версия LabVIEW: 11
Контактная информация:

Re: ModBus

Сообщение opkaa »

А что в остальных битах Y20 лежит?
Другие насосы : )
что Вы имеете в виду под понятием "быстродеиствие"
для включения-выключения водяного насоса?
Скорее цикл сканирование ПЛК этих регистров, потому что в цикле и так много проверок на уровень в емкостях и всевозможные защиты от переполнения, а эти новоявленные регистры дописываются к этим проверкам и забирают секунды обработки цикла.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: ModBus

Сообщение Borjomy_1 »

Если все данные лежат в одной области (до 128 ячеек), то имеет смысл забирать данные один раз, массивом, а не генерировать обмен с каждой ячейкой в отдельности.
В любом случае изменение бита в небитовом банке состоит из следующих операций: запрос ячейки->прием данных->отправление модифицированных данных->прием подтверждения. На всё это будет тратиться время. Если управляете всеми насосами, то установку рекомендую делать в одном месте, посылая сразу слово, а не модифицируя отдельные биты.
opkaa
beginner
beginner
Сообщения: 42
Зарегистрирован: 20 окт 2012, 08:04
Версия LabVIEW: 11
Контактная информация:

Re: ModBus

Сообщение opkaa »

Если все данные лежат в одной области (до 128 ячеек), то имеет смысл забирать данные один раз, массивом, а не генерировать обмен с каждой ячейкой в отдельности.
В любом случае изменение бита в небитовом банке состоит из следующих операций: запрос ячейки->прием данных->отправление модифицированных данных->прием подтверждения. На всё это будет тратиться время. Если управляете всеми насосами, то установку рекомендую делать в одном месте, посылая сразу слово, а не модифицируя отдельные биты.
Как раз-таки отдельные и нужно модифицировать, допустим мне же не нужно включать все насосы сразу, а хотелось бы по отдельности. Это и хочется реализовать через ModBus.
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: ModBus

Сообщение Vasiliy Baev »

А расскажите, что за ПЛК Вы используете? Возможно, использование OPC облегчит задачу.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: ModBus

Сообщение Jakob Brontfeyn »

Хорошо было бы маленькую блок-схему с конфигурацией железа,
увидеть, а то ничего не понятно какая система, сосредоточемнная
или рассредоточеная и вообще, что это за ПЛК, и зачем, собственно,
нужен ModBus.
Тогда легче будет чем то помочь.
Пока по теме ПЛК и Labview можете посмотреть в форуме здесь:
http://www.labviewportal.org/viewtopic. ... 541#p43928
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: ModBus

Сообщение Borjomy_1 »

У вас есть слово, управляющее насосами. В конце цикла вы принимаете решение, какие насосы включать, какие- нет, формируете слово управления и записываете его в ПЛК. Вот о чем речь.
opkaa
beginner
beginner
Сообщения: 42
Зарегистрирован: 20 окт 2012, 08:04
Версия LabVIEW: 11
Контактная информация:

Re: ModBus

Сообщение opkaa »

Разобрался, спасибо всем за внимание!
А модбас нужен потому что, у меня ПЛК Mitsubishii System Q и кроме как по модбасу связаться с ним не могу, не имею просто других драйверов для коммуникации :labview: на ПК и ПЛК
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: ModBus

Сообщение Chupakabra »

Если это имеет отношение к LabVIEW, то у NI есть бесплатный тулкит-реализация Modbus протокола. Ставьте, смотрите, там все по стандарту.
Аватара пользователя
Di3el
beginner
beginner
Сообщения: 45
Зарегистрирован: 18 дек 2012, 17:28
Версия LabVIEW: 11
Откуда: Российская Федерация
Контактная информация:

Re: ModBus

Сообщение Di3el »

Всем доброе время суток! Реализую опрос прибора для мониторинга качества электроэнергии РМ175 Satec. И что то все четно, не получается=/ с реализацией Modbus RTU в :labview: не знаю разобрался или нет. Помогите в сложившейся ситуации.
Изображение

Если у кого то есть примеры реализованных программ с протоколом Modbus. Стандартные примеры что то мне не вкатили :buuh: Спасибо!
Вложения
PM175.vi
(13.36 КБ) 396 скачиваний
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: ModBus

Сообщение Borjomy_1 »

СНАЧАЛА открываете соединение, до вхождения в цикл, а потом уже мониторите. При выходе закрываете соединение. И почему адрес такой большой? Случайно не обращение к 400001? тогда должно стоять вместо 40001 число 1. Обращение к input registers уже "добавляет" 400000 к адресу. Quantity должен быть ненулевой - это количество запрашиваемых ячеек
Аватара пользователя
Di3el
beginner
beginner
Сообщения: 45
Зарегистрирован: 18 дек 2012, 17:28
Версия LabVIEW: 11
Откуда: Российская Федерация
Контактная информация:

Re: ModBus

Сообщение Di3el »

Вы имеете ввиду что должно типа так?
Изображение
По протоколу добавляет 40001, то есть первый уже будет 40002. А почему Quantity 0? в таком случае мы ничего не считываем. разве нет?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: ModBus

Сообщение Borjomy_1 »

Quantity ДОЛЖЕН БЫТЬ ненулевой.
Адрес поставьте равный 1. Quantity =10 и увидите
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»