PDA

Просмотр полной версии : адреса переменных в ПР 110 и ИП 320



сергей тверь
10.07.2016, 16:47
Добрый день уважаемые форумчане. Сразу оговорюсь, что не являюсь специалистом в области программирования. Пытаюсь разобраться в работе дуэта ПР 110 и панели оператора ИП 320, а точнее в моменте который уже обсуждался на форуме, но ответов для себя я так и не нашел. Хочу управлять выходами ПР110, читать данные на входах и вводить переменные с панели. Начну с чтения, после создания выходной сетевой переменной в программе ПР ей присваивается адрес 516 (предположим), в конфигураторе на экран вывожу динамический текст который должен быть привязан к моей переменной вот с этого момента начинаются проблемы. Регистр 4 и далее окно, я предполагаю, что в этом окне необходимо ввести адрес моей переменной (516), но при попытке ввода программа меняет его на другое число, в чем дело? Хочу дать команду кнопкой 1 (с ИП 320) на включение выхода 1 (ПР110). Создал входную переменную с адресом регистра 518 какой адрес я должен ей (переменной) присвоить в конфигураторе панели и.т.д. Пересмотрел кучу примеров на форуме, но так и не смог понять как же все таки увязывать команды отдаваемые с панели с адресами переменных в пр. Буду очень благодарен за ответы или ссылку на литературу где можно найти ответы на мои вопросы.

Василий Кашуба
10.07.2016, 22:02
Добрый день уважаемые форумчане. Сразу оговорюсь, что не являюсь специалистом в области программирования. Пытаюсь разобраться в работе дуэта ПР 110 и панели оператора ИП 320, а точнее в моменте который уже обсуждался на форуме, но ответов для себя я так и не нашел. Хочу управлять выходами ПР110, читать данные на входах и вводить переменные с панели. Начну с чтения, после создания выходной сетевой переменной в программе ПР ей присваивается адрес 516 (предположим), в конфигураторе на экран вывожу динамический текст который должен быть привязан к моей переменной вот с этого момента начинаются проблемы. Регистр 4 и далее окно, я предполагаю, что в этом окне необходимо ввести адрес моей переменной (516), но при попытке ввода программа меняет его на другое число, в чем дело? Хочу дать команду кнопкой 1 (с ИП 320) на включение выхода 1 (ПР110). Создал входную переменную с адресом регистра 518 какой адрес я должен ей (переменной) присвоить в конфигураторе панели и.т.д. Пересмотрел кучу примеров на форуме, но так и не смог понять как же все таки увязывать команды отдаваемые с панели с адресами переменных в пр. Буду очень благодарен за ответы или ссылку на литературу где можно найти ответы на мои вопросы.
Напрямую, сетевыми переменными, выхода не управляются. Нужно хоть какие нибудь логические элементы поставить.

rovki
10.07.2016, 22:22
Напрямую, сетевыми переменными, выхода не управляются. Нужно хоть какие нибудь логические элементы поставить.
Или поставить сетевые переменные с другими адресами (не 0) и завести их на выходы.

сергей тверь
10.07.2016, 22:44
С этим я разобрался, между сетевой переменной и выходом стоит блок "TO BOOL". Вопрос в другом, адрес регистра этой переменной 512 (в Logic) какой адрес я должен указать при конфигурировании ИП 320 (открывающиеся вкладки в окне с надписью бит).

Сергей0308
10.07.2016, 22:50
Можно и одной переменной всеми выходами управлять, наверно правильней:

25344

сергей тверь
10.07.2016, 22:55
А какой адрес у переменной входы, выходы в Logic и панели

сергей тверь
10.07.2016, 23:01
мне важно разобраться с механизмом адресации сетевых переменных в разных устройствах (ПР и ИП). Для ПР 200 все понятно вот переменная 512 в программе и вот она же 512 при конфигурировании экрана. В случаи ПР и ИП адресация по понятному мне механизму не происходит, т.е. свою переменную 512 в ПР я должен называть как то по другому в ИП.

Сергей0308
10.07.2016, 23:13
Насколько могу знать у Вас панель мастер, пр110 не может быть мастером, так зачем ей адреса своих переменных, не будет же она их сама у себя запрашивать, а в ПР сам выбираешь из списка!

25345

сергей тверь
11.07.2016, 05:33
[QUOTE=Сергей0308;214462]Насколько могу знать у Вас панель мастер, пр110 не может быть мастером, так зачем ей адреса своих переменных, не будет же она их сама у себя запрашивать, а в ПР сам выбираешь из списка!

А какой адрес нужно указать в панеле для опроса именно этого параметра? бит будет 0, а далее именно 513 ? во всех примерах с сайта все по другому.

capzap
11.07.2016, 06:17
А какой адрес нужно указать в панеле для опроса именно этого параметра? бит будет 0, а далее именно 513 ? во всех примерах с сайта все по другому.ссылки на примеры можете дать где, как Вы считаете, по разному идет адресация

ЗЫ и если про регистр 513 Вы берете из выше выложенной картинки, то на ней такой регистр не добавлен

сергей тверь
11.07.2016, 06:35
По моему у меня появилась зацепка за ответ, цитата поста №13 http://www.owen.ru/forum/showthread.php?t=12148&page=2 (На счет панели. То что вы обводите 4х или 3х означает функцию чтения, которую должна использовать панель далее идет номер регистра в десятичном формате.

На счет ПР. для связи с ПРом вам необходимо настроить его сетевые настойки, делать это можно только при подключенном к ПК приборе. Эти настройки записываются сразу в прибор и не сохранятся в проекте. Меню "Прибор"/ "Сетевые параметры RS-485", там вы можете задать адрес прибора, скорость обмена и число стоп-битов (адрес прибора по умолчанию 16й)

на счет адресации 0х означает что числа приведены в шестнадцатеричном формате, т.е. 0х200 означает что адрес этой переменный указан в шестнадцатеричном формате и равен 200 что для ИП равно 512.
если вам необходимо записать значение в ФБ то для этого вы создаете сетевую входную переменную и связываете ее с блоком записи в ФБ(расположен на той же линейке, что и сетевые переменные, обозначен как "W"), в свойствах указываете в какой ФБ и какой параметр нужно записать.)
На сколько я понял, у панели и ПР не совпадают форматы описания адресов. Может кто нибудь подскажет как переводить из десятеричного в шестнадцатеричный формат и правильное ли направление мысли выбрано?

maximov2009
11.07.2016, 06:47
Направление правильное. Для перевода я использую онлайн калькулятор из 16 в 10 и наоборот. Наберите в поисковике.

Сергей0308
11.07.2016, 07:55
Так в винде есть калькулятор, чего не устраивает:

25346

maximov2009
11.07.2016, 08:44
Если не секрет в какой винде, и как его найти. У меня на работе стоит ХР и я такого калькулятора не видел.
С уважением.

Сергей0308
11.07.2016, 08:50
В 10 винде, такой калькулятор! В 7 и 8 не помню такой или нет!

_Mikhail
11.07.2016, 09:00
Калькулятор есть и в ХР (в настройках вида нужно выбрать инженерный) , и в 7 (нужно выбрать программист)

maximov2009
11.07.2016, 09:50
Век живи - век учись. Буду знать. Хотя в ХР конечно не так удобно.

сергей тверь
11.07.2016, 18:41
Всем огромное спасибо за участие, все получилось. Теперь я понят от куда взялась цифра 200 и далее. Дале эксперименты на железе.

сергей тверь
17.08.2016, 22:30
Уважаемые знатоки, добрый вечер. Наконец то дождался железа. С горем по полам нашел нужные шнурки для прошивки панели, загрузил все то, что навыдумывал и... ничего не произошло. Панель выдала потеря связи. Пытался играть со скоростью передачи, с адресами пр и ип, четностью и нечетностью результат = 0. В итоге все, что касалось RS 485 оставил как есть, сделал самою простую програмку с одной командой (сетевой переменной для включения входа) и одной лампочкой сигнализирующейо закрытии входа. Загрузил все это хозяйство в панель и понял, что ничего я не понял с адресацией переменных в ип и пр. Если не сложно подскажите в чем я ошибаюсь (адрес переменной на ПР 512 в ип 1298, адрес переменной на ПР 769 в ип 1897), переменная с адресом 769-лампочка, переменная с адресом 512 - команда на включение выхода.

Павел Братковский
18.08.2016, 05:38
если панель выдала потерю связи, значит регистры не правильно прописаны.....проекты кидайте, как на панель, так и на пр.

сергей тверь
18.08.2016, 07:20
Подскажите как прикрепить к сообщению вложение.

сергей тверь
18.08.2016, 07:22
2584425845
Все разобрался

сергей тверь
18.08.2016, 07:24
25846
забыл про панель

Павел Братковский
18.08.2016, 07:45
в битах введите не 1298 а 8192

сергей тверь
18.08.2016, 18:14
Если не сложно объясните как получился адрес 8192 из 512

rovki
18.08.2016, 18:29
200(16) регистр это 2000 бит ,вот 2000(16) преобразуйте в 10 код на калькуляторе .Или 512х16 =8192

сергей тверь
18.08.2016, 18:43
Спасибище, то есть любой адрес ПР я должен умножить на 16? и получаю адрес для ип ?

сергей тверь
18.08.2016, 18:53
УРА ВСЕ ЗАРАБОТАЛО, тридцатка потрачена н зря.!!!

rovki
18.08.2016, 18:59
Спасибище, то есть любой адрес ПР я должен умножить на 16? и получаю адрес для ип ?
если работаете с битоми то да ,если со словом то все один к одному

сергей тверь
18.08.2016, 20:03
Подскажите пожалуйста, а как опрашивать аналоговый вход (датчик 4-20) сли с него получаем величину с плавающей запятой.

rovki
18.08.2016, 20:16
По адресам регистров что в таблице .Только в ПР110 нет аналоговых входов .Кроме того можно всегда преобразовать флоат в инт и умножить,если нужно ,а точку передвинуть в панели

Павел Братковский
19.08.2016, 07:06
мне тоже интересно, если модуль аналогового ввода опросить панелью, можно эти регистры в пр110 запихать через панель?


Если не сложно объясните как получился адрес 8192 из 512

уже в принципе все объяснил главный по ПР-кам, книгу от Кирилла поищите на форуме или может кто скинет, там все это описано, хоть и под старый ОЛ, узнать можно много.....

сергей тверь
19.08.2016, 07:41
Я пробрел пр 114, датчики сегодня возьму с работы и попробую опросить. Книг много всяких перелопатил, но в большенстве из них все написано для специалистов в этой области коим я не являюсь. Для понимания текста необходимо знать все с азов (биты, байты, распределение памяти и т.д.), огромное спасибо rovk за очень простое объяснение что на что умножить и что куда подставить далее методом проб и ошибок с предметным изучением наиболее непонятных и интересных мне моментов.

capzap
19.08.2016, 09:30
мне тоже интересно, если модуль аналогового ввода опросить панелью, можно эти регистры в пр110 запихать через панель?

в ИП320 нет возможности транзита данных, для этого нужна СМИ1

Павел Братковский
19.08.2016, 12:28
в ИП320 нет возможности транзита данных, для этого нужна СМИ1

понятно, спасибо

rovki
19.08.2016, 16:31
В Каскаде будет транзит (шлюз) с устройства на устройства .

Tyurnikov
31.08.2016, 08:36
Добрый день знатоки!
Подскажите пожалуйста, никак не удается изменить сетевой адрес ПР110.
Все отлажено, проект работает, через ПР-МИ485 контроллер замечательно опрашивается и управляется, но проблема в том, что контроллер отвечает только по дефолтному адресу 16.
В настройках прибора в лоджике не удается изменить адрес, поле есть, ввести можно, но нет никаких кнопок сохранить. Есть кнопка прочитать из контроллера, читаешь и адрес сбрасывается на дефолт 16.
Уже по-всячески пробовал, контроллер упорно отвечает по 16 адресу.
Это проблема так как в сети будет более 10 устройств.
Прошу помощи, в мануалах и на форуме не удалось найти ответ.
Спасибо.

melky
31.08.2016, 08:55
Надо поменять адрес и записать в него программу, только тогда адрес меняется.
Если программы нет (исходника) тогда живите на 16-ом адресе.

Tyurnikov
31.08.2016, 09:21
Алилуя!
Все получилось!
Хоть бы где сказано было... даже в голову не пришло.
Спасибо огромное!

Сергей0308
31.08.2016, 09:21
Могу ошибаться, но мне кажется в 51 версии ОЛ можно было поменять адрес прибора без перезаливки программы!

Tyurnikov
31.08.2016, 09:45
У меня 1.8.62.6638 и не получается без заливки.

Сергей0308
31.08.2016, 10:37
У меня 1.8.62.6638 и не получается без заливки.

Так кого интересует, что там у Вас, Вам сказал как можно изменить адрес прибора без перезаливки программы(например нет), а что там у Вас лично меня меньше всего интересует!

26104

melky
31.08.2016, 11:18
тоже могу ошибаться, но и на 51-й без заливки программы этого сделать было нельзя.

Сергей0308
31.08.2016, 11:31
тоже могу ошибаться, но и на 51-й без заливки программы этого сделать было нельзя.

Там при заливке программы адрес не назначался, это из ОЛ делалось при подключении прибора(пункт меню: Сетевые параметры RS-485), поставьте 51 версию, займёт максимум 5 минут, а спорить неделю будем, надеюсь неделя не потребуется!

melky
31.08.2016, 12:13
Нет сейчас устройства под 51-ю версию.
На ПР200 аналогично, адрес можно изменить БЕЗ прибора в ОЛ, но запишется в прибор он ТОЛЬКО с программой.

Сергей0308
31.08.2016, 12:25
Нет сейчас устройства под 51-ю версию.
На ПР200 аналогично, адрес можно изменить БЕЗ прибора в ОЛ, но запишется в прибор он ТОЛЬКО с программой.

На ПР200 так не получится, ОЛ(51) его не поддерживает, а ПР110-114 - пожалуйста! И чтобы меню ОЛ(51) посмотреть не обязательно иметь ПР110-114, хотя пока прибор не подключен, пункт Сетевые параметры RS-485 будет неактивным!

сергей тверь
03.11.2016, 12:35
Уважаемые знатоки, месяц продолжаются мои мучения с ПР 114 и ИП 320. При Вашей поддержке я научился опрашивать и управлять входами-выходами с панели и вот приплыл к очередной проблемке. Проблема заключается в следующем: я опрашиваю аналоговый вход 10 реле (пр 114) и вывожу показания на панель (ип 320) опрос провожу по адресу 2818.ПР запитано от блока питания БП60Б. К пр подключен датчик давления 4-20 ма. 0-25 бар. При подключении по схеме приведенной в инструкции (S/S3-на минус датчика, с плюса датчика на 10 вход, между S/S3 и 10 сопротивление 50 ом) вообще ничего не происходит (показания -0 и не меняются), при подключении (+24 ПР на контакт 1 датчика, с контакта 2 датчика на вход 10 ПР, с 0V ПР на S/S3, между S/S3 и 10 сопротивление 50 ом) появляются и изменяются показания (панель оживает), но эти показания ни имеют ничего общего с правдой. Вход ПР сконфигурирован правильно (как мне кажется), в панели в разделе "отображать" ставлю разряды 3, дробные 1, режим -десятичный. Подскажите, что и где я делаю не так.

сергей тверь
03.11.2016, 12:37
На экране хочется увидеть реальное значение давления, перепробовал по моему все возможные варианты, а воз и ныне там.

Woolfy
03.11.2016, 13:59
"Минус" датчика на самом деле выход "Out" и подключается к входу 10. "Плюс" датчика подключается к цепи +24 В. Резистор между 10 и S/S3 остаётся, проводок между S/S3 и цепью -24 В тоже остаётся. Неправильным подключением вы, возможно, слегка подпортили датчик. Схема в РЭ неправильная, и для слабоподготовленного пользователя непонятная. Овен - он такой Овен...
Поправил S/S3.
Для проверки: при правильном подключении и нулевом давлении падение напряжения на резисторе будет 0,2 В.

melky
03.11.2016, 14:06
переставить регистры местами может быть... ?

Ревака Юрий
03.11.2016, 14:23
Уважаемые знатоки, месяц продолжаются мои мучения с ПР 114 и ИП 320. При Вашей поддержке я научился опрашивать и управлять входами-выходами с панели и вот приплыл к очередной проблемке. Проблема заключается в следующем: я опрашиваю аналоговый вход 10 реле (пр 114) и вывожу показания на панель (ип 320) опрос провожу по адресу 2818.ПР запитано от блока питания БП60Б. К пр подключен датчик давления 4-20 ма. 0-25 бар. При подключении по схеме приведенной в инструкции (S/S3-на минус датчика, с плюса датчика на 10 вход, между S/S3 и 10 сопротивление 50 ом) вообще ничего не происходит (показания -0 и не меняются), при подключении (+24 ПР на контакт 1 датчика, с контакта 2 датчика на вход 10 ПР, с 0V ПР на S/S3, между S/S3 и 10 сопротивление 50 ом) появляются и изменяются показания (панель оживает), но эти показания ни имеют ничего общего с правдой. Вход ПР сконфигурирован правильно (как мне кажется), в панели в разделе "отображать" ставлю разряды 3, дробные 1, режим -десятичный. Подскажите, что и где я делаю не так.

Добрый день! Можно для начала читать вход 0xB81, это регистр с целым числом, его проще настроить в Modbus, меньше вариаций, затем когда получится значение похожее на правду, можно пробовать с float. Также если есть чем подключится к ПР114 типа AC4, можно, например ModbusPool использовать для чтения и проверки нужных регистров, там много вариантов представления регистров. Вдруг из самого реле данные идут неверные. В общем я б разбил задачу на 2 части.

сергей тверь
03.11.2016, 14:39
Добрый день! Можно для начала читать вход 0xB81, это регистр с целым числом, его проще настроить в Modbus, меньше вариаций, затем когда получится значение похожее на правду, можно пробовать с float. Также если есть чем подключится к ПР114 типа AC4, можно, например ModbusPool использовать для чтения и проверки нужных регистров, там много вариантов представления регистров. Вдруг из самого реле данные идут неверные. В общем я б разбил задачу на 2 части.

Юрий, добрый день. Прочитал вход 0xB81. В статичном положении на экране 0, при начале воздействия начинаются показания. Как читать дальше и получать правду?

сергей тверь
03.11.2016, 14:44
Спасибо, датчик именно так и подключен. Читаю вход по переменной 2819, смещение точки 1, нижняя граница 0, верхняя 25. в статичном положении на экране значение 8538, при росте давления (до 0,5 бар ) значение на экране падает до 5808

сергей тверь
03.11.2016, 14:48
В панеле в разделе отображать установил (для наглядности) разряды 4, дробные 0.

Woolfy
03.11.2016, 14:50
Проверьте: на клемме 10 должен быть + относительно клеммы S/S3.

Ревака Юрий
03.11.2016, 16:09
Юрий, добрый день. Прочитал вход 0xB81. В статичном положении на экране 0, при начале воздействия начинаются показания. Как читать дальше и получать правду?

Эти показания соответствуют действительности?, допустим если давление 10,2 то в int должно читаться 102 и так далее.

Ревака Юрий
03.11.2016, 16:15
Спасибо, датчик именно так и подключен. Читаю вход по переменной 2819, смещение точки 1, нижняя граница 0, верхняя 25. в статичном положении на экране значение 8538, при росте давления (до 0,5 бар ) значение на экране падает до 5808

Если Вы считываете переменную в формате float то нужно читать 2 регистра и начинать с 2818 иначе ничего не получится.

Сергей0308
03.11.2016, 16:36
Эти показания соответствуют действительности?, допустим если давление 10,2 то в int должно читаться 102 и так далее.

Это тогда зачем:

27434

По-моему чтобы было не 10,2, а 102, верхнюю границу надо ставить не 25, а 250!
И если Вы в инте хотите выводить с одним знаком после запятой, так и следует сделать! С двумя знаками, после запятой, верхняя граница 2500! После передачи сдвинете запятую на два знака влево, т. е. разделите на 100!

Ревака Юрий
03.11.2016, 17:32
Это тогда зачем:

27434

По-моему чтобы было не 10,2, а 102, верхнюю границу надо ставить не 25, а 250!
И если Вы в инте хотите выводить с одним знаком после запятой, так и следует сделать! С двумя знаками, после запятой, верхняя граница 2500! После передачи сдвинете запятую на два знака влево, т. е. разделите на 100!

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

Сергей0308
03.11.2016, 17:53
Или так, я исходил из того что было уже настроено, главное получить адекватные числа, хотя бы в каком-то формате.

Может я и не прав, но по-моему и со смещением десятичной точки выйдет тоже самое, что я написал, так что можно по-разному сделать!

Ревака Юрий
03.11.2016, 18:15
Может я и не прав, но по-моему и со смещением десятичной точки выйдет тоже самое, что я написал, так что можно по-разному сделать!

Абсолютно правильно.