Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование контроллеров для АСУ и мехатронных систем. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •Глава 2. ВВЕДЕНИЕ В СРЕДУ ПРОГРАММИРОВАНИЯ CODESYS V3.5
- •2.1. УСТАНОВКА CODESYS
- •2.2. СОЗДАНИЕ НОВОГО ПРОЕКТА
- •2.3. РЕДАКТИРОВАНИЕ ПРОГРАММЫ
- •2.4. ОТЛАДКА ПРОГРАММЫ В РЕЖИМЕ ЭМУЛЯЦИИ
- •2.5. НАСТРОЙКА СВЯЗИ КОНТРОЛЛЕРА С КОМПЬЮТЕРОМ
- •2.6. КОМПОНЕНТЫ ПРОЕКТА CODESYS
- •Глава 3. РАЗРАБОТКА ПРОГРАММ В CODESYS НА ЯЗЫКЕ CFC
- •2.7. ТИПЫ ДАННЫХ И ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ В CODESYS
- •Глава 5. РАЗРАБОТКА ПРОГРАММ В CODESYS НА ЯЗЫКЕ ST
- •7.1. ОПЕРАТОРЫ
- •7.2. СТАНДАРТНЫЕ ФУНКЦИИ И ФУНКЦИОНАЛЬНЫЕ БЛОКИ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

Рис. 2.15. Страница аутентификации
Рис. 2.16. Список интерфейсов контроллера
При первом входе в web-конфигуратор будет запущен Мастер настройки,
в процессе работы которого можно задать сетевые настройки контроллера.
В случае необходимости Мастер настройки можно запустить повторно на
вкладке «Система/Мастер настройки». Так же сетевые настройки можно задать
на вкладке «Сеть/Интерфейсы». На этой вкладке (рис. 2.16) следует выбрать
нужный интерфейс и нажать кнопку
.
21

Рис. 2.17. Сетевые настройки интерфейса
При нажатии кнопки открывается окно (рис. 2.17) с параметрами
выбранного интерфейса. В этом окне можно установить новые параметры выбранного сетевого интерфейса.
Для применения новых сетевых настроек следует нажать кнопку
.
Далее следует настроить сетевой интерфейс компьютера и установить
IP-адрес компьютера с протоколом IPv4, например 192.168.0.200, а также маску
сети IPv4 – 255.255.0.0. При установке IP-адресов следует помнить, что в локальных сетях не должно возникать конфликта IP-адресов, т.е. разные устройства не должны обладать совпадающими адресами.
После настройки сетевых параметров контроллера и компьютера следует
установить связь между ними в среде CoDeSys. Компонент Device, который определяется соответствующим таргет-файлом, должен соответствовать модели
контроллера. В случае необходимости тип устройства можно изменить, выбрав
в дереве проекта компонент Device (рис. 2.18) и, нажав на него правой клавишей мыши, открыть окно «Update device» («Обновить устройство»). Затем сле-
22

Рис. 2.18. Окно «Update device»
дует выбрать устройство, соответствующее модели контроллера. Следует помнить про соответствие версии прошивки контроллера, среды программирования
CoDeSys и таргет-файла. При отсутствии в списке требуемой версии устройства
можно осуществить поиск в расширенном списке, установив галочку в поле
. После выбора устройства следует нажать кнопку
и закрыть окно.
Следующим этапом является настройка шлюза («Gateway»). Для этого
необходимо дважды кликнуть на поле «Device» в дереве объектом и в открывшемся окне (рис. 2.19) выбрать пункт «Communication Settung». При отсутствии
установленных шлюзов следует добавить новый шлюз («Add new gateway»).
Настройки рекомендуется оставить по умолчанию (имя – Gateway-1, IP-адрес –
localhost). Затем закрыть окно настроек шлюза и нажать кнопку «Scan network».
В появившемся списке следует выбрать нужный контроллер и установить
23

Рис. 2.19. Окно для установки связи с контроллером
связь, нажав кнопку ОК. Связь с контроллером можно осуществить непосредственно по его IP-адресу. Для этого в поле контроллера необходимо ввести его
адрес (например, 192.168.0.10) и нажать кнопку ОК. В случае успешной установки связи индикаторы шлюза и контроллера будут гореть зеленым цветом.
После установки связи с контроллером можно осуществить загрузку проекта в контроллер. Загрузка откомпилированного проекта в контроллер осуществляется через пункт «Login» («Логин») меню «Online» («Онлайн») или при
нажатии горячих клавиш «Alt+F8», или нажатием на пиктограмме . После
загрузки проекта в контроллер его следует запустить. Это осуществляется нажатием функциональной клавиши F5 или пиктограммы .
2.6. КОМПОНЕНТЫ ПРОЕКТА CODESYS
Проект включает различные объекты, которые можно добавить в проект
из окна объектов (рис. 2.20). Оно вызывается при нажатии правой кнопки на
элементе «Application», далее «Add object». Затем из открывшегося окна выбрать необходимый элемент.
24

Рис. 2.20. Окно выбора программных элементов проекта
Основными элементами проекта являются:
− POU (Program Organization Unit): программы, функции и функцио-
нальные блоки. POU могут вызывать другие POU, но рекурсии недопустимы;
− DUT (объект типа данных) – помимо стандартных типов данных мож-
но задавать свои собственные типы данных;
− GVL – список глобальных переменных – используется для объявления
глобальных переменных;
25

− GNVL – список глобальных сетевых переменных – задаёт перемен-
ные, которые определены как сетевые переменные на другом устройстве в сети;
− Visualization – визуализация;
− Simbol Configuration – символьная конфигурация, использующаяся
для создания символов, обладающих специфическими правами доступа, через
которые можно осуществлять доступ к переменным проекта с внешнего, например, OPC-сервера. Описание символов (символьная информация) будет
доступно в xml-файле (символьный файл) в директории проекта и будет загружено на ПЛК вместе с приложением;
− Ресурсы;
− библиотеки.
Добавить POU можно командой «Add object» и выбрать пункт «POU».
При создании нового POU (рис. 2.21) в поле «Name» присваивается имя этому
POU, выбирается тип POU (программа, функциональный блок или функция) и
выбирается язык программирования, на котором будет реализован этот POU.
Программа – это POU, при выполнении которого возвращается одно или
несколько значений (рис. 2.22). После выполнения программы все значения сохраняются до её следующего запуска. После задания имени программы и выбора языка программирования необходимо нажать нажав кнопку «Add», после чего откроется окно соответствующего редактора для новой программы.
Окно редактора программ – две зоны: в верхней части – зона объявления
и инициализации переменных программы; в нижней части – зона редактирования кода программы.
Программа может быть вызвана другой программой или функциональным блоком. Вызов программы в функции не допускается. Кроме того, не существует экземпляров программы. Если некоторый POU вызвал программу и,
в связи с этим в этой программе изменились значения, то изменения сохранятся
до следующего вызова этой программы, даже если она также будет вызвана из
другого POU.
На рисунке 2.23 приведены примеры вызова созданной программы
MyPOU из других программ.
26

Рис. 2.21. Интерфейс создания нового POU
Рис. 2.22. Пример программы
а)
б)
Рис. 2.23. Вызов программы MyPOU из других программ:
а – на языке CFC; б – на языке ST
27

Если на языке ST программа добавлена с помощью Ассистента ввода с
включённой опцией «Вставка с аргументами» в окне редактора текстового
языка, она в соответствии с синтаксисом будет автоматически отображаться со
всеми параметрами.
Функция – это POU, который при обработке возвращает ровно один элемент данных (который может состоять из нескольких элементов, таких как поля
или структуры) и чей вызов в текстовых языках может выполняться как оператор в выражении.
Добавить в проект функцию можно командой «Add object», в открывшемся окне (рис. 2.21) в поле «Name» ввести наименование функции, выбрать
пункт POU «Function» и в поле «Return type» выбрать тип возвращаемого значения. После того как вы подтвердите все установки, нажав кнопку «Add», для
новой функции откроется окно редактора, в котором вы можете приступить к её
написанию.
Функциональный блок – это POU, который возвращает одно или несколько значений в ходе выполнения ПЛК-программы. В отличие от функции, после
выполнения функционального блока значения выходных переменных, а при
необходимости и некоторых входных переменных, будут сохраняться до следующего его выполнения, т.е. функциональный блок обладает «внутренней памятью».
В дополнение функциональности по стандарту МЭК 11631-3 поддерживается объектно-ориентированное программирование; функциональные блоки
могут задаваться как расширения других функциональных блоков и могут
включать определения интерфейсов для обращения к методам. Это значит, что
при использовании функциональных блоков можно применять «наследование».
Вызов функционального блока всегда осуществляется посредством экземпляра, т.е. его копии.
Добавить в проект функциональный блок можно командой «Add object»,
в открывшемся окне (рис. 2.21) в поле «Name» ввести наименование функционального блока, выбрать пункт POU «Function Block» и при необходимости до-
28

полнительные атрибуты функционального блока, а также язык программирования для этого функционального блока. После того как вы подтвердите все установки, нажав кнопку «Add», для нового функционального блока откроется окно
соответствующего редактора.
На рисунке 2.24 приведён пример функционального блока «Arifmetica»,
реализующий элементарные арифметические операции.
Вызов функционального блока выполняется через экземпляр, т.е. копию
функционального блока. Каждый экземпляр функционального блока получает
свой собственный идентификатор (имя экземпляра) и свои данные, содержащие
входные, выходные и внутренние переменные.
Экземпляры функционального блока объявляются глобально или локально как переменные, имеющие тип соответствующего функционального блока.
Например, объявление двух экземпляров функционального блока Arifmetica:
Oper1: Arifmetica;
Oper2: Arifmetica;
После объявления экземпляра функционального блока можно обращаться
к его переменным следующим образом:
<Имя экземпляра>.<имя переменной>
Рис. 2.24. Пример реализации функционального блока
29

Рис. 2.25. Примеры вызова и использования функционального блока на языке ST
Рис. 2.26. Примеры вызова и использования функционального блока на языке CFC
На рисунке 2.25 приведены примеры вызова и использования функционального блока на языке ST. В области объявления переменных объявляются
два экземпляра Oper1 и Oper2 функционального блока Arifmetica.
В области редактирования программы осуществляется вызов экземпляров
Oper1 и Oper2, при этом при вызове входным переменным in1 и in2 присваива-
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
