Энциклопедия АСУ ТП Спонсор проекта: Skip Navigation LinksЭнциклопедия АСУ ТП : 6 Контроллеры : 6.3 Устройства ввода-вывода Соспонсор:




Робот BotEyes




Промышленные контроллеры RealLab!

6.3. Устройства ввода-вывода

Устройства (модули) ввода-вывода являются интерфейсом между процессором ПЛК и реальным миром. В идеальном случае было бы желательно иметь в процессоре значения измеренных сигналов в любой момент времени. Однако поскольку количество каналов ввода-вывода в некоторых системах может достигать тысяч, а измерительные каналы всегда имеют ограниченную пропускную способность, измеренные значения поступают в процессор в дискретные моменты времени.

Существует несколько уровней и способов опроса множества каналов ввода. Современный модуль ввода имеет свой собственный микроконтроллер, который выполняет циклический опрос всех своих каналов и помещает полученные данные в буфер. Если по алгоритму работы системы автоматизации используются только несколько каналов модуля, то неиспользуемые каналы можно замаскировать (исключить их из процедуры опроса), если это требуется для увеличения быстродействия системы. При поступлении в модуль команды считывания значений со входов собранные данные передаются из буфера модуля в ПЛК, где помещаются в буфер OPC сервера или в определенную область ОЗУ.

Опрос модулей может выполняться циклически с одинаковой частотой для всех модулей, или с разной частотой. Второй вариант позволяет уменьшить загруженность шины, по которой выполняется обмен данными между модулями ввода и процессорным модулем.

Циклический опрос всех модулей с заранее заданной частотой сильно загружает шину, по которой модули ввода связываются с процессором. Это особенно очевидно, если процессор сканирует входы для обнаружения сигнала от аварийного датчика, который может сработать один раз в 10 лет, или если вводятся данные от датчика температуры в условиях, когда температура постоянна. В подобных случаях более эффективны многомастерные шины (например, CAN или Profibus), которые позволяют использовать режим подписки, при котором процессор модуля ввода, в котором произошло изменение состояния входа, является инициатором обмена данными.

Наибольшее распространение в промышленной автоматизации нашли одномастерные шины и циклический опрос (поллинг - от "polling") модулей ввода в силу своей простоты и сравнительно низкой стоимости.

Модули ввода и вывода в промышленной автоматизации имеют гальваническую изоляцию между входными (выходными) зажимами и шиной контроллера. Напряжение изоляции составляет от 2500 В (реже от 500 В) до 4000 В.

Иногда требуется выполнить одновременный опрос входов всех модулей ввода или вывести данные одновременно в каналы всех модулей вывода. Для решения этой проблемы используют широковещательные команды, которые воспринимаются всеми модулями одновременно и они выполняют ввод или вывод данных в свои буферные регистры в одно и то же время. После этого обычным циклическим опросом данные по очереди вводятся в процессорный модуль.

Модули ввода соединяются с процессором последовательной или параллельной шиной. В магистрально-модульных системах используются параллельные шины ISA, PCI, Compact PCI, PCI Express, PC/104, SpeedBus, VME и др., в модульных ПЛК - частнофирменные (нестандартные) последовательные и параллельные шины. В контроллерах с распределенными (удаленными) модулями ввода-вывода наиболее распространены последовательные шины на основе интерфейсов RS-485 и CAN.

Преимуществом параллельной шины является высокая пропускная способность, позволяющая выполнять сканирование модулей ввода с высокой частотой и использовать модули аналогового ввода с тактовой частотой АЦП до 100 кГц. Однако небольшая длина параллельной шины, ограниченная рассинхронизацией отдельных бит в передаваемом слове, не позволяет подключить к одному контроллеру более 32 модулей. Контроллеры с последовательной шиной имеют противоположные свойства. Кроме того, они позволяют организовать распределенные системы сбора данных и управления, преимущества которых обсуждались в разделе "Архитектура автоматизированной системы".

Большинство параллельных и последовательных шин контроллеров являются одномастерными, поскольку многомастерные шины существенно сложнее и дороже.

Обмен данными с модулем выполняется по адресу, который обычно записывается в ПЗУ модуля. Иногда адресом является номер слота, в который вставляется модуль или положение микропереключателя.

Цепи входов и выходов модулей ввода должны иметь гальваническую изоляцию, назначение которой подробно описано в разделе "Защита от помех". Гальваническая изоляция может быть поканальная, когда каждый канал изолирован от остальных, или групповая. Обычно используется групповая изоляция. В удаленных модулях распределенных ПЛК может быть использована индивидуальная гальваническая изоляция интерфейса RS-485 каждого модуля или групповая изоляция интерфейсов нескольких модулей с помощью одного модуля развязывающего повторителя интерфейсов. Для передачи напряжения питания в изолированную часть модуля используются DC-DC преобразователи, построенные с применением развязывающих миниатюрных трансформаторов.

Современные модули ввода-вывода могут выполнять кроме функций ввода некоторую обработку вводимой информации и дополнительные функции: компенсацию температуры холодного спая термопар, линеаризацию нелинейных датчиков, диагностику обрыва датчика, автоматическую калибровку, ПИД-регулирование, управление движением. Перенос части функций контроллера в модули ввода-вывода является современной тенденцией, направленной на увеличение степени распараллеливания задач управления, обеспечение независимости локальных модулей (которые по своим функциям приближаются к ПЛК) и уменьшение потока информации между параллельно работающими процессорами в модулях ввода-вывода. По такому принципу построены, в частности, модули RealLab! фирмы Reallab!.

6.3.1. Ввод аналоговых сигналов

Разнообразие физических явлений порождает разнообразие датчиков, для каждого из которых существует соответствующее устройство ввода. Для унификации (сокращения числа типов) модулей ввода используют устройства нормирования сигналов, которые преобразуют измеряемую физическую величину в стандартный электрический сигнал, соответствующий ГОСТ 26.011-80 и ГОСТ Р 51841-2001. Фактически в промышленной автоматизации используются следующие стандартные диапазоны аналоговых сигналов: 0...10 В, 0... ±10 В, 1...5 В и 4...20 мА, 0...20 мА. ГОСТ Р 51841-2001 не рекомендует применять диапазон 0...20 мА в новых разработках [ГОСТ]. Входное сопротивление потенциальных входов должно быть не менее 10 кОм для диапазона 0...10 В и 0... ±10 В, не менее 5 кОм для диапазона 1...5 В и не более 300 Ом для диапазона 4...20 мА.

Применение стандарта позволяет изготовить всего один тип универсального устройства ввода со стандартными диапазонами для всех типов датчиков со стандартными выходными сигналами. Однако для таких датчиков, как термопары [ГОСТ], термопреобразователи сопротивления [ГОСТ], [ГОСТ 20420-75, ГОСТ 21616-91] в силу их широкой распространенности нормирующие преобразователи встраивают в сами модули ввода. Поэтому кроме универсальных модулей ввода получили распространение специализированные модули ввода сигналов термопар, термопреобразователей сопротивления и тензорезисторов.

Структура модулей ввода

Рассмотрим типовую структуру модулей ввода аналоговых сигналов на примере серии RealLab! фирмы RealLab! [Денисенко]. На рис. 6.4 приведена структура модуля NL-4RTD серии (RealLab!), однако она является типовой и на ее примере можно рассмотреть базовые принципы построения современных модулей ввода аналоговых сигналов.

Основной частью модуля ввода является аналого-цифровой преобразователь (АЦП). Обычно используют один АЦП для ввода нескольких (обычно 8 или 16) аналоговых сигналов. Для подключения источников сигнала к АЦП используется аналоговый коммутатор на МОП-транзисторах. Ввод нескольких сигналов выполняется последовательно во времени. В случаях, когда необходим одновременный ввод, используют модули, в которых каждый канал имеет свой АЦП.

В модулях ввода обычно используют дифференциальные входы, которые позволяют выполнить более помехозащищенный канал передачи аналогового сигнала по сравнению с одиночными (не дифференциальными) входами. Некоторые модули (например, NL-8AI ) позволяют программно задавать конфигурацию входов: дифференциальные или одиночные.

Входные цепи устройств ввода принято защищать от статического электричества, от повышенного напряжения, от изменения полярности. Для защиты используют специальные микросхемы защиты, в которых активным элементом является МОП-транзисторный ключ. При повышении напряжения выше допустимого ключ запирается, предохраняя чувствительные входы от повышенного напряжения. Измерительные цепи строят таким образом, чтобы сопротивление открытого МОП ключа не вносило погрешность в результат измерения. Для этого ключ используют либо для передачи потенциала, когда ток, протекающий через открытый ключ, пренебрежимо мал, либо для передачи тока, когда информация переносится в форме тока и поэтому падение напряжения на ключе не вносит погрешность в передаваемый сигнал.

Рис. 6.4. Структура модуля NL-4RTD для ввода сигналов термопреобразователей сопротивления

Модули ввода могут иметь программно переключаемые диапазоны входных сигналов. Например, модуль NL-8TI фирмы RealLab! имеет входные диапазоны ±15 мВ, ±50 мВ, ±100 мВ, ±500 мВ, ±1 В, ±2,5 В, ±20 мА. Диапазоны измерений обычно задаются для всех входов одинаковыми. Модули NL серии RealLab! позволяют для каждого входа задавать свой диапазон измерений.

Современная элементная база позволяет строить недорогие модули аналогового ввода с погрешностью измерений ±0,05%, что еще 10 лет назад можно было реализовать только в стационарных и дорогих вольтметрах.

Для коммутации входных ключей модуля используется программа, исполняемая микроконтроллером. Эта процедура достаточно проста и для ее выполнения можно использовать микроконтроллер, входящий в состав некоторых АЦП (именно такой АЦП использован на рис. 6.4). Это позволяет уменьшить количество каналов гальванической развязки между аналоговыми входами и портом RS-485.

Микропроцессор типового модуля ввода выполняет следующие функции:

  • реализует протокол обмена с ПЛК;
  • исполняет команды, посылаемые ПЛК в модуль;
  • реализует выполнение функций автоматической калибровки, диагностики обрыва или к. з. в цепи датчика;
  • преобразует форматы вводимых данных (инженерный формат - в единицах измеряемой величины, шестнадцатеричный формат, проценты от диапазона измерений);
  • устанавливает скорость обмена с ПЛК (для ПЛК с распределенными модулями ввода-вывода);
  • выполняет цифровую фильтрацию входного сигнала (в модулях RealLab! эта операция выполняется контроллером, встроенным в АЦП).

В постоянной памяти ЭППЗУ модуля хранятся калибровочные коэффициенты, адрес модуля, программа, таблицы линеаризации нелинейных характеристик термопар и термопреобразователей сопротивления. Сторожевой таймер выполняет перезагрузку (сброс) микроконтроллера в случае его зависания.

В модуле ввода на рис. 6.4 имеются каналы вывода дискретных сигналов. Это позволяет реализовать на одном модуле ПИД-регулятор с широтно-импульсным (ШИМ) управлением исполнительным устройством.

Питание внутренних узлов модуля выполняется от внутреннего стабилизатора напряжения, который позволяет подавать внешнее напряжение питания в широком диапазоне, обычно от 10 до 30 В. Большой диапазон напряжений питания очень полезен в распределенных системах, когда модули ввода могут находиться на значительном расстоянии друг от друга и поэтому падение напряжения на сопротивлении проводов питания достигает 10...20 В.

Цепи питания модулей защищаются от неправильной полярности напряжения питания и от превышения напряжения питания над допустимым значением. Защита выполняется диодами, стабилитронами, позисторами и плавкими предохранителями.

а)

а)

Рис. 6.5. Потенциальный одиночный (а) и дифференциальный (б) вход

Для интерфейса RS-485 используется защита от статического электричества, от электромагнитных импульсов, от короткого замыкания и перегрева выходного каскада. Дополнительно в модулях RealLab! сделана защита на позисторах и стабилитронах от повышенного напряжения в линиях связи.

Команды управления модулем

Для чтения данных со входов модуля, изменения входного диапазона, частоты обмена и выполнения других функций процессор ПЛК посылает в модули команды. Команды могут иметь текстовый формат (так сделано в протоколе DCON и Modbus ASCII) или шестнадцатеричный (как, например, в протоколе Modbus RTU).

Приведем пример нескольких команд в текстовом формате.

Команда чтения данных из модуля аналогового ввода имеет вид текстовой строки

#AA[CHK](cr), где AA - адрес (от 00 до FF). Например, если модуль имеет адрес 04, то команда будет иметь вид #04. Ответ на эту команду последует в виде восьми числе, соответствующих сигналам на восьми входах модуля ввода, например >+1.2345+0.3456+0.0001+2.5000+1.2345+0.3456+0.0001+2.5000, где ">" - символ начала ответа.

Для чтения данных из канала с номером N можно использовать команду #AAN, например, #042, ответ на которую может быть получен в виде одного значения напряжения на входе модуля >+1.2345.

Для выполнения автокалибровки подается команда $AA0, где AA - адрес модуля.

Полный список команд для модулей RealLab! (их около 50 для каждого модуля) можно найти в документации на сайте Reallab!.

6.3.2. Модули ввода тока и напряжения

Потенциальный вход

Потенциальные входы модулей ввода (рис. 6.5) используются для измерения напряжений. Идеальный потенциальный вход имеет бесконечно большое сопротивление и нулевую емкость, поскольку при подключении к измеряемой цепи он не должен влиять на ее динамические или статические характеристики. В реальных условиях внутреннее сопротивление источника сигнала и сопротивление открытого ключа образуют делитель напряжения с входным сопротивлением на постоянном токе и емкостью в динамическом режиме (см. рис. 6.5-а). Поэтому полное входное сопротивление модуля ввода вносит методическую мультипликативную погрешность в результат измерения, которую всегда нужно оценивать, исходя из паспортных данных модуля. Типовыми значениями входных параметров являются , , , поэтому для обеспечения методической погрешности величиной 0,01% сопротивление источника сигнала должно быть не более . Однако, поскольку указанная погрешность не зависит от напряжения источника сигнала, ее можно скомпенсировать в контролере или модуле ввода.

Сопротивления и емкость, показанные на рис. 6.5-а, образуют фильтр низкой частоты первого порядка с постоянной времени 1,2 мкс при , , (считаем, что ), который вносит также динамическую погрешность в результат измерения. Динамическая погрешность зависит от формы входного сигнала и может быть оценена по методике, изложенной в разделе "Измерительные каналы".

а)

б)

Рис. 6.6. Токовый вход на основе одиночного (а) и дифференциального (б) потенциального входа

Для модулей с дифференциальными входами (рис. 6.5-б) оценка методической погрешности делается аналогично.

Для уменьшения погрешности следует увеличивать входные сопротивления и уменьшать емкости . Однако в схеме с дифференциальным включением увеличение и снижение ведет к росту емкостной наводки (см. раздел "Защита от помех"), а также к увеличению синфазной помехи, вызванной входными токами операционного усилителя и атмосферным электричеством. Синфазная помеха может стать настолько большой, что напряжения на входах операционного усилителя выйдут за границы динамического диапазона. Поэтому при работе с дифференциальными входами следует соблюдать правила выполнения сигнального заземления, изложенные в разделе "Защита от помех". Вывод на рис. 6.4, рис. 6.5 следует соединять с экраном кабеля источника сигнала или не соединять ни с чем.

Токовый вход

Токовые входы модулей ввода используются для ввода величины тока, например, стандартного сигнала 4...20 мА. Преобразование тока в напряжение выполняется с помощью резистора величиной 125 Ом, 250 Ом или 500 Ом, максимальное падение напряжения на котором составляет, соответственно, 2,5 В, 5 В или 10 В. Для ввода в контроллер полученного напряжения используется модуль с дифференциальным или одиночным входом (рис. 6.6). Измерительные резисторы могут быть установлены снаружи модуля ввода (на его входных клеммах) или внутри.

Измерительные резисторы могут быть прецизионными, тогда для получения точных измерений достаточно откалибровать модуль только в режиме ввода напряжений. При использовании резисторов низкой точности их погрешность можно скомпенсировать путем калибровки модуля совместно с измерительным резистором, в режиме измерения тока. Однако для этого необходимо выполнить калибровку каждого канала отдельно. Если модуль не позволяет выполнять индивидуальную калибровку каждого канала, то формулу для внесения поправок и ее коэффициенты можно сохранить в ОРС сервере или флэш-памяти ПЛК.

При использовании диапазона токов 0...20 мА ток преобразуется в напряжение по формуле , для диапазона 4...20 мА - по формуле (рис. 6.7). При этом току 4 мА соответствует выходной сигнал, равный нулю. Смещение уровня нуля на 4 мА необходимо для обеспечения возможности диагностирования обрыва в цепи датчика, см. раздел "Аппаратное резервирование".

а)

б)

Рис. 6.7. Преобразование тока в выходной сигнал для диапазона 0...20 мА (а) и 4...20 мА (б)


© RLDA Ltd. info@rlda.ru  Спонсоры проекта: , а также