МЭК 61131-3
.pdfГОСТ Р МЭК 61131-3— 2016
|
Планирование (повторяется каждые 40 мс) |
|
|
t(MC) |
Выполнение |
|
Ожидание |
0 |
P2.FB2@1 |
Р1@2, P2.FB1@2, Р2 |
|
2 |
Р1@2 |
P2.FB1@2, Р2 |
|
4 |
P2.FB1@2 |
Р2 |
|
6 |
Р2 |
— |
|
10 |
Р2 |
P2.FB2@1 |
|
14 |
P2.FB2@1 |
Р2 |
|
16 |
Р2 |
(перезапуск Р2 ) |
|
20 |
Р2 |
P2.FB2@1, Р1@2, P2.FB1@2 |
|
24 |
P2.FB2@1 |
Р1@2, P2.FB1@2, Р2 |
|
26 |
Р1@2 |
P2.FB1@2, Р2 |
|
28 |
P2.FB1@2 |
Р2 |
|
30 |
P2.FB2@1 |
Р2 |
|
32 |
Р2 |
_ |
|
40 |
P2.FB2@1 |
Р1@2, P2.FB1@2, Р2 |
|
- Ресурс S"ГАТЮЫ_2 как сконфигурирован на рисунке 28 |
|
||
- Времена исполнения: Р1 = 30 мс, Р4 = 5 мс, P4.FB1 = 10 мс |
|
||
- I NT_2 ср абатывает при t = 25, 50, 90,... мс |
|
|
|
- STATION |
2 запускается при t - 0 |
|
|
|
|
План |
______________ ______ |
t(MC) |
Исполнение |
|
Ожидание_______ ___________ |
|
|
||
0 |
Р1@2 |
P 4 .F B 1 @ 2 ___________ ___________ _____ _______ |
|
25 |
Р1@2 |
P4.FB1@2, Р4@1------------------------------------------------------ |
178
|
|
ГОСТ Р МЭК 61131 -3— 2016 |
|
|
План |
t(MC) |
Исполнение |
Ожидание |
0 |
P2.FB2@1 |
Р1@2, P2.FB1@2, Р2 |
2 |
Р1@2 |
P2.FB1@2, Р2 |
4 |
P2.FB1@2 |
Р2 |
6 |
Р2 |
— |
10 |
P2.FB2@1 |
Р2 |
12 |
Р2 |
— |
16 |
Р2 |
(перезапуск Р2 ) |
20 |
P2.FB2@1 |
Р1@2, P2.FB1@2, Р2 |
-Ресурс STATION_2 как сконфигурирован на рисунке 28
-Времена исполнения: Р1 = 30 мс, Р4 = 5 мс, P4.FB1 = 10 мс
-INT_2 срабатывает при t = 25, 50, 90,... мс
-STATION_2 запускается при t = 0
|
|
План |
t(MC) |
Исполнение |
Ожидание |
0 |
Р1@2 |
P4.FB1@2 |
25 |
Р4@1 |
Р1@2, P4.FB1@2 |
30 |
Р1@2 |
P4.FB1@2 |
35 |
P4.FB1@2 |
— |
50 |
Р4@1 |
Р1@2, P4.FB1@2 |
55 |
Р1@2 |
P4.FB1@2 |
85 |
P4.FB1@2 |
— |
90 |
Р4@1 |
P4.FB1@2 |
95 |
P4.FB1@2 |
— |
100 |
Р1@2 |
P4.FB1@2 |
П р и м е ч а н и е 1 — Времена выполнения P2.FB1 и P2.FB2 не включены во время выполнения Р2.
П р и м е ч а н и е 2 — Время выполнения P4.FB1 не включено во время выполнения Р4.
Пример 2 — Связи задачи с экземплярами функционального блока RESOURCE R1
PROGRAM X
179
ГОСТ Р МЭК 61131-3—2016
Y1 |
+ |
|
|
+ |
Y2 |
|
+--------- |
|
|
|
I |
||
I Y |
| |
|
|
| |
Y |
|
---|А |
С| ---- |
+--------- |
|
|А |
|
С| — |
— IB |
D |---- |
|— +------ |
|
IВ |
|
D| — |
+--- |
+ |
|
|
+--- |
|
+ |
Islowl| |
|
|
If a s t i | |
|||
+--- |
+ |
|
|
+----- |
|
+ |
|
|
|
+ |
Y3 |
+ |
|
|
|
|
|
|
||
|
|
|
I |
Y |
I |
|
|
|
— |
|A |
|
C| — |
|
|
|
+— |
IВ |
|
D| — |
|
|
|
|
+-------- |
|
+ |
|
|
|
|
Ifasti| |
|
||
|
|
|
+-------- |
|
+ |
|
END_PROGRAM
а) Функциональные блоки с явными связями задачи
|
|
|
|
+ |
f a s t i |
+ |
|
+ |
s l o w l |
+ |
|
|
|
|
|
|
|
|
--------- |
||||
|
|
|
|
| |
T AS K |
| |
|
| |
T A S K |
| |
|
|
t # 1 0 m s |
------ |
| I N T E R V A L |
| |
t # 2 0 m s ------ |
| I N T E R V A L |
| |
||||
|
|
1 |
------ |
| P R I O R I T Y |
| |
2 ------ |
| P R I O R I T Y |
| |
|||
|
|
|
|
+ --------------------- |
|
|
+ |
|
+ |
--------------------- |
+ |
P1 |
|
|
|
|
|
|
|
|
|
|
|
PROGRAMX |
|
|
|
|
|
|
|
|
|
|
|
Y1 |
+ |
|
|
|
Y2 |
+ |
|
|
|
|
|
+--- |
|
|
+- |
|
|
|
|
|
|||
I Y |
| |
|
|
| |
Y |
I |
|
|
|
|
|
---IA |
C|--- |
+-------- |
|
|A |
|
C| — |
|
|
|
|
|
------ I В |
D |-------- |
|— |
+------------- |
IB |
|
D| — |
|
|
|
|
|
+--------- |
+ |
| |
| |
+----- |
|
+ |
|
|
|
|
|
Ifasti| |
| |
| |
|
|
|
|
|
|
|
|
|
+---------- |
+ |
| |
| |
|
|
|
|
|
|
|
|
|
|
I |
I |
Y3 |
|
|
|
|
|
|
|
|
|
| |
| |
+-------- |
+ |
|
|
|
|
|
|
|
|
I |
I |
I Y |
| |
|
|
|
|
|
|
|
|
+— |
I— |
IA |
C| — |
|
|
|
|
|
|
|
|
|
+— |
IB |
D| — |
|
|
|
|
|
|
END_PROGRAM slowl
b) Функциональные блоки с неявными связями задачи RESOURCE R1
f a s t i |
s l o w l |
|
+ |
----------------------- |
+ |
|
| |
T A S K |
| |
t # 1 0 m s ------- |
| I N T E R V A L |
| |
|
1 ------- |
| P R I O R I T Y |
| |
|
+ |
---------- |
+ |
|
| |
T A S K |
| |
t # 2 0 m s ------- |
| I N T E R V A L |
| |
|
2 ------- |
| P R I O R I T Y |
| |
+ ----------------------- |
+ |
+ ----------------------- |
+ |
P1
PROGRAMX
180
ГОСТ Р МЭК 61131-3—2016
|
+ |
Y1 |
|
Y2 |
|
+ |
+-------- |
- + |
|
|
I |
Y | |
I |
Y I |
— |
|А |
с | ------- |
" I А |
С|- |
— |
| в |
D |------- |
-|в |
D |■ |
|
+------- |
+ |
+-------- |
|
|
Ifasti| |
I s l o w l | |
||
|
+------- |
+ |
+-------- |
|
|
|
|
Y3 |
+ |
|
|
|
-------- |
|
|
|
I |
Y |
| |
|
|
— |А |
|
С|-— |
|
|
-----|В |
|
D |-— |
|
|
|
-------- |
+ |
I s l o w l I
--------+
END_PROGRAM
с) Явные связи задачи эквивалентны Ь)
Примечание 3 — Графические представления в этих примерах являются только иллюстра тивными, но не нормативными.
6.9 Пространства имен
6.9.1 Общие положения
Для целей функционирования языков программирования программируемого контроллера про странство имен — это элемент языка, объединяющий другие элементы языка в общий объект.
Одно и то же имя элемента языка, объявленное внутри пространства имен, может также исполь зоваться внутри других пространств имен.
Пространства имен и типы, не имеющие охватывающего пространства имен, являются членами глобального пространства имен. Глобальное пространство имен включает имена, описанные в гло бальной области видимости. Все стандартные функции и функциональные блоки являются элементами глобального пространства имен.
Пространства имен могут быть вложенными.
Пространства имен и типы, объявленные внутри пространства имен, являются членами этого про странства имен. Члены пространства имен находятся в локальной области видимости пространства имен.
С пространствами имен может быть реализована концепция библиотеки наряду с концепцией модулей. Пространства имен можно использовать, чтобы избежать неоднозначностей идентификатора. Типовое приложение пространства имен находится в контексте средств объектно-ориентированного программирования.
6.9.2 Объявление
Описание пространства имен начинается с ключевого слова NAMESPACE, за которым опциональ но следует спецификатор доступа INTERNAL, имя пространства имен и окончания с ключевым словом ENDJ4AMESPACE. Пространство имен содержит набор элементов языка, за каждым из которых опци онально следует следующий спецификатор доступа:
- INTERNAL для доступа только внутри собственно пространства имен.
Спецификатор доступа может быть применен к описанию следующих элементов языка:
-определяемых пользователем типов данных — с использованием ключевого слова TYPE;
-функций;
-программ;
-типов функциональных блоков и их переменных и методов;
-классов и их переменных и методов;
-интерфейсов;
-пространств имен.
Если спецификатор доступа не задан, элементы языка пространства имен доступны извне про странства имен, т.е. пространство имен является общедоступным по умолчанию.
Примеры 1 и 2 показывают объявление пространства имен и объявление вложенного простран ства имен.
181
ГОСТ Р М ЭК 61131-3— 2016
Пример 1 — Объявление пространства имен NAMESPACE Timers
FUNCTION INTERNAL TimeTicks DWORD
//...объявление и операции здесь ENDFUNCTION
//другие элементы пространства имен без спецификатора являют ся PUBLIC по умолчанию TYPE по умолчанию
LOCALTIM E: STRUCT TIMEZONE: STRING [40];
DST: BOOL; //Декретное время TOD: TOD;
ENDSTRUCT;
ENDTYPE;
FUNCTION_BLOCK TON
I I ... объявление и операции
END FUNCTION BLOCK
FUNCTION_BLOCK TOF
П ... объявление и операции END_FUNCTION_BLOCK ENDNAMESPACE (*Timers*)
Пример 2 — Объявление вложенного пространства имен
NAMESPACE Standard И Пространство имен = PUBLIC по умолчанию
NAMESPACE Timers IIПространст во имен= PUBLIC по умолчанию
FUNCTION INTERNAL TimeTicds DWORD
II ...объявление и операции здесь
ENDFUNCTION
И другие элементы пространства имен без спецификатора являются PUBLIC за счет TYPE по умолчанию
LOCALTIM E:
STRUCT TIMEZONE: STRING [40];
DST: BOOL; IIДекретное время
TOD: TOD;
ENDSTRUCT;
ENDTYPE;
FUNCTION_BLOCK TON |
II определяет реализацию TON с новым именем |
И ... объявление и операции здесь |
|
END_FUNCTION_BLOCK |
|
FUNCTION_BLOCK TOF |
II определяет реализацию TOF с новым именем |
И ... объявление и операции здесь END_FUNCTION_BLOCK
CLASS А
ETHOD INTERNAL М1
182