Программирование Delta DVP12SA11R — Пример программы


Программирование Delta DVP12SA11R - ЧАСТЬ 1


Программирование Delta DVP12SA11R задача не очень сложная интересная, но требует базовых знаний, немного опыта и определенного подхода. По долгу службы мне приходится часто программировать контролеры фирмы Delta Electronics и я выработал для себя определенные правила написания программ для данных контроллеров, я не утверждаю что используемый мной подход единственно верный, но меня он не подводил. Хотя я готов к конструктивной критике 🙂 Для написания программы для контроллера Delta DVP12SA11R нам потребуется:

1) Программа ISPSoft;

2) Карта операндов контроллера Delta DVP12SA11R;

3) Описание специальных [М] реле контроллеров Delta DVP;

Карту операндов контроллера можно взять в Руководстве по программированию ПЛК DVP-SS/SA/SX/ES/EX/EH на сайте Delta-Electronics или по ссылке в списке выше. Запускаем программу ISPSoft и создаем новый проект, указываем имя проекта, ОБЯЗАТЕЛЬНО указываем тип ПЛК (PLC Type) и указываем директорию для хранения проекта.

Программирование Delta DVP12SA11R - создаем программу

Программирование Delta DVP12SA11R - создаем программу

Всем нам хорошо известно что глобальные переменные это - ЗЛО, но, как ни странно, в своих программах я использую исключительно глобальные переменные, переходим во вкладку "Global Symbols" и приступаем к заполнению переменных проекта в соответствии с таблицей входов/выходов прилагающейся к проекту.

Я использую вкладку "Global Symbols" так как в ней реализован механизм проверки на повторяющиеся имена/адреса переменных, который отсутствует в подпрограммах, используя таблицу глобальных переменных, лично мне, проще НЕ допустить ошибку в адресации или именах, а также реализован механизм Ctrl+C/Ctrl+V .

Программирование Delta DVP12SA11R - Глобальные символы

Программирование Delta DVP12SA11R - Глобальные символы

После того как первоначальный список переменных заполнен, приступаем к написанию первой подпрограммы - программа инициализации.

Программирование Delta DVP12SA11R - Программа инициализации

Я привык использовать название Init_prog. В данной программе мы проведем конфигурирование модулей аналогового ввода, модулей Modbus и выставим значения используемые по умолчанию, если таковые имеются. В данной программе мы будем использовать модули аналогового ввода DVP06AD-S, собственно с конфигурирования их мы и начнем. Программа инициализации начинается с нормально разомкнутого реле m1002, в таблице Global Symbols я добавил его с названием Initialization, контакт данного реле замыкается при включении ПЛК во время первого цикла выполнения программы на период, равный периоду сканирования. Все остальное время контакт разомкнут. Для конфигурирования модулей аналогового ввода DVP06AD-S используется инструкция "TO". Для того чтобы сконфигурировать данный блок ввода вывода, нам необходимо знать назначение регистров управления, для этого воспользуемся следующей таблицей или "Руководством по эксплуатации DVP06AD-S". Регистр CR#1 используется для установки режима работы 6-ти внутренних каналов аналогового модуля расширения. Каждый канал может быть отдельно установлен на один из четырех режимов. Например, если необходимо установить канал CH1 на режим потенциальный вход (-10В ~ +10В) (b1 ~ b0 = 00) и канал CH2 на режим потенциальный вход (-5В ~ +10В) (b3 ~ b2 = 01), канал CH3 на режим токовый вход (-12mA ~ +20mA)(b5 ~ b4 = 10), канал CH4 на режим токовый вход (-20mA ~ +20mA)(b7 ~ b6 = 11), канал CH5 на режим потенциальный вход (-10В ~ +10В) (b9 ~ b8 = 00), канал CH6 на режим потенциальный вход (-5В ~ +10В) (b11 ~ b10 = 01), то регистр CR#1 должен быть установлен на H04E4 и старшие биты (b12 ~ b15) должны быть зарезервированы. Для понимания прилагаю наглядное изображение Wagon_Load3

Значение по умолчанию = H0000. В инструкции на данные модули аналогового ввода опечатки, так что начинающим может быть трудно разобраться. В моем проекте используется 2 модуля аналогового ввода с номерами 0 и 1 соответственно, все входы настроены на токовый вход (-20 мА ~ 20 мА) , получается 2#0000 1111 1111 1111 = 16#0FFF (H0FFFF). В диапазоне +-20 mA диапазон измерения будет +-4000 мшо  (минимальный шаг оцифровки) В моем проекте использованы стандартные датчики 4-20 мА, следовательно диапазон измерения будет от 800 до 4000 мшо. Для записи значения в контрольный регистр подключенного специального модуля используется функция "TO". Входные переменные данной функции: (m1) - адрес специального модуля. (Тип даных: Десятичные, 16#, D регистр) (m2) - номер CR регистра. (Тип даных: Десятичные, 16#, D регистр) (D) - данные которые должны быть записаны. (Тип даных: KnX, KnY, KnM, KnS, T регистр, C регистр, D регистр, @E индексны регистр, @F индексный регистр) (n) - (Тип даных: Десятичные, 16#, D регистр))   Следовательно код конфигурации будет выглядеть следующим образом:

программа инициализации

программа инициализации

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *