iec 61131-3 edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfiec61131-3...

23
CODESYS ® a 3S-Smart Software Solutions GmbH trademark IEC 61131-3 Edition 3 CODESYS Users‘ Conference 2013

Upload: others

Post on 23-Jun-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

CODESYS® a 3S-Smart Software Solutions GmbH trademark

IEC 61131-3 Edition 3CODESYS Users‘ Conference 2013

Page 2: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

2 © 3S-Smart Software Solutions GmbH

IEC61131-3

1

2

3

4

Что такое МЭК 61131-3

История стандарта

Новинки

Планы на будущее

1

4

Page 3: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

3 © 3S-Smart Software Solutions GmbH

IEC61131-3

История

• Стандарт для программирования контроллеров и систем автоматизации

• Строгое разделение объявлений данных и кода программы• Разнообразные подходы к программированию – графические и

текстовые языки программирования• Простые и сложные типы данных• Различные виды модулей – функции, функициональные блоки и

программы

Что это за стандарт?

Page 4: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

4 © 3S-Smart Software Solutions GmbH

IEC61131-3

История

• Революционные новшества• Символьное программирование• Неограниченое количество экземпляров функциональных блоков• Язык структурного программирования (ST)• Практически все системы программирования ПЛК соответствуют

стандарту• Распространение в новых областях • Автоматизация зданий• Мобильные системы (строительные машины, краны, подъемники и

т.д.)

История успеха

Page 5: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

5 © 3S-Smart Software Solutions GmbH

IEC61131-3

История

• Первая редакция 1994• Вторая редакция 2003 : исправление ошибок, небольшие

дополнения• С 2008 года разрабатывается третья редакция• Международные встречи для разработки стандарта• Фирмы-участники: Siemens, Panasonic, Pilz, Elau, Schneider, Bosch

Rexroth, KW, LogiCALs, Mitsubishi, Rockwell, 3S и т.д.

Page 6: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

6 © 3S-Smart Software Solutions GmbH

IEC61131-3IEC 61131-3 3rd Edition

Page 7: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

7 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• Восьмеричная система исчисления (8#52)• Оператор TRUNC заменен на REAL_TRUNC_DINT• Использование МЭК адресов (%MW123) в коде

Теперь только в разделе объявлений• Язык IL

„Сокращения“ в стандарте

Page 8: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

8 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• Использование констант при инициализации переменных (i : INT := CONST_VALUE;)

• Использование констант при объявлении массива (arr : ARRAY [0..COUNT-1];)

• Переменные в качестве меток сase• Правила неявного преобразования типов

(Например: dint_var := int_var;)• Новые элементы LD:

• Оператор continue для циклов

„Дополнения“ в стандарте

Page 9: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

9 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• CHAR, WCHAR• LTIME, LDATE, LDATE_AND_TIME, LTIME_OF_DAY (количество

наносекунд, начиная с 1.1.1970).

Новые типы данных

Page 10: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

10 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• Чтение и запись• <Byte_var>.%X1• <Word_var>.%B1• <DWord_var>.%W1• <LWord_var>.%D1

Доступ к частям битовой строки

Page 11: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

11 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

TYPECom1_data: STRUCT head AT %B0: INT;length AT %B2: USINT := 26;flag1 AT %X3.0: BOOL;end AT %B25: BYTE;END_STRUCT;Com2_data: STRUCT OVERLAPhead AT %B0: INT;length AT %B2: USINT;flag2 AT %X3.3: BOOL;data1 AT %B5: BYTE;data2 AT %B5: REAL;end AT %B19: BYTE;END_STRUCT;

END_TYPE

Структуры с явным расположением элементов

Page 12: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

12 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• В качестве входов функции или VAR_IN_OUT параметровфункционального блока

FUNCTION SUM: INT;VAR_IN_OUT A: ARRAY [*] OF INT; END_VAR;VAR i, sum2 : DINT; END_VAR;

sum2:= 0;FOR i:= LOWER_BOUND(A,1) TO UPPER_BOUND(A,1) sum2:= sum2 + A[i];

END_FOR;SUM:= sum2;END_FUNCTION

Массивы с переменным размером

Page 13: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

13 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• myRefInt: REF_TO INT := REF(myInt);• Ссылки типизированы • Арифметика не поддерживается• Оператор для получения ссылки на переменную

Ссылки (reference)

Page 14: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

14 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• A := TO_REAL(B); // ранее: INT_TO_REAL• A := LREAL_TRUNC_INT(B); // ранее : TRUNC• A := TRUNC_INT(B); // ранее : TRUNC• A := BCD_TO_INT(B); // ранее : WORD_BCD_TO_INT• A := TO_BCD_WORD(B);// ранее : INT_TO_BCD_WORD

Новые функции преобразования типов

Page 15: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

15 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

+-----------------+| CONCAT_DATE_TOD |

DATE --|DATE |--DTTOD --|TOD |

+-----------------+

+-------------+| CONCAT_DATE |

ANY_INT --|YEAR |--DATEANY_INT --|MONTH |ANY_INT --|DAY |

+-------------+

Новые функции для типов DATE и TIME (1)

Page 16: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

16 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

+-------------+| SPLIT_DATE |

DATE--|IN YEAR|-- ANY_INT| MONTH|-- ANY_INT| DAY|-- ANY_INT+-------------++-------------+| SPLIT_TOD |

TOD--|IN HOUR|-- ANY_INT| MINUTE|-- ANY_INT| SECOND|-- ANY_INT| MILLISECOND|-- ANY_INT+-------------+

Новые функции для типов DATE и TIME (2)

Page 17: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

17 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• Объектно-ориентированный функциональный блок или класс?• Преимущества использования ФБ:

– Возможно постепенное введение новых возможностей– Класс включает понятие функционального блока– Легкость перехода– Использование старых проектов– Для библиотек: внешне обычный функциональный блок, но разработан с помощью приемов ООП

Объектно-ориентированное программирование

Page 18: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

18 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• Преимущества использования классов:– Хорошо известны специалистам по программированию

• => Компромисс: использование как классов, так и функциональных блоков

Объектно-ориентированное программирование

Page 19: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

19 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новинки

• Ключевые слова из Java:(METHOD, EXTENDS, IMPLEMENTS, THIS, SUPER и т.д.).

• Концепция также взята из Java:– Нет множественного наследования– Любое количество реализуемых интерфейсов

Объектно-ориентированное программирование.Возможности

Page 20: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

20 © 3S-Smart Software Solutions GmbH

IEC61131-3

Новое в стандарте

• Методы могут быть– Private, Protected, Public, Internal (Namespaces!)

• Наследование (Extends)• Переопределение методов (Override)• Абстракция интерфейсов• Реализация интерфейсов (Implements)• Абстрактные классы

Объектно-ориентированное программирование.Возможности

Page 21: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

21 © 3S-Smart Software Solutions GmbH

IEC61131-3

– Конструктур/диструктор– Свойства (как в C#) – Статические переменные в классах– Статические методы в классах– Функции с переменным числом входов (как в C#: PARAMS OF),– Перегрузка методов (Overloading)

Объектно-ориентированное программирование.Планы на будущее

Page 22: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

22 © 3S-Smart Software Solutions GmbH

IEC61131-3

Третья редакция принята в январе 2013 года.

Работа над стандартом продолжается...

Page 23: IEC 61131-3 Edition 3 - prolog-plc.ruprolog-plc.ru/docs/conf_pdf/61131-3_ru_draft.pdfIEC61131-3 Новинки • Восьмеричная система исчисления(8#52)

23 © 3S-Smart Software Solutions GmbH

Inspiring Automation Solutions

Спасибо за внимание