22

Введение - eltecom.by · 2 TwinCAT 2: Первые шаги программирования контроллера CX Введение В инструкции рассматриваются:

  • Upload
    others

  • View
    28

  • Download
    0

Embed Size (px)

Citation preview

  • http://beckhoffautomation.ru/downloads/training/BECKHOFF_First_steps_CX_TwinCAT.pdfhttp://beckhoffautomation.ru/downloads/training/BECKHOFF_First_steps_CX_TwinCAT.pdf

  • 2TwinCAT 2: Первые шаги программирования контроллера CX

    Введение

    В инструкции рассматриваются:

    • шаги создания простейшей ПЛК�программы в среде разработки TwinCAT PLC Control

    • создание проекта аппаратной конфигурации в приложении TwinCAT System Manager 

    • привязка переменных ПЛК�программы к аппаратной конфигурации в System Manager

    Рассматриваемый проект реализован для контроллера CX8090 На ПК разработчика установлена операционная система Windows 7 Профессиональная Методы, описанные в данном документе, 

    • применимы для контроллеров BCxx20, BCxx50, BX, 

    • применимы для контроллеров CX и контроллеров на базе IPC со средой выполнения(Run�Time) TwinCAT 2

    • неприменимы для контроллеров BCxx00

    Содержание:1. Введение2. TwinCAT PLC Control: создание программы3. TwinCAT System Manager: конфигурирование аппаратной части4. TwinCAT PLC Control: загрузка программы в контроллер и её запуск

    1. Введение

  • TwinCAT 2: Первые шаги программирования контроллера CX

    3

    Cоздание нового проектаTwinCAT PLC Control: создание программы

    ! В названиях файлов проектов TwinCAT и путях к ним не должно содержаться символов 

    кириллицы

    2. TwinCAT PLC Control: создание программы

    2.1 Создание нового проекта

  • 4TwinCAT 2: Первые шаги программирования контроллера CX

    Вызов оператораTwinCAT PLC Control: создание программы

    2.2 Вызов оператора

    Нажатие правой кнопки мыши

    Выделяется надпись AND

    Два способа заменить оператор

    Способ 1: Название оператора пишется вручную

    Имя оператора должно быть зарезервированным для среды программирования, либо названием функции, функционального блока, программной секции (PRG)

    Способ 2: Название оператора выбирается из диалогового окна "Input assistant"

    Нажимается клавиша F2 на клавиатуре

  • TwinCAT 2: Первые шаги программирования контроллера CX

    5

    Вызов оператораTwinCAT PLC Control: создание программы

    2.3 Объявление переменных

    С клавиатуры задаётся название переменной, поступающей на вход блока. По окончании нажимается клавиша Enter

    Нажатием левой кнопки мышки на входную ножку блока OR производится выделение этой ножки

    Если используемая переменная до этого не объявлялась в программе, то появляется диалоговое окно объявления переменной Declare Variable. В этом окне необходимо убедиться в правильности задания имени переменной (в данном случае bIn1). Также в этом окне нужно задать:• тип переменной BOOL• адрес %I*, т.к. данная переменная впоследствии будет принимать значение канала 

    на модуле дискретного входа

  • 6TwinCAT 2: Первые шаги программирования контроллера CX

    Объявление переменныхTwinCAT PLC Control: создание программы

    После нажатия кнопки ОК, в области объявления переменных появляется строка объявления соответствующей переменной:

  • TwinCAT 2: Первые шаги программирования контроллера CX

    7

    Компиляция программыTwinCAT PLC Control: создание программы

    2.4 Компиляция программы

    Для проверки программы на синтаксическую правильность и формирования файлов описания переменных производится компиляция программы.

    Результат компиляции отображается в окне сообщений• Компиляция считается 

    успешной, если количество ошибок Error(s) равно 0 

    • Если Error(s) не равно 0, то дальнейшие шаги нельзя предпринять до устранения причины ошибок

    • Допускается наличие предупреждений Warning(s)

    После успешной компиляции выполняется сохранение проекта

    При возникновении ошибок Error(s) их расшифровку можно посмотреть здесь:

    http://beckhoffautomation.ru/FSp7

  • 8TwinCAT 2: Первые шаги программирования контроллера CX

    Запуск TwinCAT System ManagerTwinCAT System Manager: конфигурирование аппаратной части

    После успешной компиляции программы в TwinCAT PLC Control, запускается приложение TwinCAT System Manager:

    3. TwinCAT System Manager: конфигурирование аппаратной части

    3.1 Запуск TwinCAT System Manager

    Нажатием правой кнопки мыши на значке TwinCAT в треерабочего стола Windows вызывается контекстное меню

    3.2 Создание нового проекта

    Для удобства, сохранять проект System Manager лучше в той же папке и с тем же именем, что и проект TwinCAT PLC Control (расширения файлов должны быть различными)

    ! В названиях файлов проектов TwinCAT и путях к ним не должно содержаться символов кириллицы

  • TwinCAT 2: Первые шаги программирования контроллера CX

    9

    Выбор целевого устройстваTwinCAT System Manager: конфигурирование аппаратной части

    3.3 Выбор целевого устройства

    PIN Signal Description

    1 TD + Transmit +

    2 TD � Transmit �

    3 RD + Receive +

    4connected reserved

    5

    6 RD � Receive �

    7connected reserved

    8

    Допускается подключение контроллера CX8090 Ethernet�кабелем непосредственно к ПК разработчика, но, в виду аппаратных особенностей сетевого адаптера ПК разработчика, работоспособность такого соединения не гарантирована. По той же причине, нельзя рекомендовать конкретный вид используемого кабеля: прямой или перекрёстный.Для связи между CX и ПК разработчика по сети они должны находится в одной подсети IP�адресов.Заводская настройка сетевого адаптера контроллеров CX – получение IP�адреса по DHCP.

    Если контроллер включен в локальную сеть, имеющую DHCP�сервер, то контроллер получает IP�адрес от DHCP�сервера;

    Если локальная сеть не содержит DHCP�сервера, то контроллер получает IP�адрес из подсети 169.254.x.y, где x и у могут быть любыми значениями от 0 до 255. Маска подсети 255.255.0.0. В случае отсутствия DHCP�сервера в сети, нужно:• Подключить CX и ПК разработчика к сети;• Настроить соответствующий сетевой адаптер ПК разработчика на получение IP�

    адреса по DHCP;• Перезагрузить CX и ПК разработчика;• После перезагрузки CX и ПК разработчика,  в течении 1�2 минут они будут искать 

    DHCP сервер;• По прошествии этого времени они возьмут случайным образом адреса из подсети 

    169.254.x.x и таким образом окажутся в одной подсети IP�адресов.

    В данном примере подключение контроллера CX8090 к сети производится через верхний порт RJ45 (маркировка X001). В стандартном случае подключение производится прямым сетевым кабелем к Ethernet�концентратору.

  • 10TwinCAT 2: Первые шаги программирования контроллера CX

    Выбор целевого устройстваTwinCAT System Manager: конфигурирование аппаратной части

    Приложение TwinCAT должно выполняться с правами локального администратора на ПКразработчика, чтобы выбор и добавление целевого устройства проходили в корректно.В некоторых случаях Брэндмауэры и Антивирусы могут блокировать прохождение TCP/IPпакетов, поэтому может потребоваться их отключение.

    Требуется авторизация под учётной записью пользователя операционной системы контроллера. Для Windows CE – без пароляДля Windows XP (WES) – пароль ‘1’В данном случае поле остается пустым.

  • TwinCAT 2: Первые шаги программирования контроллера CX

    11

    Выбор целевого устройстваTwinCAT System Manager: конфигурирование аппаратной части

    Если произошло удачное добавление контроллера в AMS�роутер ПК разработчика, то в колонке "Connected" появляется значок "X".

    После выбора контроллера, в нижнем правом углу System Manager должно отображаться его host name с указанием AmsNetId и режим:

  • 12TwinCAT 2: Первые шаги программирования контроллера CX

    Сканирование конфигурацииTwinCAT System Manager: конфигурирование аппаратной части

    3.4 Сканирование конфигурации

    Для сканирования аппаратной конфигурации необходимо перевести контроллер в конфигурационный режим (Config Mode):

    Нажатие правой кнопки мыши

  • TwinCAT 2: Первые шаги программирования контроллера CX

    13

    Сканирование конфигурацииTwinCAT System Manager: конфигурирование аппаратной части

    Результат сканирования аппаратной части контроллера будет выглядеть следующим образом:

    Названия модулей, определённых при сканировании, могут отличаться от фактических. Это никак не влияет на работоспособность программы. Названия можно поменять через контекстное меню модуля (вызывается нажатием правой кнопки мыши на модуле):

    3.5 Добавление ПЛК�программы

    Нажатие правой кнопки мыши

  • 14TwinCAT 2: Первые шаги программирования контроллера CX

    Добавление ПЛК�программыTwinCAT System Manager: конфигурирование аппаратной части

    При успешной (без ошибок) компиляции ПЛК�программы в TwinCAT PLC  Control в папке с проектом CX_TwinCAT_FirstSteps.pro должен автоматически сгенерироваться файл описания переменных CX_TwinCAT_FirstSteps.tpy. Этот файл добавляется в System Manager.

    Результатом добавления ПЛК�программы станет появление в узле PLC�Configurationподчинённого узла, содержащего имена внешних (объявленных как %I* и %Q*)переменных ПЛК�программы

  • TwinCAT 2: Первые шаги программирования контроллера CX

    15

    Привязка переменныхTwinCAT System Manager: конфигурирование аппаратной части

    3.6 Привязка переменных

    Нажатие правой кнопки мыши на 

    Input

    Привязываемая переменная помечается курсором

    После привязки соответствующие переменные отмечаются значком        . В описании переменной в поле Linked to… появляется информация о переменной, к которой она привязана.

  • 16TwinCAT 2: Первые шаги программирования контроллера CX

    Привязка переменныхTwinCAT System Manager: конфигурирование аппаратной части

    Переменные можно привязывать как со стороны аппаратной части (рассматривалось выше), так и со стороны ПЛК�программы. В этом случае сначала выделяется переменная в узле PLC � Configuration, а потом подобным образом выполняются ранее описанные действия по привязке.

    Описанным выше способом производится привязка других входов�выходов к остальным переменным ПЛК�программы:

    Term2 (KL1002) – Channel 2 – Input  MAIN.bIn2;Term3 (KL2114) – Channel 1 – Output  MAIN.bOut.

    В результате получится таблица со следующей информацией о привязке переменных:

  • TwinCAT 2: Первые шаги программирования контроллера CX

    17

    Активация конфигурацииTwinCAT System Manager: конфигурирование аппаратной части

    Выполнение активации конфигурации записывает в ПЗУ контроллера сделанные в System Manager настройки и изменения, включая привязки переменных. При активации конфигурации автоматически производится генерация карты переменных и проверка конфигурации на корректность, если они не были выполнены перед активацией непосредственно через панель инструментов

    ! Для последующей загрузки ПЛК�программы в контроллер необходимо, чтобы он находился в режиме Run. Поэтому, когда при активации конфигурации появится окно с запросом перевода в режим Run, нужно дать согласие.

    3.7 Активация конфигурацииПосле завершения конфигурирования аппаратной части и привязки всех переменных в определённой последовательности должны быть выполнены следующие действия:

    ̶ генерация карты переменных;

    ̶ проверка конфигурации на корректность;

    ̶ активация конфигурации.

  • 18TwinCAT 2: Первые шаги программирования контроллера CX

    Повторная компиляция программыTwinCAT PLC Control: загрузка программы в контроллер и её запуск

    4. TwinCAT PLC Control: загрузка программы в контроллер и её запуск

    4.1 Повторная компиляция программыПосле активации конфигурации из TwinCAT System Manager и перевода контроллера в режим Run нужно вернуться к проекту в TwinCAT PLC Control. Сначала выполняется Rebuild All, чтобы в ПЛК�программе были учтены привязки переменных: 

    Это приведёт к тому что: 1) В окне сообщений исчезнут предупреждения о наличии непривязанных переменных.

    2) В разделе глобальных переменных автоматически сгенерируется информация о привязке внешних переменных.

  • TwinCAT 2: Первые шаги программирования контроллера CX

    19

    Выбор контроллера для загрузкиTwinCAT PLC Control: загрузка программы в контроллер и её запуск

    4.2 Выбор контроллера для загрузки

    В нижнем правом углу TwinCAT PLC Control необходимо проверить:1) тот ли контроллер выбран?2) находится ли он в режиме Run?

    4.3 Подключение к контроллеру

    При попытке подключения к контроллеру возможны четыре ситуации (исключая ошибки при подключении):

    1) В контроллере отсутствует ПЛК�программа. В появившемся диалоговом окне нажмите кнопку "Да", после чего программа загрузится в контроллер.

  • 20TwinCAT 2: Первые шаги программирования контроллера CX

    Подключение к контроллеруTwinCAT PLC Control: загрузка программы в контроллер и её запуск

    2) Программа в контроллере совсем не отличается от текущего проекта в TwinCAT PLCControl. В этом случае подключение осуществляется без появления дополнительных диалоговых окон.

    3) Программа в контроллере несущественно отличается от текущего проекта в TwinCAT PLC Control. 

    В этом случае:• если требуется загрузить проект без остановки выполнения программы, то нажмите 

    "Yes";• если нужна загрузка с остановкой программы (для того, например, чтобы произошла 

    инициализация переменных), то нажмите "Load all".

    4) Программа в контроллере существенно отличается от текущего проекта в TwinCAT PLC Control.В появившемся диалоговом окне нажмите кнопку "Да", после чего происходит загрузка программы в контроллер.

    После подключения к контроллеру становятся видны текущие значения переменных ПЛК�программы, а надпись "ONLINE" в панели состояния становится контрастной:

    4.4 Запуск ПЛК�программыПосле подключения к контроллеру необходимо убедиться в том, что программа ПЛК выполняется. Об этом свидетельствует надпись "RUN" в панели состояния:

    Программа не выполняется (PLC STOP)

    Программа выполняется (PLC RUN)

  • TwinCAT 2: Первые шаги программирования контроллера CX

    21

    Запуск ПЛК�программыTwinCAT PLC Control: загрузка программы в контроллер и её запуск

    4.5 Создание загрузочного проекта

    Программу можно запустить на выполнение следующим образом:

    После подключения к контроллеру Online и загрузки ПЛК�программы в него, эта программа хранится в ОЗУ контроллера. Когда программа отлажена и требуется, чтобы при включении контроллера она запускалась, нужно сохранить её в ПЗУ контроллера. Для этого делается следующее:

    Если загрузочный проект создан успешно, то в окне сообщений TwinCAT PLC Controlпоявляется следующая строка:

    В электронную версию документа вложены результирующие файлы проектов TwinCAT PLC Control и TwinCAT System Manager, на примере которых рассматривалась данная инструкция. 

    CX_TwinCAT_FirstSteps.pro

    CX_TwinCAT_FirstSteps.tsm

    Результирующие файлы проектов TwinCATможно скачать с сайта по этому QR�коду

    http://beckhoffautomation.ru/downloads/training/BECKHOFF_First_steps_CX_TwinCAT_examples.zip

  • 22TwinCAT 2: Первые шаги программирования контроллера CX

    Примечания

    Данная инструкция является частью общего документа "Практическое пособие по программированию контроллеров Beckhoff", электронную версию которого можно скачать по этому QR�коду

    http://beckhoffautomation.ru/downloads/training/BECKHOFF_BA_programming_Step-by-step.pdf

    1. Введение2. TwinCAT PLC Control: создание программ3. TwinCAT System Manager: конфигурирование аппаратной части4. TwinCAT PLC Control: загрузка программы в контроллер и её запуск

    CoDeSys+�!����М����������������������������@���������@�����2.3.9.31�����@/����@���������������������������������������������ќ\ЩT +����@������������к������������������������4ш(T��������������@����q���C:\TWINCAT\PLC\LIB\STANDARD.LIB�@��������������������������������������������������������������������������������������������CONCAT������������������STR1��������������������э¤����������������STR2��������������������э¤��������������������CONCAT����������������������������������������������§Ѕ66���А����¤¤¤¤������������CTD��������������M��������������э¤������������ Variable for CD Edge Detection��������CD��������������э¤������������ Count Down on rising edge ����LOAD��������������э¤������������ Load Start Value ����PV��������������э¤����������� Start Value ��������Q��������������э¤������������ Counter reached 0 ����CV��������������э¤������������ Current Counter Value ������������§Ѕ66���А����¤¤¤¤������������CTU��������������M��������������э¤�������� ��� Variable for CU Edge Detection ��������CU��������������э¤����������� Count Up ����RESET��������������э¤������������ Reset Counter to 0 ����PV��������������э¤������������ Counter Limit ��������Q��������������э¤������������ Counter reached the Limit ����CV��������������э¤������������ Current Counter Value ������������§Ѕ66���А����¤¤¤¤������������CTUD��������������MU��������������э¤�������� ��� Variable for CU Edge Detection ����MD��������������э¤�������� ��� Variable for CD Edge Detection ��������CU��������������э¤���������� Count Up ����CD��������������э¤����������� Count Down ����RESET��������������э¤������������ Reset Counter to Null ����LOAD��������������э¤������������ Load Start Value ����PV��������������э¤����������� Start Value / Counter Limit ��������QU��������������э¤������������ Counter reached Limit ����QD��������������э¤������������ Counter reached Null ����CV��������������э¤������������ Current Counter Value ������������§Ѕ66���А����¤¤¤¤������������DELETE������������������STR��������������������э¤����������������LEN��������������э¤����������������POS��������������э¤��������������������DELETE����������������������������������������������§Ѕ66���А����¤¤¤¤������������F_TRIG��������������M��������������э¤�������������������CLK��������������э¤������������ Signal to detect ��������Q��������������э¤������������ Edge detected ������������§Ѕ66���А����¤¤¤¤������������FIND������������������STR1��������������������э¤����������������STR2��������������������э¤��������������������FIND����������������������������������������§Ѕ66���А����¤¤¤¤������������INSERT������������������STR1��������������������э¤����������������STR2��������������������э¤����������������POS��������������э¤��������������������INSERT����������������������������������������������§Ѕ66���А����¤¤¤¤������������LEFT������������������STR��������������������э¤����������������SIZE��������������э¤��������������������LEFT����������������������������������������������§Ѕ66���А����¤¤¤¤������������LEN������������������STR��������������������э¤��������������������LEN����������������������������������������§Ѕ66���А����¤¤¤¤������������MID������������������STR��������������������э¤����������������LEN��������������э¤����������������POS��������������э¤��������������������MID����������������������������������������������§Ѕ66���А����¤¤¤¤������������R_TRIG��������������M��������������э¤�������������������CLK��������������э¤������������ Signal to detect ��������Q��������������э¤������������ Edge detected ������������§Ѕ66���А����¤¤¤¤������������REPLACE������������������STR1��������������������э¤����������������STR2��������������������э¤����������������L��������������э¤����������������P��������������э¤��������������������REPLACE����������������������������������������������§Ѕ66���А����¤¤¤¤������������RIGHT������������������STR��������������������э¤����������������SIZE��������������э¤��������������������RIGHT����������������������������������������������§Ѕ66���А����¤¤¤¤������������RS������������������SET��������������э¤����������������RESET1��������������э¤��������������������Q1��������������э¤�����������������������§Ѕ66���А����¤¤¤¤������������SEMA��������������X��������������э¤��������������������CLAIM��������������э¤���������������RELEASE��������������э¤�������������������BUSY��������������э¤�����������������������§Ѕ66���А����¤¤¤¤������������SR������������������SET1��������������э¤����������������RESET��������������э¤��������������������Q1��������������э¤�����������������������§Ѕ66���А����¤¤¤¤������������TOF��������������M��������������э¤����������� internal variable ���StartTime��������������э¤������������ internal variable ��������IN��������������э¤��������?��� starts timer with falling edge, resets timer with rising edge ����PT��������������э¤������������ time to pass, before Q is set ��������Q��������������э¤�������2��� is FALSE, PT seconds after IN had a falling edge ����ET��������������э¤����������� elapsed time ������������§Ѕ66���А����¤¤¤¤������������TON��������������M��������������э¤����������� internal variable ���StartTime��������������э¤������������ internal variable ��������IN��������������э¤��������?��� starts timer with rising edge, resets timer with falling edge ����PT��������������э¤������������ time to pass, before Q is set ��������Q��������������э¤�������0��� is TRUE, PT seconds after IN had a rising edge ����ET��������������э¤����������� elapsed time ������������§Ѕ66���А����¤¤¤¤������������TP�������������StartTime��������������э¤����������� internal variable ��������IN��������������э¤��������!��� Trigger for Start of the Signal ����PT��������������э¤��������'��� The length of the High-Signal in 10ms ��������Q��������������э¤����������� The pulse ����ET��������������э¤�������&��� The current phase of the High-Signal ������������§Ѕ66���А����¤¤¤¤����R����@��������������������������������������������������������������������������������������������MAIN��������������bIn1�������������� �����������������bIn2�������������� �����������������bOut����������� �� �����������������_ImpVar_32_1������������������������������������������������k(5T���@����¤¤¤¤�������������®������������ ���(��л��������K����щ��������K�������������K�������������K����*��������������������7������������+��������Ї�ї�localhost���ЏШ"w����|ц������Ру �H���`���Иє��@���P“���“��ф”��,”���б�w-бg�ю¤¤¤з/�wВ.�w|ц��������������|ц���������� ’��tVп�шђ������XЈ��№“��и,�w`Ј��F���ф”��ф”��х?э�¤¤¤¤����