Всем выходным переменным привязанным к экрану ПР205, надо в настройках поставить Запись в конце цикла -Да.
Вид для печати
У ПР102 значения входов можно считывать напрямую через его регистры модбас , не используя сетевые переменные. Как считывать значения входов, присоединенных к нему модулей расширения ПРМ, только через сетевые?
В смысле, это и есть сетевые переменные!
Одной рукой, примерно как-то так, создаёте битовую маску входов ПРМ для передачи с помощью сетевой переменной:
Вложение 79813
Другой рукой утираете слёзы счастья!
Считывание аналоговых входов (float), которое может быть передано в сетевые переменные ПР102, ограничено 32-мя значениями, т.к. 128 байт/2= 64 регистра / 2 (float), всего 32 входных аналоговых сигнала. Начинается сетевой регистр модбас ПР102 с адреса 512, заканчивается 574. Поэтому количество сетевых переменных ограничено количеством регистров (float )32. В документации на ПР102 есть карта адресов непосредственного обращения к аналоговым входам. У ПР102 8 входов, соответственно адреса регистров с 2816 по 2830. Поэтому возник вопрос, возможно ли считывания аналоговых входов с подключенных ПРМ без использования сетевых переменных. Их и так мало
Это какой-то парадокс, в смысле, считывать значения по сети без использования сетевых переменных невозможно!
По умолчанию ПР не имеет сетевых переменных для модулей расширения!
Надо самому создавать и учитывать возможности ПР, в смысле, выше головы не прыгнешь!
В преведущем посте я показал как можно до 16 булевых переменных передать одним регистром.
Панель оператора СП307 мастер, ПР102 слэйв. Вместо промежуточной трансляции аналоговых входов сначала в сетевые модбас регистры ПР102 (512-574), а потом в панель в регистры PSW, можно в панели напрямую задавать модбас регистры ПР102 (2816-2830) все корректно считывается. Тем самым сэкономил в сетевых переменных (8 аналоговых входов), т.е. 16 регистров, которые мне нужны для другого ввода-ввода. Для ввода аналогов модулей расширения пока не вижу другой возможности, кроме как использовать сетевые переменные, отсюда мой вопрос. Передача булевых (битовых) переменных в одном регистре 16 штук вопросов не вызывает.
При резкой недостаче сетевых переменных, как в ПР200, ПР102, я бы попробовал обменивать параметры настройки в "окне" сетевых переменных, где номер "окна" хранится в отдельной переменной.
Это, конечно, не слишком просто с учётом непредсказуемости порядка опроса, но возможно.
Таким образом, выделится некоторое число параметров, передаваемых "непрерывно" - это как раз состояния входов и выходов, и настройки режимов - ввод и отображение которых происходит поочерёдно по мере смены экранов панели оператора. В скрипты экранов добавить изменение переменной номера "окна" при смене экрана.
Если позволяет ситуация и технические параметры - замените на ПР205 - там сетевых переменных несколько тысяч.
Обмен данными через "окно" - не такая уж редкость.
Недавно с оборудования, которое поступает в техобслуживание, скачал программы ПЛК и панели - несмотря на техническую возможность обоих устройств к обмену сотней параметров, настройки передаются через "окно".
Не выяснял причины такого решения, возможно, что программист воспользовался готовыми наработками по панели даже при смене ПЛК.