- •1 Краткое представление CoDeSys
- •1.1 Что такое CoDeSys
- •1.2 Представление о работе в CoDeSys
- •1.3 Состав базовой пользовательской документации по CoDeSys
- •2 Что есть что в CoDeSys
- •2.1 Компоненты проекта
- •2.2 Языки программирования
- •Список инструкций (IL)
- •Модификаторы и операторы IL
- •Структурированный текст (ST)
- •Язык последовательных функциональных схем (SFC)
- •Язык функциональных блоковых диаграмм (FBD)
- •Непрерывные функциональные схемы (CFC)
- •Язык релейных диаграмм (LD)
- •2.3 Отладка и онлайн функции
- •3 Пишем простой пример
- •3.1 Блок управления светофором
- •3.2 Визуализация примера
- •4 Работа в системе программирования CoDeSys
- •4.1 Главное окно
- •4.2 Опции проекта
- •4.3 Управление проектом
- •4.4 Управление объектами проекта
- •4.5 Основные функции редактирования
- •4.6 Основные функции Онлайн
- •4.7 Работа с окнами
- •4.8 Помощь
- •5 Редакторы CoDeSys
- •5.1 Общие элементы редакторов
- •5.2 Редактор раздела объявлений
- •Работа в редакторе объявлений
- •Редактор раздела объявлений в режиме Онлайн
- •Директивы компилятора
- •5.3 Текстовые редакторы
- •Работа в текстовых редакторах
- •Редактор языка IL
- •Редактор языка ST
- •5.4 Графические редакторы
- •Работа в графических редакторах
- •Редактор FBD
- •Редактор LD
- •Редактор SFC
- •Редактор CFC
- •6 Ресурсы
- •6.1 Обзор ресурсов
- •Глобальные переменные
- •Конфигурационные переменные
- •Файл комментариев переменных
- •6.3 Конфигурация тревог (Alarm Configuration)
- •Обзор
- •Общая информация и терминология
- •Классы тревог
- •Группы тревог
- •Запись тревог
- •'Дополнения' (Extras): 'Настройки' (Settings)
- •6.4 Менеджер библиотек (Library Manager)
- •6.5 Бортжурнал (Log)
- •6.6 Конфигуратор ПЛК (PLC Configuration)
- •Обзор
- •Работа в редакторе конфигуратора ПЛК
- •Общие параметры конфигурации ПЛК
- •Диалог специфической настройки параметров
- •Конфигурация модулей ввода/вывода
- •Конфигурация канала
- •Конфигурирование модулей Profibus
- •Конфигурирование CANopen-модулей
- •Конфигурирование ведомого CANopen-устройства (CANopen Slave)
- •Конфигурирование модулей DeviceNet
- •Конфигурация ПЛК в режиме Онлайн
- •Сканирование аппаратуры/ Состояние/ Диагностика ПЛК
- •6.7 Конфигуратор задач (Task Configuration)
- •Обзор
- •Работа в конфигураторе задач
- •Системные события
- •Конфигуратор задач в режиме онлайн
- •6.8 Менеджер просмотра (Watch and Recipe Manager)
- •Обзор
- •Менеджер просмотра в режиме оффлайн
- •Менеджер просмотра в режиме Онлайн
- •6.9 Цифровая трассировка (Sampling Trace)
- •Обзор
- •Конфигурация трассировки
- •Управление процессом трассировки
- •Отображение данных
- •‘Дополнения’ ‘Запись значений трассировки’ ('Extras' 'Save trace values')
- •6.10 Рабочая область (Workspace)
- •6.11 Менеджер параметров (Parameter Manager)
- •Обзор и подключение
- •Редактор менеджера параметров. Обзор
- •Типы списков параметров и их атрибуты
- •Управление списками параметров
- •Редактирование списка параметров
- •Менеджер параметров в режиме онлайн
- •Экспорт/импорт списков параметров
- •6.12 Настройки целевой платформы (Target Settings)
- •6.13 ПЛК-Браузер (PLC-Browser)
- •Общие сведения
- •Набор команд ПЛК-Браузера
- •Макрорасширения команд ПЛК-Браузера
- •Вспомогательные команды ПЛК-Браузера
- •6.14 Инструменты (Tools)
- •Свойства доступных инструментов (Object Properties)
- •Настройка команд инструментов
- •Часто задаваемые вопросы по инструментам
- •7.1 Что такое ENI?
- •7.2 Условия работы с ENI базой данных в проекте
- •7.3 Работа с ENI базой данных в проекте CoDeSys
- •7.4 Категории объектов в базе данных проекта
- •8 DDE интерфейс
- •8.1 DDE интерфейс CoDeSys
- •8.2 DDE обмен посредством GatewayDDE Server
- •9 Менеджер лицензирования CoDeSys
- •9.1 Обзор
- •9.2 Создание лицензированных библиотек в CoDeSys
- •10.1 Арифметические операторы
- •10.2 Битовые операторы
- •10.3 Операторы сдвига
- •10.4 Операторы выборки
- •10.5 Операторы сравнения
- •10.6 Адресные операторы
- •Вспомогательные функции
- •10.8 Оператор вызова
- •10.9 Явное преобразование типов
- •10.10 Математические функции
- •Приложение В: Операнды в CoDeSys
- •Константы
- •Переменные
- •Адреса
- •Функции в роли операндов
- •Приложение С: Типы данных CoDeSys
- •Элементарные типы данных
- •Пользовательские типы данных
- •Приложение D: Библиотеки CoDeSys
- •Стандартная библиотека Standard.lib
- •Строковые функции
- •Переключатели
- •Детекторы импульсов
- •Счетчики
- •Таймеры
- •Библиотека UTIL.LIB
- •BCD преобразования
- •Бит/байт функции
- •Дополнительные математические функции
- •Регуляторы
- •Генераторы сигналов
- •Преобразования аналоговых сигналов
- •Аналоговые компараторы
- •Библиотека AnalyzationNew.lib
- •Системные библиотеки CoDeSys
- •Приложение E: Краткий справочник по операторам и компонентам библиотек
- •Операторы CoDeSys:
- •Компоненты Standard.lib:
- •Компоненты Util.lib:
- •Приложение F: Командная строка / командный файл
- •Командная строка
- •Командный файл (cmdfile)
- •Приложение G: Сименс импорт.
- •Импорт из символьных файлов SEQ
- •Импорт из файла проекта S5
- •Конвертирование языка S5 в МЭК C 61131-3
- •Приложение H: Опции целевых систем
- •Системные опции целевых платформ (Target Platform)
- •Intel 386 совместимые
- •Motorola 68K
- •Infineon C16x
- •ARM и Power PC
- •MIPS
- •'Hitachi SH'
- •8051 совместимые
- •Infineon 'TriCore’
- •Опции распределения памяти (Memory Layout).
- •Опции общей категории (General)
- •Опции категории Сетевая функциональность
- •Опции категории Визуализация
- •Приложение I: Использование клавиатуры
- •Приложение J: Рекомендации по наименованию
- •Наименование идентификаторов
- •Идентификаторы переменных
- •Идентификаторы пользовательских типов (DUT)
- •Идентификаторы визуализаций
- •Приложение K: Ошибки и предупреждения компилятора
- •Предупреждения
- •Ошибки
Работа в системе программирования CoDeSys
Диалог '‘Обзор ENI’ (Browse ENI)
Обновить статус (Refresh Status)
Команда: ‘Проект’ ‘База данных проекта’ ‘Обновить статус’ ('Project' 'Project Database' 'Refresh Status')
Обновляет изображение в Организаторе объектов, для отображения актуального статуса связанных с базой данных объектов проекта.
4.4Управление объектами проекта
Вэтом разделе приведены сведения о принципах работы с объектами и структуре проекта.
Объект
Слово «объект» используется как общее понятие, включающее программные компоненты (POU), типы данных, визуализации (visualizations), разделы глобальных (global) и конфигурационных пе-
ременных (variable configuration), трассировку (Sampling trace), конфигурацию контроллера (PLC configuration), конфигурацию задач (Task Configuration) и менеджер рецептов (Watch and Recipe Manager). Папки используются для структурирования проекта. Все объекты проекта отражены в «Организаторе объектов».
Если вы поместите мышь на POU в организаторе объектов, то всплывающая подсказка укажет его тип (программа, функция или функциональный блок). Для глобальных переменных подсказка включает соответствующее ключевое слово (VAR_GLOBAL и VAR_CONFIG).
Объекты в организаторе объектов можно перетаскивать мышкой (drug&drop). Если при перетаскивании возникает конфликт имен, то к имени нового объекта добавляется серийный номер (напри-
мер, “Object_1”).
Папки
Для структурирования больших проектов вы можете объединять POU, типы данных, визуализации и глобальные переменные в папки. Вы можете создать произвольное число вложений папок.
Если перед папкой стоит знак плюс,
то эта папка содержит объекты или вложенные папки. Открывать и закрывать папки можно, щелкая по знаку "плюс" или "минус" перед ней. Те же функции выполняют команды контекстного меню ‘Раскрыть узел’ (Expand node) и ‘Свернуть узел’ (Collapse node). Новая папка создается командой ‘Новая папка’ (New Folder).
Замечание: Папки не оказывают никакого влияния на программу, а служат исключительно для структурирования проекта.
CoDeSys V2.3 |
4-50 |
Работа в системе программирования CoDeSys
Пример структуры папок в организаторе объектов:
‘Новая папка’ (New Folder)
Добавляет новую папку в организаторе объектов. Если при вызове этой команды была выделена папка, то новая будет создана в ней. В противном случае она создается на том же уровне вложенности. Если выделено действие, то папка создается на уровне вложенности, к которому принадлежат действия.
Эта команда доступна, когда выбран объект в организаторе объектов, и содержится в контекстном меню, которое вызывается нажатием клавиш <Shift>+<F10> или правой кнопкой мыши.
Вновь созданная папка получает имя ‘Новая папка’ (New Folder). Папки можно называть по следующим правилам:
∙Папки на одном уровне вложенности должны иметь различные имена. На разных уровнях допускаются одинаковые имена.
∙Папка не должна иметь такое же имя, как и какой-нибудь объект на этом уровне.
Если при выполнении команды папка с именем ‘Новая папка’ (New Folder) уже существует, то новая папка получит то же имя только с номером, например ‘Новая папка 1’ (New Folder 1). Нельзя давать папке имя, которое уже используется.
‘Раскрыть узел’ (Expand node) и ‘Свернуть узел’ (Collapse node)
С помощью команды ‘Раскрыть узел’ (Expand node) папку можно открыть. Команда ‘Свернуть узел’ (Collapse node) закрывает папку. То же самое можно сделать с помощью мышки.
Эти команды доступны, когда выбран объект в организаторе объектов, и находятся в контекстном меню, которое вызывается нажатием клавиш <Shift>+<F10> или правой кнопкой мыши.
‘Проект’ ‘Объект’ ‘Удалить’ (“Project” “Object” “Delete”)
Быстрый вызов: <Delete>
Удаляет выбранный объект или папку со всеми входящими в нее объектами из Организатора объектов. Для надежности вы должны подтвердить удаление. Удаленный объект может быть восстанов-
лен командой ‘Правка’ ‘Отменить’ ('Edit' 'Undo').
Если при удалении объект был открыт в редакторе, то этот редактор будет автоматически закрыт. С помощью команды ‘Правка’ ‘Вырезать’ (“Edit” “Cut”) вы можете переместить объект в буфер.
‘Проект’ ‘Объект’ ‘Добавить’ (“Project” “Object” “Add”)
Быстрый вызов:<Insert>
Создает новый объект. Тип создаваемого объекта зависит от выбранной в организаторе объектов вкладки. Для объектов типа ‘Глобальные переменные’ (Global Variables), ‘Типы данных’ (Data types), ‘Функция’ (Function), ‘Функциональный блок’ (Function Block) или ‘Программа’ (Program)
доступно использование шаблонов, см. ниже ‘Сохранить как шаблон’ (Save as template).
CoDeSys V2.3 |
4-51 |
Работа в системе программирования CoDeSys
Имя нового POU определяется в поле ‘Имя нового POU’ (Name of the new POU) диалогового окна. Не забудьте, что имя должно быть уникальным.
При определении имени придерживайтесь следующих правил:
∙Имя не должно содержать пробелов
∙Имя нового POU не должно совпадать с именами других POU, типов данных или визуализаций.
∙Имя нового типа данных не должно совпадать с именами других POU или типов данных.
∙Имя нового списка глобальных переменных не должно совпадать с именами других списков глобальных переменных
∙Имя нового действия не должно совпадать с именами других действий в этом же POU.
∙Имя новой визуализации не должно совпадать с именами других визуализаций, POU или типов данных.
Во всех остальных случаях имя будет признано корректным. Поэтому, например, действия, принадлежащие разным POU, могут иметь одинаковые имена. Визуализации могут иметь те же имена, что и POU.
При создании POU в появившемся диалоговом окне нужно задать тип POU (программа, функция или функциональный блок) и язык, на котором этот POU будет выполнен. Тип POU задается в раз-
деле ‘Тип POU’ (Type of the POU), а язык – в разделе ‘Язык реализации’ (Language of the POU).
Если POU является функцией, то также нужно задать тип возвращаемого значения в поле ‘Тип результата’ (Return Type). Здесь можно вводить любой простой или определяемый пользователем тип (массив, структура, перечисление). При этом удобно пользоваться инструментом ‘Ассистент ввода’ (Input assistance), который вызывается клавишей <F2>.
Диалог создания нового POU:
Если имя POU задано верно, то кнопка OK становится доступна и, нажав ее, вы создадите новый объект в Организаторе объектов. При этом откроется окно редактора для этого объекта.
При вставке объекта из буфера с помощью команды ‘Правка’ ‘Вставить’ (“Edit” “Insert”) это диалоговое окно не появляется. Если имя вставляемого объекта конфликтует с имеющимся объектом, то к нему будет добавлен номер (например, “Righ_1”).
Если проект находится под контролем механизма ENI, то, возможно (в зависимости от настроек опций проекта ‘Связь с базой данных’ (Database-connection)), вам придется ответить на вопрос о категории, к которой его необходимо отнести. Этот процесс происходит автоматически. Вам нужно только выбрать необходимую категорию базы данных в диалоге ‘Свойства’ (Properties) .
‘Сохранить как шаблон’ (Save as template)
Объекты типов ‘Глобальные переменные’ (Global Variables), ‘Типы данных’ (Data types), ‘Функция’ (Function), ‘Функциональный блок’ (Function Block) или ‘Программа’ (Program) можно сохранять как шаблоны. Выберите объект в Организаторе объектов и дайте команду ‘Сохранить как шаблон’ (Save as template) в контекстном меню (правая клавиша мыши). Теперь каждый новый объект аналогичного типа будет автоматически включать раздел объявлений из шаблона. Всякий раз используется последний сохраненный шаблон.
CoDeSys V2.3 |
4-52 |
Работа в системе программирования CoDeSys
‘Проект’ ‘Объект’ ‘Переименовать’ (“Project” “Object” “Rename”)
Быстрый вызов: <Пробел>
Переименовывает выбранный объект или папку. Новое имя должно быть уникальным. Если при переименовании было открыто окно редактирования объекта, то заголовок окна изменится автоматически.
Диалоговое окно для переименования POU
‘Проект’ ‘Объект’ ‘Конвертировать’ (“Project” “Object” “Convert”)
Эта команда действует только на POU. Она конвертирует POU с любого языка на один из трех язы-
ков IL, FBD и LD.
Перед использованием команды нужно скомпилировать проект. Выберите один из этих трех языков и дайте POU новое имя. Не забудьте, что это имя должно быть уникальным. Теперь нажмите OK, и новый POU будет добавлен в список POU.
Процесс конвертирования сродни тому, что происходит при компиляции.
Диалоговое окно конвертирования POU.
Внимание: Действия конвертировать нельзя.
Обратите внимание: POU, созданный в редакторе FBD, можно редактировать в LD без преобразования (см. ‘Дополнения’ ‘Вид’ ('Extras' 'View')).
‘Проект’ ‘Объект’ ‘Копировать’ (“Project” “Object” “Copy”)
При выполнении этой команды объект копируется и сохраняется под новым именем. Имя нового POU введите в диалоговом окне. Не забудьте, что имя должно быть уникальным.
Аналогичную функцию выполняет команда ‘Правка’ ‘Вырезать’ (“Edit” “Copy”), но диалоговое окно при этом не появляется.
Диалоговое окно для копирования POU
CoDeSys V2.3 |
4-53 |
Работа в системе программирования CoDeSys
‘Проект’ ‘Объект’ ‘Открыть’ (“Project” “Object” “Open”)
Быстрый ввод: <Enter>
Эта команда открывает выбранный в организаторе объектов POU в соответствующем редакторе. Если окно для этого объекта уже открыто, то оно получает фокус ввода (становится активным).
Есть еще два способа открытия объекта:
∙Двойной щелчок мышкой на нужном объекте.
∙Введите первую букву имени объекта в Организаторе объектов. Откроется диалоговое окно, в котором будут перечислены все объекты, имя которых начинается с введенной буквы. Вы-
берите объект из списка и нажмите кнопку ‘Открыть’ (Open). Такой прием удобно использовать в проектах с большим количеством объектов.
Диалоговое окно выбора открываемого объекта
‘Проект’ ‘Объект - Свойства’ (“Project” “Object Properties”)
Открывает диалог ‘Свойства’ (Properties), выбранного в Организаторе объектов. Вид диалога определяется типом объекта:
∙ для списков глобальных переменных будет открыт диалог Global variable list. В нем задаются параметры обновления списка и, если возможно, параметры обмена данными посредством сетевых переменных. Этот же диалог появляется и при создании нового списка глобальных переменных. Создание нового списка глобальных переменных выполняется при помощи команды
‘Добавить объект’ (Add Object), если выделена папка ‘Глобальные переменные’ (Global Variables) или любой уже существующий список глобальных переменных.
∙ на вкладке ‘Визуализации’ (Visualizations) определяется способ использования объекта визуализации (см. подробнее отдельный документ “Визуализация CoDeSys”).
Диалоговое окно объекта визуализации
CoDeSys V2.3 |
4-54 |
Работа в системе программирования CoDeSys
Использовать как (Use as): если включенны опции Web visualization или Target visualization в
настройках целевой системы (Target Settings), то здесь вы задаете включение объекта в Web или Target визуализацию.
Использовано как (Used as): Активируйте необходимую опцию, относящуюся к возможности использования управляющих панелей (Master layouts):
−Визуализация (Visualization): объект использует общие правила.
−Визуализация без управляющей панели (Visualization without Master layout): если в проекте есть управляющая панель, то она не будет использоваться в данном объекте.
−Управляющая панель (Master layout): данный объект используется как управляющая панель. По умолчанию панель всегда размещается на переднем плане, если не установлена опция ‘На заднем плане’ (as background).
∙ если проект подключен к базе данных ENI (см. ‘Проект’ ‘Опции’ ‘Связь с базой данной’ - 'Project' 'Options' 'Database-connection'), то будет открыт диалог 'Database-connection'. Здесь вы сможете настроить привязку объекта к необходимой категории базы данных либо к локальной категории 'Local'. (Подробнее см. “Что такое ENI?”).
‘Проект’ ‘Свойства объекта’ ‘Права доступа’ (“Project” “Object properties” “Access rights”)
С помощью этой команды вы можете установить права доступа к объекту для различных групп пользователей. При этом появляется следующее диалоговое окно:
Диалоговое окно для установки прав доступа
Права доступа для групп пользователей могут устанавливать только члены группы 0. Существуют три типа доступа:
∙Нет доступа (No Access): объект не доступен для группы пользователей.
∙По чтению (Read Access): объект доступен членам группы только для чтения.
∙Полный (Full Access): группа пользователей может открывать и изменять объект.
Сделанные установки относятся только к выбранному объекту или, если активна опция Apply to all , ко всем POU, типам данных, визуализациям и ресурсам проекта.
Права доступа могут устанавливать только члены группы 0.
Обратите внимание на возможность установки прав доступа к операциям объектов визуализации.
CoDeSys V2.3 |
4-55 |
Работа в системе программирования CoDeSys
‘Проект’ ‘Добавить действие’ (“Project” “Add Action”)
Используется для создания действия, связанного с выделенным в Организаторе объектов блоком. При этом нужно задать имя действия и язык, на котором оно будет описано.
Новое действие будет помещено под выбранным блоком в организаторе объектов. Перед именем этого блока появится знак "плюс". Открывать и закрывать такой блок можно, щелкая по знаку "плюс" или "минус" перед ним. Те же функции выполняют команды контекстного меню ‘Раскрыть узел’ (Expand node) и ‘Свернуть узел’ (Collapse node).
‘Проект’ ‘Просмотр экземпляра’ (“Project” “View Instance”)
Показывает экземпляры выбранного в организаторе объектов функционального блока. К тому же результату приводит двойной щелчок по выбранному функциональному блоку. При этом появляется список всех экземпляров выбранного функционального блока, и его реализация (Implementation). Выберите нужный экземпляр или реализацию и нажмите OK.
Внимание: Просмотр экземпляров доступен только в режиме Онлайн. (Проект должен быть скомпилирован без ошибок и загружен в контроллер.)
Диалог для открытия экземпляра функционального блока:
‘Проект’ ‘Показать дерево вызовов’ (“Project” “Show Call Tree”)
Открывает окно, в котором выводится дерево вызовов для выбранного объекта. Для ее использования проект должен быть скомпилирован.
Дерево вызовов содержит вызовы POU и ссылки на типы данных.
Пример дерева вызовов:
CoDeSys V2.3 |
4-56 |
