PDA

Просмотр полной версии : Динамическое изменение параметров опроса МВ110-АС8



Herzog
09.09.2011, 10:23
Ситуация:
PLC работает вместе с МВ110-АС8 (далее - АС). Для этого я завел в конфигурации PLC модуль Modbus-master, в него встроил универсальный модуль modbus и в завел переменные - 8 штук оперативных значений АЦП и несколько конфигурационных для АС. Конфигурационные переменные АС у меня служат как для первоначального инициирования АС, так и проверки в ходе работы - не вылетел ли, ни сбросил ли свои параметры в заводскую установку и т.д. (пропустить сигнал аварийного уровня с АЦП чревато неприятностями).
Все работает.

Проблема в том, что скорость аппаратная опроса в 5 мсек близка к минимальной, которая мне разрешена по ТЗ. Опрашивать оперативные переменные нужно быстро. Но если параллельно с ними опрашивать и конфигурационные, то цикл опроса возрастает - а этого хотелось бы избежать. Сами же конфигурационные переменные АС опрашиваются медленнее - часть только в момент запуска, часть допускается - раз в час.
Кроме того, информация канала может меняться и хотелось бы оперативно менять подстройку переменных в фильтрах (в частности подстройку параметра подавления импульсных помех Peak). Но такая подстройка понадобится сравнительно редка, а если завести переменные, задающие параметры фильтра, то цикл опроса всего блока переменных вырастет еще больше.
Поскольку все переменные, кроме оперативных, записываются во флэш-память, то рождается ряд вопросов:
1. Как заблокировать в ходе работы PLC заданные переменные опроса? (Я попробовал завести два универсальных модуля modbus, один из которых опрашивается циклически, а другой - по изменению содержимого. Это ни привело ни к чему хорошему).
2. Как установить разные периоды опроса разных переменных modbus?
3. Каково максимальное число циклов перезаписи в энергонезависимую память МВ110-АС8?

Не совсем в тему:
Вообще, инструкция к МВ110-АС8 написана весьма неважно - запустить смог, только покопавшись в Интернете и найдя на форумах дополнительную информацию. Это ненормально, если в руководстве не написано, как установить цикл опроса или как и когда сбросить подтверждение команды Aply. Разумеется можно спросить на форумах или проверить "методом тыка" экспериментально - непонятно только, почему этого нет в РЭ на АС?
А ведь это основные вещи, без которых сконфигурировать АС невозможно.
Не детализирован безадресный опрос с адресом 0. Все АС будут выдавать одновременно данные своих каналов? в этой какофонии можно будет что-то разобрать? Или общий опрос работает только на передачу от PLC исключительно конфигурационных параметров АС?
Плохо и то, что цикл опроса АС задается величиной, непришитой к циклу PLC. Возможна ситуация, когда часть параметров будет введена в одном цикле, а остальные - в другом - если цикл опроса попадет на середину цикла PLC . Считанное значение АС в первом цикле будет неправильным, не соответствуя ни устанавливаевому, ни прежнему набору переменных.
И уже, видимо, личное неудобство - было бы желательно, чтобы конфигурировать можно было бы с PLC. Какой-нибудь стандартизированный функциональный модуль или подключаемая библиотека... Но компи у меня нет RS485-го (не дорого, но не хочется покупать переходник USB-RS485 только для конфигурирования частного случая, конкретного модуля. На объекте тоже у компи не будет 485-го), да и вообще не хочется всегда быть привязанным к компи с программой-конфигуратором АС, чтобы изменить всего лишь какую-нибудь мелочь в конфигурации.

С уважением,
Herzog

swerder
09.09.2011, 12:23
создайте свой опрос модуля с помощью библиотеки syslibcom и все вопросы типа "как сделать опрос в разное время" отпадут сами по себе. за раз опрашиваете все нужные параметры пачкой, а в плк декомпилируете. примеры в примерах и полезностях, называется нестандартные протоколы.

Herzog
12.09.2011, 12:22
создайте свой опрос модуля с помощью библиотеки syslibcomСпасибо за совет, swerder.
Разумеется, можно и так поступить.
Написать свой драйвер последоваетльного порта, наложить на него сверху драйвер Modbus (тоже самостоятельно написанный)... Можно пойти дальше и собрать самостоятельно процессор в полтора стола на ферритовых кольцах и реле.
Крутить ручку динамо... Самостоятельно.
И велосипед выдумывать. Опять же самостоятельно.
А еще можно бегать за мамонтом с каменным топором.

Все это очень хорошо и полностью удовлетворяет потребность в творчестве на уровне журнала "Юный техник".
Только вот век сейчас не тот.

Herzog

Herzog
12.09.2011, 12:35
Пачка для конфигурационных - отвалилась.Наверное аффтар заснул в процессе.Во всяком случае для AiL и AiH.Чего-то я тут совсем не понял.

А их вообще зачем раз в чаc опрашивать ? Чтение при пуске, запись по изменению. Они что, cами в процессе съезжают ?:eek:Чтобы узнать - живой ли АС.
Если он отгорел, сбросился или заглючил, я могу пропустить сигнал аварии в канале, по сравнению с которой стоимость АС - совершенный мизер.

Этот прибор вообще к ПЛК не привязан. Так же как ПЛК не привязан к конкретной задаче.АС не привязан, но цикл опроса его каналов задается именно в PLC. Причем просто в миллисекундах, несинхронизированных с циклом PLC.

Эта проблема - программиста. Возможна ситуация отключения питания в процессе - и что ?Ничего - PLC отслеживает эту ситуацию и пишет в свой протокол.

Детализирован. См.описание модбас. Причем тут АС ?Не детализирован.
Подверждение изменения конфигурационных параметров АС происходит при командой МВ110-АС8 "Aply". Точнее - передачей нуля в соответствующий регистр.
Когда у другой раз мне понадобится изменить параметры, мне нужно опять посылать ноль? и нужно ли передавать не-ноль в промежутке?
Экспериментально я уже попробовал - но почему это не написано в РЭ? Таких непрописанных случаев достаточно много. Каждый из них - мелочь, но время тратится.

Чиста любапытно. Сколько разрешено ?Опрос всех 32...40 каналов каждого устройства должен происходить за время не более секунды (человеческий фактор пользователя).
На каждый канал уходит примерно 20 мсек. С учет последовательного управления внешних коммутаторов и времени установления сигнала в каждом канале остается время опроса АЦП примерно в 7...10 мсек.
Я удовлетворил Ваше любопытство, Валенок?

С уважением,
Herzog