Краткие замечания об этом вводном курсе: 1. Ваш PC должен быть подключен к PLC, и запущен NAiS Control FPWIN Pro . 2. Клавиши <Tab> + <Alt> позволяют переключаться между данной презентацией и NAiS Control FPWIN Pro! up К предыдущей странице 3. Переходите по страницам,используя: down К следующей странице 4. Нажатием ESC презентацию можно завершить в любой момент. 5. Файл с презентацией в PDF содержится на CD, для печати. Matsushita Electric Works (Europe) AG 1 Control FPWIN Pro Этот вводный курс должен дать представление: - о программирровани в среде NiS Control FPWIN Pro - об использовании адресов Matsushita - об использовании адресов по стандарту IEC 61131-3 Остановитесь! затратьте некоторые Вместе с практическими занятиямиИ по NiS Control усилия для Ваших вводный курс занимает около 2-х часов. первых шагов в программировании. Matsushita Electric Works (Europe) AG FPWIN Pro 2 Что такое IEC 61131-3? IEC 61131-3 Международный стандарт • унифицирует требования к системам, убирает нестыковки и сокращает время обучения • определяет готовые функции и функциональные блоки, сокращая время на программирование и отладку • улучшает наглядность проекта структурированием • убирает ошибки определением типов данных • уменьшает инвестиции благодаря стандартизации Для более подробного знакомства с IEC 61131-3, обратитесь к презентации на CD-ROM: IEC61131_3_basics.pdf Matsushita Electric Works (Europe) AG 3 Запуск Control FPWIN Pro Запуск Control FPWIN Pro под Windows. Matsushita Electric Works (Europe) AG 4 Создайте новый проект с мастером проектов. Matsushita Electric Works (Europe) AG 5 Предопредено следующее (возможно изменение): Файл проекта Тип PLC Имя программы Язык программы Нажать OK Matsushita Electric Works (Europe) AG 6 Навигатор проекта обеспечивает структурированный обзор: Библиотеки Аппаратура Справа на экране окно программы в выбранном редакторе. Переменные Программы Для детальной информации о навигаторе проекта жми Matsushita Electric Works (Europe) AG 7 1. Щелкнуть в поле окна программы. - заголовок выделится. 2. Начните ввод программы: a. Щелкнуть на значке в панели инструментов. b. Щелкнуть в нужном месте в поле 1-й цепи. Matsushita Electric Works (Europe) AG 8 1. Ввести адреса Matsushita: -X0 для входа -Y0 для выхода Используйте заглавные буквы! 2. Щелкните на значке рисования или правой кнопкой мыши, перейдите в режим ввода линий и соедините символы контактов Каждую линию начните с линии питания! Matsushita Electric Works (Europe) AG 9 Проверьте свою программу, нажав на символ... В сообщении - информация об ошибках или об их отсутствии. Если ошибок несколько, исправление начните с первой, все остальные могут быть ее следствием... Matsushita Electric Works (Europe) AG 10 1. Подключитесь к PLC. 2. Состояние PLC должно быть Remote Prog. 3. Загрузите программу в PLC. (предварительно Compile all.) Если пробдемы со связью, проверьте в меню ONLINE параметры COM-порта Matsushita Electric Works (Europe) AG 11 Ваша программа готова. 1. Переключитесь в RUN. 2. Проверьте режим PLC: RUN. 3. Включите мониторинг. 4. Наблюдайте работу программы. Matsushita Electric Works (Europe) AG 12 Сохраните и закройте проект. Matsushita Electric Works (Europe) AG 13 1. Пример маленькой программы Напишем маленькую программу. Будем использовать адресацию Matsushita. Описание: Если 2 из 3-х входов включены, включить выход. Следуйте рекомендациям! Matsushita Electric Works (Europe) AG 14 Создание нового проекта 1. Создайте новый проект с мастером проектов. 2. Нажмите OK. Matsushita Electric Works (Europe) AG 15 1. Введите контакты как показано и введите адреса. (все в цепи 1!) 2. Инвертируйте значения X0, X1, X2 следующим образом: a. Двойной щелчок на символе контакта b. Выбрать NEGATION и далее OK Matsushita Electric Works (Europe) AG 16 1. Внимательно введите линии. Линии должны быть без перекрытия и наложений. 2. Проверьте программу. Matsushita Electric Works (Europe) AG 17 1. Подключитесь к PLC. 2. Перейдите в режим Prog. 3. Загрузите программу в PLC. 4. Перейдите в режим RUN. 5. Включите мониторинг и проверьте работу программы. 6. Сохраните и закройте проект. Matsushita Electric Works (Europe) AG 18 2. Программа с адресацией IEC 61131-3 В этом примере в прорамме используются адреса в соответствии со стандартом IEC 61131-3. Используем задание из предыдущего примера (2 из 3). При адресации по IEC 61131-3 Вы видите названия контактов в поле редактора. Matsushita Electric Works (Europe) AG 19 Создание нового проекта 1. Создайте новый проект с мастером проектов. 2. Нажмите OK. Matsushita Electric Works (Europe) AG 20 2. Для первого контакта введите в список Global_Variables: Class: предопределен как VAR_Global Identifier: уникальное название (Sensor_1) Address: действительный адресMatsushita или IEC Type: BOOL будет автоматически добавлен 1. Двойной щелчок на Global_Variables в навигаторе проекта. Справа откроется окно Matsushita Electric Works (Europe) AG 21 1. Добавьте новые линии после выделенной нажатием на символ. 2. Введите последующие переменные. Для детальной информации об адресе жми Matsushita Electric Works (Europe) AG 22 1. Проверьте, все ли переменные введены корректно, если нет, введите исправления. 2. Закройте окно нажатием здесь. Вновь введенные глобальные переменные доступны в программе. Matsushita Electric Works (Europe) AG 23 1. Откройте заголовок программы: a. Двойной щелчок на Program_1. b. Двойной щелчок на Header. 2. Откройте окно Global_Variable двойным щелчком в навигаторе проекта. Переместите его под окно заголовка программы. Matsushita Electric Works (Europe) AG 24 2. Вставьте переменные в заголовок программы: a. Выделите список нажатием на сером . b. Щелкните по символу вставки. 1. Скопируйте список Global_Variables: a. Выделите список нажатием на сером . b. Щелкните по символу копирования. Matsushita Electric Works (Europe) AG 3. Закройте окна, нажав здесь . 25 Начните программировать вводом контактов, как в предыдущем примере. 1. Щелкните на символе контакта и введите в поле цепи 1 2. Щелкните для инвертирования. Matsushita Electric Works (Europe) AG 26 1. Щелкните по знаку ? и нажмите F2. Откроется окно выбора переменных. 2. Введите нужное имя контакта двойным щелчком на выбранном имени. Окно выбора переменных открывается нажатием F2 при выделенном ?. Matsushita Electric Works (Europe) AG 3. Введите имена для всех контактов. 27 1. Введите все линии . Программа введена. 2. Закройте окно выбора переменных. Matsushita Electric Works (Europe) AG 28 1. Проверьте программу 2. Подключитесь к PLC. Matsushita Electric Works (Europe) AG 29 1. Загрузите программу в PLC. 2. Переключите PLC в режим RUN. 3. Включите мониторинг и проверьте работу программы. Имена контактов видны непосредственно в программе. Matsushita Electric Works (Europe) AG 30 3. Программа с функциями В следующем примере используем адресацию Matsushita. Программа использует функции таймер и сложение. Этот пример показывает использование в программе функций из готовых библиотек. Matsushita Electric Works (Europe) AG 31 Создание нового проекта 1. Создайте новый проект с мастером проектов. 2. Нажмите OK. Matsushita Electric Works (Europe) AG 32 1. Щелкните на символе функции. Откроется окно выбора OP/FUN/FB. В данном окне доступны все - операторы (ADD, SUB, MUL, AND...) - функции - функциональные блоки используемые в NiS Control FPWIN Pro. Возможно добавление функций и функциональных блоков пользователя. Matsushita Electric Works (Europe) AG 33 1. Двойным щелчком на ADD выберите оператор. Matsushita Electric Works (Europe) AG 2. Мышью поместите ADD в цепь 1. 34 3. Двойной щелчок на TM_100ms_FB (таймер с дискретом 100ms). 2. Выберите Matsushita_LIB. 1. Выберите тип функциональный блок. Matsushita Electric Works (Europe) AG 35 1. Мышью поместите Timer FB в цепь 2. 2. Введите имя таймера, напр. Timer1 + <Enter>. 3. Щелкните на Declare. При декларации FB, NiS Control FPWIN Pro выделяет под таймер свой номер и соотв. ресурсы 4. Закройте окна выбора OP/FUN/FB и переменных. Matsushita Electric Works (Europe) AG 36 Функция складывает данные по входам, напр. DT0 и DT1. При уровне ON на входе "start“таймер запускается. Здесь результат сложения, напр. DT2. По истечении заданного времени на выходе ON EV содержит текущее значение времени (в дискретах) Вход уставки SV (set value). В данном случае дискрет равен 100ms. Пример: SV = 20, дискрет = 100ms Задержка 2000ms, т.e. 2 секунды. Matsushita Electric Works (Europe) AG 37 1. Щелкните на символе Variable Input. 4. Щелкните на символе Variable Output. 2. Вставьте входы. 5. Вставьте выход. Введите DT2. 3. Введите DT0 и DT1 для входов ADD. Введите 20 для входа SV таймера. Выход EV не требует обязательного подключения. Matsushita Electric Works (Europe) AG 38 Все вх./вых. ADD должны быть введены. 1. На вход "start " включите X0 и соедините линией 2. Введите выход Y0 и соедините линией 3. Проверьте программу. Matsushita Electric Works (Europe) AG 39 1. Подключитесь к PLC. 2. Загрузите программу в PLC. 4. Можно вводить данные „online” и сразу видеть результат. 3. Включите мониторинг и проверьте работу программы. Через 2 сек. после перехода X0 в ON, Y0 тоже перейдет в ON. 5. Сохраните и закройте проект. Matsushita Electric Works (Europe) AG 40 4. Двойной выключатель В следующем примере используется адресация по стандарту IEC 61131-3 . Программа обеспечивает работу с двумя кнопками. При пуске опасных машин обычно требуется нажать 2 кнопки одновременно для предотвращения пуска от случайных нажатий. Обе кнопки быть нажаты за интервал не менее 0.5s. Start 1 Matsushita Electric Works (Europe) AG Start 2 41 Create a new project/program 1. Создайте проект с мастером проектов. 2. Нажмите OK. Matsushita Electric Works (Europe) AG 42 2. Введите входы/выходы в список Global_Variables: Class: предопределен как VAR_Global Identifier: уникальное название Address: действительный адресMatsushita или IEC Type: BOOL будет автоматически добавлен 1. Двойной щелчок на Global_Variables в навигаторе проекта. Открывается окно справа Matsushita Electric Works (Europe) AG 43 1. Откройте заголовок программы: a. Двойной щелчок на Program_1. b. Двойной щелчок на Header. 3. Щеклните здесь и на 5. Закройте окна. символе копирования. . 4. Щеклните здесь и на символе вставки. 2. Переместите окно заголовка под окно Global Variables и скопируйте содержимое Global Variable в окно заголовка. Matsushita Electric Works (Europe) AG 44 1. Щелкните на символе функции. Откроется окно выбора OP/FUN/FB. 6. Введите название: Timer1 и задекларируйте. 5. Введите таймер в программу. 4. Двойной щелчок на TM_100ms_FB (таймер с дискретом 100ms). 3. Выберите Matsushita_LIB. 2. Выберите Function Blocks. Matsushita Electric Works (Europe) AG 45 1. Введите контакты и соедините их линиями, как было показано выше . Не забудьте ввести 2 инверсии. Matsushita Electric Works (Europe) AG 46 Что должно быть здесь ? ! 1. Щелкните на знаке ? и нажмите F2. Откроется окно выбора переменных. 2. Назначте контакту имя двойным нажатием на выбранной переменной. Окно выбора переменных открывается нажатием F2 при выделенном знаке ?. Matsushita Electric Works (Europe) AG 3. Аналогично введите имена для всех контактов. 47 1. Щелкните на знаке ?. 2. Выберите Function Blocks. 3. Двойной щелчок на +Timer1. 4. Двойной щелчок на ...T для выбора. 5. Закройте окно. Matsushita Electric Works (Europe) AG 48 Если оба входа Start включились одновременно, выход таймера не перейдет в ON и мотор будет включен. Если оба входа Start включены менее 0.5s, выход таймера включится и заблокирует мотор. Matsushita Electric Works (Europe) AG 49 1. Проверьте программу. 2. Подключитесь к PLC. 3. Загрузите программу в PLC. Matsushita Electric Works (Europe) AG 50 1. Включите мониторинг и проверьте работу программы. Если оба входа Start включены менее 0.5s, выход таймера включится и заблокирует мотор. Matsushita Electric Works (Europe) AG 51 Разделы навигатора: Libraries В Library Pool сохраняются все доступные операторы, функции и функциональные блоки. Hardware Установкой системных регистров возможно изменение конфигурации аппаратуры. Task Pool Программы из POU_Pool вводятся в Task_Pool как циклические и прерываний. Это можно делать и с мастером проектов Variables POU Pool Programs Return to presentation Matsushita Electric Works (Europe) AG Если программирование происводится по IEC 61131-3, глобальные переменные вводятся здесь. Программы сохраняются в POU_Pool. Допустимы несколько программ. Каждая программа имеет заголовок (переменные) и тело (код программы). Заголовок необходим при „стиле“ IEC 61131-3. 52 IEC 61131-3 Address Format This table enables you to compile the respective IEC address at any time. IEC address % Explanation I Q M X W D No_1 . No_2 . No_3 Matsushita Electric Works (Europe) AG IEC address identifier Input location Output location Memory location Data type BOOL (1 bit) Data type WORD (16 bits) Data type DOUBLE WORD (32 bits) a.) For I and Q: No_1 = word number b.) For M: No_1 = reference for the internal memory Relay, special internal relay R/WR/DWR 0 Timer T 1 Counter C 2 Set value counter/timer SV/DSV 3 Elapsed value counter/timer EV/DEV 4 Data register, special data register DT/DDT 5 Index register IX,IY 6 Link relay L/WL/DWL 7 Link data register Ld/DLd 8 File register FL/DFL 9 Alarm relay E 10 Impulse relay P 11 Separator a.) For I and Q: No_2 bit position in the word b.) For M: When No_1 = 0..9, or 11 No_2 = word number (D) When No_1 = 10 No_2 = relay number Separator Used when No_1 = 0, 7 or 11 (R, L, P) No_3 = bit position in word Examples: X0 X2F %IX 0.0 %IX 2.15 Y0 Y30 %QX 0.0 %QX 3.0 R0 R5 R200 %MX 0.0.0 %MX 0.0.5 %MX 0.20.0 DT0 DT200 %MW 5.0 %MW 5.200 T1 %MX 1.1 Return to presentation 53 Supported IEC 61131-3 Data Types Elementary data types Data Type Abbreviation Value Range Data Width BOOL BOOL 0 (FALSE) or 1 (TRUE) 1 bit INTEGER INT -32,768 to 32,768 16 bit DOUBLE INTEGER DINT -2,147,483,648 to 2,147,483,647 32 bit WORD WORD 16#0000...16#FFFF 16 bit DOUBLE WORD DWORD 16#00000000...16#FFFFFFFF 32 bit STRING STRING 1 to 255 bytes (ASCII) 8 bits per byte TIME 32 bit TIME T#0,00s to T#21 474 836,47s 32 bit REAL REAL -1,175494 x 10E-38 to -3,402823 x 10E-38 and 1,175494 x 10E-38 to 3,402823 x 10E-38 32 bit Others Type Meaning Size Comment ARRAY[...]OF... Array of elements of the same data type 1-255 bytes Max. three dimensions FB-Name Used for creation of function block instances variable Local or global function block instance DUT-Name instance of a Data Unit Type Global DUT instance Matsushita Electric Works (Europe) AG variable 54 Supported IEC 61131-3 Classes Class field in POU headers and the list of global variables: Class Usage In Usage of definition of VAR_GLOBAL GVL non-holding global variable VAR_GLOBAL_RETAIN GVL holding global variable VAR_GLOBAL_CONSTANT GVL constant global variable VAR_EXTERNAL Header of PRG, FB non-holding global variable VAR_EXTERNAL_RETAIN Header of PRG, FB holding global variable VAR_EXTERNAL_CONSTANT Header of PRG, FB constant global variable VAR Header of PRG, FUN, FB non-holding local variable VAR_RETAIN Header of PRG, FB VAR_CONSTANT Header of PRG, FUN, FB constant local variable VAR_INPUT Header of FUN, FB input variable VAR_OUTPUT Header of FB output variable VAR_OUTPUT_RETAIN Header of FB output holding variable VAR_IN_OUT Header of FB input and output variable holding local variable GVL = Global Variable List POU = Program Organization Unit PRG = Program FUN = Function FB = Function Block DUT = Data Unit Type Matsushita Electric Works (Europe) AG 55 Control FPWIN Pro The Matsushita programming system • four IEC 61131-3 languages combined in one software: - Instruction List - Ladder Diagram - Function Block Diagram - Sequential Function Chart • all available Matsushita PLC types are programmable without limitations • easy reuse of programs and program parts with self-made Functions and Function Blocks which can be stored in self-defined libraries • a wide range of test and debug functions shorten installation and trouble shooting time • user-friendly comment and documentation features • modem functions for remote programming and testing Matsushita Electric Works (Europe) AG 56 Function Blocks can be easily reused 1. Function Block Body FU_Block OUT_1 IN_1 IN_2 2. Variable Interface FU-Block Header 0 1 2 3 Class Identifier Type VAR_INPUT VAR_INPUT VAR_INPUT VAR_OUPUT IN_1 IN_2 IN_3 OUT_1 Matsushita Electric Works (Europe) AG BOOL BOOL BOOL BOOL 3. Program IN_3 LD AND OR AND : : : : ST IN_1 IN_2 OUT_1 IN_3 : : : : OUT_1 57 Matsushita's Library Concept Additional Matsushita featur • • • • Libraries: Special_Lib IEC_Standard_Lib Matsushita_Lib Pulsed_Lib Communication_Lib PID_Lib Special_Project_Lib TWO_TRIP POSITION_2_AX POSITION_3_AX WAIT_10s ELEVAT_4_FL : : : Self-created FBs can be stored in libraries. Comfortable structuring and sorting in the libraries. Know-how protection of FBs and libraries. Easy reuse of tested software --> saves time. Matsushita Electric Works (Europe) AG ! •Store FBs •Sort FBs •Create Libraries •Protect FBs •Protect Libraries Easy reuse 58 IEC 61131-3 Functions Conventional programming requires different functions for e.g.: 16-bit EN s1 s2 32-bit EN s1 s2 4-digit BCD data 8-digit BCD data Floating point data EN s1 s2 EN s1 s2 Flexible IEC instructions: 1 function instead of several F22_ADD2 ENO d F23_ADD2 ENO d F42_ADD2 ENO d F43_ADD2 ENO d F310_FADD EN ENO s1 d s2 Matsushita Electric Works (Europe) AG E_ADD EN ENO a_NumN a_NumN Input data must be of the same type! Or execution in every PLC cycle (R9010) with: ADD 59 IEC 61131-3 Functions R0 DT0 DT1 EN s1 s2 DT6 DT2 EN s1 s2 F22_ADD2 ENO d DT6 F22_ADD2 ENO d DT6 Extensible Instructions: 1 Function instead of several R0 DT6 DT3 EN s1 s2 DT6 DT4 EN s1 s2 DT6 DT5 EN s1 s2 F22_ADD2 ENO d DT6 F22_ADD2 ENO d DT6 F22_ADD2 ENO d Matsushita Electric Works (Europe) AG DT6 DT0 DT1 DT2 DT3 DT4 DT5 E_ADD EN ENO a_NumN a_NumN a_NumN a_NumN a_NumN a_NumN DT6 To extend the function: 1. Place cursor on the bottom edge. -The cursor has an arrow on each end. 2. Pull to desired length. 60 Good luck! Thank you very much for your attention! Matsushita Electric Works (Europe) AG 61