Tag Archives: target

Система исполнения – CoDeSys SP

Система исполнения – это часть CoDeSys, расположенная в оборудовании. На выходе среды программирования прикладная программа преобразуется в машинный код конкретного процессора. Зачем же тогда нужна система исполнения, что она исполняет?

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

Большая по объему часть кода системы исполнения работает только при подготовке программы. Ядро, управляющее прикладными задачами, исключительно компактно. В совокупности с компилятором это обеспечивает непревзойденное быстродействие прикладного ПО в CoDeSys.

Для работы с конкретным устройством среде программирования CoDeSys необходим, так называемый, целевой (target) файл. В нем записаны тип процессора, распределение памяти и другие необходимые сведения об аппаратуре. Помимо этого, изготовитель оборудования может наделить CoDeSys значительным числом специфических функций (конфигураторами модулей системы и сети, дополнительными инструментами, фирменными библиотеками и многим другим). Все они включаются в комплект конфигурации целевой платформы. Такой комплект может иметь некоторое число фирменных know-how, и не всегда изготовитель будет отдавать его бесплатно. Тем не менее, чаще всего это происходит именно так. Что конкретно пользователь должен сделать, чтобы подключить к CoDeSys комплект целевой платформы?

Если он использует при установке CD изготовителя контроллера, то, вероятнее всего, такое подключение будет выполнено автоматически. В противном случае, нужно использовать приложение InstallTarget (см.рис), указав путь к файлам целевой платформы (кнопка Open) и затем (выбрав нужную платформу) нажать кнопку Install..

Пример установки целевой платформы в CoDeSys

С помощью CoDeSys SP можно превратить практически любое программируемое устройство, включая PC-совместимые контроллеры и компьютеры, в ПЛК с полноценной поддержкой МЭК 61131-3.

Существуют 4 разновидности CoDeSys SP:

• CoDeSys SP 8 Bit для семейства 8051 совместимых микроконтроллеров, без операционной системы;

• CoDeSys SP 16 Bit для 16-разрядных микропроцессоров без ОС или с собственной ОС;

• CoDeSys SP 32 Bit Embedded для 32-разрядных процессоров без ОС или с однозадачной ОС;

• CoDeSys SP 32 Bit Full для 32-разрядных процессоров с многозадачной ОС.

В семейство микропроцессоров, поддерживаемых CoDeSys, входят: Intel 8051, Intel 80×86/80186/Pentium, ARM (т.е. StrongARM, NET+ARM), MIPS, Motorola MC68000/MC68332/ColdFire, PowerPC, Hitachi SH 2/3/4, H8, Infineon C16x, Infineon TriCore, Texas Instruments TMS32028x.

В простых контроллерах низшей ценовой категории CoDeSys SP применяется, как правило, без операционной системы. В этом случае изготовители контроллера должны адаптировать CoDeSys SP. Адаптация сводится к реализации начального загрузчика и функции обслуживания аппаратных средств. Ядро CoDeSys SP включает собственный монитор задач. В результате в прикладных МЭК-проектах невытесняющая многозадачность работает даже в контроллерах на базе 8051.

При наличии ОС адаптация значительно упрощается. Кроме того, это дает простую возможность расширения CoDeSys SP, включая функциональность самой ОС и большого числа готового ПО третьих фирм. CoDeSys SP 32 Bit Full использует механизм вытесняющей многозадачности ОС. В контроллерах, не имеющих ОС, этот вариант не приемлем. Безусловно, проще всего использовать CoDeSys с PC-совместимыми контроллерами и промышленными компьютерами. В этом случае достаточно загрузить в систему готовое, не требующее адаптации, ядро SoftPLC. В настоящее время 3S предлагает готовые решения для Windows XP/NT, Windows СE, QNX и Linux. Благодаря этому конечный пользователь может самостоятельно применять CoDeSys с любым удобным ему оборудованием без поддержки со стороны изготовителя. Комплект CoDeSys SP включает набор драйверов для ряда наиболее широко распространенных плат ввода/вывода и сетевых интерфейсов. Для большинства простых плат управление сводится к записи и чтению нескольких регистров данных. С этой функцией легко справляется универсальный драйвер. Для более сложных случаев существует специальный пакет разработчика (SDK).

Технология SoftPLC дает самый быстрый и экономичный способ обеспечения промышленных ПК и встраиваемых систем высококлассной системой МЭК-программирования, включая средства отладки, конфигурирования, визуализации, SoftMotion, DDE, OPC и все без исключения инструменты комплекса CoDeSys.

Использование CoDeSys SP не ограничивает функции, которые может выполнять компьютер. В CoDeSys реализован специальный интерфейс ARTI (Asynchronous Runtime Interface), который открывает символьный доступ к значениям переменных контроллера. Чаше всего механизм ARTI используется для непосредственного взаимодействия встроенных приложений, но с помощью TCP/IP можно создавать распределенные системы под WinCE, VxWorks и Linux.

Отдельное место в ряду систем исполнения 3S занимает CoDeSys SP RTE. Это многозадачная система исполнения с собственным ядром жесткого реального времени под Windows NT, 2000 или XP. CoDeSys SP RTE гарантирует детерминированное время реакции с точностью в пределах микросекундной области. При этом никаких расширений операционной системы или дополнительной аппаратуры не нужно. В качестве интерфейса для устройств ввода/вывода в CoDeSys SP RTE можно использовать стандартные fieldbus-карты:Hilscher (CIF), Siemens Profibus, Beckhoff Profibus, Applicom, Phoenix Interbus, Марафон и др. Конфигураторы Profibus DP и CANopen включены в систему программирования CoDeSys..

Глоссарий

Прошивка

Системное программное обеспечение ПЛК. При обновлении прошивки поддерживаются новые функции и вносятся исправления. Замена версии прошивки ПЛК производится самим пользователем с помощью стандартного кабеля для программирования, идущего в комплекте с ПЛК, и программы перепрошивки.

Target-файл

Или файл целевой платформы. Содержит в себе системную информацию о подключаемом ПЛК (количество входов и выходов, размеры операционной памяти и т.п.). Данная информация используется средой программирования Codesys при создании проекта и загрузке его в ПЛК. Каждая модель ОВЕН ПЛК имеет соответствующий target-файл. При работе над одним проектом необходимо следить за тем, чтобы на компьютере была установлена нужная версия файла, которая должна соответствовать версии прошивки используемого ПЛК. Target-файлы доступны для загрузки с сайта www.owen.ru. Для установки target-файла на компьютере используется программа install target, которая инсталлируется вместе со средой программирования Codesys.

Лицензия

Существуют лицензии двух типов. L (low) – в ПЛК с такой лицензией есть ограничение памяти ввода/вывода до 360 байт. Это означает, что к такому контроллеру возможно подключение ограниченного количества сигналов с помощью модулей ввода/вывода, панелей оператора и других устройств. Контроллер с лицензией М (medium) не имеет указанного ограничения, количество подключаемых модулей ограничено лишь пропускной способностью интерфейса связи. Выбор типа лицензии необходимо сделать перед приобретением контроллера. ПЛК с лицензией М производятся на заказ.

Codesys

Среда программирования, используемая при работе с ОВЕН ПЛК. Codesys соответствует стандарту МЭК 61131-3, описывающему основные принципы программирования современных ПЛК. В состав Codesys входят:

  • среда разработки алгоритмов с помощью шести языков программирования (LD, IL, ST, SFC, FBD + CFC)
  • компилятор и отладчик проектов
  • средства построения и конфигурирования распределенных систем управления
  • средства создания визуализаций
  • OPC-сервер для передачи данных на верхний уровень (в SCADA-системы)
  • режим эмуляции для программирования без подключения ПЛК
  • система исполнения, загруженная непосредственно в ПЛК

PLC-configuration

Ресурс среды Codesys, с помощью которого производится настройка связи ПЛК, модулей расширения и других устройств, подключаемых к контроллеру по сетевым интерфейсам. Также с помощью PLC-configuration производится настройка входов и выходов ПЛК для подключения датчиков и исполнительных механизмов. Архивация данных в памяти ПЛК производится в соответствии с режимами, выбранными в PLC-configuration.

Проект

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

Машинный код, генерируемый при компиляции проекта, записывается в память ПЛК и реализуется при помощи системы исполнения Codesys.

Система исполнения

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

Память ввода-вывода

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

Цикл ПЛК

Пользовательский алгоритм, загруженный в ПЛК, выполняется циклически. Это означает что в течение заданного интервала времени (1 мс или более) система исполнения считывает значения из области входов и вызывает программу plc_prg. Пройдя алгоритм от начала и до конца, система исполнения записывает результаты его работы в память выходов. Затем эти операции повторяются вновь. Время цикла является настраиваемым параметрам. Для корректной работы объемных проектов рекомендуется задавать время цикла, отличное от минимального значения 1 мс. Цикл опроса датчиков или подключенных сетевых устройств, а также время изменения состояния выходов не связаны прямо со временем цикла ПЛК. Работа с интерфейсами, входами и выходами и исполнение цикла ПЛК производятся параллельно.

Пользовательская память

Может быть использована для ведения архивов данных и событий, для хранения исходных файлов проекта Codesys и любых других файлов. Размер пользовательской памяти составляет 3 Мб. При отключении питания все файлы сохраняются и могут быть выгружены из контроллера при последующем включении.

PLC browser

PLC Browser — ресурс Codesys, с помощью которого пользователь может изменять системные настройки ПЛК и работать с пользовательской памятью ПЛК. В браузере реализованы функции изменения IP адреса ПЛК, настройки аппаратных часов, записи, чтения и удаления файлов из памяти ПЛК и др. Полный список функций можно увидеть, вставив в строчку ввода символ «?». При этом должна быть установлена связь с ПЛК.

Визуализация

Встроенное в CoDeSys средство создания пользовательских мнемосхем. На экране визулизации можно добавить простые геометрические объекты, кнопки, графики, таблицы, гистограммы, элементы ввода и вывод информации. В одном проекте может быть создано несколько визуализаций, вызываемых с помощью кнопок и другими способами. Просмотр визуализаций производится из Codesys в режиме исполнения. Также возможен просмотр визуализаций в специальном приложении CoDeSys HMI, демонстрационная версия котого устанавливается при инсталяции среды программирования на вашем ПК.

CoDeSys HMI

Дополнительное программное обеспечение, предназначенное для отображения визуализаций. HMI воспроизводит на экране ПК визуализации без запуска проекта в непосредственно в CoDeSys. Таким образом, оператор видит на экране компьютера лишь оперативную информацию и не имеет доступа к проекту CoDeSys. В состав среды программирования включена демонстрационная версия CoDeSys HMI, работающая в течение одного часа. По вопросам приобретения полнофункциональной версии обращайтесь к официальному представителю 3s-software в России(www.codesys.ru).

Simulation mode или режим симуляции.

Используется для проверки работы написанного проекта CoDeSys без подключения ПЛК к компьютеру. Пользователь имеет возможность сначала написать программу, опробовать и отладить ее в режиме симуляции на компьютере, и только потом записывать в контроллер и проверять на «живом» оборудовании. Режим симуляции очень удобен при освоении среды программирования CoDeSys.

Типы переменных.

Переменные в Codesys в зависимости от их типа могут быть использованы как во всей программе (глобальные переменные), так и лишь в одной ее части (POU), например в одной программе (локальные переменные). К глобальным относятся переменные, определенные в PLC configuration, а также заданные в ресурсе Global Variables. Локальные переменные определяются в том программном компоненте (POU), внутри которого они будут использоваться. При совпадении имен локальной и глобальной переменных более высокий приоритет внутри POU имеет локальная переменная. Именно ее значение будет использовано контроллером при отработке алгоритма управления. Поэтому при выборе имен переменных необходимо быть внимательным и не допускать подобных совпадений.

POU.

POU (Program Organization Unit) — программный компонент. В стандарте МЭК предусмотрено три типа POU — программы, функции и функциональные блоки. Каждый POU при обращении к нему выполняет заложенный в него алгоритм. Все типы POU могут иметь входные, выходные и внутренние переменные. Функции возвращают одно значение и не сохраняют значения внутренних переменных. Это означает, что при повторном обращении к функции результат ее работы не будет зависеть от более ранних обращений к ней. Функциональный блок (ФБ) может возвращать значения нескольких выходных переменных. В проекте может быть определено несколько экземпляров одного и того же ФБ, каждый из которых будет работать независимо от других экземпляров. ФБ сохраняют значения внутренних переменных. Это значит, что при новом обращении к данному экземпляру ФБ будут учтены предыдущие результаты его работы.

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

Языки МЭК.

Стандартом МЭК предусмотрено 5 языков программирования ПЛК: IL, LD, FBD, ST, SFC. При разработке проекта пользователь может выбрать любой из языков для написания конкретного программного модуля (POU). В рамках одного проекта могут присутствовать программные модули, написанные на разных языках. В CoDeSys поддержаны все 5 языков, а также один дополнительный.

  • Список инструкций (Instruction List — IL) — язык программирования, напоминающий ассемблер Siemens STEP7. Все операции производятся через ячейку памяти, «аккумулятор», в который программа записывает результаты произведенных действий.
  • Релейная диаграмма (Ladder diagram — LD) — графический язык программирования, использующий принципы построения электрических схем. С помощью элементов «контакт» и «катушка» пользователь собирает схему прохождения сигнала от входной шины до выходной. Язык удобен для реализации логических алгоритмов работы с дискретными сигналами. LD позволяет легко и наглядно проверять и тестировать написанный алгоритм.
  • Диаграмма функциональных блоков (Functional block diagram — FBD) — графический язык программирования. Все действия и операторы, используемые в данном языке, представляются в виде функциональных блоков. ФБ имеют входы и выходы определенных типов, которые могут быть связаны между собой. Помимо стандартных ФБ пользователь может вставлять в алгоритм собственные POU, созданные в рамках данного проекта или реализованные в подключенных к проекту библиотеках. FBD позволяет легко и наглядно проверять и тестировать написанный алгоритм. В CoDeSys реализован улучшенный язык  программирования с помощью функциональных блоков, получивший обозначение CFC.
  • Структурный текст (Structured Text — ST) — текстовый язык программирования, схожий с языками высокого уровня (C, Pascal). ST удобен для реализации сложных вычислений, циклов и условий, для работы с аналоговыми сигналами.
  • Последовательные функциональные схемы (Sequentional Functional Chart — SFC) — графический язык, приспособленный для создания последовательности этапов работы ПЛК. Каждый этап реализуется на любом удобном для пользователя языке. В зависимости от выполнения условий на выходе из текущего этапа работа ПЛК может быть направлена в одну из параллельных веток алгоритма. Язык удобен для создания алгоритмов программных задатчиков, для реализации сложных логических условий и алгоритмов, реализующих несколько режимов работы оборудования.

Библиотека

Библиотека — совокупность программных компонентов, пользовательских типов данных и визуализаций. Все эти объекты могут быть созданы и объединены в библиотеку с тем, чтобы их можно было использовать в различных проектах Codesys. Элементы библиотеки становятся доступны для использования после подключения библиотеки к конкретному проекту. Подключение библиотек производится с помощью ресурса Library manager (Менеджер библиотек). Установочные файлы CoDeSys включают в себя несколько стандартных библиотек, например Standart.lib, SysLibTime. lib и др. Компания ОВЕН специально для ПЛК собственного производства разработала дополнительную библиотеку ПИД-регуляторов PID_regulators.lib.

Retain-переменные.

Особенностью этого типа переменных является то, что при пропадании питания последнее значение такой переменной сохраняется в энергонезависимой памяти ПЛК. После восстановления питания работа алгоритма контроллера продолжается с использованием этого сохраненного значения. В памяти ПЛК выделена область, зарезервированная для работы с retain-переменными. По умолчанию размер retain-памяти составляет 4 кБ, он может быть увеличен до 16 кБ.

OPC (OLE for Process Control)

OPC (OLE for Process Control) — формат представления данных в компьютере. Данный формат широко используется при создании систем диспетчеризации. ОРС-технология поддержана в SCADA-системах. ОРС позволяет обмениваться данными с устройствами автоматики, связанными с компьютером с помощью интерфейсов связи. В частности, возможно подключение ПЛК к компьютеру с помощью специализированной программы — ОРС-сервера. В этом случае ОРС-сервер запрашивает данные с ПЛК по одном из интерфейсов связи, а затем преобразует полученные значения в формат ОРС и предоставляет SCADA-системе. При установке CoDeSys на компьютере устанавливается также OPC-СoDeSys. Таким образом, появляется возможность связать ПЛК и какую-либо SCADA-систему.

Аппаратные часы реального времени встроены в ПЛК.

Они продолжают работать при выключенном питании контроллера благодаря встроенному в ПЛК аккумулятору. Дата и время могут быть настроены с помощью PLC Browser. Использование часов в работе алгоритма ПЛК производится с помощью элементов библиотеки SysLibTime.lib.

Communication parameters.

Настройка связи CoDeSys и ПЛК производится при выборе меню online/communication parameters. В появившемся окне пользователь может выбрать тип интерфейса связи, СОМ-порт или IP-адрес ПЛК, с которым необходимо связаться. При неверных настройках в окне communication parameters связь с ПЛК не будет установлена. Подробно процедура настройки связи с ПЛК описана в руководстве по эксплуатации контроллера.

Режим исполнения.

В режиме исполнения CoDeSys отображает в реальном времени то , как ПЛК отрабатывает заданный ему алгоритм. Для запуска режима исполнения в CoDeSys необходимо настроить связь с ПЛК (communication parameters) и подключиться к контроллеру (login). При необходимости внесения изменений в проект необходимо выйти из режима исполнения (logout) и после проведения всех необходимых изменений вновь связаться с ПЛК.

 

Мой блог находят по следующим фразам