Прежде всего, рекомендуем вам ознакомится с первым видео данной серии, в котором мы рассказываем, что представляют собой MDS-модули в целом, для решения каких задач их следует применять, а также рассматриваем общие ключевые особенности MDS-модулей. Ссылка доступна в описании к этому видео.
В данном видео-обзоре мы рассмотрим модуль ввода - вывода дискретных сигналов MDS DIO-16BD.
MDS DIO-16BD
MDS DIO-16BD является шестнадцати-канальным дискретным модулем ввода - вывода. Ключевая его особенность и отличие от других модулей серии MDS в том, что он обеспечивает двунаправленный ввод/вывод дискретных сигналов по 16 независимым каналам. Каждый канал может быть запрограммирован пользователем как на дискретный ввод, так и на дискретный вывод. Каналы объединены в две группы по 8 штук. Группы гальванически изолированы между собой и от остальных частей модуля группы.
Применение
Благодаря наличию большого количества каналов и возможности их произвольного конфигурирования в качестве дискретных входов либо выходов, модуль MDS DIO-16BD является максимально универсальным.Функциональная структура
Модуль осуществляет ввод данных от дискретных датчиков, подключенных к каналам ввода-и передачу их в управляющее устройство (персональный компьютер или промышленный контроллер) по интерфейсу RS-485, а также вывод дискретных управляющих сигналов по командам управляющего устройства.
Функциональная структура модуля приведена на рисунке.
Индикаторы на передней панели модуля отображают состояние каналов ввода-вывода и результаты выполнения тестов самодиагностики.
Данные процессы реализуются встроенным в модуль микроконтроллером. В состав микроконтроллера входит сторожевой таймер, контролирующий ситуации «зависания» и вырабатывающий сигнал сброса микроконтроллера в таких ситуациях.
Взаимодействие управляющего устройства с модулем осуществляется по принципу «запрос»-«ответ», модуль при этом является ведомым. Команды управляющего устройства адресуются набору регистров модуля, которые полностью определяют его функционирование. Регистровая модель модуля приведена в руководстве по эксплуатации.
Управляющее устройство считывает состояние каналов ввода и устанавливает состояние каналов вывода.
Перед началом работы, необходимо cконфигурировать модуль. Для этого необходимо подключить его к персональному компьютеру по интерфейсу RS-485.
Перед подключанием на компьюетере необходимо установить специализированное программное обеспечение SetMaker. Данный процесс универсален для всех модулей НПФ "КонтрАвт" cерии MDS и был подробно показан нами в видео про конфигурирование комбинированного модуля ввода - вывода AIO-4. Ссылка находится в описании к данному видео.
Конфигурировать прибор, то есть менять его настройки можно и в процессе работы в системе, используя для этого уже прикладное программное обеспечение на управляющем устройстве .
Внешний вид
Все элементы модуля расположены на двух печатных платах. Корпус рассчитан на монтаж на DIN-рейку.
Модуль имеет индикаторы, расположенные на передней панели корпуса.
Индикатор «On» своим свечением свидетельствует о штатной работе модуля. Индикатор «Status» зажигается, если в результате самодиагностики модуль обнаруживает какую-либо нештатную ситуацию.
Режимы работы индикатора «Status» в зависимости от типа нештатной ситуации приведены в руководствах по эксплутации данных модулей.
Помимо индикаторов "On" и "Status" модуль имеет еще две группы единичных индикаторов, отображающих состояния дискретных каналов.
На передней панели модуля cверху и снизу размещены разрывные клеммные винтовые соединители для подключения внешних электрических соединений.
Входы и выходы
Все модули серии MDS имеют четыре гальванически развязанные друг от друга части. Это цепи питания, две группы входов-выходов и интерфейс RS-485.
Модуль DIO-16BD имеет 16 каналов, которые объединены в две группы по 8 каналов. Эти две группы каналов гальванически изолированы между собой и от остальных частей модуля. Внутри каждой группы каналы гальванически не развязаны.
На рисунке представлена принципиальная схема одного канала ввода-вывода. Входы и выходы каждого канала в модуле объединены и выведены на одну клемму. Пользователь может программно сконфигурировать каждый канал либо как дискретный вход либо дискретный выход.
Если пользователь конфигурирует канал как дискретный вход, то просто запирается нижний транзистор на схеме. Выхода в схеме теперь фактически нет. Состояние входа будет определяться внешним дискретным сигналом с датчика.
Вход будет переведен в состояние "включено", если ток с датчика будет в диапазоне от 0,8 до 8,5 мА, в состояние "выключено", если ток будет меньше 0,5 мА. В диапазоне тока от 0,5 до 0,8 мА будет зона неопределенности (гистерезис) и состояние входа будет зависеть от его предыдущего состояния, то есть от направления перехода в зону гистерезиса. Для корректной работы транзисторов, напряжение сигнала, подаваемого на вход, не должно превышать 35 В.
Входной канал может принимать дискретные сигналы типов: сухой контакт, «открытый коллектор» n-p-n и сигналы логических уровней. При подключении датчиков типа «открытый коллектор» и "логические уровни" также необходимо, чтобы ток утечки данных датчиков не превышал 0,5 мА.
Если пользователь конфигурирует канал как выход, то он управляет нижним транзистором и, соответственно, выходом, подавая дискретные сигналы на исполнительные устройства. В данном случае вход поключен непосредственно к выходу. Это позволяет контролировать состояние выхода в процессе работы.
Если канал модуля сконфигурирован на вывод, то для внешних цепей он представляет собой n-p-n транзистор с открытым коллектором. В качестве нагрузки дискретного выхода могут использоваться:
- гальванически-развязанные схемы управления силовыми полупроводниковыми модулями
(полупроводниковыми реле, тиристоры, симисторы);
- нагрузки постоянного тока (элементы индикации, управляющие цепи электромагнитных
реле);
- входы логических схем.
Настройка входов
Настроить каналы модуля можно на вкладке "Входы и выходы" программного обеспечения SetMaker.Прежде всего, для каждого канала пользователь должен задать направление обработки дискретных сигналов - ввод или вывод. Для этого он проставляет галочки у каждого канала в поле "Направление - как выходы". Если галочка проставлена, соотвествующий канал будет работать как выход, в противном случае - как вход. Рассмотрим сначала настройку каналов как входов дискретных сигналов. Для этого, например, снимем галочки с первых четырех каналов.
После этого пользователю необходимо установить значение постоянной времени входных цифровых антидребезговых фильтров, выполняющих роль селекторов по длительности. Сигналы, у которых длительность меньше заданной величины, регистрироваться не будут.
Пользователь выбирает желаемое время фильтра в строке "ПФ фильтра" для каждых 4-х каналов. В первом окне для каналов с первого по четвертый, во втором - с пятого по восьмой и тд. Выберем например 35 мс для наших первых четырех входных каналов.
Состояние входного канала определяется наличием тока, ток есть - вход активен, тока нет - вход не активен. Пользователь может инвертировать логику работы. Для этого используется поле "Инверсия". Если пользователь проставит в этом поле галочку, то для данного канала за активный уровень будет принимается отсутствие тока на нем.
В данный момент ко входам не подключены никакие датчики и все галочки в поле "Инверсия" убраны. Каналы разокнуты и соотвествующие индикаторы погашены.
Если мы у нескольких каналов включим инверсию, сразу же на индикаторах выше увидим как изменилось их состояние на активное. Данные индикаторы предназначены для считывания состояния каналов.
В модуле DIO-16BD, также как во всех модулях серии MDS, реализована функция синхроввода. Принцип ее работы следующий. Представим, что у нас есть несколько модулей MDS, объединенных в сеть с использованием протоколов Modbus RTU или DCON. Мы хотим знать состояние нескольких каналов ввода РАЗНЫХ модулей в один и тот же момент времени. Для этого нам необходимо их синхронно зарегистрировать.
Для этой цели в каждом модуле MDS реализован специальный восьмиразрядный регистр "Синхрововод". В протоколах Modbus RTU и DCON есть возможность широковещательной записи. Воспользовавшись ей, мы одновременно подаем команду на синхроввод РАЗНЫМ модулям. По этой команде разные модули немеделенно и одновременно считывают состояние входов в специальные регистры. Происходит как бы одномоментный снимок состояния входов разных модулей . Нам остается только считать состояние этих специальных регистров.
В модулe DIO-16BD реализован специальный механизм регистрации коротких импульсов в период между опросами. Для этого применяются регистры-защелки: регистры нулей и регистры единиц.
На рисунке в качестве примера, показана работа регистра единиц. При появлении между опросами единичного импульса, он регистрируется (каждый бит регистра-защелки устанавиливается в состояние "единица"), далее при опросе регистра происходит его считывание и затем регистр переводится исходное состояние, то есть сбрасывается.
Сброс состояния регистров- защелок осуществляется при включении питания, а также по команде "Сброс защелок" управляющего устроства кнопкой "Сброс".
Регистры-защелки нулей работают наоборот. Каждый бит регистра нулей устанавливается в состояние "единица" в момент, когда состояние соответствующего входа становится "нулем", то есть они регистрируют не появление импульсов между опросами, а их провалы.
Использование счетчиков на каналах ввода-вывода
В модуле к каждому каналу подключены два счетчика разрядностью 16 бит и 32 бита.Счет можно вести как в прямом, так и в обратном направлении, по фронту или спаду импульса. При переполнении счетчиков, выставляются флаги переполнения.
В засимости от масштабов своей задачи и частоты регистрируемых событий, пользователь может использовать тот или иной тип счетчика либо использовать оба.
Управление 16 разрядными счетчиками происходит на вкладке "Счетчики". Пользователь может включить счетчик для каждого канала ввода-вывода, сбросить его отдельной кнопкой, а также задать фронт и направление счета.
Управление 32 битными счетчиками выполняется на вкладке "Доп входы и выходы".
При отключении питания модуля значения 16-битных счетчиков, разрешения счета, а также флаги переполнения обнуляются.
Таким образом, 16 битные счетчики являются энергозависимыми. В энергонезависимой памяти сохраняются только значения регистров «Фронт счета» и «Направление счета».
32 - битные счетчики также энергозависимые за исключением счетчиков первых четырех каналов. Они сохраняют свое значение при отключении питания. Обнуление регистров 32-битных счетчиков с 1 по 4 канал осуществляется принудительно либо записью в них нулевого значения, либо командой сброса через соответствующий регистр
Настройка выходов
Рассмотрим теперь программирование каналов в качестве выходов. В нашем случае это будут каналы с 5 по 16 с проставленными галочками в поле "Направление - как выходы".Для каждого из этих каналов необходимо задать тип функции выхода, а также, при необходимости, установить дополнительные параметры.
Для этого переходим на вкладку "Доп. параметры" в программе SetMaker. В поле функция выхода выбираем один из пяти доступных типов функции выхода. Рассмотрим каждую из них.
Первая функция "Без автовозврата". Она реализует прямое управление выходами пользователем по интерфейсу. При ее выборе, пользователь может напрямую включать и выключать дискретные выходы в поле "Выходы" на вкладке "Входы и выходы"
Вторая и третья функции - функции автовозврата выходов в исходные состояния. По сути это два таймера. У одного таймера исходное состояние "включено", у другого "выключено".
Пользователь выбирает нужную ему функцию автовозврата, запускает по интерфейсу соответствующий таймер и в поле "время автовозврата" задает его длительность. Далее модуль самостоятельно, без участия управляющего устройства, производит отсчет времени таймера и, через заданный интервал времени, возвращает выход в то исходное состояние, которое было выбрано пользователем.
Последние две функции управления выходами - "Непрерывный ШИМ" и "Импульс ШИМ".
Непрерывный ШИМ представляет собой непрерывную последовательность импульсов, которую модуль гененирует самостоятельно с заданными пользователем по интерфейсу параметрами: длительностью, периодом и уставкой мощности в процентах. Применяется для управления мощностью исполнительного механизма типа «ТЭН» в ПИД-регулировании.
Одиночный импульс ШИМ применяться для управления мощностью исполнительного механизма типа «задвижка». На выходе модуля формируется одиночный импульса с длительностью и периодом, задаваемыми пользователем по интерфейсу.
В данном случае значение периода будет иметь смысл максимальной длительности импульса или времени полного хода задвижки. Импульс формируется однократно только при изменении пользователем значения длительности. Если изменение значения длительности произошло во время формирования импульса (то есть выход находился в состоянии «включено»), то импульс будет сформирован (продолжен) в соответствии новым значением длительности без изменения состояния выхода.
Управления выходами в особых ситуациях
В модулях реализовано управление выходами в особых ситуациях. Таких ситуаций две: 1. Модуль включился, но еще не получил никаких сигналов управления от управляющего устройства.2. Между модулем и управляющим устройством нарушилась связь по сети, сработал сетевой сторожевой таймер модуля. В модуле DIO-16BD реализован сетевой сторожевой таймер (watchdog), который позволяет контролировать интервал времени между «запросами» по сети к модулю. Если время между запросами превышает заданное пользователем время, то срабатывает сетевой сторожевой таймер, и ситуация рассматривается как обрыв связи по интерфейсу.
В обоих особых ситуациях поведение выходов модуля должно быть предсказуемым, то есть пользователь должен однозначно понимать какие значения у него присутствуют на каждом выходе.
Пользователь может при конфигурировании зафиксировать состояние каждого выхода при подаче питания на модуль.
Для этого используется параметр "Выходы PUP". Галочками отмечаются те выходы, которые при включении модуля сразу должны быть переведены в состояние ВКЛЮЧЕНО. В дальнейшем выход работает в соответствии с заданными настройками.
При конфигурировании, используя параметр "Выходы SAFE", пользователь отмечает те выходы, которые при обрыве связи по интерфейсу должны перейти в состояние ВКЛЮЧЕНО.
Заметим, что в обеих особых ситуациях, выходы модуля могут принимать не только предустановленные пользователем безопасные значения, о которых мы только что рассказали.
При возникновения особых ситуаций, состояния выходов сохраняются в энергонезависимой памяти модуля и могут быть восстановлены.
Если пользователь хочет зафиксировать выходы в тех состояниях, которые у них были ДО возникновения одной из двух рассмотренных особых ситуациях, он должен в соотвествующих полях выбрать вместо состояний PUP и SAFE установку текущих сохранненых значений.
Использование индикаторов
Для настройки индикаторов используется вкладка "Индикация".В первом поле "Управление индикацией" пользователь выбирает возможные режимы работы индикаторов: режим теста индикаторов, режим управления индикаторами с управляющего устройства по интерфейсу RS-485, режим индикации состояния дискретных каналов (отдельно входов, отдельно выходов, либо входов и выходов вместе).
Если пользователь выбирает в этом поле режим управления индикаторами с управляющего устройства по интерфейсу RS-485, то ниже можно настроить атрибуты конткретного индикатора. Проставляя галочки, пользователь может: включить или выключить индикатор нужно канала, включить или отключить его мерцание, а также задать характер мерцания: сихронно или в противофазе (для этого нужно включить или выключить атрибут фаза).
Дополнительные возможности модуля
Помимо перечисленных настроек, у модуля DIO-16BD есть ряд дополнительных возможностей. Большинство из них представлены на вкладке "Общие".Пользователь может определить продолжительность непрерывной работы модуля после включения питания. Для этого в модулях присутствует таймер, который после каждого включения питания запускается с нулевыми начальными условиями.
Еще одной полезной функцией является функция «моточасов», которая суммирует накопленные временные значения таймера работы модуля и отображает суммарное наработанное время модуля в сутках. Значение счетчика представлено на вкладке "Доп входы и выходы".
Как мы уже в говорили, в модуле присутствует сетевой сторожевой таймер, необходимый для остлеживания потери связи с модулем по интерфейсу RS-485. Если пользователь хочет его использовать, он должен задать время его срабатывания в поле таймаута. Если сетевой сторожевой таймер срабатывает (то есть интервал времени между опросами по интерфейсу превышает заданный таймаут), то пользователь видит это с помощью индикатора "Статус сторожевого таймера". После восстановления обмена по интерфейсу RS-485 статус таймаута не сбрасывается. Пользователь может принудительно сбросить его сам, нажав на кнопку сброса, расположенную рядом с индикатором его статуса.
Индикатор "Статус рестарта", расположенный рядом, сигнализирует пользователю о перезагрузке встроенного микроконтроллера модуля. Мы говорили в начале видео, что при зависании микроконтроллера, cрабатывает его собственный сторожевой таймер, который перезагружает микроконтроллер. Если это произошло, соответствующий сигнал будет выведен на индикатор "Статус рестарта". Статус сторожевового таймера микроконтроллера может быть сброшен пользователем кнопкой справа от индикатора.
Модуль при включении, а также в процессе работы, проводит самодиагностику на предмет обнаружения особых ситуаций, о которых мы говорили. При включении модуля, проверяется состояние встроенного микроконтроллера и сохранность содержимого энергонезависимой памяти. В процессе работы, проверяется связь модуля по RS-485. Наличие либо отсутвие ошибок самодиагностики пользователь может увидеть в поле "Статус самодиагностики".
Все модули серии MDS поддерживают режим работы init. Он необходим когда пользователю неизвестны предустановленные сетевые параметры модуля; адрес, cкорость, формат передачи данных. В режиме Init для данных параметров устанавливаются фиксированные значения. Замкнув соотвествующие клеммы на модуле, пользователь может запустить модуль в режиме Init, cоединиться с модулем по сети, cконфигуровать и сохранить необходимые параметры, а затем перезапустить модуль и соединится с ним уже по новым сетевым параметрам. Индикатор "Модуль в режиме Init" сигнализирует о работе модуля в данном режиме.
Итак, в данном видео-обзоре мы рассмотрели модуль ввода - вывода дискретных сигналов MDS DIO-16BD. В следующих видео мы прололжим рассказ о продукции из номенклатуры научно-производственной фирмы "КонтрАвт". Оставайтесь с нами и подписывайтесь на наш канал.