вот это у меня в плк.
http://my-files.ru/y964hp
А в расширенном режиме интересней :-)
Как я понимаю, то выглядить должно в программе плк так.
Слейв модбас, потом указываем куда пересылать запросы (это из компьюетрных пониманий происходящего), указываем модбас мастер и в нем универсальные устройсвтва прописываем адреса устройств доступных для работы, и как кие пказания снимать у устройств ( регистр инпут модулер у меня стоит)
тут мне кажеться я прав, если нет закидайте меня и подскажите где я не прав.
А вот почитав про выравниваение приходит на ум, одно, это как согласование... мы вам шлем деньги доллары, а на сервере принимают рубли, и вот тут мне нужны 2байта, 4 байта, и 8 бит, типа обменика, но как их использовать и какие я не могу найти инфу.
Есть предположение, скорее всего я вообще все не верно понимаю, и поэтому ни кто не хочет помогать, Если да, так и скажите... Просто я на грани срыва, нет понимания. Я понял что у меня весь упор именно в это выравнивание, но ни как не могу понять как его сделать, в плане у меня есть 10 дискретников, и как с них получать данные. С ПЛК они одним пакетом идут на ОПС, если да, то получается мне нужно из этого пакета с разных ячеек выбрать отдельные данные, но какие и из каких? а если не одним, то тогда как? где это узнать. Какой то информации объясняющей подробно нет или не нашел, или не понял что это именно то что нужно но оно изложенно фиг пойми в какой форме.
начните с простых вещей, отдельно мастер, отдельно слейв, в программе транзит. А у Вас сразу желание наломать по больше дров, запихивать в мастер слейв или как Вы там сделали. Про выравнивание Вам пока рано задумываться, когда в проекте используется один регистр в слейве
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Я в модбас слейв положил модбас мастер, это уже было сделано из домыслов одной из логик как это должно работать.
Прошу Вас пожалуйста направьте.
Если выше написаное не верно, тогда спрошу какой вариант верный. Мне для понимания логики работы плк.
1. Создаем модбас мастер, в нем прописываем все доп модули. Указываем адреса, по какому протоколу работают. В этом случае в закладке PLC_PRG (при работе с языком CFC) я создаю выборочные входы прописываю их (согласно названным до этого в универсальных модулях в конфигурации ПЛК) и получаю данные о том какой контакт у меня в каком положении. Соответственно в это закладе я все вижу.
1а. Теперь мне необходимо создать модбас слейв, в нем в модбас фикс указываю протокол для связи TCP там указан порт 502, его оставляю.
1б. На сервере опс создаю устройство для связи указываю протокол связи TCP, указываю IP ПЛК и порт, в него добавляю устройство путем импорта из готовых, там есть имено мой дискретный модуль. указываю протокол для связи модбас RTU, указываю адрес 11 (это адрес одного из модулей). Запускаю сервер, подключение к ПЛК проходит нормально, дальше опрос доп модуля, и тишина.
123ф.jpg
1.JPG
___________________
Дадно, последний вопрос. как узнать опс серевер вообще опрашивает модуль или нет, что то типа команды пинг. Узнать, я вообще получаю доступ к устройству или нет, если да, то я просто получаю не верные данные и опс их не понимает, или же я просто даже устройство не вижу с ОПС.
Добрый день!
Чтобы опросить модуль, подключенный к ПЛК, с помощью ОРС-сервера, Вам нужно:
- создать подмодуль модбас мастер в конфигурации ПЛК для опроса модуля;
- создать модуль модбас слейв для передачи данных в орс-сервер;
- в программе передать значение с модуля (переменная из модбас мастер) в переменную модбас слейв.
см. проект во вложении (в конфигурации ПЛК адрес модуля для опроса укажите свой).
- далее в ОРС-сервере создаете узел для опроса ПЛК (указываете ip-адрес, порт, адрес); опрашивать Вы будете именно ПЛК, а не модуль напрямую.
- добавляете переменную для опроса; состояние входов модуля передается в виде битовой маски. Чтобы получить состояние конкретного входа, можно разбить маску на биты в ОРС-сервере. Для этого добавляете несколько переменных с одинаковым адресом регистра, но с разными номерами битов (начиная с нуля: 0 - первый вход...15 - 16й вход)
см. скриншот во вложении.
Чтобы посмотреть, идет ли обмен, в ОРС-сервере посмотрите на вкладки "Сообщения" (здесь приведена информация об ошибках) и "Запросы" (здесь - посылки по протоколу).
С уважением,
Новикова Маргарита Валериевна
Инженер по тестированию
Бюро серверного программного обеспечения