Фильтр по тематике

Модульный ПЛК GCAN-PLC — это просто... Делаем выводы!

4418 0

Настоящая статья служит цели упростить специалистам процесс первоначального изучения ПЛК GCAN компании Shenyang Vhandy Technology Co., Ltd. и инструментального ПО OpenPCS infoteam Software. В основу положен подход по созданию простого приложения для ПЛК GCAN-PLC-510, состоящего из задачи (программы) DIO_AIO. Приложение реализует элементарные функции ввода и вывода дискретных и аналоговых сигналов. В статье вы ознакомитесь с номенклатурой оборудования ПЛК, процедурой установки ПО OpenPCS, подключением оборудования, процессом созданием приложения и некоторыми инструментами тестирования и отладки. 

Введение

В рамках сегодняшних реалий ухода с отечественного рынка АСУ ТП большого количества европейских компаний образовался дефицит наличия готовых изделий для оперативной реализации проектов. Сложившаяся ситуация на рынке стала лакмусовой бумажкой для реального положения дел. Многие отечественные производители, позиционировавшие себя адептами импортозамещения, не выдержали проверку объективной реальностью. Не все отечественные производители смогли подтвердить выполнение постановления Правительства РФ от 17 июля 2015 г. № 719 «О подтверждении производства промышленной продукции на территории РФ». Огромное влияние на ценообразование и сроки поставки изделий отечественного производства оказал дефицит электронных компонентов и неготовность держать большой запас данных компонентов на складах в РФ. 

Как известно, рынок АСУ ТП, как и природа, не терпит пустоты. Одними из первых на сложившуюся ситуацию среагировали китайские производители, поскольку изначально были ориентированы на производство изделий полного цикла. То есть данные компании не испытывают проблем с ввозом элементной базы, ибо производят её у себя в стране.

Типичным примером такой компании может служить фирма Shenyang Vhandy Technology Co., ltd. из Шэньяня, промышленного центра на северо-востоке Китая. Это высокотехнологичное предприятие, основанное на базе Шэньянского технологического университета. Компания предоставляет клиентам такие продукты, как модули полевой шины и промышленные контроллеры, и уже давно занимается разработкой изделий в области промышленной связи и управления.

Компания изначально сделала акцент в реализации изделий на базе сетевого протокола CAN (англ. Controller Area Network). Ключевой сферой применения для данного протокола являются транспортные средства – автомобили, в частности. Выпускаемая продукция получила торговую марку GCAN. Наиболее популярными изделиями компании являются автомобильные иммобилайзеры GCAN и различные конвертеры интерфейсов CANopen, монтируемые на ДИН-рейку. Стоит отметить чип компании GCAN-305 для монтажа на печатные платы для преобразования CANopen в UART.

Однако, со слов представителей компании, сегодня наибольший объём производства составляют модульные ПЛК GCAN. Корпусировка контроллеров и модулей полностью сохраняет габаритные размеры изделий именитых европейских производителей.

В частности, модули ввода-вывода имеют ширину всего 12 миллиметров и оснащены восьмью пружинными разъёмами для подключения проводов. 

Благодаря собственной линии поверхностного монтажа, тестовой лаборатории и наличию гарантированных запасов элементной базы производитель изготавливает более 10 000 модульных ПЛК в месяц. В настоящее время годовой оборот компании превысил значение в 100 миллионов юаней.

В рамках данной публикации мы постараемся более подробно рассказать о особенностях GCAN на базе опыта практической эксплуатации.

Модельный ряд программируемых логических контроллеров серии GCAN-PLC представлен тремя моделями, характеристики которых приведены в табл. 1. С точки зрения выбора элементной базы стоит отметить микроконтроллеры китайского подразделения компании ST Microelectonics серии STM32. Чипы STM32 группируются в серии, в рамках каждой из которых используется одно и то же 32-битное ядро ARM, например, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+ или Cortex-M0. Каждый микроконтроллер состоит из ядра процессора, статической RAM-памяти, флеш-памяти, отладочного и различных периферийных интерфейсов. Перечень интерфейсных портов ПЛК – это CAN, Ethernet, RS-232 или RS-485 в различных комбинациях. Исходя из практического опыта стоит выделить модели 5XX серии, ибо ЦПУ с частотой 400 МГц гораздо лучше справляется с задачами при минимальной разнице в цене относительно модели с процессором 168 МГц.

Отдельной группой выделяются повторители узла сети (каплеры), получившие заказной код GCAN-IO (табл. 2). Такое устройство, собирая информацию с аналоговых и дискретных датчиков, передаёт их на верхний уровень. Заказчики чаще всего используют их в виде преобразователей интерфейсов благодаря демократичной цене относительно конкурентов. 

Перечень модулей ввода-вывода GCAN (табл. 3) позволяет работать со всеми популярными видами сигналов. В качестве внутренней шины связи внутри системы применяется шина GC-bus, реализованная на базе проткола CAN.

Стоит отметить подход производителя к модулям, работающим с температурными сигналами. В отличие от конкурентов с универсальными модулями под несколько видов термопар или термометров сопротивления, GCAN производит отдельные модули под конкретный вид сигнала. Такой подход имеет свои плюсы с точки зрения низкой стоимости цены канала. 

На примере релейного модуля GC-2204 можно увидеть грамотный подход к подбору элементной базы – применяемые реле производятся на китайских производственных мощностях известного производителя (рис. 1).

Среди технических характеристик GCAN можно выделить следующие параметры:
  • напряжение питания 24 В пост. тока (–15...+20%);
  • диапазон рабочих температур от –40 до +85°C;
  • влажность 95%, без конденсации;
  • ЭМС-тест EN 55024:2011-09, EN 55022:2011-12;
  • вибрационная нагрузка EN 60068-2-6, EN 60068-2-27/29;
  • радиационная стойкость EN 61000-6-2, EN 61000-6-4;
  • степень защиты корпуса IP 20.
В табл. 3 приведена номенклатура модулей ввода/вывода ПЛК GCAN.

Комплект поставки

От слов – к делу. Ты помнишь, как всё начиналось…

Несомненно, важным атрибутом для изучения и освоения любого контроллерного оборудования является не только само «железо», но и поставляемый производителем комплект материалов: документация, ПО, примеры проектов и т.д. Что же предлагается компанией Shenyang Vhandy Techno-logy для работы с контроллерами GCAN? Авторы статьи решили детально изучить эту тему на практике и личном опыте – и заказали комплект оборудования GCAN.

Результатами этой работы мы и решили поделиться с нашими читателями.Поставка этого оборудования от производителя осуществляется в следующем виде:
  • модуль контроллера – в нашем случае это модель GCAN-PLC-510. В комплект поставки контроллера входит набор аксессуаров;
  • модули аналогового и дискретного ввода-вывода;
  • документация: руководство пользователя на контроллеры и модули ввода-вывода, руководство пользователя на инструментальное ПО OpenPCS, руководство по применению GCAN-PLC;
  • утилита для конфигурирования “GCAN PLC Solution”;
  • инструментальное ПО OpenPCS, файл целевой платформы GCAN PLC Target;
  • демо-проекты.
Далее приведено подробное описание данного комплекта поставки контроллера, документации и ПО.

Комплект поставки контроллер GCAN-PLC-510

Производитель позаботился и поставил всё необходимое для начала работы со своим оборудованием. Что именно идёт в комплекте:
  • непосредственно сам модуль контроллера GCAN-PLC-510 (рис. 2);

  • модуль ввода питания GC-8011. Данный модуль ввода питания конструктивно является частью модуля контроллера и жёстко зафиксирован на нём, как отражено на рис. 2. Предназначен для организации питания системы (контроллера, модулей ввода-вывода) и шины питания внешних цепей (датчиков и исполни-тельных механизмов); 
  • терминальный модуль GC0001 (рис. 3 а). Каждая конфигурация, состоящая из модулей ввода-вывода серии GC-xxxx, должна включать в себя такой терминальный модуль. Он устанавливается в конце сборной линейки модулей, обеспечивая корректную передачу данных и питания по внутренней шине. Отсутствие терминального модуля или его неправильная установка вызовут ошибки во всей системе GCAN;

  • кабель-переходник с разъёмами RJ-45/DB9 (рис. 3 б). Коммуникационный порт стандартов RS-232/485 в контроллере GCAN-PLC-510 физически выведен на дополнительный разъём RJ-45. Фирменный кабель-переходник позволит вынести сигнальные линии RS-232/485 с разъёма RJ-45 на традиционный, стандартный разъём DB9. Схема распайки переходника приведена на рис. 4. В табл. 4 указана распиновка сигналов RS-232/485 по разъёмам RJ-45, DB9;


  • кабель для программирования с разъёмами RJ-45/RJ-45 (рис. 3 в). Этот обычный патч-корд добавлен производителем в комплект поставки для быстрого соединения с контроллером, для заливки проекта и онлайн-отладки программы;
  • набор принадлежностей (рис. 3 г). Представляет собой отвёртку и комплект сигнальных проводов, которые могут пригодиться инженеру, начинающему работу с системой GCAN. 

Инструментальное ПО OpenPCS

Для разработки проектов автоматизации, выполняемых на контроллерах серии GCAN-PLC-ххх, используется инструментальное ПО – среда разработки проектов OpenPCS. Функционал и возможности этой программы детально описаны ниже на примере практической задачи. Инсталлятор ПО OpenPCS поставляется в виде исполняемого файла с расширением .exe. Установка приложения выполняется стандартной процедурой в операционной системе Windows. 

Неотъемлемой частью проекта в среде OpenPCS является файл целевой платформы – так называемый Target-файл. Он содержит информацию о ресурсах контроллера, интегрируя эти данные в среду разработки. Для контроллеров серии GCAN- PLC-ххх этот файл имеет название “GCAN PLC Target” и поставляется в комплекте фирменного ПО. Процедура установки этого файла тоже не вызывает затруднений и имеет лишь несколько нюансов.

Документация
Комплект документации от компании Shenyang Vhandy Technology выглядит достаточно стандартно и представлен в следующем базовом виде: 
  • Руководство пользователя на все модели контроллеров серии GCAN-PLC-xxxx (англ. яз.)
  • Руководство пользователя на все модули ввода-вывода серии GC-xxxx (англ. яз.)
  • Руководство пользователя на ПО OpenPCS Version 7.1 (англ. яз.)
Отдельно стоит ещё отметить дополнительный документ «Руководство по применению GCAN-PLC для начинающих». По крайней мере такое название выдаёт онлайн-переводчик, которым нам пришлось воспользоваться, поскольку значительная часть текста этого документа написана иероглифами на оригинальном языке производителя. Однако этот факт нисколько не снижает уровень понимания и ценность полученной информации.

В «Руководстве по применению GCAN-PLC для начинающих» приводятся не только рекомендации по настройке оборудования и установке ПО OpenPCS, примеры программ, но ещё и описываются библиотеки функциональных блоков (далее ФБ), которые можно использовать при разработке прикладной программы контроллера.

В главе “Basic instruction set” приводится описание стандартных ФБ для типовых операций работы с данными, логические, временны́е и математические функции. 

Глава “Extended function block” посвящена специальным ФБ, применяемых для реализации популярных протоколов обмена данными, применяемых в промышленности: CANopen, MODBUS, MQTT. Кроме того, здесь же представлены ФБ для работы с портами контроллера GCAN: для порта Ethernet – это использование сокетов для передачи и отправки данных; для портов стандарта RS-232/485 – взаимодействие с USART. 

Примеры проектов, в том числе с применением описанных выше ФБ, предлагаются производителем в комплекте с технической документацией. Этот список демо-проектов приведён на рис. 5.

Подключение оборудования 

В этом разделе мы разберём схему подключения питания и сигналов ввода-вывода в системе GCAN. 

Схема организации питания

Схема организации питания системы на базе контроллера GCAN изображена на рис. 2. Требуется обеспечить два ввода питания.
  1. Общее электрическое питание самого контроллера и подключённых к нему модулей ввода-вывода обозначено как “V1” на рис. 2. Осуществляется от внешнего источника постоянного тока с напряжением 18…30 В, подключаемого к клеммам “24V”, “0V” модуля ввода питания GC-8011. 
  2. Питание полевой шины (цепей датчиков и исполнительных механизмов) – обозначено как “V2” на рис. 2. Осуществляется от внешнего источника постоянного тока с ввода напряжения 24 В, подключаемого к клеммам “+”, “–” модуля ввода питания GC-8011. Далее напряжение распределяется по системе через ножевые контакты, расположенные на корпусах модулей GC-xxxx.
В табл. 5 приведён соответствующий список цепей питания.

Схема подключения сигналов ввода-вывода 

Для модулей дискретного ввода и вывода применяются разные схемы подключения входных и выходных цепей в зависимости от типа и исполнения модуля. Эти схемы приведены на рис. 6–9.




Итоговая схема подключения для нашего стенда 

На базе приобретённого комплекта оборудования мы собрали для тестирования небольшой стенд, состоящий из контроллера и следующего набора модулей.
  • GCAN-PLC-510 – Программируемый контроллер узла сети
  • GC-8011 – Модуль ввода питания. Конструктивно является частью модуля контроллера
  • GC-1018 – 8-канальный модуль дискретного ввода, вход типа NPN, 24 В DC
  • GC-2018 – 8-канальный модуль дискретного вывода, вход типа NPN, 24 В DC
  • GC-3624 – 4-канальный модуль аналогового ввода, –10…+10 В DC, 16 бит
  • GC-4662 – 2-канальный модуль аналогового вывода, 0 … +5 В, 16 бит
  • GC0001 – Терминальный модуль
Для стенда мы провели подключение питания и сигналов ввода-вывода, исходя из вышеописанных принципов. Итоговая схема подключения нашего стенда приведена на рис. 10.

Утилита “GCAN PLC Solution”

Для сервисного обслуживания системы на базе GCAN используется утилита “GCAN PLC Solution”. Перед тем как начать работу с этим приложением, следует подключить ПЛК в одну сеть Ethernet с инженерным компьютером. Связь с контроллером осуществляется по IP-адресу (при заводском сбросе IP-адрес 192.168.1.30). Программа “GCAN PLC Solution” позволяет получить информацию о подключённом контроллере, а также по необходимости поменять его IP-адрес, обновить прошивку.

Во вкладке “PLC Status” (рис. 11) отражается:

  • текущий режим работы подключённого контроллера (RUN, STOP);
  • артикул модели контроллера, его серийный номер, версия аппаратного модуля и версия прошивки; 
  • фактические онлайн-показатели работы контроллера (SYS RUN Time, Prog of PLC, PLC Cycle).
Вкладка “PLC Configs” (рис. 12) предназначен для изменения IP-адрес контроллера. 

Вкладка “IO Manage” позволяет посмотреть текущую конфигурацию модулей ввода-вывода в порядке их фактического расположения, начиная с ближайшего к контроллеру. 

Во вкладке отображается артикул (тип) модуля, его серийный номер, версия (рис. 13).

Вкладка “PLC Log” отражает текущие ошибки в работе контроллера, если они есть.

Программа DIO_AIO

Настоящий раздел служит цели упростить специалистам процесс первоначального изучения ПЛК GCAN компании Shenyang Vhandy Technology Co., Ltd. и инструментального ПО OpenPCS infoteam Software. В основу положен подход по созданию простого приложения Simple для ПЛК GCAN-PLC-510, состоящего из задачи (программы) DIO_AIO. 

Приложение Simple реализует элементарные функции ввода и вывода дискретных и аналоговых сигналов с использованием модулей системы. Приложение содержит одну программу DIO_AIO на языке ST (структурированный текст), которая вызывается как периодическая задача с интервалом 1 секунда. 

В качестве целевой платформы используется контроллер GCAN-PLC-510. Для разработки прикладного программного обеспечения используется среда OpenPCS V 7.1.5, установленная на виртуальной машине VMware Player с операционной системой Windows 7. 

Создание проекта и программы

Процедура создания проекта в среде OpenPCS в общих чертах описана в руководствах [1], [9]. Кратко опишем эту процедуру применительно к нашему проекту. 

Открыв среду ОpenPCS в меню “Project”, выбираем пункт “New” и, задав имя новому проекту, сохраняем его в целевую папку (рис. 14).

Затем в меню “File” выбираем пункт “New” и создаём файл новой программы DIO_AIO, указав для неё язык программирования, тип POU, имя и месторасположение (рис. 15).

И переводим программу в активное состояние, сделав её задачей (рис. 16).

Далее устанавливаем свойства задачи. В нашем случае тип задачи – Time (периодическая) с периодом 1000 мс (рис. 17).

В меню “PLC” выбираем пункт “Connections... ” и создаём новое (или редактируем существующее) подключение к контроллеру. В нашем случае это подключение по сети TCP IP с адресом 192.168.1.30 (рис. 18). 

Обязательные параметры: имя подключения (мы назвали “ТСР”), номер ТСР-порта = 23 042.

Выбираем целевую платформу. В меню “PLC” выбираем пункт “Resourse Properties... ” и устанавливаем параметры целевой платформы: Hardware Module – GCAN_PLC; Network Connection – выбираем наше подключение с именем “TCP” (рис. 19). 

Основа проекта готова. Можно переходить к кодированию.

Объявление переменных

Программу для GCAN-PLC-510 [1], как мы объявили ранее, будем писать на языке программирования ST. Язык программирования ST относится к группе языков со строгой, статической, явной типизацией переменных.

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

В окне описания переменных описываем переменные программы DIO_AIO. Нам будет достаточно использовать локальные переменные, объявленные в блоке VAR ... END_VAR и имеющие область видимости только внутри POU.

Для доступа к портам ввода и вывода дискретных и аналоговых сигналов в языках стандарта ГОСТ Р МЭК 61131-3 (IEC 61131-3) [6] используются так называемые прямо-адресуемые переменные (2.4.5. Directly represented variables руководства OPEN PCS [9]). Для входных сигналов адреса регистров расположены в области I. Для выходных сигналов адреса регистров расположены в области Q. Для модулей GCAN cопоставле-ние адресов регистров и контактов цепей модулей ввода и вывода описаны в соответствующих руководствах по эксплуатации [2], [3], [4], [5] в разделах 2.4. При подключении нескольких модулей задача программиста заключается в определении соответствующих смещений групп адресов для каждого модуля. 

На рис. 20 приведены рассчитанные группы адресов, зарезервированных контроллером для модулей GC-1018, GC-2018, GC-3624, GC-4662 и проецируемых на области I и Q в проекте DIO_AIO. 

На рис. 21 приведён текст объявления переменных для работы с входами и выходами модулей GC-1018, GC-2018, GC-3624, GC-4662. Большая часть переменных не используется в коде программы и приведена лишь для иллюстрации принципа прямой адресации.

Алгоритм работы

Текст программы DIO_AIO приведён на рис. 9. Программа написана на языке программирования ST. В основе языка ST лежат проверенные временем и обоснованные теоретически идеи структурного программирования, зафиксированные в отношении программируемых контроллеров в стандарте ГОСТ Р МЭК 61131-3-2016 [6], идентичном международному стандарту МЭК 61131-3:2013* Контроллеры программируемые. Часть 3. Языки программирования (IEC 61131-3:2013, “Programmable controllers – Part 3: Programming languages”, IDT). С основами языка можно познакомиться в книгах Петрова [7] и Романова [8]. Об особенностях реализации языка ST для контроллеров GCAN можно узнать в руководстве OpenPCS Programing System. User Manual [9].

Программа намеренно упрощена и иллюстрирует процесс ввода и вывода дискретных и аналоговых сигналов. 

Программа (Задача) DIO_AIO вызывается периодически с интервалом 1000 мс (рис. 17) В каждом цикле, инвертируя значение булевой переменной DO0, программа с периодом 2 с зажигает или гасит светодиод HL1, подключённый к выходу 1 модуля GC2018 (рис. 10).

К входу № 3 модуля GC1018 подключён переключатель SA1. С его помощью можно переключать сигнал, подаваемый на вход модуля. Состояние входа программно передаётся на дискретный выход № 3 модуля GC2018. Состояние входов и выходов модулей можно проконтролировать по свечению светодиодов, размещённых в корпусах модулей GC1018 GC2018 (рис. 22).

Для демонстрации работы модулей аналогового вывода (ЦАП) GC4662 и аналогового ввода (АЦП) GC3624 соединены перемычками соответствующие выходы и входы этих модулей (рис. 10). В каждом цикле задачи DIO_AIO программно наращивается напряжение на выходе GC4662, примерно на 0,1 В. Когда регистр ЦАП переполняется, напряжение на выходе ЦАП сбрасывается, и процесс повторяется с периодом около одной минуты. Для контроля работы считывается код АЦП модуля GC3624 и пересчитывается по формуле в напряжение в вольтах (рис. 23)

Средства отладки OpenPCS

Компилирование и загрузка кода в контроллер

Чтобы начать отладку приложения, нужно сначала откомпилировать его и загрузить код в контроллер. Для компиляции необходимо выбрать пункт меню “PLC”, “Build Active Resource” в строке меню. В окне Output мы увидим отчёт о результатах компиляции (рис. 24).

После успешного завершения компиляции код должен быть передан контроллеру. Теперь выбираем “PLC” “Online” для подключения к ресурсу. OpenPCS обнаружит, что приложение необходимо загрузить в контроллер, и запросит разрешение на это (рис. 25).

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

Выбрав «да», можно увидеть индикатор выполнения во время передачи кода, но для этого небольшого примера он должен быть завершён очень быстро. Когда загрузка завершится, вы увидите, что OpenPCS автоматически открыла окно одного из своих инструментов: “Test and Commissioning”. Это свидетельствует о том, что OpenPCS находится в связи с контроллером (рис. 26).

Выбрав пункт меню “PLC”, “Coldstart” (или нажав красную стрелку на панели инструментов (рис. 27), можно начать выполнение кода контроллером.

Test and Commissioning поддерживают три различных способа запуска приложения: “Coldstart” сбрасывает все переменные к их начальным значениям, “Hotstart” не сбрасывает никакие переменные, в то время как “Warmstart” повторно инициализирует только те переменные, которые не заявлены RETAIN.

Онлайн-редактор ST

Для отладки и мониторинга кода, написанного на ST, удобно использовать редактор ST в режиме мониторинга PLC -> Monitor/Edit. В этом режиме можно использовать следующие способы отладки и мониторинга: точки останова, оперативный просмотр значения переменной, watchlist, установка и принудительная фиксация значений переменных.

Точки останова

В стандарте ГОСТ Р МЭК 61131-1 «Контроллеры программируемые. Часть 1» определены функции тестирования прикладной программы. К традиционным функциям тестирования в том числе относятся и проверка последовательности выполнения программы, например пошаговые операции, изменение времени циклов программы, команда останова (п. 4.6.4, пункт “f”, подпункт 3). Один из соответствующих инструментов отладки, который поддерживается в среде OpenPCS, – это точки останова (оригинальное англоязычное название “Breakpoints”). Они выполняют функцию преднамеренного прерывания выполнения задачи, пошагово помогая разработчику исследовать поведение всей программы. Точки останова позволяют оценить правильность работы алгоритмов, посмотреть значения переменных на определённых этапах. 

В инструментальной среде OpenPCS работа с точками останова ведётся через соответствующее меню, которое становится активным при переходе в режим отладки, как изображено на рис. 28. При этом проект программы должен быть предварительно скомпилирован и загружен в реальный или виртуальный контроллер. 

Основные тезисы при использовании точек останова в среде OpenPCS, для контроллеров GCAN:
  • применяются для отладки программ, написанных на текстовых языках ST и IL. В текстовом редакторе точка останова устанавливается на номер строки;
  • в проекте может быть установлено несколько точек останова, внутри одной задачи или в разных задачах;
  • в момент, когда очередная точка останова достигнута в какой-либо задаче приложения OpenPCS, выполнение всех задач будут немедленно приостановлено; 
  • в процессе отладки и работы с точками останова можно не только посмотреть текущие значения переменных программы, но и задавать новые значения. А также зафиксировать значения на входах и выходах контроллера

Оперативный просмотр значения переменной

Для оперативного просмотра текущего значения переменной в режиме мониторинга достаточно навести курсор мыши на переменную. Рядом с курсором появляется крошечная панель, отображающая имя, тип и значение переменной (рис. 29). Значение постоянно обновляется. Этот приём удобно использовать для того, чтобы быстро проверить текущее значение различных переменных в области кода, с остановкой выполнения или без неё, в точке останова или во время пошагового выполнения.

Watch variables

Во время тестирования программы важно знать, какие значения имеют переменные или какое значение приводит к ошибке. В среде OpenPCS есть прекрасная возможность для одновременного просмотра значений целого списка переменных (возможно, из различных задач). Для создания списка можно перейдите на панель ресурсов и открыть ветку задачи, к которой принадлежат переменные, которые вы хотите добавить в список. Дважды щёлкните переменную, которую вы хотите просмотреть (рис. 30).

Переменная появляется в окне “Watchlist”, где отображаются путь экземпляра, тип, значение и статус (рис. 31). Эти переменные постоянно обновляются во время выполнения программы в ПЛК. Если OpenPCS не может получить значение переменной из системы выполнения (например, переменная недоступна в текущей программе), отображается “-!-”.

Чтобы удалить переменные из списка Watchlist, также есть три возможности. Отметьте переменную, щёлкнув её левой кнопкой мыши, затем щёлкните по соответствующему символу на панели инструментов, или используйте клавишу “del”, или выберите пункт «Удалить переменную» в меню «Правка».

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

Изменение и принудительная фиксация значений переменных

Чтобы повлиять на поведение управляющей программы в режиме тестирования, можно установить для переменных определённые значения. 

Для этого отмечаем переменную в окне “Watchlist” и выбираем пункт меню “PLC->Set vari-iable” или кликаем непосредственно на переменной в “Watchlist”, (рис. 32).

В появившемся окне надо ввести новое значение и подтвердить его нажатием кнопки «Ok» (рис. 33). В ближайшем цикле выполнения программы переменной будет присвоено в качестве текущего значения новое. 

Помимо просмотра и установки текущего значения переменных, OpenPCS поддерживает возможность принудительной фиксации переменных (enable force). Если переменная зафиксирована, значение будет сброшено до указанного значения в конце каждого цикла (перед записью на выходы).

В столбце “Force” окна “Watchlist”, OpenPCS будет отображать, является ли переменная в настоящее время зафиксированной или нет (рис. 32). 

Фиксация только сбрасывает переменную в конце каждого цикла. Модификации в течение одного цикла возможны и не предотвращаются. Удаление переменной из списка наблюдения автоматически отключит фиксацию этой переменной.

GETTASKINFO – инструмент профилирования 

Для профилирования задач, требовательных к времени исполнения, разработчики Firmware GCAN предусмотрели функциональный блок GETTASKINFO (рис. 34).

Во встроенной справке содержится краткая информация о GETTASKINFO:

GetTaskInfo returns information about the execution time of the last cycle of the current task. This function block has no input parameters.
Output
Count: DWORD; (*number of cycles this task is executed *)
LastCT: TIME; (*time needed for last cycle*)
AverageCT: TIME; (*average time needed for execution*)
MinCT: TIME; (*minimum time needed for execution*)
MaxCT: TIME; (*maximum time 
needed for execution*)
State: DWORD; (*not yet used

Чтобы проиллюстрировать его функции, внесём изменения в программу DIO_AIO, создав предварительно переменную экземпляра ФБ GETTASKINFO и ряд вспомогательных переменных (рис. 35).

Для того чтобы заметно увеличить время выполнения программы, вставим цикл, содержащий 1000 умножений переменной с плавающей точкой mult (рис. 36). 

В окно watch list добавим вновь созданную переменную avrt (рис. 37).

Видно, что среднее время выполнения задачи DIO_AIO составляет 8 мс. Так как львиную долю времени занимает умножение с плавающей точкой, можно дополнительно сделать вывод, что умножение выполняется примерно за 8 мкс.

Заключение

Для семейства ПЛК GCAN (GCAN-PLC-400, GCAN-PLC-510, GCAN-PLC-511) характерны удобное, испытанное временем конструктивное исполнение; прекрасная поддержка популярных сетевых интерфейсов и протоколов; удачно сбалансированный набор модулей ввода-вывода и модулей расширения функций контроллера; простая в изучении, удобная бесплатная среда программирования OpenPCS, включающая инструментарий онлайн-отладки приложений; развитая библиотека Firmware, содержащая большой набор специализированных функций и функциональных блоков.

ПЛК прекрасно подходят для реализации небольших и средних по числу входных сигналов проектов. Наличие в номенклатуре повторителей узла сети CANopen, Modbus RTU, Modbus TCP (GCAN-IO-8000, GCAN-IO-8100) позво-ляет легко расширять с помощью модулей GCAN возможности ввода-вывода уже существующих систем или систем на основе ПЛК других производителей.

Авторы надеются, что смогут помочь заинтересованным читателям преодолеть естественный барьер первона-чального изучения ПЛК GCAN. ●

Литература

  1. GCAN-PLC-510 Programmable Logic Controller User manual
  2. GC-1018 8-channel digital input module (NPN) User manual.
  3. GC-2018 8-channel digital output module (NPN) User manual.
  4. GC-3624 4-channel analog input module (-10V~+10V) User manual.
  5. GC-4662 2-channel analog output module (0V~+5V) User manual.
  6. ГОСТ Р МЭК 61131-3-2016.
  7. Петров И.В. Программируемые контроллеры. Стандартные языки и приёмы прикладного проектирования / под ред. проф. В.П. Дьяконова. М.: СОЛОН-Пресс, 2004. 256 c. 
  8. Романов С. Изучаем Structured Text стандарта МЭК 61131-3". 
  9. OpenPCS Programing System. User Manual. Version 7.0.
Авторы – сотрудники фирмы ПРОСОФТ
Телефон: (495) 234-0636
E-mail: info@prosoft.ru
4418 0
Комментарии
Рекомендуем

ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3
ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3