Просмотр полной версии : Не корректная работа ПР200 по RS485 (Что не так?)
Traveller
18.12.2023, 12:04
Не знаю было ли это уже здесь, не могу найти в завале тем, создал новую тему
В общем суть: есть шкаф автоматизации, в котором стоит ПР200, стоит в цеху, и эта ПР200 по RS-485 в режиме мастера опрашивает два модуля МВ110-32ДН и МУ110-32Р, суть этих модулей заключается в том что бы со шкафа автоматизации в операторской дублировать кнопки (МВ100) и лампочки (МУ110), все состояния упаковываются в маску, как бы все правильно работает, за исключением одной "мелочи" В общем есть в системе управления одна кнопка которая имеет нормально замкнутый контакт, соответственно ПР200 это состояние считывает из маски разумеется и как бы даже если МВ110 находится в выключенном состоянии и я включаю ПР200, то ПР-ка сразу видит это и выдает нужный статус работы, т.е. она видит что контакт разомкнут ибо там все по нулям, но вся засада состоит в том что если МВ110 будет включено первее ПР200, то все как бы будет работать как нужно, т.е. если я нажму кнопку на МВ110, то ПР-ка это состояние считает корректно, но стоит мне просто выключить МВ110, ПР200 почему то будет считывать эту маску так что как будто ничего не произошло, т.е. эта кнопка как бы будет в нажатом состоянии, хотя реально МВ100 выключена физически. Это правильно, или я что то делаю не так?
https://owen.ru/forum/attachment.php?attachmentid=72445&stc=1&d=1702890149
Формально - правильно. При сбое связи с модулем ПРка использует ПОСЛЕДНЕЕ считанное значение.
Тебе нужно в твоей программе сделать контроль ошибок связи. Для этого в в ПРке в настройках Прибора там, где ты опрашиваешь модуль, добавь переменную в Статус и отслеживай её: если она =1 - то связь с прибором (модулем) в порядке. Если =0 - то прибор (модель) не на связи. Тогда тебе надо обнулить то, что ты с него считываешь.
72447 (из моей статьи: https://cs-cs.net/owen-pr100-pr102-pr200-pt3-owenlogic-programming-modbus#3__modbus)
...в общем, нужна культура кода в плане того, что если что-то читается извне - то нужен контроль ошибок. Как раз по ссылке у меня про это подробно рассказано.
Не знаю было ли это уже здесь, не могу найти в завале тем, создал новую тему
В общем суть: есть шкаф автоматизации, в котором стоит ПР200, стоит в цеху, и эта ПР200 по RS-485 в режиме мастера опрашивает два модуля МВ110-32ДН и МУ110-32Р, суть этих модулей заключается в том что бы со шкафа автоматизации в операторской дублировать кнопки (МВ100) и лампочки (МУ110), все состояния упаковываются в маску, как бы все правильно работает, за исключением одной "мелочи" В общем есть в системе управления одна кнопка которая имеет нормально замкнутый контакт, соответственно ПР200 это состояние считывает из маски разумеется и как бы даже если МВ110 находится в выключенном состоянии и я включаю ПР200, то ПР-ка сразу видит это и выдает нужный статус работы, т.е. она видит что контакт разомкнут ибо там все по нулям, но вся засада состоит в том что если МВ110 будет включено первее ПР200, то все как бы будет работать как нужно, т.е. если я нажму кнопку на МВ110, то ПР-ка это состояние считает корректно, но стоит мне просто выключить МВ110, ПР200 почему то будет считывать эту маску так что как будто ничего не произошло, т.е. эта кнопка как бы будет в нажатом состоянии, хотя реально МВ100 выключена физически. Это правильно, или я что то делаю не так?
https://owen.ru/forum/attachment.php?attachmentid=72445&stc=1&d=1702890149
просто выключить МВ110, ПР200 почему то будет считывать эту маску так что как будто ничего не произошло,
Если выключили, то ничего считывать не будет - физически не возможно. А будет сброшен соответствующий статус
72448
В программе нужно контролировать статус связи и если связи нет принимать решение о не верном значении кнопки.
Traveller
18.12.2023, 12:48
Формально - правильно. При сбое связи с модулем ПРка использует ПОСЛЕДНЕЕ считанное значение.
Тебе нужно в твоей программе сделать контроль ошибок связи. Для этого в в ПРке в настройках Прибора там, где ты опрашиваешь модуль, добавь переменную в Статус и отслеживай её: если она =1 - то связь с прибором (модулем) в порядке. Если =0 - то прибор (модель) не на связи. Тогда тебе надо обнулить то, что ты с него считываешь.
72447 (из моей статьи: https://cs-cs.net/owen-pr100-pr102-pr200-pt3-owenlogic-programming-modbus#3__modbus)
...в общем, нужна культура кода в плане того, что если что-то читается извне - то нужен контроль ошибок. Как раз по ссылке у меня про это подробно рассказано.
Ок! Спасибо, это то что нужно!
Полагаю я правильно вас понял?
https://owen.ru/forum/attachment.php?attachmentid=72449&stc=1&d=1702893436
Ок! Спасибо, это то что нужно, но я не великий специалист, я только учусь :) подскажите ламеру, там какой нить регистр прописывать нужно или просто как стоит 0 так его и оставить? :) Где - регистр? В поле Статус надо создать и добавить ПЕРЕМЕННУЮ Булевого типа.
Petera прям показал, о чём идёт речь.
Traveller
18.12.2023, 12:58
Где - регистр? В поле Статус надо создать и добавить ПЕРЕМЕННУЮ Булевого типа.
Petera прям показал, о чём идёт речь.Все все! я затупил, я уже исправил свой глупый вопрос... :D
Traveller
18.12.2023, 13:01
Все получилось!
Огромное Мерси!!! :)
Сергей0308
18.12.2023, 13:11
Все получилось!
Огромное Мерси!!! :)
Что получилось то? Вам же сказали при пропадание связи состояние кнопок будет неизвестно, в смысле, будет неверно показывать состояние кнопок, даже если зададите им любое состояние!
Traveller
18.12.2023, 13:23
Что получилось то? Вам же сказали при пропадание связи состояние кнопок будет неизвестно, в смысле, будет неверно показывать состояние кнопок, даже если зададите им любое состояние!
Все получилось, теперь все работает как надо! Связь рвется, все по нулям как и должно быть! :)
Сергей0308
18.12.2023, 13:26
Все получилось, теперь все работает как надо! Связь рвется, все по нулям как и должно быть! :)
Так может там кнопки какие замкнулись, в смысле, Вас не интересует реальное состояние кнопок?
Короче, мне кажется при пропадании связи ничего не надо сбрасывать, может связь быстро восстановится!
Написать потеря связи, последнее состояние кнопок у Вас и будет висеть!
Traveller
18.12.2023, 13:34
Так может там кнопки какие замкнулись, в смысле, Вас не интересует реальное состояние кнопок?
Короче, мне кажется при пропадании связи ничего не надо сбрасывать, может связь быстро восстановится!
Написать потеря связи, последнее состояние кнопок у Вас и будет висеть!Там только одна нормально замкнутая кнопка аварийной остановки ее статус и должен быть всегда замкнут, все остальные кнопки , это нажал / отжал, хранить их состояние не нужно, так что все Ок!
По-моему, при обрыве связи нужно не статус кнопок обнулять, а выводить соответствующее сообщение или, хотя бы, светодиодом мигать
Traveller
18.12.2023, 14:25
По-моему, при обрыве связи нужно не статус кнопок обнулять, а выводить соответствующее сообщение или, хотя бы, светодиодом мигатьВы правы, но это уже детали, которые нужно подумать как лучше осуществить, либо пусть лампа аварийной остановки мигает, либо на дисплей вывести, либо еще чё нить, но этим я займусь позже... :)
Хотя в принципе тут делов на 1 минуту :) :
https://owen.ru/forum/attachment.php?attachmentid=72453&stc=1&d=1702899133
Сергей0308
18.12.2023, 14:35
Вы правы, но это уже детали, которые нужно подумать как лучше осуществить, либо пусть лампа аварийной остановки мигает, либо на дисплей вывести, либо еще чё нить, но этим я займусь позже... :)
Хотя в принципе тут делов на 1 минуту :) :
https://owen.ru/forum/attachment.php?attachmentid=72453&stc=1&d=1702899133
Уговорили?
Traveller
18.12.2023, 14:44
Уговорили?
Ну не то что бы уговорили, все равно пропажа связи, это уже авария, просто мигание, это что бы мы понимали что случилось, а так там еще полно всякой фигни которую нужно показывать, но которая к этой линии связи отношения не имеет, не, я конечно могу все это и на внешний дисплей забодяжить, что бы как гриться "код ошибки", но это нужно дальше на другую ПРку передавать, в общем путь удлиняется, да и не к чему это, да и линии просто так рваться с чего бы вдруг? тут просто мастерам и операторам нужно обозначить, когда они процесс запускают, что бы не забыли в операторской другой шкафчик с модулями ввода-вывода включить... :)
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot