WAGO WAGO-I/O-PRO, Programming Tool IEC-61131-3 Руководство пользователя

Тип
Руководство пользователя
Руководство пользователя
по программированию ПЛК
в
CoDeSys 2.3
CoDeSys V2.3 1-2
Copyright 1994, 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3S - Smart Software Solutions GmbH All rights reserved.
Copyright 2003, 2004, 2005, 2006, 2007, 2008 ПК Пролог (Русская редакция)
Текст данного документа тщательно проверен. Однако практически невозможно гарантировать абсолютное
отсутствие ошибок. Мы будем благодарны вам за замечания и предложения по улучшению текста и содер-
жимого документа.
Trademark
Intel is a registered trademark and 80286, 80386, 80486, Pentium are trademarks of Intel Corporation.
Microsoft, MS and MS-DOS are registered trademarks, Windows is a trademark of Microsoft Corporation.
Документ подготовлен:
3S - Smart Software Solutions GmbH
Memminger Straße 151
D-87439 Kempten
Тел.: +49 831 5 40 31 - 0
Факс: +49 831 5 40 31 50
www.3s-software.com
Русская редакция:
ПК Пролог
21400, Россия, г. Смоленск, ул. Октябрьской революции, 9
Тел.: +7 4812 38-29-31
Тел./Факс: +7 4812 65-81-71
www.prolog-plc.ru
Текст данного документа предназначен для использования CoDeSys V2.3 с русским и английским интерфей-
сом. Наименования команд для английской версии указаны в скобках.
Последнее обновление 10.09.2008
Редакция RU 2.8, для CoDeSys V2.3.9.x
CoDeSys V2.3 1-3
Оглавление
1 КРАТКОЕ ПРЕДСТАВЛЕНИЕ CODESYS...........................................................................................1-1
1.1 Что такое CoDeSys.......................................................................................................................................................1-1
1.2 Представление о работе в CoDeSys....................................................................................................................1-1
1.3 Состав базовой пользовательской документации по CoDeSys.............................................................1-3
2 ЧТО ЕСТЬ ЧТО В CODESYS..............................................................................................................2-1
2.1 Компоненты проекта...................................................................................................................................................2-1
2.2 Языки программирования.......................................................................................................................................2-8
Список инструкций (IL).....................................................................................................................................................2-9
Модификаторы и операторы IL.....................................................................................................................................2-9
Структурированный текст (ST)....................................................................................................................................2-10
Язык последовательных функциональных схем (SFC)......................................................................................2-17
Язык функциональных блоковых диаграмм (FBD)...............................................................................................2-22
Непрерывные функциональные схемы (CFC).......................................................................................................2-23
Язык релейных диаграмм (LD)....................................................................................................................................2-23
2.3 Отладка и онлайн функции....................................................................................................................................2-25
3 ПИШЕМ ПРОСТОЙ ПРИМЕР..............................................................................................................3-1
3.1 Блок управления светофором...............................................................................................................................3-1
3.2 Визуализация примера............................................................................................................................................3-11
4 РАБОТА В СИСТЕМЕ ПРОГРАММИРОВАНИЯ CODESYS..............................................................4-1
4.1 Главное окно ..................................................................................................................................................................4-1
4.2 Опции проекта ...............................................................................................................................................................4-3
4.3 Управление проектом...............................................................................................................................................4-19
4.4 Управление объектами проекта ..........................................................................................................................4-50
4.5 Основные функции редактирования................................................................................................................4-57
4.6 Основные функции Онлайн..................................................................................................................................4-64
4.7 Работа с окнами..........................................................................................................................................................4-80
4.8 Помощь...........................................................................................................................................................................4-80
5 РЕДАКТОРЫ CODESYS.....................................................................................................................5-1
5.1 Общие элементы редакторов.................................................................................................................................5-1
5.2 Редактор раздела объявлений..............................................................................................................................5-3
Работа в редакторе объявлений..................................................................................................................................5-3
Редактор раздела объявлений в режиме Онлайн ...............................................................................................5-11
CoDeSys V2.3 1-4
Директивы компилятора................................................................................................................................................5-11
5.3 Текстовые редакторы..............................................................................................................................................5-20
Работа в текстовых редакторах .................................................................................................................................5-20
Редактор языка IL............................................................................................................................................................5-24
Редактор языка ST..........................................................................................................................................................5-24
5.4 Графические редакторы.........................................................................................................................................5-25
Работа в графических редакторах ............................................................................................................................5-25
Редактор FBD...................................................................................................................................................................5-30
Редактор LD......................................................................................................................................................................5-36
Редактор SFC...................................................................................................................................................................5-43
Редактор CFC...................................................................................................................................................................5-52
6 РЕСУРСЫ............................................................................................................................................6-1
6.1 Обзор ресурсов.............................................................................................................................................................6-1
6.2 Глобальные и конфигурационные переменные, файл комментариев...............................................6-2
Глобальные переменные................................................................................................................................................6-3
Конфигурационные переменные ................................................................................................................................6-7
Файл комментариев переменных ................................................................................................................................6-8
6.3 Конфигурация тревог (Alarm Configuration).....................................................................................................6-9
Обзор.....................................................................................................................................................................................6-9
Общая информация и терминология .......................................................................................................................6-10
Классы тревог...................................................................................................................................................................6-11
Группы тревог...................................................................................................................................................................6-15
Запись тревог....................................................................................................................................................................6-16
'Дополнения' (Extras): 'Настройки' (Settings)...........................................................................................................6-18
6.4 Менеджер библиотек (Library Manager)............................................................................................................6-18
6.5 Бортжурнал (Log).......................................................................................................................................................6-20
6.6 Конфигуратор ПЛК (PLC Configuration)............................................................................................................6-23
Обзор...................................................................................................................................................................................6-23
Работа в редакторе конфигуратора ПЛК.................................................................................................................6-25
Общие параметры конфигурации ПЛК.....................................................................................................................6-26
Диалог специфической настройки параметров.....................................................................................................6-27
Конфигурация модулей ввода/вывода.....................................................................................................................6-28
Конфигурация канала ....................................................................................................................................................6-31
Конфигурирование модулей Profibus .......................................................................................................................6-32
Конфигурирование CANopen-модулей ....................................................................................................................6-39
Конфигурирование ведомого CANopen-устройства (CANopen Slave)...........................................................6-45
Конфигурирование модулей DeviceNet....................................................................................................................6-49
Конфигурация ПЛК в режиме Онлайн ......................................................................................................................6-54
Сканирование аппаратуры/ Состояние/ Диагностика ПЛК................................................................................6-54
6.7 Конфигуратор задач (Task Configuration)........................................................................................................6-56
Обзор...................................................................................................................................................................................6-56
Работа в конфигураторе задач...................................................................................................................................6-57
Системные события .......................................................................................................................................................6-59
Конфигуратор задач в режиме онлайн ....................................................................................................................6-60
6.8 Менеджер просмотра (Watch and Recipe Manager).....................................................................................6-62
Обзор...................................................................................................................................................................................6-62
Менеджер просмотра в режиме оффлайн..............................................................................................................6-62
Менеджер просмотра в режиме Онлайн .................................................................................................................6-64
6.9 Цифровая трассировка (Sampling Trace)........................................................................................................6-65
CoDeSys V2.3 1-5
Обзор...................................................................................................................................................................................6-65
Конфигурация трассировки..........................................................................................................................................6-66
Управление процессом трассировки ........................................................................................................................6-67
Отображение данных.....................................................................................................................................................6-68
ДополненияЗапись значений трассировки ('Extras' 'Save trace values')...................................................6-70
ДополненияВнешняя конфигурация трассировки ('Extras' 'External Trace Configurations')................6-70
6.10 Рабочая область (Workspace)............................................................................................................................6-71
6.11 Менеджер параметров (Parameter Manager)................................................................................................6-71
Обзор и подключение ....................................................................................................................................................6-71
Редактор менеджера параметров. Обзор...............................................................................................................6-73
Типы списков параметров и их атрибуты................................................................................................................6-74
Управление списками параметров............................................................................................................................6-76
Редактирование списка параметров.........................................................................................................................6-78
Менеджер параметров в режиме онлайн................................................................................................................6-79
Экспорт/импорт списков параметров ......................................................................................................................6-80
6.12 Настройки целевой платформы (Target Settings).....................................................................................6-80
6.13 ПЛК-Браузер (PLC-Browser).................................................................................................................................6-82
Общие сведения..............................................................................................................................................................6-82
Набор команд ПЛК-Браузера ......................................................................................................................................6-82
Макрорасширения команд ПЛК-Браузера...............................................................................................................6-84
Вспомогательные команды ПЛК-Браузера.............................................................................................................6-85
6.14 Инструменты (Tools)...............................................................................................................................................6-86
Свойства доступных инструментов (Object Properties).......................................................................................6-86
Настройка команд инструментов ...............................................................................................................................6-89
Часто задаваемые вопросы по инструментам......................................................................................................6-90
7 ENI........................................................................................................................................................7-1
7.1 Что такое ENI?................................................................................................................................................................7-1
7.2 Условия работы с ENI базой данных в проекте.............................................................................................7-1
7.3 Работа с ENI базой данных в проекте CoDeSys.............................................................................................7-2
7.4 Категории объектов в базе данных проекта ...................................................................................................7-2
8 DDE ИНТЕРФЕЙС ...............................................................................................................................8-1
8.1 DDE интерфейс CoDeSys..........................................................................................................................................8-1
8.2 DDE обмен посредством GatewayDDE Server.................................................................................................8-2
9 МЕНЕДЖЕР ЛИЦЕНЗИРОВАНИЯ CODESYS....................................................................................9-1
9.1 Обзор.................................................................................................................................................................................9-1
9.2 Создание лицензированных библиотек в CoDeSys.....................................................................................9-1
10 ПРИЛОЖЕНИЯ...............................................................................................................................10-1
ПРИЛОЖЕНИЕ A: ОПЕРАТОРЫ И ФУНКЦИИ МЭК...............................................................................10-1
10.1 Арифметические операторы..............................................................................................................................10-1
CoDeSys V2.3 1-6
10.2 Битовые операторы ...............................................................................................................................................10-4
10.3 Операторы сдвига...................................................................................................................................................10-6
10.4 Операторы выборки...............................................................................................................................................10-8
10.5 Операторы сравнения.........................................................................................................................................10-10
10.6 Адресные операторы...........................................................................................................................................10-13
10.7 Вспомогательные функции ..............................................................................................................................10-14
10.8 Оператор вызова...................................................................................................................................................10-15
10.9 Явное преобразование типов..........................................................................................................................10-15
10.10 Математические функции................................................................................................................................10-22
ПРИЛОЖЕНИЕ В: ОПЕРАНДЫ В CODESYS.......................................................................................10-27
Константы...........................................................................................................................................................................10-27
Переменные.......................................................................................................................................................................10-29
Адреса..................................................................................................................................................................................10-31
Функции в роли операндов........................................................................................................................................10-32
ПРИЛОЖЕНИЕ С: ТИПЫ ДАННЫХ CODESYS....................................................................................10-33
Элементарные типы данных .....................................................................................................................................10-33
Пользовательские типы данных.............................................................................................................................10-34
ПРИЛОЖЕНИЕ D: БИБЛИОТЕКИ CODESYS.......................................................................................10-42
Стандартная библиотека Standard.lib....................................................................................................................10-42
Строковые функции ......................................................................................................................................................10-42
Переключатели ..............................................................................................................................................................10-45
Детекторы импульсов ..................................................................................................................................................10-47
Счетчики...........................................................................................................................................................................10-49
Таймеры ...........................................................................................................................................................................10-51
Библиотека UTIL.LIB ......................................................................................................................................................10-53
BCD преобразования ...................................................................................................................................................10-53
Бит/байт функции ..........................................................................................................................................................10-54
Дополнительные математические функции .........................................................................................................10-55
Регуляторы ......................................................................................................................................................................10-57
Генераторы сигналов...................................................................................................................................................10-60
Преобразования аналоговых сигналов..................................................................................................................10-62
Аналоговые компараторы...........................................................................................................................................10-63
Библиотека AnalyzationNew.lib .................................................................................................................................10-64
Системные библиотеки CoDeSys............................................................................................................................10-65
ПРИЛОЖЕНИЕ E: КРАТКИЙ СПРАВОЧНИК ПО ОПЕРАТОРАМ И КОМПОНЕНТАМ БИБЛИОТЕК 10-66
Операторы CoDeSys:.....................................................................................................................................................10-66
CoDeSys V2.3 1-7
Компоненты Standard.lib: ............................................................................................................................................10-68
Компоненты Util.lib:........................................................................................................................................................10-68
ПРИЛОЖЕНИЕ F: КОМАНДНАЯ СТРОКА / КОМАНДНЫЙ ФАЙЛ ......................................................10-70
Командная строка...........................................................................................................................................................10-70
Командный файл (cmdfile)..........................................................................................................................................10-71
ПРИЛОЖЕНИЕ G: СИМЕНС ИМПОРТ..................................................................................................10-79
Импорт из символьных файлов SEQ....................................................................................................................10-79
Импорт из файла проекта S5.....................................................................................................................................10-80
Конвертирование языка S5 в МЭК C 61131-3......................................................................................................10-80
ПРИЛОЖЕНИЕ H: ОПЦИИ ЦЕЛЕВЫХ СИСТЕМ ..................................................................................10-84
Системные опции целевых платформ (Target Platform)...............................................................................10-84
Intel 386 совместимые..................................................................................................................................................10-84
Motorola 68K....................................................................................................................................................................10-85
Infineon C16x...................................................................................................................................................................10-86
ARM и Power PC............................................................................................................................................................10-87
MIPS...................................................................................................................................................................................10-88
'Hitachi SH'........................................................................................................................................................................10-89
8051 совместимые ........................................................................................................................................................10-90
Infineon 'TriCore’.............................................................................................................................................................10-90
Опции распределения памяти (Memory Layout)................................................................................................10-91
Опции общей категории (General)............................................................................................................................10-92
Опции категории Сетевая функциональность ..................................................................................................10-94
Опции категории Визуализация...............................................................................................................................10-95
ПРИЛОЖЕНИЕ I: ИСПОЛЬЗОВАНИЕ КЛАВИАТУРЫ .........................................................................10-98
ПРИЛОЖЕНИЕ J: РЕКОМЕНДАЦИИ ПО НАИМЕНОВАНИЮ ............................................................10-101
Наименование идентификаторов..........................................................................................................................10-101
Идентификаторы переменных................................................................................................................................10-101
Идентификаторы пользовательских типов (DUT).........................................................................................10-103
Идентификаторы функций, функциональных блоков и программ (POU)..........................................10-103
Идентификаторы визуализаций.............................................................................................................................10-104
ПРИЛОЖЕНИЕ K: ОШИБКИ И ПРЕДУПРЕЖДЕНИЯ КОМПИЛЯТОРА.............................................10-105
Предупреждения............................................................................................................................................................10-106
Ошибки...............................................................................................................................................................................10-112
1 Краткое представление CoDeSys
1.1 Что такое CoDeSys
CoDeSys - это современный инструмент для программирования контроллеров (CoDeSys образуется
от слов Controllers Development System).
CoDeSys предоставляет программисту удобную среду для программирования контроллеров на язы-
ках стандарта МЭК 61131-3. Используемые редакторы и отладочные средства базируются на широ-
ко известных и хорошо себя зарекомендовавших принципах, знакомых по другим популярным сре-
дам профессионального программирования (такие, как Visual C++).
1.2 Представление о работе в CoDeSys
С чего начинается программный проект?
Прежде всего нужно дать проекту новое имя, оно же послужит и названием файла проекта.
Первый программный компонент (POU Program Organization Unit) помещается в новый проект
автоматически и получает название PLC_PRG. Именно с него и начинается выполнение процесса
(по аналогии с функцией main в языке С), из него будут вызываться другие программные блоки
(программы, функции и функциональные блоки).
Нет необходимости писать вручную текст для PLC_PRG, поскольку конфигурация задачи опреде-
ляется на вкладке проектаКонфигурация задач (Task Configuration). Подробнее это будет опи-
сано в главе, посвященной конфигурации задач.
Проект содержит ряд разнородных объектов POU, данных разных типов, элементов визуализации и
ресурсов.
Организатор объектов (Object Organizer) управляет списком всех объектов Вашего проекта.
Как создать собственный проект?
Для начала вы определяете конфигурацию ПЛК в соответствии с аппаратными средствами своего
контроллера.
Затем вы создаете программные компоненты, необходимые для решения проблемы.
Далее вы пишете программный код для созданных компонентов на выбранных языках.
Сразу после завершения программирования, вы компилируете проект и исправляете ошибки, если
они есть.
Как проверить проект?
Когда все ошибки устранены, можно приступить к отладке.
Включите флажокРежим эмуляции (simulation) и «подключитесь» к контроллеру. Теперь вы в
режиме онлайн.
Откройте окноКонфигурация ПЛК (PLC Configuration) и проверьте правильность выполнения
проекта. Для этого измените вручную входные данные и убедитесь, что выходы контроллера отреа-
гировали нужным образом. Если необходимо, вы можете наблюдать значения переменных в про-
граммных компонентах. Используя менеджер просмотра и заказа значений переменных (короче,
Краткое представление CoDeSys
CoDeSys V2.3 1-2
Менеджер просмотра Watch and Recipe Manager’), вы сможете задать список переменных,
значения которых необходимо наблюдать.
Отладка
В случае ошибок в работе кода вы можете задать точки останова. Когда процесс остановлен в опре-
деленной точке, вы можете просмотреть значения переменных проекта в данный момент времени.
Выполняя проект в пошаговом режиме (single step), вы можете проверить логическую корректность
своих программ.
Дополнительные возможности режима онлайн
В процессе отладки вы можете устанавливать значения переменных программ, задавать фиксиро-
ванные значения на входы и выходы контроллера, контролировать последовательность исполнения
процесса и определить место в программе, которое сейчас выполняется. Используя функцию
Цифровая трассировка (Sampling Trace), можно отслеживать в графическом представлении из-
менения значений переменных за определенный промежуток времени.
Когда проект закончен и отлажен, переходите к окончательной доводке в рабочих условиях на ре-
альном "железе". Естественно, при этом полностью доступны все отладочные функции.
Дополнительные возможности CoDeSys
Весь проект может быть экспортирован в текстовый файл и сохранен в печатном виде.
Средства коммуникации CoDeSys включают символьный и DDE интерфейсы. Коммуникацион-
ный сервер, OPC и DDE серверы входят в стандартный пакет поставки.
Путем выбора целевой платформы CoDeSys позволяет использовать один проект в различных сис-
темах.
Сетевые переменные общего доступа и Менеджер параметров (Parameter manager) обеспечи-
вают средства сетевого взаимодействия контроллеров.
ENI: инжиниринговый интерфейс применяется совместно с любыми системами управления вер-
сиями через автономный ENI сервер. Программные компоненты CoDeSys сохраняются в единой ба-
зе данных, доступной другим пользователям. ENI сервер служит хранилищем конструкторских
данных не только для CoDeSys, но и для сторонних программных инструментов.
CoDeSys позволяет задействовать «фирменные» программные инструменты. Файлы, включающие
исполняемый код, могут быть скомпонованы с кодом проекта и загружены в контроллер.
Созданная в CoDeSys визуализация может выполняться не только в среде программирования, но и в
целевой платформе или в Web. Это позволяет контролировать процесс и управлять им через Ин-
тернет.
Краткое представление CoDeSys
CoDeSys V2.3 1-3
1.3 Состав базовой пользовательской документации по CoDeSys
Модуль Документы Файлы
Среда программирова-
ния CoDeSys
Печатное руководство и встроенная система
помощи
Первые шаги с CoDeSys (пример)
CoDeSys_V23_RU.pdf
First Steps with CoDeSys RU.pdf
Gateway Server
Концепции, установка, встроенная система
помощи, интерфейс и настройка (открывается
двойным щелчком мыши на иконке в панели
задач)
Gateway Manual.pdf
OPC Server OPC-Server V2.0, установка и применение OPC_20_How_to_use.pdf
CoDeSys Визуализация
Описание CoDeSys визуализации, включая
CoDeSys HMI, целевую (Target-) и Web-
визуализацию
CoDeSys_Visu_V23_RU.pdf
SoftMotion Описание применения и библиотек SoftMotion SoftMotion_Manual_V23.pdf
Библиотеки
Standard.lib и Util.lib описаны в печатном ру-
ководстве по программированию.
Для каждой системной библиотеки CoDeSys
существует отдельный документ <library
name>.pdf
SoftMotion библиотеки: см. SoftMotion-
документацию.
CoDeSys_V23_RU.pdf
SysLibs_Overview_RU.pdf
<SysLib-Name_RU>.pdf
ENI Server
Установка и настройка ENI Сервера, управле-
ние версиями, работа с внешней базой данных.
Настройка ENI в CoDeSys: описана в печатном
руководстве по программированию.
ENI Admin, ENI Control и ENI Explorer: см.
встроенные системы помощи.
EniServerQuickstart.pdf
CoDeSys_V23_RU.pdf
2 Что есть что в CoDeSys
2.1 Компоненты проекта
Проект
Проект включает следующие объекты: POU, типы данных, визуализации, ресурсы, библиотеки.
Каждый проект сохраняется в отдельном файле.
POU (Program Organization Unit)
К программным компонентам (POU) относятся функциональные блоки, функции и программы. От-
дельные POU могут включать действия (подпрограммы).
Каждый программный компонент состоит из раздела объявлений и кода. Для написания всего кода
POU используется только один из МЭК языков программирования (IL, ST, FBD, SFC, LD или CFC).
CoDeSys поддерживает все описанные стандартом МЭК компоненты. Для их использования доста-
точно включить в свой проект библиотеку standard.lib.
POU могут вызывать другие POU, но рекурсии недопустимы.
Функция
Функция это POU, который возвращает только единственное значение (которое может состоять из
нескольких элементов, если это битовое поле или структура). В текстовых языках функция вызыва-
ется как оператор и может входить в выражения.
При объявлении функции необходимо указать тип возвращаемого значения. Для этого после имени
функции нужно написать двоеточие и тип. См. рекомендации по наименованию в приложении J.
Правильно объявленная функция выглядит следующим образом:
FUNCTION Fct: INT;
Имя функции используется как выходная переменная, которой присваивается результат вычисле-
ний.
Объявление функции должно начинаться с ключевого слова FUNCTION и заканчиваться ключевым
словом END_FUNCTION. Вот пример функции, написанной на IL, которая использует три входных
переменных и возвращает результат деления произведения первых двух на третью.
Пример функции, написанной на языке IL:
Что есть, что в CoDeSys
CoDeSys V2.3 2-2
В языке ST вызов функции может присутствовать в выражениях как операнд.
В SFC функция вызывается только из шага или перехода.
Примечание: Функция не имеет внутренней памяти, но CoDeSys допускает использование глобальных пере-
менных в функциях. Это является отклонением от требований стандарта МЭК 61131-3, в соответ-
ствии с которым выходное значение функции должно зависеть исключительно от входных пара-
метров. Т.е. функция с одними и теми же значениями входных параметров всегда должна возвра-
щать одно и то же значение.
Пример вызова функции:
На IL:
LD 7
Fct 2,4
ST Result
На ST:
Result : = Fct (7, 2, 4);
На FBD:
Внимание: объявление в функции RETAIN локальной переменной не приведет к желаемому результату. Не
пытайтесь создать локальные энергонезависимые переменные в функциях!
Примечание: имена перечисленных ниже функций зарезервированы для описанных целей:
В проекте можно определить функцию с именем CheckBounds, которая используется для проверки выхода за
границы массива (Подробнее см. описание арифметических функций в приложении).
С помощью функций: CheckDivByte, CheckDivWord, CheckDivDWord и CheckDivReal осуществляется кон-
троль деления на 0 (См. DIV).
Специализированные функции CheckRangeSigned и CheckRangeUnsigned контролируют границы диапазонов
переменных (См. Типы данных).
Функциональный блок
Функциональный блок - это POU, который принимает и возвращает произвольное число значений.
В отличие от функции функциональный блок не формирует возвращаемое значение.
Объявление функционального блока начинается с ключевого слова FUNCTION_BLOCK и заканчи-
вается ключевым словом END_FUNCTION_BLOCK. См. рекомендации по наименованию в при-
ложении J.
Ниже приведен пример функционального блока, написанного на IL, который имеет две входных и
две выходных переменных. Значение выходной переменной MULERG равно произведению значе-
ний двух входных переменных, а значение VERGL определяется в результате сравнения значений
входных переменных.
Пример функционального блока:
Что есть, что в CoDeSys
CoDeSys V2.3 2-3
Экземпляры функционального блока
Определение функционального блока подобно определению типа данных. Для работы с функцио-
нальным блоком необходимо объявить (создать) его экземпляр. Один функциональный блок может
иметь произвольное число экземпляров, каждый из которых имеет собственные независимые дан-
ные (память).
Каждый экземпляр функционального блока получает свой собственный идентификатор (имя экзем-
пляра) и свои данные, содержащие входные, выходные и внутренние переменные. Экземпляры
функционального блока объявляются глобально или локально как переменные, имеющие тип соот-
ветствующего функционального блока.
Пример объявления экземпляра с идентификатором fubinstance функционального блока FUB:
fubinstance: FUB;
Вызов экземпляра функциональный блока происходит с помощью его имени. Входные и выходные
переменные доступны вне функционального блока, а внутренние переменные доступны только в
самом блоке.
Пример использования входных переменных:
функциональный блок fb имеет входную переменную iInl типа INT:
PROGRAM prog
VAR
fbinst1 : fb;
END_VAR
LD 17
ST fbinst1.iIn1
CAL fbinst1
END_PROGRAM
Экземпляры функционального блока могут быть объявлены в другом функциональном блоке или в
программе. Объявлять экземпляр функционального блока в теле функции нельзя. Экземпляры
функционального блока доступны в том POU, в котором они объявлены, если они не объявлены
глобально.
Экземпляры функциональных блоков могут быть использованы в качестве входных переменных
других функциональных блоков или функций.
Что есть, что в CoDeSys
CoDeSys V2.3 2-4
Замечания. После выполнения функционального блока все его переменные сохраняются до следующего вы-
полнения. Следовательно, функциональный блок, вызываемый с одними и теми же входными па-
раметрами, может производить различные выходные значения.
Если хотя бы одна переменная функционального блока объявлена как RETAIN, то все данные экземпляров це-
ликом помещаются в энергонезависимый сегмент.
Вызов функционального блока
Для обращения к входным и выходным переменным функционального блока извне необходимо
указать имя экземпляра функционального блока, следующей за ней точкой и именем переменной:
<Имя экземпляра>.<Имя переменной >
Присваивание параметров при вызове:
В текстовых языках (IL, ST) задать актуальные параметры и считать значения выходов можно не-
посредственно при вызове экземпляра функционального блока. Для входных переменных применя-
ется присваивание ":=", выходы считываются при помощи "=>". Этот процесс упрощается, если ис-
пользоватьАссистент ввода (Input Assistant)(<F2>) с включенной опциейВставка с аргумен-
тами (With arguments).
Пример:
Допустим, FBINST - это локальная переменная типа функциональный блок, имеющий входную пе-
ременную xx и выходную переменную yy. При вставке FBINST в ST с помощью ассистента ввода
получается следующая заготовка:
FBINST1(xx:= , yy=> );
Переменные вход-выход:
Обратите внимание, что переменные вход-выход (VAR_IN_OUT) передаются в экземпляр функ-
ционального блока через указатели. Поэтому таким переменным нельзя присваивать константы при
вызове.
Вызов экземпляра fuboinst с входом iInOut1 типа VAR_IN_OUT:
VAR
fuboinst: fubo;
iVar1: int;
END_VAR
iVar1 := 2;
fuboinst (iInOut1 := iVar1);
Не допустимы попытки присваивания констант:
fuboinst (iInOut1:=2); или fuboinst .iInOut1:=2;
Примеры вызова экземпляра вышеописанного функционального блока FUB:
Результат умножения сохраняется в переменной ERG, а результат сравнения в переменной QUAD.
Экземпляр функционального блока FUB называется INSTANZ.
Вызов экземпляра функционального блока в IL:
Что есть, что в CoDeSys
CoDeSys V2.3 2-5
Тот же пример в ST (раздел объявлений такой же, как и в предыдущем примере):
Тот же пример в FBD:
В SFC экземпляры функциональных блоков могут вызываться только из действий шага.
Программа
Программа это POU, способный формировать произвольное значение во время вычислений. Зна-
чения всех переменных программы сохраняются между вызовами. В отличие от функционального
блока экземпляров программы не существует. Программа является глобальной во всем проекте.
Нельзя вызывать программу из функции.
Если вызвать программу, которая изменит значения своих переменных, то при следующем вызове
ее переменные будут иметь те же значения, даже если она вызвана из другого POU.
В этом заключается главное различие между программой и функциональным блоком, в котором
изменяются только значения переменных данного экземпляра функционального блока.
Что есть, что в CoDeSys
CoDeSys V2.3 2-6
Объявление программы начинается ключевым словом PROGRAM и заканчивается ключевым сло-
вом END_PROGRAM. См. рекомендации по наименованию в приложении J.
Пример программы:
Так же, как и для экземпляров функциональных блоков, в текстовых языках (IL, ST) задать акту-
альные параметры и считать значения выходов можно непосредственно при вызове программы. Для
входных переменных применяется присваивание ":=", выходы считываются при помощи "=>".
Пример вызова программы:
IL:
CAL PRGexample2
LD PRGexample2.out_var
ST erg
Или с присваиванием параметров:
CAL PRGexample2(in_var:=33, out_var=>erg )
ST:
PRGexample2;
erg := PRGexample2.out_var;
Или с присваиванием параметров:
PRGexample2(in_var:=33, out_var=>erg );
FBD:
PLC_PRG
Программа PLC_PRG это специальный POU, который должен быть в каждом проекте. Эта про-
грамма вызывается один раз за цикл управления.
При создании нового проекта автоматически открывается диалогПроект(Project)Объект - До-
бавить (Object Add), предлагающий создать новый POU - программу с именем PLC_PRG.
Не следует менять предложенные установки.
Если определить последовательность выполнения задач в Конфигураторе задач (Task
Configuration), то проект может не содержать PLC_PRG.
Внимание: Нельзя удалять или переименовывать POU PLC_PRG (еслиКонфигурация задач (Task
Configuration) не используется). PLC_PRG является главной программой в однозадачном проек-
те.
Что есть, что в CoDeSys
CoDeSys V2.3 2-7
Действие
Программы или функциональные блоки могут быть дополнены действиями. Фактически действия -
это дополнительный набор встроенных в POU подпрограмм. Действия могут описываться на языке,
отличном от того, на котором выполняется соответствующий функциональный блок или програм-
ма.
Действие оперирует с теми же данными, что и функциональный блок или программа, к которой оно
принадлежит.
Пример действия функционального блока:
В данном примере функциональный блок Counter увеличивает или уменьшает выходную перемен-
ную "out" в зависимости от значения входа "in". При вызове действия Reset выходная переменная
принимает значение 0. Одна и та же переменная "out" используется в обоих случаях.
Вызов действия:
Действие вызывается с помощью идентификатора:
<Имя_программы>.<Имя_действия> или <Имя_экземпляра>.<Имя_действия >.
Если нужно вызвать действие из POU, к которому оно принадлежит, то в текстовых языках исполь-
зуется имя действия, а в графических функциональный блок без указания имени экземпляра.
Пример вызова вышеописанного действия:
PROGRAM PLC_PRG
VAR
Inst : Counter;
END_VAR
IL:
CAL Inst.Reset(In : = FALSE)
LD Inst.out
ST ERG
ST:
Inst.Reset(In := FALSE);
Erg := Inst.out;
FBD:
Замечание Действия играют ключевую роль в SFC (подробнее смотри раздел SFC).
Что есть, что в CoDeSys
CoDeSys V2.3 2-8
Стандарт МЭК определяет только действия SFC шагов. Применение действий в функциональных блоках и
программах является расширением CoDeSys.
Ресурсы
Ресурсы отвечают за конфигурацию проекта, включая:
§ Глобальные переменные, используемые во всем проекте.
§ Менеджер библиотек (Library manager) для подключения необходимых библиотек к
проекту
§ Бортжурнал (Log) для записи действий во время исполнения
§ Конфигурация тревог (Alarm Configuration) для конфигурирования обработки тревог
в проекте
§ Конфигурация ПЛК (PLC Configuration) для конфигурирования аппаратуры контрол-
лера.
§ Конфигурация задач (Task Configuration) для управления задачами
§ Менеджер просмотра (Watch and Recipe Manager) для просмотра и заказа наборов
значений переменных
§ Настройки целевой платформы (Target Settings)
§ Рабочая область (Workspace) для отображения опций проекта
В зависимости от системы исполнения и ее опций могут подключаться дополнительные объекты:
§ Цифровая трассировка (Sampling Trace) - для задания графической трассировки зна-
чений переменных.
§ Менеджер параметров (Parameter Manager) - для взаимодействия с другими контрол-
лерами в сети
§ ПЛК-Браузер (PLC-Browser) - монитор ПЛК
§ Инструменты (Tools) для вызова внешних, специфичных для каждой платформы ин-
струментов
§ SoftMotion компоненты системы управления движением (в соответствии с лицензией),
редакторы CNC и CAM
Библиотеки
Проект может использовать несколько библиотек, в которые входят POU, необходимые им типы
данных и глобальные переменные. Библиотечные POU можно использовать точно так же, как и оп-
ределенные пользователем.
Библиотеки "standard.lib" и "util.lib" обязательно входят в стандартный комплект поставки.
(См. «Менеджер библиотек» (Library manager))
Типы данных
Кроме стандартных типов данных, вы можете использовать определяемые пользователем типы
данных. Ими могут быть структуры, перечисления и ссылки.
(См. ПриложениеТипы данных (Data types))
Визуализация
С помощью визуализации пользователь может создать графическое представление проекта. Форма
и цвет графических элементов будут изменяться при работе программы в зависимости от значений
переменных.
Визуализация может исполняться в системе программирования, в отдельном приложении CoDeSys
HMI или как Web или целевая (в ПЛК) визуализация. (См. раздел «CoDeSys Визуализации» (Visu-
alizations))
2.2 Языки программирования
CoDeSys поддерживает следующие текстовые:
Что есть, что в CoDeSys
CoDeSys V2.3 2-9
Instruction List (IL) - Список инструкций
Structured Text (ST) Структурированный текст
и графические МЭК языки:
Sequential Function Chart (SFC) Последовательные Функциональные Схемы
Function Block Diagram (FBD) Функциональные Блоковые Диаграммы
Ladder Diagram (LD) Релейно-Контактные Схемы
Кроме того, CoDeSys включает поддержку основанного на Функциональных Блоковых Диаграм-
мах, редактора Continuous Function Chart (CFC) Непрерывные Функциональные Схемы.
Список инструкций (IL)
В IL (Instruction list) каждая инструкция начинается с новой строки и содержит оператор и, в зави-
симости от типа операции, один и более операндов, разделенных запятыми.
Перед операндом может находиться метка, заканчивающаяся двоеточием (:). Комментарий должен
быть последним элементом в строке. Между инструкциями могут находиться пустые строки.
Пример:
LD 17
ST lint (* комментарий*)
GE 5
JMPC next
LD idword
EQ istruct.sdword
STN test
next:
Модификаторы и операторы IL
В IL можно использовать следующие операторы и модификаторы:
Модификаторы:
С с JMP, CAL, RET: инструкция выполняется только тогда, когда результат аккумуля-
тора ИСТИНА.
N с JMPC,CALC, RETC:
инструкция выполняется тогда, когда результат аккумулятора
ЛОЖЬ.
N в других случаях: отрицание операнда.
Ниже приведена таблица всех операторов IL с пояснениями и допустимыми модификаторами:
Оператор Модифи-
катор
Значение
LD N Присвоение аккумулятору значения оператора
ST N Присвоение значения аккумулятора операнду
S Присвоить логическому операнду значение ИСТИНА, если зна-
чение аккумулятора ИСТИНА
R Присвоить логическому операнду значение ЛОЖЬ
AND N, ( Побитное И
OR N, ( Побитное ИЛИ
XOR N, ( Побитное исключающее ИЛИ
ADD ( Сложение
SUB ( Вычитание
MUL ( Умножение
Что есть, что в CoDeSys
CoDeSys V2.3 2-10
DTV ( Деление
GT ( >
GE ( >=
QE ( =
NE ( < >
LE ( <=
LT ( <
JMP CN Переход к метке
CAL CN Вызов функционального блока
RET CN Выход из POU и возврат в вызывающую программу.
) Вычисление задержанной операции
Список всех операторов МЭК приведен в приложении.
Пример IL программы с использованием некоторых модификаторов:
LD TRUE (*загрузить значение ИСТИНА в аккумулятор*)
AND BOOL1 (*выполнить И с инверсным значением переменной BOOL1*)
JMPC mark (*если значение аккумулятора ИСТИНА, то перейти к метке
" mark"*)
LDN BOOL2 (*сохранить инверсное значение BOOL2 в аккумуляторе*)
ST ERG (*сохранить значение аккумулятора в ERG*)
После оператора можно поставить скобки, тогда значение выражения внутри скобок рассматрива-
ется как операнд.
Например:
LD 2
MUL 2
ADD 3
ST ERG
Здесь значение ERG равно 7. Если поставить скобки, то порядок вычислений изменится:
LD 2
MUL ( 2
ADD 3
)
ST ERG
Теперь значение переменной ERG равно 10.
Операция MUL выполняется только тогда, когда программа доходит до ")". В качестве операнда
MUL использует значение 5.
Структурированный текст (ST)
ST представляет собой набор инструкций высокого уровня, которые могут использоваться в услов-
ных операторах ("IFTHENELSE") и в циклах (WHILEDO).
Пример:
IF value < 7 THEN
WHILE value < 8 DO
value:=value+1;
END_WHILE;
END_IF;
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52
  • Page 53 53
  • Page 54 54
  • Page 55 55
  • Page 56 56
  • Page 57 57
  • Page 58 58
  • Page 59 59
  • Page 60 60
  • Page 61 61
  • Page 62 62
  • Page 63 63
  • Page 64 64
  • Page 65 65
  • Page 66 66
  • Page 67 67
  • Page 68 68
  • Page 69 69
  • Page 70 70
  • Page 71 71
  • Page 72 72
  • Page 73 73
  • Page 74 74
  • Page 75 75
  • Page 76 76
  • Page 77 77
  • Page 78 78
  • Page 79 79
  • Page 80 80
  • Page 81 81
  • Page 82 82
  • Page 83 83
  • Page 84 84
  • Page 85 85
  • Page 86 86
  • Page 87 87
  • Page 88 88
  • Page 89 89
  • Page 90 90
  • Page 91 91
  • Page 92 92
  • Page 93 93
  • Page 94 94
  • Page 95 95
  • Page 96 96
  • Page 97 97
  • Page 98 98
  • Page 99 99
  • Page 100 100
  • Page 101 101
  • Page 102 102
  • Page 103 103
  • Page 104 104
  • Page 105 105
  • Page 106 106
  • Page 107 107
  • Page 108 108
  • Page 109 109
  • Page 110 110
  • Page 111 111
  • Page 112 112
  • Page 113 113
  • Page 114 114
  • Page 115 115
  • Page 116 116
  • Page 117 117
  • Page 118 118
  • Page 119 119
  • Page 120 120
  • Page 121 121
  • Page 122 122
  • Page 123 123
  • Page 124 124
  • Page 125 125
  • Page 126 126
  • Page 127 127
  • Page 128 128
  • Page 129 129
  • Page 130 130
  • Page 131 131
  • Page 132 132
  • Page 133 133
  • Page 134 134
  • Page 135 135
  • Page 136 136
  • Page 137 137
  • Page 138 138
  • Page 139 139
  • Page 140 140
  • Page 141 141
  • Page 142 142
  • Page 143 143
  • Page 144 144
  • Page 145 145
  • Page 146 146
  • Page 147 147
  • Page 148 148
  • Page 149 149
  • Page 150 150
  • Page 151 151
  • Page 152 152
  • Page 153 153
  • Page 154 154
  • Page 155 155
  • Page 156 156
  • Page 157 157
  • Page 158 158
  • Page 159 159
  • Page 160 160
  • Page 161 161
  • Page 162 162
  • Page 163 163
  • Page 164 164
  • Page 165 165
  • Page 166 166
  • Page 167 167
  • Page 168 168
  • Page 169 169
  • Page 170 170
  • Page 171 171
  • Page 172 172
  • Page 173 173
  • Page 174 174
  • Page 175 175
  • Page 176 176
  • Page 177 177
  • Page 178 178
  • Page 179 179
  • Page 180 180
  • Page 181 181
  • Page 182 182
  • Page 183 183
  • Page 184 184
  • Page 185 185
  • Page 186 186
  • Page 187 187
  • Page 188 188
  • Page 189 189
  • Page 190 190
  • Page 191 191
  • Page 192 192
  • Page 193 193
  • Page 194 194
  • Page 195 195
  • Page 196 196
  • Page 197 197
  • Page 198 198
  • Page 199 199
  • Page 200 200
  • Page 201 201
  • Page 202 202
  • Page 203 203
  • Page 204 204
  • Page 205 205
  • Page 206 206
  • Page 207 207
  • Page 208 208
  • Page 209 209
  • Page 210 210
  • Page 211 211
  • Page 212 212
  • Page 213 213
  • Page 214 214
  • Page 215 215
  • Page 216 216
  • Page 217 217
  • Page 218 218
  • Page 219 219
  • Page 220 220
  • Page 221 221
  • Page 222 222
  • Page 223 223
  • Page 224 224
  • Page 225 225
  • Page 226 226
  • Page 227 227
  • Page 228 228
  • Page 229 229
  • Page 230 230
  • Page 231 231
  • Page 232 232
  • Page 233 233
  • Page 234 234
  • Page 235 235
  • Page 236 236
  • Page 237 237
  • Page 238 238
  • Page 239 239
  • Page 240 240
  • Page 241 241
  • Page 242 242
  • Page 243 243
  • Page 244 244
  • Page 245 245
  • Page 246 246
  • Page 247 247
  • Page 248 248
  • Page 249 249
  • Page 250 250
  • Page 251 251
  • Page 252 252
  • Page 253 253
  • Page 254 254
  • Page 255 255
  • Page 256 256
  • Page 257 257
  • Page 258 258
  • Page 259 259
  • Page 260 260
  • Page 261 261
  • Page 262 262
  • Page 263 263
  • Page 264 264
  • Page 265 265
  • Page 266 266
  • Page 267 267
  • Page 268 268
  • Page 269 269
  • Page 270 270
  • Page 271 271
  • Page 272 272
  • Page 273 273
  • Page 274 274
  • Page 275 275
  • Page 276 276
  • Page 277 277
  • Page 278 278
  • Page 279 279
  • Page 280 280
  • Page 281 281
  • Page 282 282
  • Page 283 283
  • Page 284 284
  • Page 285 285
  • Page 286 286
  • Page 287 287
  • Page 288 288
  • Page 289 289
  • Page 290 290
  • Page 291 291
  • Page 292 292
  • Page 293 293
  • Page 294 294
  • Page 295 295
  • Page 296 296
  • Page 297 297
  • Page 298 298
  • Page 299 299
  • Page 300 300
  • Page 301 301
  • Page 302 302
  • Page 303 303
  • Page 304 304
  • Page 305 305
  • Page 306 306
  • Page 307 307
  • Page 308 308
  • Page 309 309
  • Page 310 310
  • Page 311 311
  • Page 312 312
  • Page 313 313
  • Page 314 314
  • Page 315 315
  • Page 316 316
  • Page 317 317
  • Page 318 318
  • Page 319 319
  • Page 320 320
  • Page 321 321
  • Page 322 322
  • Page 323 323
  • Page 324 324
  • Page 325 325
  • Page 326 326
  • Page 327 327
  • Page 328 328
  • Page 329 329
  • Page 330 330
  • Page 331 331
  • Page 332 332
  • Page 333 333
  • Page 334 334
  • Page 335 335
  • Page 336 336
  • Page 337 337
  • Page 338 338
  • Page 339 339
  • Page 340 340
  • Page 341 341
  • Page 342 342
  • Page 343 343
  • Page 344 344
  • Page 345 345
  • Page 346 346
  • Page 347 347
  • Page 348 348
  • Page 349 349
  • Page 350 350
  • Page 351 351
  • Page 352 352
  • Page 353 353
  • Page 354 354
  • Page 355 355
  • Page 356 356
  • Page 357 357
  • Page 358 358
  • Page 359 359
  • Page 360 360
  • Page 361 361
  • Page 362 362
  • Page 363 363
  • Page 364 364
  • Page 365 365
  • Page 366 366
  • Page 367 367
  • Page 368 368
  • Page 369 369
  • Page 370 370
  • Page 371 371
  • Page 372 372
  • Page 373 373
  • Page 374 374
  • Page 375 375
  • Page 376 376
  • Page 377 377
  • Page 378 378
  • Page 379 379
  • Page 380 380
  • Page 381 381
  • Page 382 382
  • Page 383 383
  • Page 384 384
  • Page 385 385
  • Page 386 386
  • Page 387 387
  • Page 388 388
  • Page 389 389
  • Page 390 390
  • Page 391 391
  • Page 392 392
  • Page 393 393
  • Page 394 394
  • Page 395 395
  • Page 396 396
  • Page 397 397
  • Page 398 398
  • Page 399 399
  • Page 400 400
  • Page 401 401
  • Page 402 402
  • Page 403 403
  • Page 404 404
  • Page 405 405
  • Page 406 406
  • Page 407 407
  • Page 408 408
  • Page 409 409
  • Page 410 410
  • Page 411 411
  • Page 412 412
  • Page 413 413
  • Page 414 414
  • Page 415 415
  • Page 416 416
  • Page 417 417
  • Page 418 418
  • Page 419 419
  • Page 420 420
  • Page 421 421
  • Page 422 422
  • Page 423 423
  • Page 424 424
  • Page 425 425
  • Page 426 426
  • Page 427 427
  • Page 428 428
  • Page 429 429
  • Page 430 430
  • Page 431 431
  • Page 432 432
  • Page 433 433
  • Page 434 434
  • Page 435 435
  • Page 436 436
  • Page 437 437
  • Page 438 438
  • Page 439 439
  • Page 440 440
  • Page 441 441
  • Page 442 442
  • Page 443 443
  • Page 444 444
  • Page 445 445
  • Page 446 446
  • Page 447 447
  • Page 448 448
  • Page 449 449
  • Page 450 450
  • Page 451 451
  • Page 452 452

WAGO WAGO-I/O-PRO, Programming Tool IEC-61131-3 Руководство пользователя

Тип
Руководство пользователя

Задайте вопрос, и я найду ответ в документе

Поиск информации в документе стал проще с помощью ИИ