И что у Вас на приборе уставка менялась? Если работает, то пользуйтесь, хотя согласно РЭ это невозможно:
Вложение 23947
Вид для печати
И что у Вас на приборе уставка менялась? Если работает, то пользуйтесь, хотя согласно РЭ это невозможно:
Вложение 23947
Так никто не управлял другими устройствами ОВЕН по Modbus ПР200 в режиме Master? Печально...
Управлял ,считывал показания с датчика влажности и температуры ,все задается в настройках и в таблице переменных для мастера .
Вот посмотрите в другой теме пример выкладывал(35 пост), там регистр пишется по событию(булевой переменной), может чем поможет:
http://www.owen.ru/forum/showthread.php?t=22925&page=4
Посмотрел пример. Если можно, несколько "дурацких" вопросов :
1. Зачем нужны Var1-2?
2. Насколько я понял читается уставка по первому каналу из 5 регистра ТРМ. Где задается адрес самого ТРМ на Modbus.
3. Что такое "обратная связь", обозначенная на схеме стрелкой.
Простите за наивные вопросы. Я не сталкивался ранее с FBD. Программировал на ST и SFC в среде IsaGraf. Но для "домашней" прикладной задачи наши ПЛК слишком избыточны и дороги. А освоить хочется побыстрее. Заранее благодарю за ответ.
Большое спасибо. Битовым flag можно стробировать изменение. А опрос и запись регистра Modbus выполняется, в этом примере каждый цикл выполнения программы?
То есть цикл начнется с чтения и закончится записью сетевой переменной по Modbus? И сетевой обмен будет включен во время цикла программы?
Огромное спасибо! Не доходил! А чтение в Вашем примере чем стробируется? Постепенно приходит понимание. :-)
Большое спасибо. Интересен Ваш пример. Чтение по событию или с периодом? А насчет документации, то например про обратную связь в описании не нашел, только упоминания. Пришлось догадаться, что это задержка сигнала на такт. На примерах быстрее и качественнее образовываться получается. Извините, если надоедаю глупыми вопросами. Надеюсь, они со временем "поумнеют". Описание Owen Logic я читал, но там ДАЛЕКО не все. А справка вообще крайне скупая.
Извиняюсь! Про чтение вопрос снимаю - нашел. Еще раз спасибо!
Ну вот. Вопрос снял, а он как по команде тут же опять поднялся. :-))) Если везде стоит "не выбрано", то чтение будет проходить с интервалом, определенным вверху 100ms, или вообще не будет проходить? И если выбрано какое-то событие для чтения, то интервал вверху игнорируется? И еще вверху стоит "опрос" и можно выбрать условие и справа "запуск чтения" и тоже можно выбрать условие. Как они связаны? Заранее благодарю за ответ.
Добрый день. Соединил ПР200(мастер) и ТРМ-202 (слэйв) всё читает, управляет вторым каналом.
Подскажите пожалуйста как в данной связке реализовать контроль связи? в описании ТРМ есть упоминание о modbus функция 08. но в гугле ничего понятного не нашёл.
Спасибо за ответ. Это одна из этих?
Вложение 23979
Еще раз спасибо. Мозг закипает от попыток со всем этим разобраться, но за последнее время действительно стало интересно ходить на работу ))
Может быть переменная "Опрос" включает-отключает обмен с прибором(в данном случае ТРМ202), а для единичных посылок эти переменные?
Вложение 23982
Включают-выключают запись, чтение отдельных переменных и определяют её статус(верно-неверно)!
Как в режиме slave можно контролировать связь с мастером сети. Есть ли какой-нибудь "максимальный сетевой таймаут" или какой-нибудь "статус"? Может быть объект уже давно сгорел, а мы все еще им управляем :)
Если слейв сгорел ,то мастер об этом узнает ,а самому слейву это не к чему уже ;),на то он и подчиненный .Ну или ,если хитро и очень надо погорельцу ,то в мастере организуйте посылку в слейв 1и 0 , а в слейве анализируйте есть ли смена переменной ,если нет значит и связи нет .
Поспешил обрадоваться - работала связь ПР200 (мастер) и ТРМ202(слэйв), но не смог сохранить проект в ОЛ.
Обновил ОЛ, создал новый проект с настройками мастера
Вложение 24036
Вложение 24037
теперь связь не работает и светодиод RS на ТРМ не моргает.
При этом связка мастерПР200 - ОРС на компьютере как слэйв работает нормально (перемычки в ПР-ке выставлял), и OPC мастер - слэйв ТРМ тоже работает нормально(т.е. на ТРМе RS рабочий), а вот ПР-кой опросить ТРМ не получается.
Я просто считаю что Slave должен же знать управляют им или нет. Если ПРка находилась под внешним управлением и пропала связь? Без контроля канала связи в режиме слейв можно тогда только входа использовать, выхода ну никак. Причем ОВЕН вроде бы об этом знает.
Вот навскидку из руководства МК110220.8Д(ДН).4P: "4.4 Режим «Авария» При отсутствии запросов от Мастера сети RS-485 в течение времени, заданного для всех ВЭ в одном параметре «Максимальный сетевой таймаут» (t.out), происходит перевод всех дискретных ВЭ, для которых конфигурационный параметр Log равен 0, в заранее заданное состояние, безопасное для управляемой системы...".
Если модули ввода-вывода знают о такой функции, то ПРка вроде бы как повыше уровнем будет.
ОВЕНовцы сделайте статусный сигнал, который бы контролировал запросы в режиме slave с настраиваемым таймаутом.
Тогда следующий вопрос :confused: Сетевые переменные сохраняются в энергонезависимой памяти. И тут возникает вопрос: Какая это память, какой у нее ресурс записи? Если RAM с батарейным питанием или фрам, тогда хорошо, а если это флеш или еепром, то не очень. Если организовать сетевой WDT на вскидку с шагом 0,1 сек, то ячейка с ресурсом 1 млн. умрет через сутки, так еще и запись постраничная, т.е. она помрет не одна :).
ОВЕНу: Нужны инициализационные параметры на сетевые параметры. Например, установка работала в каком-то режиме, заданном по сети. Вывели в ремонт, техобслуживание или просто выключили. Включаем через неделю ПР ... и бах все поехало как неделю назад. Не хорошо это. Или сделать галку выбора энергонезависимости сетевых параметров.
Нужно не забывать про настройку задержки ответа у ТРМ. Если на ПР200-мастер стоит 10мс, то у ТРМ ставить меньше, иначе связи не будет. Я ставлю таймаут 7мс, а у ТРМ - 3мс (там по умолчанию 10мс). Работает хорошо. К остальным показанным настройкам претензий нет, только кол-во попыток достаточно 0 или 1. Интервал между запросами у меня 2мс. У ТРМ чтобы новая настройка сети заработала надо передернуть его питание.
Безусловно системный статус наличия связи слейву нужен, приходится искусственно слать с мастера мигающ бит и его изменения трактовать как наличие связи. И дело даже не в управлении просто выходами, когда они управляются самим слейвом, а дело в том что при исчезновении связи все сетевые переменные повисают в состоянии последнего сеанса, и для корректной работы нужно их нулить при пропадании связи, в этом главная необходимость контроля связи.
Хотелось бы чтобы у слейва в настройке сети был бы критический таймаут, при превышении которого выдавался аварийный бит статуса и сетевые входы нулились сами (или переводились в указанное состояние). Сейчас это вынужденно делается самостоятельным контролем связи по мигающему биту и протаскиванием сетевых входов через нулитель, что захламляет программу.
Прошу прощения за наглость - а можно пример настройки ПР200-ТРМ202, просто я уже второй день перебираю комбинации настройки и всё никак. По вашему совету попробовал уменьшить таймаут на ТРМ и соответсвенно в настройках ТРМ-а на ПР200, результат всё тот-же: ПР200 не видит ТРМ
Не хочется покупать модуль ввода, так как надо одну переменную брать по сети и ТРМок на предприятии лишних хватает.
Зато у меня теперь пашет ПР200 с ТРМ без нареканий. Эти неопределенные поля , точнее их состояние, мне не нравились, тем более, что 0 в графе обмен его якобы запрещает. Я завёл переменную и по её единичному состоянию опрашиваю (пишу/читаю). Очень хорошо работает. И ещё. По-моему команда 6 запись наТРМ не работает. Запись идёт командой 10. И в этот регистр запись вообще запрещена.
Мастера. Можно пример вывода из программы переменной на экран с возможностью её коррекции. Как это реализуется на ПР? Заранее благодарю за ответ.
Уважаемый Capzap. Я вроде ранее экраном не интересовался. Модбас пробивал. Теперь связь работает. И благодаря Вам тоже. Какой именно пример? Я мог что-то прозевать. Заранее благодарен за Ваш ответ.
Всё же просто, легко догадаться, просто нигде не пишут об этом, потому что очевидно: если у сетевой переменной соотв флаг на запись или чтение не указан, то пишет по изменению, читает постоянно, если "0" - не исполняет, если "1" исполняет независимо он изменения. Удобно рулить этими флажками при связи с панелью оператора, чтобы слать комплекты данных согласно активному экрану, а не все. Для важных регистров, на которых базируется взаимодействие, лучше флагом поставить переменную с постоянной "1", иначе при изменении регистр пошлет, но если он не дойдет повтора посылки уже не будет.
Конкретно для ТРМ нет какого-то смысла рулить флаговыми переменными, особенно если нужно только читать, и так читает. Пишет на ТРМ конечно командой 10, это в протоколе четко написано.
Мастера. Подскажите пожалуйста, нужен ли резистор паралельно выводам* + и - при соединении аналогового выхода ПР200 (режим по умолчанию как я понял токовый 4-20мА) и аналогового входа ТРМ202, настроенного на такой же ток 4-20мА. И если нужен, то какого номинала. Заранее благодарю за ответ.
Добрый день. Алексей Геннадьевич может Вас не правильно понял. Расскажу как я понял задачу.
Если Вы имеете ввиду Rвх, нарисованное по схеме подключения токового входа ТРМ 202, то ставить ОБЯЗАТЕЛЬНО.
ТРМ 202 имеет универсальный вход. И по сути она измеряет не ток, а напряжение, которое возникает на этом шунтируещем резисторе.
Про подключение токовых датчиков (токовый выход другого прибора рассматривается как датчик) почитайте на стр 45 руководства по эксплуатации ТРМ 202. Номинал резистора 100 Ом. Он обычно идёт в комплекте 2шт.
А вообще, если у Вас ТРМ 202 и ПР 200, то увяжите их по 485 интерфейсу и все прблемы закроете. Будет и проще по соединению и точнее. У эти приборов токая возможность легко осуществима.
И если не секрет, зачем с ПР200 передавать аналоговый сигнал в ТРМ 202?
С уважением.