Download presentation
Published byShanon McKenzie Modified over 9 years ago
1
EPOS Programming Terms Programming Tool: Projects
Basics of the PLC Programming Programming Language IEC Standard Sample Programs EPOS P Training
2
Description of some terms
PLC Programmable Logic Control PLCopen An Industrial Control organisation IEC Programming Standard created by PLCopen (in the past IEC 1131) OpenPCS Programming tool for EPOS P (from Infoteam)
3
What is a PLC? PLC roots in the wiring logic
outputs actuators motors, valves inputs sensors PLC roots in the wiring logic originally hardware based: Relays increasingly software based more flexible, easier to modify more efficient, lower costs needs a programming device industrial PC = PLC + programming device programming device will be removed after programming special requirements: rough environment no moving parts such as harddisks
4
A PLC program works in a cyclic manner
Cyclic calculation of the output pattern according to the input pattern it starts again when it’s finished no inputs during the cycle cycle time depends on the application smart living technology: < min; drives: several ms particular programming languages inputs program inputs cycle time outputs
5
What is PLCopen? User organisation for the promotion of
IEC standards develops and publishes the standards (e.g. for Motion Control, Safety, …) certification authority PLCopen and maxon EPOS P motion functionality based on PLCopen Motion Control The use of the PLCopen Logo is expensive; therefore we do not advertise with it!
6
What is IEC ? describes concepts and directives for building a PLC project, respectively PLC program use of defined terms (key words) contains 5 equal programming languages drive/motion function library advantages widely spread in the PLC world and motion control industry well known “look and feel”, no need to learn new language independent of used hardware “a certain” re-usability of PLC programs widely accepted
7
OpenPCS the programming tool for the EPOS P
from company: Infoteam follows the standard IEC not described in the IEC standard: How does a program editor have to look? management of projects and libraries documentation online functions, e.g. software modification, debugging file and data base structures and this is where the programming tools differ!
8
Configuration PLC configuration in general Project in the EPOS-Studio
Project in the OpenPCS
9
Project in the EPOS Studio
describes involved components and its communication EPOS P: for 1 EPOS P EPOS: for 1 EPOS MCD EPOS: for 1 MCD EPOS MCD EPOS P: for 1 MCDEPOS P For Network: Create New Project Info will be handed over to OpenPCS tools and wizards depend on involved components communication, network connections
10
e.g. EPOS Project for a EPOS navigation is adjusted
11
OpenPCS Project project contains resource = processing unit of the PLC
resources, runtime programs allocation of variables to physical PLC addresses references to other programs: global variables, data types corresponds to PLC configuration resource = processing unit of the PLC e.g.: EPOS P “master function", CPU’s, special processors on one resource several runtime programs can run program sequence controlled by "Task" importance = priority execution type: periodic, cyclic, interrupt
12
Programming POU Program Organisation Unit
Programs, Function Blocks, Functions Variables declaration, types Programming languages
13
Program Organisation Unit (POU)
For structuring IEC application programs 3 types of POU Functions (FUN) Function Blocks (FB) Programs (PROG) PROG FB FUN FB FUN FUN FUN FUN POU’ s have a strict hierarchy recursion is not allowed memory demand is known from the beginning memory allocation can be made
14
Program Organisation Unit (POU)
FUNCTION structure of a POU begin and end with KEY WORD (taken care of by OpenPCS) declaration section interface variables, local variables instruction section in one of the 5 programming languages FUNCTION_BLOCK PROGRAM Interface variables local Variables Instruction POU body END_PROGRAMM END_FUNCTION_BLOCK END_FUNCTION
15
Characteristics of POU‘s
closed unit can be compiled independently can be called within the whole project can be used in the whole project unique name within a project new POU File -> New -> POU libraries can be built of FUN’s and FB’s reusability and modularisation e.g.: standard library, MC library, CAN library
16
POU – variable declaration
VAR local data VAR_INPUT input parameter VAR_OUTPUT output parameter VAR_INOUT input and output VAR_GLOBAL global data VAR_EXTERNAL reference to global data END_VAR key word for the end
17
POU – type declaration for each variable a type has to be defined
optionally an initial value can be specified else standard value or value of previous call types can also be defined by the programmer File -> New -> Declarations ->Types global valid TYPE … END_TYPE
18
Variable declaration in OpenPCS
VAR_GLOBAL global data of the resource File -> New -> Declarations -> Global global data of the program upper panel of the program all other VAR upper panel of the POU
19
Functions (FUN) return exactly one output value without memory
call with input variable (VAR_INPUT) for the same input, there is always the same output value without memory only local variables allowed (VAR), which will be initialised at every call no global or external variables allowed FUN can only call other functions standard functions are predefined arithmetic functions and comparisons e.g. sin (x) FUNCTION Hallo: BOOL VAR … END_VAR Hallo := TRUE END_FUNCTION
20
Function Blocks (FB) work with an own data record
with memory for internal state instantiation output depends on the inputs and state information input parameter and output parameter can call FUN’s and other FB’s predefined standard FB’s e.g. for timer and counter predefined Motion Control FB’s e.g. for relative movements
21
Program (PROG) main program defines the access to the PLC periphery
“brain" of an PLC application program There is only one instance defines the access to the PLC periphery allocation to the physical address (e.g. input and output of the PLC) declaration of the variables of the whole program (VAR_GLOBAL) has no input and output parameter
22
Programming languages in IEC 61131-3
5 equivalent programming languages IL: Instruction List similar to assembler ST: Structured Text similar to high level programming language LD: Ladder Diagram graphical FBD: Functional Block Diagram graphical SFC: Sequential Function Chart graphical It doesn’t matter with which language the user writes his program. It is even possible to write different parts (POU’s) of the program in different languages. IL Textual, line oriented, efficient, close to machine code ST High level language, for complex problems, similar to PASCAL LD Widely used diagram format, intuitive use of boolean functions, function blocks FDB Use of predefined functionality, graphical programming tool SFC Graphical programming tool, sequental and parallel processes, for complex structures, state machines
23
FBD Function Block Diagram
graphical, strong accentuation of the function blocks and the functions Similar to LabView relatively big overhead for parameters and FB no conditional code programmable (all FB will always be loaded and called) realistic cycle times >= 10 ms 30 IL/ms)
24
Sample FBD: SimpleMotionSequence
FUNCTION_BLOCK with instantiation FUNCTION without name variables, constants, virtual connections
25
Libraries standard library motion control (MC) library CANopen library
for timer functions, arithmetical functions, … see OpenPCS help motion control (MC) library for axis control according to PLCopen standard see Programming Reference 6.1 CANopen library for reading and writing of SDO objects according to CANopen Standard see Programming Reference 6.2
26
LD / LDD Ladder Diagram graphical widely used in USA and Asia
in the style of current logic, relay technique Boolean logic widely used in USA and Asia Rockwell LD-Editor as reference
27
SFC Sequential Function Chart
graphical for process control engineering steps: will be executed if activated conditions (transitions) will be executed after the previous step is finished deactivates previous step and activates next step
28
IL Instruction List widely used in Europe
VAR First, Second, Result: INT:=10; StringOp: String[30]:=' '; StringRes: String[25] END_VAR … B1: LD First (* 10(INT) *) ADD Second (* 20(INT) *) ST Result (* 20(INT) *) GT 0 (* True(BOOL) *) JMPC B2 (* because CR=True *) JMC FarAway (* CR undefined, reaction depends on implement.*) B2: LD StringOp (* (String) *) ST StringRes (* *) widely used in Europe textual programming similar to assembler PLC assembler line oriented 1 line = 1 instruction CR = current result the virtual accumulator for all data types realistic cycle times: optimised down to 1 ms
29
ST Structured Text widely used in Europe
textual, similar to high level language (e.g. Pascal or C+) some features instructions separated with “ ; ” loops: FOR, WHILE, REPEAT conditions: CASE, IF…THEN…ELSIF...ELSE complex expressions realistic cycle times: optimised down to 1 ms
31
Exercise 1: Download SimpleMotionSequence Program to the controller and execute it.
32
Exercise 1a: Create a program that will enable the drive and move the motor to an absolute position. Position = 20000 Velocity = 1000 Acceleration = 10000 Deceleration = 10000
33
Exercise 1b: Create a program that will oscillate the motor between two positions using FBD. Position 1 = 0 Position 2 = 20000 Velocity = 1500 Acceleration = 15000 Deceleration = 15000
34
Exercise 1 continued… Step 2: Click on Open Programming Tool
Step 4: Select maxon motor ag Step 5: Select EPOS P Project Step 6: Enter Project Name Step 7: Click OK Step 8: Click on File New Step 1: Double Click on “IEC Programming” Step 9: Select FBD Step 10: Verify POU-Type is Program Step 11: Enter POU Name Step 12: Click OK Step 3: Click on File Project New Step 13: Click Yes to add to Active Resource
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.