PDA

Просмотр полной версии : ПЛК73 с платой ПИ73-5 и modbus:slave



jum_kaash
06.03.2012, 15:44
Не получается читать регистры ПЛК73 через modbus.
Сигнал на входе контроллера есть.
Контроллер в режиме master посылает запросы и с компьютера я их вижу. В режиме slave на запросы не отвечает.
CRC, адрес и параметры порта проверил.

В чем может быть причина?

jum_kaash
12.03.2012, 08:15
Как выяснилось прибор не меняет стандартного адреса в сети modbus.
Не смотря на то что адрес выставлен на "1" прибор откликается только на "16".
Не фатально, но совсем не понятно.

jum_kaash
12.03.2012, 11:03
В дополнение: Копия области %Q начинается от 4182, а не как написано в РП от 4185.

Николаев Андрей
12.03.2012, 12:20
Спасибо, обязательно проверим.

Леонид
04.05.2012, 10:18
Как выяснилось прибор не меняет стандартного адреса в сети modbus.
Не смотря на то что адрес выставлен на "1" прибор откликается только на "16".
Не фатально, но совсем не понятно.

Также столкнулся с данной проблемой, как обстоит ситуация будет ли исправление ?
Есть необходимость соединить несколько ПЛК 73 со скадой по RS485.

Александр Приходько
12.05.2012, 14:23
С нечто подобным я встречался, похоже вы адрес не на том интерфейсе задаете.
Щас проверить не могу. Нет плк под рукой.

Попробуйте адрес по другому порту задавать. Если это проблему не решит, то в понедельник пишите на a.prikhodko@owen.ru

kgsh82
08.06.2012, 10:12
Прочитал эту ветку - и засомневался: закладывать ПЛК73 в проект или нет..... Контроллер был, но с ПИ73-0. Заказал ПИ73-5 - проверил. Оказалось, что порядок портов на плате и в конфигурации контроллера не совпадает. RS2 выходит на A1, B1. Соответственно RS1 на A2, B2

Николаев Андрей
09.06.2012, 11:08
В проект закладывать стоит.
Обозначение портов перепутано. Обязательно поправим. Спасибо.
Сейчас в документации точно укажем ПРОГРАММНЫЕ номера портов.

Volodai
13.09.2012, 15:48
Спасибо, обязательно проверим.

Попался мне образец, с которым связь есть, переменные ModBus были получены, но не те...
Переменные типа WORD лежат в контроллере с адреса 332 - 10 шт.
Переменные типа DWORD/FLOATP лежат в контроллере с адреса 82 через адрес и так 4 шт.
Читаю - читается, но полная чушь...
На деле выяснилось, что в таргете начиная с адреса 82 лежит STRING(16) из ветки Versions %QB0.5.2
А с адреса 330 по адрес 343 лежат настройки RS1 и RS2.
Естественно, что вместо FLOAT переменных я читаю чушь, которая падает мне в виде фрагментов строки по адресу 82, а вместо WORD переменных я получаю некоторую ENUM интерпретацию параметров RS портов.
Ну я, в принципе, перенес бы свои ячейки повыше в адресном пространстве, но где ж гарантия, что оно и там чем-нибудь не занято?

2. Сверьте руководство с реальным положением вещей, проверьте всё, что у Вас там желтым помечено и исправьте на правильную информацию, потому как эту линейку контроллеров я использую на предприятии очень активно наряду с другими контроллерами и теперь мне очень скоро (на котельной белорусской АС) понадобится ModBus c ПЛК73, который управляет процессом деаэрации воды.

Валенок
13.09.2012, 15:58
Вот тут пожёвано.
http://www.owen.ru/forum/showthread.php?t=12121

А все остальное вы сами напутали при чтении с ПЛК73

Volodai
13.09.2012, 17:45
Вот тут пожёвано.
http://www.owen.ru/forum/showthread.php?t=12121

А все остальное вы сами напутали при чтении с ПЛК73

Ну и что, извините, там разжевано? Там и близко ничего нету о том, что области памяти настроек контроллера и переменных пользователя физически пересекаются. Там всё о портах и библиотеках, а у меня с этим проблем нету. Обмен идет, пакеты принимаются верно, даже ОВЕН ОРС пишет, какие переменные он получил и какие их значения (в отладочном логе). Так вот, значения этих переменных не соответствуют тому, что CodeSys показывает в этих ячейках и что контроллер положил в них (...и что отображается в меню контроллера).
Вы думаете, что так тяжело указать правильный адрес регистра ModBus и тип переменной=количество регистров, что в этом многие совершат ошибку?
Изменение переменной в меню или средствами CodeSys не ведет к изменению переменной, выхватываемой по тому же адресу через ModBus, а это, обычно, может значить только одно, что читаются разные области.

Валенок
13.09.2012, 21:19
Сам читал с 73. Мастером был 110-32. Забил в обмен где-то с десяток word (от 332) + пара десятков real и dword (c 82). Все пучком. Пока пил чай - примерно 30000 запросов (и чтение и запись), ошибок 0 (ноль). И программно менял в 73, и через меню 73, и по сети со 110. Все чотко менялось :) Может что с железом ?

Volodai
14.09.2012, 12:22
Сам читал с 73. Мастером был 110-32. Забил в обмен где-то с десяток word (от 332) + пара десятков real и dword (c 82). Все пучком. Пока пил чай - примерно 30000 запросов (и чтение и запись), ошибок 0 (ноль). И программно менял в 73, и через меню 73, и по сети со 110. Все чотко менялось :) Может что с железом ?

Ну вот, конструктив пошел. Обмен и у меня идет прекрасно, только читается не то... К сожалению я не могу сказать, какая там версия прошивки, щиток уехал на объект, но у меня всё сделано почти так, как и у Вас, кроме того, что чтение производится с ПК через ОРС сервера разных производителей, в том числе через ОВЕН MODBUS ОРС сервер, который у меня уже работал с другими контроллерами.
Если бы я напутал что-то с чередованием байт, то у меня бы с флоатами был бы косяк, может с вордами тоже, но они по крайней мере менялись бы вместе с переменной, то есть была бы чушь, но чушь живущая по тем же законам, что и переменная внутри ПЛК, а у меня независимая жизнь...
Сейчас попробую поскриншотить и выложить на форум что возможно, к сожалению железяки нету под рукой, чтобы всё показать:
Смотрим картинку 1:
http://www.owen.ru/forum/attachment.php?attachmentid=6944&stc=1&d=1347614295
Смотрим картинку 2:
http://www.owen.ru/forum/attachment.php?attachmentid=6945&stc=1&d=1347614295
Смотрим картинку 3:
http://www.owen.ru/forum/attachment.php?attachmentid=6946&stc=1&d=1347614295
Смотрим картинку 4:
http://www.owen.ru/forum/attachment.php?attachmentid=6947&stc=1&d=1347614295
В общем-то это то, о чём я писа в своем первом посте, как видно из картинок, FIX переменные пересекаются с моими, хотя я использовал разрешенный для меня диапазон адресов.
На основе того, что я вижу сейчас на картинках, я и решил, что я читаю либо настроки RS порта, либо версию... А в руководстве ж так и сказано, что для FIX переменных адреса зафиксированы, они показываются, но менять их нельзя (конечно не дословная цитата).

Валенок
14.09.2012, 15:01
Картинки подтверждаю. Какая-то жесть.
Но, например, сделав на 332 простой оперативный счетчик, в мастере (ПЛК110) сделав сетевую переменную для рег.332 - вижу его. Меняю в мастере, меняю в панели 73-ого. Все синхронно. Несмотря на фигню с 4й картины.
Тоже самое - на RS1 мастер, на RS2 - слейв. Мона на одном ПЛК73 прогнать вполне.
Но адрес девайса для RS1 (находящийся в RS2) я меняю

Volodai
14.09.2012, 15:18
Картинки подтверждаю. Какая-то жесть.
Но, например, сделав на 332 простой оперативный счетчик, в мастере (ПЛК110) сделав сетевую переменную для рег.332 - вижу его. Меняю в мастере, меняю в панели 73-ого. Все синхронно. Несмотря на фигню с 4й картины.
Тоже самое - на RS1 мастер, на RS2 - слейв. Мона на одном ПЛК73 прогнать вполне.
Но адрес девайса для RS1 (находящийся в RS2) я меняю

Спасибо за внимание. Все вылечено! Я думал щиток уехал, но для меня его распаковали и снова подключили и вот я его домучал. Я правда точно не в курсе, что я сделал кроме того, что адреса прописал начиная с 344 и 98 соответственно. Сначала я адреса ещё повыше отправил. (400 и 200 соответственно, что совпадает с разрешенным диапазоном), после этого контроллер вообще стал виснуть на стадии прошивки, то есть не прошивался и отрубал связь (такое я видел на ПЛК154, когда DEBUG пытался использовать для MODBUS, но тут другое дело). Я его и сбрасывал по заводскому, и перегружал, и ноут перегружал, результат - тот же.
Потом я опустил адреса на 344 и 98, кроме того, увеличил минимальную длительность цикла с 1 до 10 (врядли в этом дело). Нашел и свой единственный косяк, из 10-ти WORDs один был объявлен как конфигурационный (ну, все мы люди), остальные как оперативные. и ... о чудо! Железяка весело запела в интерфейс верными цифирями, причем как FLOATs так и WORDs.
Трудно сказать, что именно помогло, но помогло... Все приходит с опытом.

aserr
18.09.2012, 11:32
Присоединяюсь к Валенок, тоже использовал регистры Модбас начиная с 332 и все работало. Вам же, скорее всего, мешало именно то, что одна переменная была объявлена как "Конфигурационная". У примерно такое же было. Только у меня из-за этого все не читались.