PDA

Просмотр полной версии : описание области ввода-вывода для ПР110?



Загнетов
30.08.2012, 19:00
Существует ли документ по описанию области сетевой памяти для ПР100,
аналогичный "Конфигурирование области ввода/вывода ПЛК. Руководство пользователя" ?


требуется для решения такого вопроса: http://www.owen.ru/forum/showpost.php?p=89620&postcount=6

Евстигнеев Максим
30.08.2012, 20:45
Не нашел текущее РЭ на прибор ПР110 на сайте.
Выкладываю РЭ тут. Обратите внимание на раздел "3.3. Сетевой интерфейс".

Загнетов
30.08.2012, 21:48
Не нашел текущее РЭ на прибор ПР110 на сайте.
Выкладываю РЭ тут. Обратите внимание на раздел "3.3. Сетевой интерфейс".

Максим, спасибо, однако пора обновить сайт.

привык к тому, что на сайте Овена самая актуальная документация, программы и прошивки, а в комплекте поставки на диске даются старые версии. и читал описание с сайта. В нем не было ни слова про modbus или сетевой обмен :-)

старое описание (39 страниц) не читать: http://www.owen.ru/uploads/re_pr110_1005.pdf

Евстигнеев Максим
30.08.2012, 23:38
Ничего не могу сказать про сайт...
Но если будут вопросы по существу, то попробую ответить. Вообще, там всё просто, Вы должны разобраться.

Загнетов
31.08.2012, 11:43
если будут вопросы по существу, то попробую ответить. Вообще, там всё просто, Вы должны разобраться.

Пока не получилось считать ничего, кроме состояний дискретных выходов ПР110.

Побитная адресация в панели Weintek устроена так:
адрес=DDDDdd , где DDDD = десятичный номер 16-битного слова , начиная с 1 (смещение) , а dd= десятичный номер бита в слове, значения 00...15

Таким образом, младший бит первого слова (в действительности - нулевого + смещение 1) адресуется как "100", а старший как "115"

Восемь дискретных выходов реле откликаются на адреса 101 ...107

Cудя по описанию ПР110, дискретные входы адресуются побитно как 0х1000..0x100B, или 16-битными словами как 0x100=(dec) 256.

Добавляем смещение 1, итого 257, то есть в панели дискретные входы реле следовало бы адресовать как
25700 ... 25712, но ПР110 не откликается на эти адреса.
В чем ошибка ?

Евгений Сергеевич
31.08.2012, 13:05
По поводу карты регистров:
1) ее можно посмотреть в самой программе OWEN Logic : меню "прибор"/"таблица адресов ModBus"
2) в документации на стр. 15

Документация лежит на сайте на странице прибора,
см. вложенные рисунки

Указанная версия 1005 это старый вариант документации на текущий момент актуальной является 1148

Загнетов
31.08.2012, 13:26
:) Переборщили Вы с чтением документации, в вейнтеке адреса бит идут по порядку с нулевого, все в соответствии с протоколом модбас, поэтому если Вам в ПР нужно прочитать 257 бит, то и в панели выбираете 1х 257, касаемо DDDDdd там не про речь идет

нумерация слов в Weintek начинается с 1, см скриншоты Easybuilder
с 0 до 15 - нумерация бита внутри слова адрес 257-го бита (если бы он был нужен) записывался бы совсем иначе.
Например адрес бита №16 = 115, а следующий №17 = 200, это принимаете ?

1х - функция битового чтения, следовательно адресация по "битовым правилам", но как применить адрес 257, если он должен заканчиваться цифрами 00...15?
если биты, то адреса от 100 и более
если слова, то адреса от 1 и более


Однако, главный вопрос: правильно ли вообще рассчитан адрес 257 (25700... 25715)?

Евгений Сергеевич
31.08.2012, 13:36
To Загнетов

не совсем понятно со смещением и нумерацией бит

судя по формату данных вы используете функцию 3х bit
т.е. считываете регистр а потом выделюете из него необходимые биты,
тогда вопрос
1)
Восемь дискретных выходов реле откликаются на адреса 101 ...107 почему начинается с 101 а не со 100?
2) если мне надо считать 1 регистр надо указывать 2 с учетом смещения?

если не привязываться к вашему панели, то должно было бы выглядеть следующим образом
для пр110 12/8:

входы прибора : рег 0х100=256 слово, биты 0-11
выходы прибора : рег 0х000=0 слово, биты 0-7
1й сет. вход прибора : рег 0х200=512 слово, биты 0-15
2й сет. вход прибора : рег 0х201=513 слово, биты 0-15
и т.д.
1й сет. выход прибора : рег 0х300=758 слово, биты 0-15
и т.д.

при обращение напрямую к биту нужно использовать битовый адрес т. для первого входа прибора 0х1000=4096 по счету бит

Загнетов
31.08.2012, 13:53
To Загнетов

не совсем понятно со смещением и нумерацией бит

судя по формату данных вы используете функцию 3х bit
т.е. считываете регистр а потом выделюете из него необходимые биты,
тогда вопрос
1) почему начинается с 101 а не со 100?
2) если мне надо считать 1 регистр надо указывать 2 с учетом смещения?

если не привязываться к вашему панели, то должно было бы выглядеть следующим образом
для пр110 12/8:

входы прибора : рег 0х100=256 слово, биты 0-11
выходы прибора : рег 0х000=0 слово, биты 0-7
1й сет. вход прибора : рег 0х200=512 слово, биты 0-15
2й сет. вход прибора : рег 0х201=513 слово, биты 0-15
и т.д.
1й сет. выход прибора : рег 0х300=758 слово, биты 0-15
и т.д.

при обращение напрямую к биту нужно использовать битовый адрес т. для первого входа прибора 0х1000=4096 по счету бит

так и делаю, а 257 вместо 256 из за особенностей адресации в панели Weintek -
самое младшее слово памяти адресуется не нулем, а 1, следовательно все адреса слов смещены на +1

адрес бита DDDDD dd
состоит из адреса слова=DDDDD
и dd=местоположения бита в слове

таким образом, дискретный выход Q1 адресуется как 100 ( DDDDD=1 dd=0);
а Q2 как 101 (DDDDD=1 dd=1)
...
восьмой (Q8) как 107 (DDDDD=0+1 dd=7)

- как я и писал изначально - с чтением дискретных выходов проблем нет,
а входы и прочие переменные прочесть не удается, нет ответа.

может применить сканер портов modbus, какой посоветуете?

Загнетов
31.08.2012, 14:27
[B]
при обращение напрямую к биту нужно использовать битовый адрес т. для первого входа прибора 0х1000=4096 по счету бит


нет в панели таких адресов битов, не может он заканчиваться на "96", так как адрес бита состоит из адреса слова DDDDD, к которому добавлены 2 цифры dd- позиция бита в слове

Загнетов
31.08.2012, 16:22
полный бред, почти во всем
такого адреса несуществует в ПР и вот моя картинка вейнтека, адресация у меня с нуля начинается :D

насчет бреда прошу вас полегче, уважайте пессателей и четателей форума.

а что за программу в составе EB8000 вы отобразили?
http://www.owen.ru/forum/attachment.php?attachmentid=6849&d=1346411682
в каком меню ее найти?

какую версию используете?

буду признателен, если сможете выложить пример чтения этого 4096 бита для Weintek и ПР110. спасибо

Загнетов
31.08.2012, 17:18
в билдере выбираете меню Вид --> стаите галку напротив пункта Адресная сетка и с левой стороны где список окон, должна появиться вкладка с адресным пространством локальной панели и всех добавленных устройств
По поводу бреда, не заставитеследущий 17 бит будет 116, а даже если в Вашей интерпретации с нелепым добавлением в адрес еще двух знакомест, хотябы 201, но не как 200
И много еще предрасудков по поводу организации обмена по протоколу


PS: сетевой обмен уже наладил, работает.
Выяснил причину - про запас указал на индикаторах ближайшие +- адреса 255, 256,257. Так как некоторые из них не обслуживаются slave устройством, то панель (мастер) не получив ответа постоянно перезапрашивает, от этого почти "виснет", медленно обновляет даже корректные работающие индикаторы, а часть из них даже не успевает прорисовывать на экране, не выводит даже рамок и контуров динамических объектов.

Итак, правильный диагноз - при обращении с панели Weintek 8070 (ms) к дискретным входам реле ПР110 (sl) следует читать слово по адресу 257 (0x100=256 + смещение 1 для Weintek) или отдельные биты по адресам от 25700 и до 25711.
Чуть позже выложу пример проекта.

Спасибо Евстигнееву Максиму и его коллеге-инженеру за поддержку, спасибо вам за участие.

PS: в меню EB не нашел адресной сетки, см фото;
какой номер версии Easybuilder-8000 вы используете?
Знаю, что меню отличается для разных моделй HMI Weintek
Для какой панели был ваш проект?

Загнетов
31.08.2012, 18:08
v4.62 Build 2012.06.21

а у меня версия 4.42, придется обновить :-)
посмотрим, что изменилось с адресацией.

PS: отладил обмен ПР110 и панели Weintek, выкладываю

Загнетов
03.09.2012, 17:57
:) Переборщили Вы с чтением документации, в вейнтеке адреса бит идут по порядку с нулевого, все в соответствии с протоколом модбас, поэтому если Вам в ПР нужно прочитать 257 бит, то и в панели выбираете 1х 257, касаемо DDDDdd там речь идет совершенно про другое


capzap, я с этим разобрался.
если использовать в Weintek протокол Modbus RTU, то вынужден всякий раз к адресу байта добавлять смещение +1, тк они начинаются с № 1.
Биты адресуются с 00 до 15;

но стоит только перейти на Modbus RTU Zero Based Adr. и можно забыть про неудобное смещение, байты адресуются от нулевого адреса, биты без изменений.

Загнетов
03.09.2012, 18:46
Я бы еще предложил отказаться от ереси вроде писать/читать биты в области памяти регистров хранения, раз производитель рекомендует к битам обращаться 1 и 15 функцией, а к словам 3 и 16, то их и надо использовать

то есть:
читать бит ф1
писать бит ф15
читать слово ф3
писать слово ф15,
я правильно понял?
---------------------------
почему сложился избыток функций?



я еще не разобрался с тем, что такое область памяти регистров хранения - она только для чтения без права записи?

и если знаете, просветите пож. , что имеют в виду в Weinteke под индексным регистром в меню адресов объекта?

rovki
03.09.2012, 19:30
Ребята ,не злоупотребляйте ,о панелях ,тем более не Овен в другом месте (курилка).С ПР разобрались и замечательно ,а все остальное можно даже в личке.