- •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
Редактор LD
POU в редакторе LD
Все редакторы POU состоят из раздела объявлений и собственно тела POU. Они отделены друга от друга разделителем.
Редактор LD – это графический редактор. Наиболее важные команды находятся в контекстном меню, которое вызывается правой кнопкой мыши или сочетанием клавиш <Ctrl>+<F10>.
Обратите также внимание на возможности управления отображением комментариев, описанные выше в разделе 0 «Комментарии к схеме, команда “Дополнения” “Опции” (“Extras” “Options”)».
Информацию по языку можно найти в главе 2.2.6 Ladder Diagram(LD).
Позиции курсора в редакторе LD
Курсор может находиться в следующих позициях, причем для любой позиции контакт можно заменить функциональным блоком или программой. POU, имеющий вход EN, используется также как и в FBD. Информация о редактировании таких схем находится в главе “Редактор FBD”.
Любое текстовое поле (позиция курсора обозначена черной рамкой)
CoDeSys V2.3 |
5-36 |
Редакторы CoDeSys
Любой контакт или функциональный блок.
Любая обмотка.
Линия, соединяющая контакт и обмотку.
В редакторе LD используются следующие специальные команды:
Перемещение элементов и наименований в редакторе LD
С помощью перетаскивания мышкой (drag&drop) элементы (контакт, обмотку или функциональный блок) или их наименования в LD можно перемещать в другие позиции.
Выберите нужный элемент (контакт, обмотку или функциональный блок) и перетаскивайте его, удерживая нажатой клавишу мышки. В процессе этого все допустимые места для помещения элемента будут показаны серыми прямоугольниками. Перетащите элемент в одну из этих позиций и отпустите клавишу. Элемент будет перемещен.
Если вы перетащите элемент в поле имени другого элемента, то данное поле будет подсвечено зеленым цветом. Если теперь отпустить клавишу мышки, то имя в поле будет заменено «перетаскиваемым» именем. Если включено отображение адреса и комментария (опция), то они также будут скопированы.
'Вставка' 'Цепь (перед)' ('Insert' 'Network (before)')
Обозначение: 
Используйте эту команду для вставки цепи, выше выбранной в редакторе LD.
CoDeSys V2.3 |
5-37 |
Редакторы CoDeSys
'Вставка' 'Цепь (после)' ('Insert' 'Network (after)')
Обозначение: 
Используйте эту команду для вставки цепи, ниже выбранной в редакторе LD.
‘Вставка’ ‘Контакт’ (‘Insert’ ‘Contact’)
Обозначение:
Быстрый ввод: <Ctrl>+<K>
Используйте эту команду для вставки контакта перед выбранной позицией в цепи.
Если выбрана обмотка (позиция курсора №3) или линия, соединяющая контакт и обмотку (позиция курсора №4), то новый контакт вставляется последовательно с предыдущим.
Текстовое поле над контактом заполняется знаками вопроса. В этом поле надо ввести нужную переменную или константу. Имя переменной удобно вводить с помощью Ассистента ввода.
Обратите также внимание на возможность управления отображением и ввода адресов вместо имен переменных (См. 0 Комментарии к схеме, команда “Дополнения” “Опции” (“Extras” “Options”)).
'Вставка' 'Инверсный контакт' ('Insert' 'Contact (negated)')
Обозначение:
Быстрый ввод: <Ctrl> + <G>
Используйте эту команду для вставки инверсного контакта. Она заменяет последовательность ко-
манд 'Insert' 'Contact' и 'Extras' 'Negate'.
‘Вставка’ ‘Параллельный контакт’ (‘Insert’ ‘Parallel Contact’)
Обозначение:
Быстрый ввод: <Ctrl>+<R>
Используйте эту команду для вставки контакта, параллельного выделенной позиции схемы.
Если выделена обмотка (позиция курсора №3) или линия, соединяющая обмотку и контакт (позиция курсора №4), то новый контакт будет параллелен всем контактам, находящимся слева от выбранной позиции.
В текстовом поле над вставленным контактом записаны три знака вопроса. В этом поле надо ввести нужную переменную или константу. Имя переменной удобно вводить с помощью Асситента ввода.
‘Вставка’ ‘Параллельный контакт (инверсный)’ ('Insert' 'Parallel Contact (negated)')
Обозначение:
Быстрый ввод: <Ctrl> + <D>
Используйте эту команду для вставки инверсного контакта. Она заменяет последовательность ко-
манд 'Insert' 'Parallel Contact' и 'Extras' 'Negate'.
“Вставка” “Обмотка” (‘Insert’ ‘Coil’)
Обозначение:
Быстрый ввод: <Ctrl>+<L>
Вы можете использовать эту команду для вставки обмотки, параллельной выбранной.
Для этого нужно выделить обмотку (позиция курсора №3) или линию, соединяющую контакты и обмотки (позиция курсора №4), и выполнить команду. В этом случае вставленная обмотка будет самой нижней. Если выделена обмотка, то новая вставляется прямо над выбранной.
CoDeSys V2.3 |
5-38 |
Редакторы CoDeSys
По умолчанию, переменная, связанная с обмоткой, получает имя “???”, которое можно заменить на любую константу, переменную или адрес. Для этого удобно использовать Ассистент ввода.
Существует возможность отображать имена переменных с разрывом строк. Обратите также внимание на возможность ввода адресов вместо имен переменных (См. Комментарии к схеме, команда
"Дополнения" "Опции" ("Extras" 'Options')).
'Вставка' 'Set' обмотка' ('Insert' 'Set' coil')
Обозначение:
Быстрый ввод: <Ctrl> + <I>
Используйте эту команду для вставки ‘Set’ обмотки, параллельной выбранной. Она заменяет после-
довательность команд ‘Вставка’ ‘Обмотка’ (‘Insert’ ‘Coil’) и 'Дополнения' (Extras) 'Set/Reset'.
'Вставка' 'Reset' обмотка' ('Insert' 'Reset' coil')
Обозначение: 
Используйте эту команду для вставки ‘Reset’ обмотки, параллельной выбранной. Она заменяет по-
следовательность команд ‘Вставка’ ‘Обмотка’ (‘Insert’ ‘Coil’) и 'Дополнения' (Extras) 'Set/Reset'.
‘Вставка’ ‘Функциональный блок’ (‘Insert’ ‘Function Block’)
Обозначение:
Быстрый ввод: <Ctrl>+<B>
Эта команда используется для вставки оператора, функционального блока, функции или программы.
Для этого нужно выделить обмотку (позиция курсора №3) или линию, соединяющую контакты и обмотки (позиция курсора №4), и выполнить команду. Новый блок имеет имя AND. При необходимости вы можете поменять имя этого блока на любое другое. Для этого удобно использовать Асситент ввода, в котором можно выбрать стандартное или определенное пользователем POU.
Первый вход и первый выход этого POU соединяется с линией связи, поэтому этот выход и выход должны быть типа BOOL. Текстовые поля имен переменных для других входов и выходов POU заполняются тремя знаками вопроса, которые можно заменить на любые константы, переменные или адреса. Для этого удобно использовать Асситент ввода.
Обратите также внимание на возможность ввода адресов вместо имен переменных (См. Комментарии к схеме, команда "Дополнения" "Опции" ("Extras" 'Options')).
POU c входом EN.
Если вы хотите управлять вызовом POU из релейной цепи, то POU должен иметь логический вход разрешения EN.
Команду для вставки POU с EN-входом вы найдете в меню “Вставка” “Элемент с EN” (“Insert” ”Box with EN”). Операторы, функциональные блоки, программы или функции с EN-входом работают так же, как и в FBD. Вход EN соединяется с линией, связывающей обмотки и контакты. POU выполняется, когда линия, к которой подключен EN-вход, передает значение TRUE.
Разрешенный по EN POU будет работать как обычно. Это означает, что соответствующие данные будут передаваться в POU и обрабатываться им.
Таким образом, если вы хотите вставить FBD фрагмент в релейную цепь, вы должны вставить оператор с ENвходом. После него продолжайте схему как в редакторе FBD.
В итоге составленная цепь будет похожа на схему в FBD.
CoDeSys V2.3 |
5-39 |
Редакторы CoDeSys
‘Вставка’ ‘Элемент с EN’ (‘Insert’ ‘Box with EN’)
Обозначение: 
Используйте эту команду для вставки функционального блока, оператора, функции или программы с EN-входом в схему LD.
Выделенная позиция должна быть обмоткой (позиция курсора №3) или линией, соединяющей обмотку и контакт (позиция курсора №4). Новое POU вставляется параллельно обмоткам или ниже их и по умолчанию имеет имя “AND”. Вы можете поменять это имя на любое другое. Для этого удобно использовать Ассистент ввода.
‘Вставка’ ‘Вставка в блоки’ (‘Insert’ ‘Insert at blocks’)
С помощью этих команд вы можете вставить дополнительные элементы в уже существующие POU. Команды, находящиеся в этом пункте меню, применимы в тех же позициях курсора, что и соответствующие команды FBD (см. главу 5.7).
Команда Вход (Input) добавляет новый вход в POU.
Команда Выход (Output) добавляет новый выход в POU.
Команда POU добавляет новый POU в схему.
Команда Присваивание (Assign) вставляет присваивание переменной. Задайте имя переменной вместо трех вопросов или используйте ассистент ввода.
'Вставка' 'Детектор переднего фронта' ('Insert' 'Rising edge detection')
Обозначение: 
Данная команда вставляет в цепь функциональный блок R_TRIG, который служит для выделения переднего фронта импульса (FALSE -> TRUE) сигнала.
'Вставка' 'Детектор заднего фронта' ('Insert' 'Falling edge detection')
Обозначение: 
Данная команда вставляет в цепь функциональный блок F_TRIG, который служит для выделения заднего фронта импульса (TRUE -> FALSE) сигнала.
'Вставка' 'Таймер (TON)' ('Insert' 'Timer (TON)')
Обозначение: 
Данная команда вставляет в цепь функциональный блок таймер TON, который служит для формирования задержки сигнала.
‘Вставка’ ‘Переход’ (‘Insert’ ‘Jump’)
С помощью этой команды вы можете вставить инструкцию перехода параллельно обмоткам, причем эта инструкция размещается в позиции, следующей за последней обмоткой. Если линия, с которой связана инструкция перехода, передает значение On, то осуществляется переход на указанную метку.
Выделенная позиция должна быть обмоткой (позиция курсора №3) или линией, соединяющей обмотку и контакт (позиция курсора №4).
CoDeSys V2.3 |
5-40 |
Редакторы CoDeSys
Сразу после выполнения этой команды в поле ввода имени метки появляется строка “???”. Вы можете изменить ее на имя нужной метки.
‘Вставка’ ‘Возврат’ (‘Insert’ ‘Return’)
В редакторе LD с помощью этой команды вы можете вставить инструкцию возврата параллельно обмоткам, причем эта инструкция размещается в позиции, следующей за последней обмоткой. Если линия, с которой связана инструкция перехода, передает значение On, то осуществляется переход на начало выполняемого POU.
Выделенная позиция должна быть катушкой (позиция курсора №3) или линией, соединяющей обмотку и контакт (позиция курсора №4).
'Дополнения' 'Вставить после' ('Extras' 'Paste after')
Используйте эту команду для вставки содержимого буфера за контактом выделенной позиции. Эта команда доступна, только если содержимое буфера и выделенная позиция – схема, состоящая из контактов.
‘Дополнения’ ‘Вставить ниже’ (‘Extras’ ‘Paste below’)
Используйте эту команду для вставки содержимого буфера ниже выделенной позиции. Эта команда доступна, только если содержимое буфера и выделенная позиция – схема, состоящая из контактов. Эта схема вставляется параллельно выбраной.
‘Дополнения’ ‘Вставить выше’ (‘Extras’ ‘Paste above’)
Используйте эту команду для вставки содержимого буфера выше выделенной позиции. Эта команда доступна, только если содержимое буфера и выделенная позиция – схема, состоящая из контактов. Эта схема вставляется параллельно выбраной.
‘Дополнения’ ‘Инверсия’ (‘Extras’ ‘Negate’)
Обозначение:
Быстрый ввод: <Ctrl>+<N>
Используйте эту команду для инвертирования выбранного контакта, обмотки, инструкции перехода или возврата, входа или выхода POU (позиция курсора 2 или 3). При этом в символе обмотки или контакта появляется слеш ((/) или |/|). При инвертировании инструкции перехода или возврата, входов или выходов POU появляется кружок в точке соединения, как и в редакторе FBD.
Инверсная обмотка записывает в соответствующую логическую переменную значение, обратное своему. Инвертированный контакт замыкает схему, если соответствующая логическая переменная имеет значение False.
Если инвертирована инструкция возврата или перехода, то она выполняется, когда соединенная с ней линия передает значение Off.
Снять инвертирование с элемента можно, переинвертировав этот элемент.
‘Дополнения’ (Extras) ‘Set/Reset‘
Обозначение: 
Если выделить обмотку и выполнить эту команду, то можно получить Set-обмотку. Такая обмотка записывает в соответствующую логическую переменную значение True, когда на входе этой обмотки имеется сигнал On, и сохраняет значение этой переменной, когда на входе сигнал Off.
Такая обмотка обозначается буквой “S”.
CoDeSys V2.3 |
5-41 |
Редакторы CoDeSys
Выполнив эту команду еще раз, вы получите Reset-обмотку. Такая обмотка записывает в соответствующую логическую переменную значение False, когда на входе этой обмотки имеется сигнал On, и сохраняет значение этой переменной, когда на входе сигнал Off.
Такая обмотка обозначается буквой “R”.
Выполнив эту команду несколько раз, вы можете получить Set-, Reset- и обыкновенную обмотку.
Редактор LD в режиме Онлайн
Врежиме Онлайн контакты и обмотки, которые находятся в состоянии On, изображаются синим цветом. Кроме того, все линии, передающие состояние On, также окрашиваются синим. Указываются значения всех входов и выходов функциональных блоков.
Врежиме Онлайн можно устанавливать точки останова и выполнять программу по шагам.
Если вы переместите указатель мыши на переменную, то в подсказке появятся тип, комментарии и адрес этой переменной.
CoDeSys V2.3 |
5-42 |
