- •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: Ошибки и предупреждения компилятора
- •Предупреждения
- •Ошибки
Приложение E: Краткий справочник по операторам и компонентам библиотек
Приложение E: Краткий справочник по операторам и компонентам библиотек
Приведенные ниже таблицы кратко представляют операторы CoDeSys и компоненты библиотек Standard.lib и Util.lib. Даны нотации для языков ST и IL. Для IL указаны допустимые модификаторы.
Обратите внимание, что для IL инструкций первый операнд должен быть загружен заранее (например, командой LD). Непосредственно в строке за «IL» командой вводятся второй и последующие (если они есть) операнды.
Столбец «Мод.» содержит допустимые IL модификаторы:
C Команда выполняется только в случае, если результат предыдущей операции TRUE.
Nдля JMPC, CALC, RETC: Команда выполняется только в случае, если результат предыдущей операции FALSE.
N прочие: отрицание операнда (не аккумулятора)
( Скобки: операторы, заключенные в скобки, выполняются в первую очередь, затем продолжается
обычный порядок выполнения.
Детальные описания даны в соответствующих приложениях выше.
Операторы CoDeSys:
ST |
IL |
Мод. Описание |
||
' |
|
|
Разграничение строк (т.е. 'string1') |
|
.. [ ] |
|
|
Задание индексов массива (т.е. ARRAY[0..3] OF INT) |
|
: |
|
|
Разделитель операнда и типа при объявлении (т.е. var1 : |
|
|
|
|
INT;) |
|
; |
|
|
Конец инструкции (т.е. a:=var1;) |
|
^ |
|
|
Обращение через указатель (т.е. pointer1^) |
|
|
LD var1 |
N |
Загрузить значение var1 а аккумулятор |
|
:= |
ST var1 |
N |
Записать в var1 значение аккумулятора |
|
|
S boolvar |
|
Установка логического операнда boolvar в TRUE, если |
|
|
|
|
значение аккумулятора TRUE |
|
|
R boolvar |
|
Сброс логического операнда boolvar в FALSE, если |
|
|
|
|
значение аккумулятора TRUE |
|
|
JMP label |
CN |
Переход на метку label |
|
<Program name> |
CAL prog1 |
CN |
Вызов программы prog1 |
|
<Instance name> |
CAL inst1 |
CN |
Вызов экземпляра функционального блока inst1 |
|
<Fctname>(vx, vy,..) |
<Fctname> vx, vy |
CN |
Вызов функции fctname передача параметров vx, vy |
|
|
( |
|
Результат вычислений в скобках используется как опе- |
|
|
|
|
ранд. |
|
|
) |
|
Заканчивает вычисление в скобках. |
|
AND |
AND |
N,( |
Битовое AND |
|
OR |
OR |
N,( |
Битовое OR |
|
XOR |
XOR |
N,( |
Битовое исключающее OR |
|
NOT |
NOT |
|
Битовое NOT |
|
+ |
ADD |
( |
Сложение |
|
- |
SUB |
( |
Вычитание |
|
* |
MUL |
( |
Умножение |
|
/ |
DIV |
( |
Деление |
|
> |
GT |
( |
Больше, чем |
|
>= |
GE |
( |
Больше или равно |
|
|
|
|
|
|
CoDeSys V2.3 |
|
|
10-66 |
|
Приложение E: Краткий справочник по операторам и компонентам библиотек
=
<>
<=
<
MOD(in)
INDEXOF(in)
SIZEOF(in)
SHL(K,in)
SHR(K,in)
ROL(K,in)
ROR(K,in)
SEL(G,in0,in1)
MAX(in0,in1)
MIN(in0,in1)
LIMIT(MIN,in,Max)
MUX(K,in0,...in_n)
ADR(in)
ADRINST()
BITADR(in) BOOL_TO_<type>(in) <type>_TO_BOOL(in) INT_TO_<type>(in)
REAL_TO_<type>(in)
LREAL_TO_<type>(in)
TIME_TO_<type>(in)
TOD_TO_<type>(in)
DATE_TO_<type>(in)
DT_TO_<type>(in)
STRING_TO_<type>(in)
TRUNC(in)
ABS(in)
SQRT(in)
LN(in)
LOG(in)
EXP(in)
SIN(in)
COS(in)
TAN(in)
ASIN(in)
ACOS(in)
EQ |
( |
Равно |
NE |
( |
Неравно |
LE |
( |
Меньше или равно |
LT |
( |
Меньше, чем |
MOD |
|
Остаток целочисленного деления |
INDEXOF |
|
Внутренний индекс POU in; [INT] |
SIZEOF |
|
Число байт, занимаемых in |
SHL |
|
Поразрядный сдвиг влево на K бит |
SHR |
|
Поразрядный сдвиг вправо на K бит |
ROL |
|
Циклический сдвиг влево на K бит |
ROR |
|
Циклический сдвиг вправо на K бит |
SEL |
|
Мультиплексор на 2 входа in0 (при G FALSE) и in1 |
|
|
(при G TRUE) |
MAX |
|
Возвращает наибольшее из 2х значений in0 и in1 |
MIN |
|
Возвращает наименьшее из 2х значений in0 и in1 |
LIMIT |
|
Ограничивает значение in в пределах от MIN до MAX |
MUX |
|
Мультиплексор выбирает K-тое значение из группы (от |
|
|
in0 до In_n) |
ADR |
|
Адрес операнда в [DWORD] |
ADRINST |
|
Адрес экземпляра функционального блока, из которого |
|
|
вызывается ADRINST. |
BITADR |
|
Битовое смещение операнда в [DWORD] |
BOOL_TO_<type> |
|
Преобразование типа из логического |
<type>_TO_BOOL |
|
Преобразование типа в логический |
INT_TO_<type> |
|
Преобразование значения операнда типа INT в другой |
|
|
базовый тип |
REAL_TO_<type> |
|
Преобразование значения операнда типа REAL в дру- |
|
|
гой базовый тип |
LREAL_TO_<type> |
|
Преобразование значения операнда типа LREAL в дру- |
|
|
гой базовый тип |
TIME_TO_<type> |
|
Преобразование значения операнда типа TIME в другой |
|
|
базовый тип |
TOD_TO__<type> |
|
Преобразование значения операнда типа TOD в другой |
|
|
базовый тип |
DATE_TO_<type> |
|
Преобразование значения операнда типа DATE в дру- |
|
|
гой базовый тип |
DT_TO_<type> |
|
Преобразование значения операнда типа DT в другой |
|
|
базовый тип |
STRING_TO_<type> |
|
Преобразование текста строки операнда в другой базо- |
|
|
вый тип. Строка должна содержать соответствующий |
|
|
текст |
TRUNC |
|
Преобразование из REAL в INT |
ABS |
|
Абсолютное значение in |
SQRT |
|
Квадратный корень из in |
LN |
|
Натуральный логарифм из in |
LOG |
|
Десятичный логарифм из in |
EXP |
|
E в степени in |
SIN |
|
Синус in |
COS |
|
Косинус in |
TAN |
|
Тангенс in |
ASIN |
|
Арксинус in |
ACOS |
|
Арккосинус in |
CoDeSys V2.3 |
10-67 |
Приложение E: Краткий справочник по операторам и компонентам библиотек
ATAN(in) |
ATAN |
Арктангенс in |
EXPT(in,expt) |
EXPT expt |
Возведение в степень expt |
Компоненты Standard.lib:
ST |
IL |
Описание |
LEN(in) |
LEN |
Длина строки in |
LEFT(str,size) |
LEFT |
Левая значимая часть строки str из size символов |
RIGHT(str,size) |
RIGHT |
Правая значимая часть строки str из size символов |
MID(str,size,pos) |
MID |
Часть строки str с позиции pos из size символов |
CONCAT('str1','str2') |
CONCAT 'str2' |
Конкатенация (склеивание) 2х строк |
INSERT('str1','str2',pos) |
INSERT 'str2',p |
Вставить строку str1 в str2 с позиции pos |
DELETE('str1',len,pos) |
DELETE len,pos |
Удалить часть строки, len символов, с позиции pos |
REPLACE('str1','str2',len,pos) |
REPLACE |
Заменить часть строки str1 с позиции pos на len символов из |
|
'str2',len,pos |
str2 |
FIND('str1','str2') |
FIND 'str2' |
Поиск подстроки str2 в str1 |
SR |
SR |
FB: Переключатель с доминантой включения |
RS |
RS |
FB: Переключатель с доминантой выключения |
SEMA |
SEMA |
FB: Семафор (interruptable) |
R_TRIG |
R_TRIG |
FB: детектор переднего фронта импульса |
F_TRIG |
F_TRIG |
FB: детектор заднего фронта импульса |
CTU |
CTU |
FB: Инкрементный счетчик |
CTD |
CTD |
FB: Декрементный счетчик |
CTUD |
CTUD |
FB: Реверсивный счетчик |
TP |
TP |
FB: Триггер |
TON |
TON |
FB: Таймер включения |
TOF |
TOF |
FB: Таймер выключения |
RTC |
RTC |
FB: Часы |
Компоненты Util.lib:
Компонент |
Описание |
BCD_TO_INT |
Преобразование значения операнда BCD в INT |
INT_TO_BCD |
Преобразование байта INT в BCD |
EXTRACT(in,n) |
Определяет значение n-го бита DWORD, результат типа BOOL |
PACK |
Упаковка значений 8 бит в байт |
PUTBIT |
Присвоить значение определенному биту в DWORD |
UNPACK |
Распаковка байта в 8 логических переменных |
DERIVATIVE |
Производная |
INTEGRAL |
Интеграл |
LIN_TRAFO |
Преобразование REAL значений |
STATISTICS_INT |
Макс., Мин., Среднее значения в INT формате |
STATISTICS_REAL |
Макс., Мин., Среднее значения в REAL формате |
VARIANCE |
Дисперсия |
PD |
ПД регулятор |
PID |
ПИД регулятор |
BLINK |
Генератор импульсов |
FREQ_MEASURE |
Частотомер |
GEN |
Функциональный генератор |
|
|
CoDeSys V2.3 |
10-68 |
Приложение E: Краткий справочник по операторам и компонентам библиотек
CHARCURVE |
Интерполятор |
RAMP_INT |
Ограничитель скорости изменения сигнала (INT) |
RAMP_REAL |
Ограничитель скорости изменения сигнала (REAL) |
HYSTERESIS |
Гистерезис |
LIMITALARM |
Компаратор |
CoDeSys V2.3 |
10-69 |
