Главная страница

Руководство пользователя по программированию плк в CoDeSys 3


Скачать 5.57 Mb.
НазваниеРуководство пользователя по программированию плк в CoDeSys 3
Дата25.10.2022
Размер5.57 Mb.
Формат файлаpdf
Имя файлаCODESYS_manual.pdf
ТипРуководство пользователя
#754593
страница3 из 50
1   2   3   4   5   6   7   8   9   ...   50
Цифровая трассировка
’ (
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 существует отдельный документ .pdf
SoftMotion библиотеки: см. SoftMotion- документацию.
CoDeSys_V23_RU.pdf
SysLibs_Overview_RU.pdf
.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
)() с включенной опцией ‘
Вставка с аргумен-
тами
’ (
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 Визуализации
» (
1   2   3   4   5   6   7   8   9   ...   50


написать администратору сайта