Последний раз редактировалось artvhm; 20.02.2015 в 12:44.
У меня такой вопрос.
Модули ввода вывода МВ110.2АС и МВ110.8А подключены к СПК207, CODESYS загружена в СПК. При этом программа предусматривает опрос и других модулей (см. изображение). Модули, находящиеся слева отображают результаты измерений верно, однако остальные модули не подключены к сети RS485, но статусы измерений у всех входов успешны. Почему так? Пользовался шаблонами Мх110.
1. Если связь с каким-либо модулем в сети пропадает, как это передать в панель СПК207? Как реализовать в CODESYS формирование ошибки связи с модулем? Предполагется ли данная реализация в библиотеке шаблонов модулей Мх110? Если нет, просьба подсказать как программно реализовать ошибку связи с модулями.
2. Как уйти от цифр (в модулях слева), если датчик отключен? Через редактор интерфейсов?
3. Увеличение скорости. К одному из входов модуля подключен термометр сопротивления. Так вот, значение температуры обновляется раз в 20-25 сек. Скорость передачи задана в настройках МodbusCom 38400. Так же и в модулях.
Так как все-таки ПРАВИЛЬНО реализовать в СПК207 ошибку связи с модулем ввода-вывода? Можно ли так, как во вложении? Или по другому это делается? Где-то эта тема обсуждалась?
Зачем он Вам? Все равно, Вы не будете брать все переменные модуля. А тогда - лишнее время ответа.
Если был пример на языке CFC, тогда было бы легче, но пример только на ST.
СПК110 + модули линейки Мх110 (32ДН/8АС/8И/16К), CDS v3.5 SP5
Последние версии таргета, библиотек etc...
Установил библиотеку Mx100 Assistant, добавил модули, привязал переменные - в общем, выполнил все стандартные манипуляции. Все запустилось, но как-то странно все работало. Все модули опрашивались без ошибок, на дискретных входах сигналы корректно обрабатывались, дискретный выход задавался, но ридбек не подтверждал на выходе наличие сигнала. Светодиоды (что светодиоды каналов дискретных выходов, что RS-485) на модулях мерцали с большим периодом, в целом, сложилось впечатление, что периодически "отваливалась" сеть.
Как бы то ни было, поэкспериментировав с периодом опроса регистров, таймаутами задержек и временем между фреймами, и не обнаружив причину таких странностей решил полностью продублировать проект, заменив только модули на стандартные из модбас либы. Все завелось и заработало с первого раза - работа нормализовалась.
Добавлю, что очень интересно будет узнать результаты эксперимента по опросу большого кол-ва модбас слейвов. А именно, через какой промежуток времени (здесь стоит сделать отступление и дать понять, что я осознаю, полученные данные таких замеров будут относительными - влияет и кол-во опрашиваемых регистров и проч настройки сети) опросится последний модуль в сети...
Последний раз редактировалось Sepsis; 03.04.2015 в 09:43.
Очень хотелось бы, чтобы в MV110_Get_Real можно было подсовывать не только массив из двух значения флоат, а тупо, через запятую эти два значения. Поясняю. Считываю с ТРМ138 каждый канал в архив из пяти значений - положение десятичной точки, значение датчика трёхзначное целое, флаг аварии датчика и два значения флоат, которое склеиваем MV110_Get_Real. Так вот, прежде чем конвертировать значение датчика в REAL, надо проверить, не в аварии ли датчик, т.к. ТРМ138 - странная железка - в случае ошибки датчика, на экране LLLL, а по модбасу отдает последнее верное значение.
Здравствуйте.
Настроил опрос с помощью шаблонов: Опрос.png
Версия таргета 3.5.4.20
версия Modbus COM 3.4.0.0.
Modbus Master 3.5.5.0
Пытаюсь управлять релейным выходом, но при каждом новом цикле опроса состояние выхода сбрасывается. Т.е. если подаю TRUE на первый выход, то он не включается на постоянно а щелкает на некоторое время в каждом цикле опроса.
Подскажите пожалуйста с чем это может быть связанно?