Download - Industrial Automation - users.isr.ist.utl.pt
![Page 1: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/1.jpg)
http://users.isr.ist.utl.pt/~jag/courses/api1819/api1819.html
Prof. Paulo Jorge Oliveira, original slidesProf. José Gaspar, rev. 2018/2019
PLC Programming LanguagesInstruction List
Industrial Automation(Automação de Processos Industriais)
IST / DEEC / API
![Page 2: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/2.jpg)
Chap. 2 – Introduction to PLCs [2 weeks]...
Chap. 3 – PLC Programming languages [2 weeks]Standard languages (IEC-61131-3):Ladder Diagram; Instruction List, and Structured Text.Software development resources.
...Chap. 4 - GRAFCET (Sequential Function Chart) [1 week]
Syllabus:
Industrial AutomationIST / DEEC / API
Page 2
![Page 3: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/3.jpg)
Ladder Diagram
Instruction List
Structured Text
Sequential Function Chart(GRAFCET)
LD %M12AND %I1.0ANDN %I1.1OR %M10ST %Q2.0
If %I1.0 THEN%Q2.1 := TRUE
ELSE%Q2.2 := FALSE
END_IF
1
Direita
(1) m
2
3
(2) b
(3) p
4
(2) a
Carrega
Esquerda
Page 3
Chap. 3 - PLC Programming languagesIST / DEEC / API
PLC Programming languages(IEC 61131-3)
![Page 4: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/4.jpg)
Page 4
Chap. 3 - PLC Programming languages
Instruction list
AI1A(OI2O(ANC9AQ9))=Q9...
AI3=P9NOOM1OI4=Z9NOAC9=M1...
LDV50=CSW9PE...
IST / DEEC / API
Antique PLC
![Page 5: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/5.jpg)
Page 5
IST / DEEC / API Chap. 3 - PLC Programming languages
Instruction list
IST / DEEC / API
Reference – see Unity Pro dev. environment
![Page 6: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/6.jpg)
Page 6
IST / DEEC / API Chap. 3 - PLC Programming languages
Instruction list
IST / DEEC / API
Reference – Unity Pro
Help
![Page 7: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/7.jpg)
Page 7
IST / DEEC / API
Instruction list
PLC Program = {Sections}, Section = {Sequences}One sequence is equivalent to one or more rungs in ladder diagram.Each section can be programmed in Ladder, Instruction List, or Structured Text.
An Instruction list (IL) is composed ofa series of instructions. Each instructionbegins on a new line and consists of:- an Operator,- if necessary with a Modifier and- if necessary one or more Operands
IL is a so-called accumulator oriented language, i.e. each instruction uses oralters the current content of the accumulator (a form of internal cache). IEC61131 refers to this accumulator as the "result". For this reason, an instructionlist should always begin with the LD operand ("Load in accumulatorcommand").
Reference – Unity Pro Help
Chap. 3 - PLC Programming languages
![Page 8: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/8.jpg)
Basic Instructions
Load
P
N
Open contact: contact is active (result is 1)while the control bit is 1.
Close contact: contact is active (result is 1)while the control bit is 0.
Contact in the rising edge: contact is active during a scan cycle where the control bit has a rising edge.
Contact in the falling edge: contact is active during a scan cycle where the control bit has a falling edge.
Page 8
Chap. 3 - PLC Programming languages
LD
LDN
LDR
LDF
Instruction list
IST / DEEC / API
P
%I1.0 %Q2.0 I1.0
Q2.0
t
t
![Page 9: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/9.jpg)
Store
The result of the logic function activates the coil.
The inverse result of the logic function activates the coil.
The result of the logic function energizes the relay (sets the latch).
S
RThe result of the logic function de-energizes the relay (resets the latch)..
N
%I1.0 %Q2.0 I1.0
Q2.0
t
t
S
Page 9
Chap. 3 - PLC Programming languages
Basic Instructions
ST
STN
R
S
Instruction list
IST / DEEC / API
![Page 10: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/10.jpg)
AND
AND of the operand with the result of the previous logical operation.
AND of the operand with the inverted result of the previous logical operation.
AND of the rising edge with the result of the previous logical operation.
AND of the falling edge with the result of the previous logical operation.
P
N
N
%Q2.0 I1.0
Q2.0
S t
t
P
%I1.0%I1.0
Page 10
Chap. 3 - PLC Programming languages
Basic Instructions
AND
ANDN
ANDF
ANDR
Instruction list
IST / DEEC / API
![Page 11: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/11.jpg)
OR
P
N
Page 11
Chap. 3 - PLC Programming languages
Basic Instructions
OR of the operand with the result of the previous logical operation.
OR of the operand with the inverted result of the previouslogical operation.
OR of the rising edge with the result of the previous logical operation.
OR of the falling edge with the result of the previous logical operation.
OR
ORN
ORF
ORR
Instruction list
IST / DEEC / API
![Page 12: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/12.jpg)
Page 12
IST / DEEC / API Chap. 3 - PLC Programming languages
Example:
Instruction list
![Page 13: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/13.jpg)
XOR
Page 13
Chap. 3 - PLC Programming languages
Basic Instructions
...LD %I1.1XOR %M1ST %Q2.3LD %M2XOR %I1.2ST %Q2.2...
Instruction list
IST / DEEC / API
![Page 14: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/14.jpg)
Page 14
Chap. 3 - PLC Programming languages
Instruction list
IST / DEEC / API
The instantaneous contacts change state as soon as the timer coil is powered.The delayed contacts change state at the end of the time delay.
Temporized Relays or Timers (pneumatic)
![Page 15: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/15.jpg)
Characteristics:
Identifier: %TMi 0..63 in the TSX37
Input: IN to activate
Mode: TON On delayTOFF Off delayTP Monostable
Time basis: TB 1mn (def.), 1s, 100ms, 10ms
Programmed value: %TMi.P 0...9999 (def.)period=TB*TMi.P
Actual value: %TMi.V 0...TMi.P (can be real or tested)
Modifiable: Y/N can be modified from the console
IN Q
%TMi
MODE: TONTB: 1mn
TM.P: 9999MODIF: Y
Page 15
Chap. 3 - PLC Programming languages
Temporized Relaysor Timers (PL7)
Instruction list
IST / DEEC / API
![Page 16: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/16.jpg)
Page 16
IST / DEEC / API Chap. 3 - PLC Programming languages
Timers
IST / DEEC / API
TON mode
App. example: start ringing the alarm if N sec after door open there is no disarm of the alarm.
TOF mode
TP mode
App. example: turn off stairways lights after N sec the lights’ button has been released.
App. example: positive input edge give a controlled (fixed) duration pulse to start a motor.
![Page 17: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/17.jpg)
Page 17
IST / DEEC / API Chap. 3 - PLC Programming languages
Timers (Unity)Instruction list
IST / DEEC / API
Timers (PL7)
![Page 18: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/18.jpg)
Page 18
Chap. 3 - PLC Programming languages
Instruction list
IST / DEEC / API
Counters
Some applications...
![Page 19: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/19.jpg)
Page 19
Chap. 3 - PLC Programming languages
Instruction list
Counters in PL7
Example:
IST / DEEC / API
![Page 20: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/20.jpg)
Page 20
IST / DEEC / API Chap. 3 - PLC Programming languages
Ladder diagram
Counters in Unity Pro
CU "0" to "1" => CV is incremented by 1CD "0" to "1" => CV is decremented by 1
CV ≥ PV => QU:=1CV ≤ 0 => QD:=1
R=1 => CV:=0 LD=1 => CV:=PVR has precedence over LD
CU "0" to "1" => CV is incremented by 1
CV ≥ PV => Q:=1
R=1 => CV:=0
NOTE: counters are saturated such that no overflow occurs
![Page 21: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/21.jpg)
Page 21
IST / DEEC / API Chap. 3 - PLC Programming languages
Ladder diagram
Counters in Unity Pro
![Page 22: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/22.jpg)
Numerical Processing
Algebraic and Logic Functions (PL7)
Page 22
Chap. 3 - PLC Programming languagesIST / DEEC / API
Instruction list
![Page 23: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/23.jpg)
Arithmetic Functions
Page 23
Chap. 3 - PLC Programming languages
Numerical Processing
IST / DEEC / API
Instruction list
![Page 24: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/24.jpg)
Example:
Arithmetic functions
Page 24
Chap. 3 - PLC Programming languages
Numerical Processing
IST / DEEC / API
Instruction list
PL7:
![Page 25: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/25.jpg)
Page 25
IST / DEEC / API
Example:
Arithmetic functions
Chap. 3 - PLC Programming languages
Numerical Processing
Use of a system variable:
%S18 – flag de overflow
Instruction list
PL7:
![Page 26: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/26.jpg)
Page 26
Chap. 3 - PLC Programming languages
Numerical Processing
Logic Functions
IST / DEEC / API
Instruction list
![Page 27: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/27.jpg)
Page 27
Chap. 3 - PLC Programming languages
Example:
Logic functions
Numerical Processing
IST / DEEC / API
Instruction list
PL7:
![Page 28: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/28.jpg)
Priorities on the execution of the operations
Page 28
Chap. 3 - PLC Programming languages
Numerical Processing
IST / DEEC / API
Instruction list
![Page 29: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/29.jpg)
Structures for Control of Flux
Subroutines
Call and Return
Page 29
Chap. 3 - PLC Programming languagesIST / DEEC / API
Instruction list
CAL
PL7
Unity Pro
![Page 30: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/30.jpg)
Page 30
IST / DEEC / API
![Page 31: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/31.jpg)
JUMP instructions:
Conditional and unconditional
Page 31
Chap. 3 - PLC Programming languages
Structures for Control of Flux
IST / DEEC / API
Instruction list
![Page 32: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/32.jpg)
Example:
Use of jump instructions
Attention to:
• INFINITE LOOPS ...
• It is not a good style ofprogramming!...
• Does not improove the legibility of the proposed solution.
Page 32
Chap. 3 - PLC Programming languages
Structures for Control of Flux
IST / DEEC / API
Instruction list
![Page 33: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/33.jpg)
Halt
Stops all processes!
Events masking
Page 33
Chap. 3 - PLC Programming languages
Structures for Control of Flux
IST / DEEC / API
Instruction list
![Page 34: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/34.jpg)
Page 34
IST / DEEC / API
There are other advanced instructions (see manual)
• Monostable• Registers of 256 words (LIFO ou FIFO)• DRUMs• Comparators• Shift-registers
...• Functions to manipulate floats• Functions to convert bases and types
Chap. 3 - PLC Programming languagesIST / DEEC / API
Instruction list
![Page 35: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/35.jpg)
Numerical Tables
Page 35
Chap. 3 - PLC Programming languagesIST / DEEC / API
Instruction list
PL7:
![Page 36: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/36.jpg)
Page 36
IST / DEEC / API
DOLOG80
PLC AEG A020 Plus:
Inputs:• 20 binary with opto-couplers• 4 analogs (8 bits, 0-10V)
Outputs:• 16 binary with relays of 2A• 1 analogs (8 bits, 0-10V)
Interface to program: RS232
Processor:• 8031 (no ROM ver. of Intel 8051, ~1980)• 2 Kbytes de RAM• 2 Kbytes EEPROM => 896 instructions• Average cycle time: 6.5 ms
Chap. 3 – Old PLCs
![Page 37: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/37.jpg)
Page 37
IST / DEEC / API
PLC AEG A020 Plus
DOLOG80
OPERANDS
• I1 to I20 Binary inputs
• Q1 to Q16 Binary outputs
• M1 to M128 Auxiliary memory
• T1 to T8 Timers (base 100ms)
• T9 to T16 Timers (base 25ms)
• C1 to C16 16 bits counters
Chap. 3 – Old PLCs
![Page 38: Industrial Automation - users.isr.ist.utl.pt](https://reader030.vdocuments.site/reader030/viewer/2022012915/61c4f1dee34c9c20366cbdac/html5/thumbnails/38.jpg)
Page 38
IST / DEEC / API
DOLOG80 (cont.)
Example:
AI1A(OI2O(ANC9AQ9))=Q9...
Stop = I1Start = I2Proximity Sensor = I3Reset = I4Counter= C9Internal relay = M1Motor = Q9
AI3=P9NOOM1OI4=Z9NOAC9=M1...
LDV50=CSW9PE
Legend:
Chap. 3 – Old PLCs