Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Тем, что вы не вникаете в то, что я пишу.
Именно то решение, что Вы предлагаете - уже применено! Именно с его помощью в Slave и диагностируется обрыв.
А в Master я диагностирую по переменной с привязкой к аппаратной части - в окне настройки Master. И вот эта переменная ведёт себя не так, как я представляю.
Да, я могу и из Slave (ПР205) отправлять в Master секунды (heartbeat) и там диагностировать так же, как и в Slave, но другие slave-устройства (ПЧВ, ТРМ) останутся без диагностики.
Я не против бороться с помехами, но для начала хочу понять, что исправить в моём "индусском" коде.
Помехами будут заниматься другие люди и их работа - их личная боль.
Всё что вам надо, любая переменная из слейва, которая меняется постоянно типа Float, и используете её вместо секунд в том же виде с таймером. 1 Определение связи слейва.jpg
Как только изменение остановится (оборвётся связь), не будет сигнала сравнения.
На скрине, умножение на 1000, чтобы реагировало даже на изменение тысячных
Последний раз редактировалось kondor3000; 27.08.2025 в 10:33.
А как пользоваться с переменной "наличие связи по Modbus" к которой привязываются в окне настройки Master?
Это не праздное любопытство, т.к. при связи с ПЧВ (или ТРМ или другим slave-устройством) опять вернусь к диагностике от аппаратной переменной.
А напомню - вчера вечером оператор сбрасывал ошибку связи только на Master ПР205 с аппаратной диагностикой, но не сбрасывал на Slave ПР205 с диагностикой по изменению входящего числа.
Поэтому я и усомнился в корректности этой аппаратной переменной или в неправильном её использовании.
Не знаю сюда ли я пишу, но раз это фичи и баги, значит сюда
Сейчас допиливаю один небольшой проектик, и в общем когда то давно использовал макрос fSave из базы данных OwenLogic, в принципе в старом проекте он работал нормально, ну я делаю копипаст из одного проекта в другой новый и вроде бы он тоже как бы работает в программе и как бы все делает правильно, но порой примерно 4 из 10ти раз, при включении выдает значение "Не число", которое так и висит пока не перезагрузишь контроллер, вернее может и не он выдает, а то что после него, но тем не менее... и как бы мне такая стабильность ни к чему, мне нужно что бы он всегда работал как в предыдущих проектах в 100% случаев! В общем пришлось этот макрос переделать, т.е. сделать такой же по функционалу, но предельно упрощенный и как бы все заработало, теперь работает всегда штатно!
Вот этот макрос из базы данных:
2025-08-28_105634.png
Вот этим пришлось его заменить:
2025-08-28_105847.png
Может я что то не догоняю, но тем не менее интересно, а зачем так усложнять, если можно сделать проще и это будет делать тоже самое 1 в 1?
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Ну я так в принципе тоже подумал, но с другой стороны, а что за этой базой ни кто не следит, т.е. ничего там не обновляется, как вложили туда, так и лежат там реликтовые макросы, ладно я, мне они нужны что бы принцип понять, я не гордый могу и на современный лад для себя сам переделать
, но не все же такие, сделают, а потом репу чешут, а что там не так, темы здесь развивают...
![]()
Вот такое в обоих случаях: ПР200-24.8.2.0
Новый ОЛ.JPGНовый ОЛ1.JPG
Ну, куда ж без этого :-)