Просмотр полной версии : описание области ввода-вывода для ПР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 под индексным регистром в меню адресов объекта?
Ребята ,не злоупотребляйте ,о панелях ,тем более не Овен в другом месте (курилка).С ПР разобрались и замечательно ,а все остальное можно даже в личке.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot