Всем привет! Хотелось бы выяснить, как пристыковать панель DELTA DOP AS-35THTD к контроллеру ПЛК110-60 по протоколу modbus RTU? Что из них должно быть master? И главное, как и какие адреса задавать в конфигурации панели для обращения к ПЛК?
Вид для печати
Всем привет! Хотелось бы выяснить, как пристыковать панель DELTA DOP AS-35THTD к контроллеру ПЛК110-60 по протоколу modbus RTU? Что из них должно быть master? И главное, как и какие адреса задавать в конфигурации панели для обращения к ПЛК?
А тестовый проектик не пожалеете потом выложить? :)
Смотрим РП на диске как организовывается ModBus Slave в контроллере.
http://www.owen.ru/uploads/rp_plk110.160.pdf
Отсюда Вы поймете и какой адрес и какие регистры.
Панель настраиваем как мастер.
Спасибо за ссылку! Буду этот мануал "курить". :) Как чего получится, так выложу на форуме здесь.
Господа - если не затруднит: сделайте таки показательный маленький примерчик связи ОВЕН ПЛК и панелей дельта.
А я помещу его в раздел примеров для начинающих.
А в архиве файл для конфигуратора панели? Не открывается.
С организацией памяти ПЛК вроде все понятно. А что указывать в параметрах конфигурации панели DOP AS-35THTD, например для объекта "прибор", какой адрес чтения? С панелью ОВЕН СП 270 таких проблем вообще не возникало.
А какая тут разница, что в ИП320, что в любой другой - адрес указывать надо. И Вы сами его задаете в конфигурации ПЛК при создании ModBus Slave. Курим мануал по ПЛК...
Я вот тут на форуме прочитал, что панели дельта работают только со словами, то бишь "общение " отдельными битами в них не предусмотрено. Это на самом деле так?
В ПЛК я выбираю модуль modbus slave, далее RS-485-1, адрес ПЛК 1. Ставлю подмодуль 2 byte. Тут ясно, адрес начинается с нуля. И далее по мере добавления подмодулей происходит автоматичекое выравнивание памяти в зависимости от типа модулей.
А В ПАНЕЛИ? Задаем в параметрах конфигурации тип связи, тип контроллера выбираем modbus slave, адрес ПЛК 1. А что вписать в поле адрес блока управления и блока состояния? При указании ПЛК modbus slave автоматом ставится начальный адрес блока управления- 40001, а блока состояния -40011.
Это правильно?
Настройки связи портов ПЛК и панели разумеется совпадают.
Например я в онлайн режиме задаю значение подэлемента 2byte, на панели у меня стрелочный индикатор должен отображать некое значение. В параметрах чтения данного индикатора выбираем BASE PORT и, надо бы задать адрес-КАКОЙ? В данном случае Screen editor позволяет назначать адрес с 40001, т.е. с начального адреса блока управления. Это верно??
Откинул дельту. Повесил СП-270. Без проблем! Появились сомнения на счет исправности порта дельты.
Все ж таки господа! Какие у кого соображения по поводу Дельты? Ради профессионального интереса хочется разобраться.
Панели DOP-B подключал к овену без проблем. Подключение аналогично СП270, только в дельте регистры в таблицу переменных записываются и в панели используются как переменные, а в СП270 напрямую регистрами оперируеш.
DOP-B нормально работает с битами, только аварии обязательно словами передавать.
У DOP-A распайка RS-485 другая, не такая как у СП или DOP-B.
Постараюсь завтра сбросить простенький проект.
Товарищи, с наглядным рабочим примером связи панелей Delta и ПЛК Овен - вопрос открыт???
Остались последние штрихи, над которыми бьюсь аж с воскресенья, и все никак не выходит. Как только разберусь, непременно сделаю пример и вышлю вам!
Да-да. Мне вскорости тоже предстоит. Пока только РЭ полисталЦитата:
вышлю вам!
Почему все таки не вяжется ?
Все уже связал! Пример почти готов! Еще задокументирую и закомментирую.. Погодите часик-другой ;)
Я это сделал! Вот обещанный и долгожданный всеми пример :)
Спасибо за пример, выложил на форуме.
http://www.owen.ru/forum/showthread.php?t=11279
А как вывести на Дельту переменные типа real, надо преобразовывать или можно отправлять как есть?
Преобразовывать в целое, можно со знаком, а потом на numeric display выставлять кол-во знаков после запятой.
Спасибо за совет. Но всё оказалось гораздо проще с ПЛК отправляем как real, а в numeric display ставим размер данных dword тип float и требуемое количество знаков после запятой.
Правда построить график с использованием переменных real я смог только через архив, но это наверно особенность панели.
Не мог бы ты выложить пример работы плк овен с графиком на панели Delta
Вопросы к автору проекта или к любому, кто не в отпуске и может помочь
Моя цель соединить ПЛК (не 110, а ПЛК-100) с панелью Weintek, а не Дельта (как в Вашем примере), однако есть общие вопросы по этому проекту:
ВОПРОСЫ:
1) на основании чего определяете адрес переменной как 40001 40001 40003 или номера битов для 8-битный переменных?
2) Панель Weintek именует переменные такими же адресами?
Прилагаемые скриншоты сделаны из вашего проекта, таргеты Codesys установлены 2.11 или 2.10 (от них тоже зависят модули Modbus, их характеристики и адреса?)
Не претендуя на истину в первой инстанции, попробую разъяснить, но если где-то окажусь неправ, не смудите строго...
Есть два понимания номера регистра Модбас. Первое связано с моделью данных, которая состоит из 4 таблиц в зависимости от вида данных, и в этих таблицах ячейки имеют номера, начинающиеся с разных префиксов9например 3 или 4. Причем нумерация внутри таблиц начинаетсч с 1, то есть самый первый элемент таблицы регистров хранения будет иметь номер ячейки 4001.
Второе понимание адреса регистров идет от того числового значения, которое передается в качестве адреса регистра непосредственно в команде. там нумерация начинается с нуля. соответственно псамый первый регистр будет иметь одрес 0.
Вот что на эту тему пишет Википедия:"Следует отметить, что со способом адресации данных связана определённая путаница. Modbus был первоначально разработан для контроллеров Modicon. В этих контроллерах для каждой из таблиц использовалась специальная нумерация. Например, первому регистру ввода соответствовал номер ячейки 30001, а первому регистру хранения — 40001. Таким образом, регистру хранения с адресом 107 в команде Modbus соответствовал регистр № 40108 контроллера. Хотя такое соответствие адресов больше не является частью стандарта, некоторые программные пакеты могут автоматически «корректировать» вводимые пользователем адреса, например, вычитая 40001 из адреса регистра хранения."
Не знаю, как Wienteck, а например Овеноские панели при конфигурировании подразумевают нумерацию регистров и битов с нуля.
Поэтому в приведенных вами скриншотах первый регистр (элемент 2 byte) соответствует адресу ячейки 4001, при условии, что такая адресация применяется в панелях Дельта. Что именно в Weinteck -не знаю, но если у вас панель живьем есть, то разобраться с этим- дело 5 минут. И еще, не забывайте про основные правила адресации регистров и битов в конфигурациях контроллеров в Кодесис, про которые я пару дней назад подробно рассказывал здесь: http://www.owen.ru/forum/showthread.php?t=13151. и не забывайте про выравнивание, чтобы не было сюрпризов.
Вот как то так.
спасибо Вам за разъяснение по поводу 40001, то есть все переменные в блоке Modbus slave будут иметь последующие порядковые номера, 40002,40003 и тд.
Но почему 8-битная переменная в комментариях автора проекта адресуется иначе? (именует как биты с № ...... по № ...)
и еще - о каком выравнивании речь, я наверное несколько подзабыл Codesys :-( ?
Ваша цитата из другой темы, адресные пространства регистров и битов накладываются... как Вы определили?
адресные регистры это 40001 и далее, а биты - логические значения дискретных входов контроллера?
Еще раз по порядку.
1. В конфигурации ПЛК два адресных пространства (адреса 16 разрядных регистров и адреса отдельных битов идут) существуют параллельно, начинаются оба с нулевого значения. то есть, если в конфигурацию слейв устройства вы сначала кладете регистр (2 byte) то у него будет адрес из пространства регистров (а именно 0), если вы следом за ним кладете еще регистр, то унего адрес будет 1 (опять же в адресном пространстве регистров). Если следом за ними вы кладете элемент для работы с битами (8 bit), то адреса отдельных битов в нем будут из адресного пространства битов, и их надо будет посчитать. Давайте посчитаем. Первый положенный нами регистр отъест в битовом адресном постранстве первые 16 адресов (с 0 по 15), второй- еще 16 адресов(с 16 по 31), и наши 8 бит будут иметь адреса с 32 по 30. что и как добавлять дальше и какие будут адреса, это отдельный разговор.
2. Адреса в конфигураторе панели. Не знаю, как у Wientek, а в панелях Овен элементы, отображающие 1 бит адресуются в конфигураторе, как 0х..адрес, где адрес указывается БИТОВЫЙ, то есть например для нашего первого бита из восьми это был бы адрес 0х32. А те элементы, которые связаны с регистрами, имеют адреса вида 4х..адрес, и являются адресами РЕГИСТРОВ., то есть два элемента, связанные с нашими регистрами, будут иметь адреса 4х0 и 4х1. Судя по катринкам из конфигуратора Wienteck там адресация такая же.
Ну а если конфигуратор панели (например Дельта) оперирует с адресами в соответствии с терминольгие компани Модикон, то там первый регистр будет иметь адрес 40001, а второй 40002.
У вас панель живьем есть или пока нет?
панель есть живьем.
кстати, Easybuilder , программа-конфигуратор для панелей Weintek имеет неплохие on-line + off-line эмуляторы.
Можно скачать на сайте ИнСат
с адресацией Weintek еще не разобрался, завтра в пути прочту, но вроде бы она не поддерживает адресацию битов, а поддерживает от 2 байт и выше.
поддерживает и биты(от 1 и выше) и регистры и слова и все остальное =)
зы: если память меня не подводит, то все должно быть как на скринах ;) надеюсь поможет)
... и еще, небыло времени ставить исибюлдер для мт8000, все должно быть идентично, не обращай внимания
... не судить строго очень торопился))) хочу отоспаться)
Подскажите можно ли в Easy Builder 8000 просмотреть адресное пространство панели, как это показано в примере Vooodooo22 на Easy Builder Pro?
я такой функции в EB-8000 не нашел.
кстати, не знаете ли про адресацию в ПР110, разбираюсь как связать с панелью Weintek:
http://www.owen.ru/forum/showpost.ph...20&postcount=6
Насколько я понял, входным и выходным переменным Вы сами задаете адреса, когда вводите их в программу, можно предположить, что если диапозон 0х1 - это входы, то диапозон 0х2 - это выходы. А вообще с помощью сетевых переменных можно отследить состояние и входов и выходов.
если кому интересно, вопрос решен,
на сайте было старое описание ПР110 без сетевого обмена
Новое выложено здесь:
http://www.owen.ru/forum/showthread....9693#post89693
Ребят, вообще то это форум ОВЕН...