Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
00108267テキストボックス本書は概要を紹介するための抜粋版です。全文をご覧いただくには、「ユーザ会員」ページより全文版をダウンロードしてください。非会員の方は、「入会のご案内」ページより、「ユーザ会員」に入会してください。
PLC
PLC
PLCopen Japan
2
IEC 61131-3 5
1.1 IEC 61131-3 ……………………………………………………...………..4 1.2 ……………………………………..……………………..4 1.3 ………………………………………………………...5
ST
2.1 ………………………………………………………….9 2.2 ……………………………………………………9 2.3 …………………………………………………….10 2.4 …………………………………………………12 2.5 ………………………………………15 2.6 …………………………………………………………….16 2.7 ………………………………………………….17 2.8 X Y ……………………………………….18 2.9 ……………………………………………………………….20 2.10 ……………………………………………………………23 2.11 ……………………………………………………………………….28
ST
3.1 CASE ………………………………………………31 3.2 …………………………………………………32 3.3 FOR WHILE REPEAT BREAK …………34 3.4 ………….…...………………………37 3.5 ST …………………………………………….…38 3.6 …………………………….………………………………………….…44
PLC
4.1 C BASIC ST …………………………………………45 4.2 C ST ………………………………………………………………54
5.1 ………………………….…………………………………………45 5.2 PLCopen Japan .…………………………………………………54
3
6.1 ………………………………….…………………………………………63 6.2 ………………………………….…………………………………………79 6.3 ………………………………….…………………………………………93
A ST ………………………………………………………………………….105 B ………………………………………………………………………109 C ……………………………………………………………112 D …………………………………………………………….125 E …………………………………………………….126 F …………………………………………………….132
- 4 -
IEC 61131-3 5 1.1 IEC 61131-3
IEC 61131 IEC(International Electrotechnical Commission: ) PLC(Programmable Logic Controller) PLC 1.1 IEC 61131-3 JIS B
3503 PLC
1.2
PLC PLC
IEC 61131-3 PLC 1.1 PLC
IEC 61131-3
LD/FBD/SFC IL/ST
1.1 IEC 61131
Programmable*controllers *–*Part*1General informationProgrammable*controllers *–*Part*2Equipment requirement and testsProgrammable*controllers *–*Part*3Programming languageProgrammable*controllers *–*Part*4User guidelineProgrammable*controllers *–*Part*5Messaging service specificationProgrammable*controllers *–*Part*6Functional safetyProgrammable*controllers *–*Part*7Fuzzy control programmingProgrammable*controllers *–*Part*8Guidelines for the application andimplementation of programming languages
- 5 -
1.3 1.3.1 LD Ladder Diagram
PLC1.2
LD I/O
1.1 IEC 61131-3
1.2 Ladder Diagram
- 6 -
1.3.2 FBD Function Block Diagram DCS(Distributed Control System)
PLC
1.3 FBD
1.3.3 SFC( Sequential Function Chart)
SFC
1.4 1.2 SFC
S001 S002 2 S001SFC
1.3 Function Block Diagram
1.4 Sequential Function Chart
- 7 -
S001 S002 IN1 TRUE IN2 FALSES001 S002
S002 S002 S002OUT1 TRUE OUT1 TRUE S002IN2 TRUE
IN2 TRUE S002 S001 SFC
1.3.4 IL Instruction List
PLC
1.2 IL 1.5
1.3.5 ST Structured Text
PASCALC C++
LDLD
1.6 1.3 FBD INPUT1 INPUT2 INPUT3
INPUT4 RESULT
1.7 5 LD FBD ST
PLCopen Japan IEC 61131-3 ST
ST
1.5 Instruction List
1.6 Structured Text
- 8 -
Europe Asia
All 5 languages 1.LD2. FBD3. ST4. SFC
1.LD2. FBD3. ST
Europe Asia
All 5 languages 1.LD2. FBD3. ST4. SFC
1.LD2. FBD3. ST
1.7
- 9 -
ST
PLC
ST
Y := 2 * X + 10;
X 2 10 Y
:=
; * /
( )X 10 Y
Y := 2 * (X + 10);
X Y
2.2
Y := X / 10 * 10;
X 10 10X 10 0 Y
0 X Y=X X X
Y := (2 / 10) * 10; Y := ( 0 ) * 10; Y := 0;
Y := (2 / 10) * 10; Y := ( 0.2 ) * 10; Y := 2;
- 10 -
INTINTEGER
X INT Y INT
X Y Y := X / 10 * 10;
X 1 Y
Y := (X + 9) / 10 * 10; (* *) Z := (X + 5) / 10 * 10; (* *)
Y X 1 Z(* *)
3600 =1 ) 3600 60 (=1 )
MOD Modulo
_ INT
INT
INT
INT
:= _ / 3600; := ( _ MOD 3600) / 60; := ( _ MOD 3600) MOD 60;
” _ ” 100,000 27 46 40
- 11 -
_ := 100000; (* ← *)
:= _ / 3600; := ( _ MOD 3600) / 60; := ( _ MOD 3600) MOD 60;
INT 16 2INT -32,768 32,767
” _ ” 32,767 -9 9 4 INT 2
Double INT (DINT) DINT -231 +231-1 -2,147,483,648+2,147,483,647 4 Unsigned DINT(UDINT) 0
232(4,294,967,296) 232 1,193,046136
ST 1
_ UDINT
UDINT
UDINT
UDINT
02.11.1
1 PLC
UDINT#3600
No. B-100330
No. B-100330
63
(* *************************************************************************** ST
) (* )
:= / 10 * 10; (* )
:= ( + 9 ) / 10 * 10; (* )
:= ( + 5 ) / 10 * 10;
(* ) := / DINT#10 * DINT#10;
(* )
:= ( + DINT#9 ) / DINT#10 * DINT#10; (* )
:= ( + DINT#5 ) / DINT#10 * DINT#10;
No. B-100330
64
(* ************************************************************************* ST
)
:= _ / 3600; := ( _ MOD 3600 ) / 60; := ( _ MOD 3600 ) MOD 60;
:= _ / UDINT#3600;
:= ( _ MOD UDINT#3600 ) / UDINT#60; := ( _ MOD UDINT#3600 ) MOD UDINT#60;