- •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: Ошибки и предупреждения компилятора
- •Предупреждения
- •Ошибки
Ресурсы
'Дополнения' 'Вычислять адреса' ('Extras' 'Calculate addresses')
Если опция "Вычисление адресов" (Calculate addresses) в диалоге 'Настройки' (Settings) активна,
то команда 'Дополнения' 'Вычислять адреса' ('Extras' 'Calculate addresses') запускает пересчет адресов всех модулей. Пересчет идет для всех модулей, начиная с выделенной в дереве конфигурации.
'Добавить файл конфигурации' (Add configuration file)
Используйте эту команду из меню 'Дополнения' (Extras) для добавления файлов конфигурации проекта. Файлы конфигурации должны помещаться в директории (директориях) заданных в опциях проекта: категория 'Директории' (Directories), поле 'Конфиг. файлы' (Configuration files).
В диалоге “Выбор конфигурационного файла” (Select configuration file) присутствует фильтр,
которым вы можете ограничить открываемые файлы: CAN- (*.eds,*.dcf), Profibus- (*.gsd), конфигурация (*.cfg файлы) или все файлы (*.*).
После выбора файла производится проверка на наличие данного файла в определенных директориях конфигурации. В этом случае файл не добавляется, о чем будет дано соответствующее сообщение.
Если файл может быть добавлен, то открывается диалог Select configuration directory. В нем перечислены все директории конфигураций проекта. Выберите директорию, куда необходимо скопировать файл. Подтвердите выбор кнопкой OK. Указанный файл сразу же станет доступен в ПЛК конфигурации.
'Дополнения' 'Стандартная конфигурация' ('Extras' 'Standard configuration')
Команда 'Дополнения' 'Стандартная конфигурация' ('Extras' 'Standard configuration') восстанав-
ливает стандартную конфигурацию ПЛК, определенную в *.cfg файле и сохраненную в проекте.
Внимание: В *.cfg файле может быть указано, что стандартная конфигурация должна восстанавливаться при каждом повторном открытии проекта. В этом случае, все изменения, сделанные пользователем будут утрачены!
Преобразование старой ПЛК конфигурации 'Дополнения' 'Конвертировать' ('Extras' 'Convert')
Команда 'Конвертировать' (Convert) необходима, если вы открываете проект, содержащий ПЛК конфигурацию, которая создана в CoDeSys до версиии V2. 2. Если все необходимые файлы конфигурации доступны, команда 'Convert' преобразует существующую конфигурацию в актуальный формат. При выполнении команды будет открыт диалог подтверждения: "Convert the configuration to the new format? Attention: Undo is not possible !" (Конвертировать конфигурацию в новый формат?
Внимание: преобразование не обратимо!). Нажмите кнопку Yes, конфигурация будет записана в новом формате. Имейте в виду, что обратное преобразование выполнить невозможно!
Диалог специфической настройки параметров
Возможности настройки параметров редактора конфигурации могут быть расширены путем применения специфических для конкретных типов модулей диалогов. Такие диалоги реализуются посредством так называемых 'Hook'-DLL, помещенных в директорию конфигурации и связанных с определенным модулем или каналом. В этом случае, вместо стандартного диалога 'Module parameters' вы увидите диалог, реализованный в DLL.
CoDeSys V2.3 |
6-27 |
Ресурсы
Пример диалога специфической настройки параметров (Custom Parameters):
Конфигурация модулей ввода/вывода
Базовые параметры модулей ввода/вывода
Диалог базовых параметров модуля ввода/вывода
Когда модуль ввода/вывода выбран в дереве конфигурации, в правой части окна отображается диалог базовых параметров модуля:
Идентификатор модуля (Module id): Идентификатор задается в конфигурационном файле. Редактировать его нельзя.
Идентификатор узла (Node id): номер позиции модуля задается вхождением в конфигурационном файле или положением в структуре конфигурации.
Адрес входов (Input address), Адрес выходов (Output address), Адрес диагностики (Diagnostic address): адреса областей входов, выходов и диагностики модуля.
CoDeSys V2.3 |
6-28 |
Ресурсы
Данные адреса отображают модуль в проекте. Они определяются общими установками, режимом адресации и могут допускать редактирование.
Комментарий (Comment): текстовый комментарий для модуля.
Load module description: если эта опция отключена, то определение модуля не будет загружаться в проект. По умолчанию эта опция активна. Видимость и доступность редактирования модуля определяется в файле конфигурации *.cfg.
Диагностика в ПЛК конфигурации:
Адрес диагностической области памяти модуля (Diagnostic address) задается в прямоадресуемой маркированной (M) памяти. Диагностика работы модуля выполняется автоматически, и ее результаты помещаются в данную область.
Диагностика с помощью функционального блока DiagGetState
Для обычных модулей ввода/вывода наличие и функции встроенной диагностики определяются изготовителем. Для сетевых модулей, таких, как CAN или Profibus DP, диагностика работает следующим образом: по указанному адресу размещается информационная структура GetBusState, поддерживаемая соответствующей библиотекой изготовителя (например, BusDiag.lib от 3S - Smart Software Solutions).
Для использования данной структуры ее необходимо объявить по соответствующему адресу. Например, так:
BusState AT %MB12 : GetBusState;
Каждый раз, когда МЭК программа читает или записывает данные модуля, выполняется запрос модулю на заполнение диагностической структуры. Если хотя бы один модуль в сети вызвал ошибку, то специфическую диагностическую информацию можно получить с помощью функционального блока DiagGetState. Он входит в вышеупомянутую библиотеку. Этой возможностью обладают только ведущие сети (masters), определенные в ПЛК конфигурации CoDeSys!
Для доступа к диагностической информации сети, вы должны объявить экземпляр функционального блока DiagGetState в своем CoDeSys проекте.
Входные переменные DiagGetState:
ENABLE: BOOL; |
Функциональный блок начинает работать по переднему фронту EN- |
|
|
ABLE. |
|
DRIVERNAME: POINTER TO |
Имя драйвера (указатель на имя), к которому должны передаваться |
|
STRING; |
запросы на диагностику. Если здесь задан 0, то запросы передаются |
|
|
всем присутствующим драйверам. |
|
DEVICENUMBER:INT; |
Идентификатор сети, управляемой драйвером. Например, драйвер |
|
|
Hilscher может поддерживать до 5 сетевых карт. Индекс начинается с |
|
|
0. |
|
BUSMEMBERID:DWORD ; |
Специфический для драйвера идентификатор сетевого модуля (на- |
|
|
пример, для CANopen карты - это NodeID, для PB-DP карты - адрес |
|
|
станции и т.д.). |
|
Выходные переменные DiagGetState: |
||
|
|
|
READY:BOOL ; |
TRUE: выполнение диагностического запроса было прервано |
|
|
|
|
STATE:INT; |
Если READY = TRUE, то STATE принимает следующие значения, |
|
|
отражающие актуальное состояние: |
|
|
-1: ошибочный входной параметр |
|
|
(NDSTATE_INVALID_INPUTPARAM:INT;) |
|
|
0: функциональный блок не работает |
|
|
(NDSTATE_NOTENABLED:INT;) |
|
CoDeSys V2.3 |
6-29 |
Ресурсы
|
1: функциональный блок читает диагностическую информацию |
|
|
|
(NDSTATE_GETDIAG_INFO:INT;) |
|
2: диагностическая информация доступна |
|
(NDSTATE_DIAGINFO_AVAILABLE:INT;) |
|
3: диагностическая информация не доступна |
|
(NDSTATE_DIAGINFO_NOTAVAILABLE:INT;) |
EXTENDED- |
До 100 байт специфической диагностической информации изготови- |
INFO:ARRAY[0..129] OF BYTE; |
теля. Один байт зарезервирован, его биты 0 – 2 используются сле- |
|
дующим образом: |
|
Bit 0: Сетевой модуль присутствует в конфигурации ПЛК. |
|
Bit 1: Сетевой модуль доступен в сети. |
|
Bit 2: Сетевой модуль сообщает ошибку. |
Альтернативная диагностика с помощью функционального блока DiagGetBusState:
Если диагностический адрес задан в конфигурации, то состояние сети обновляется в фоновом режиме. Иначе, (если поддержано в целевой системе) функциональный блок DiagGetBusState может быть использован в проекте явно для получения диагностики. Он должен быть доступен в соответствующей библиотеке, поставляемой изготовителем контроллера, например в библиотеке
BusDiag.lib от 3S - Smart Software Solutions GmbH.
Данный функциональный блок имеет аналогичные входные и выходные переменные. Переменные
STATE и EXTENDEDINFO имеют отличия:
STATE:INT; |
Если READY = TRUE, то STATE принимает следующие |
|
значения, отражающие актуальное состояние: |
|
BUSSTATE_BUSOK (сеть работает без ошибок) |
|
BUSSTATE_BUSFAULT (ошибка сети) |
|
BUSSTATE_BUSNOTCOMMUNICATING (ошибка связи) |
|
BUSSTATE_BUSSTOPPED (сеть остановлена) |
EXTENDEDINFO:ARRAY[0..129] Специфическая диагностическая информация изготовителя |
|
OF BYTE; |
для устройства сети. Используются только 3 младших бита |
в байте:
Bit 0: устройство сконфигурировано Bit 1: устройство активно
Bit 2: устройство сообщило об ошибке, подробности могут быть получены через DiagGetState()
Параметры модуля / специфические параметры модуля ввода/вывода
Диалог параметров модуля
CoDeSys V2.3 |
6-30 |
