epos programming terms programming tool: projects basics of the plc programming programming...

34
EPOS Programming Terms Programming Tool: Projects Basics of the PLC Programming Programming Language IEC 61131-3 Standard Sample Programs EPOS P Training

Upload: shanon-mckenzie

Post on 22-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

EPOS Programming

Terms

Programming Tool: Projects

Basics of the PLC Programming

Programming Language IEC 61131-3 Standard

Sample Programs

EPOS P Training

2,

© b

y m

axon

mot

or a

g, J

an 0

5

Description of some terms

PLC Programmable Logic Control

PLCopen An Industrial Control organisation

IEC 61131-3 Programming Standard created by

PLCopen (in the past IEC 1131)

OpenPCS Programming tool for EPOS P(from Infoteam)

3,

© b

y m

axon

mot

or a

g, J

an 0

5

What is a 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

PLCinputssensors

outputsactuatorsmotors, valves

4,

© b

y m

axon

mot

or a

g, J

an 0

5

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

program

inputs

outputs

cycle time

inputs

5,

© b

y m

axon

mot

or a

g, J

an 0

5

What is PLCopen?

User organisation for the promotion of

IEC 61131-3 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,

© b

y m

axon

mot

or a

g, J

an 0

5

What is IEC 61131-3 ? 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,

© b

y m

axon

mot

or a

g, J

an 0

5

OpenPCS the programming tool for the EPOS P

– from company: Infoteam

follows the standard IEC 61131-3

not described in the IEC 61131-3 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,

© b

y m

axon

mot

or a

g, J

an 0

5

Configuration

PLC configuration in general

Project in the EPOS-Studio

Project in the OpenPCS

9,

© b

y m

axon

mot

or a

g, J

an 0

5

Project in the EPOS Studio

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,

© b

y m

axon

mot

or a

g, J

an 0

5

e.g. EPOS Project for a EPOS

navigation is adjusted

11,

© b

y m

axon

mot

or a

g, J

an 0

5

OpenPCS Project project contains

– 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,

© b

y m

axon

mot

or a

g, J

an 0

5

Programming

POU Program Organisation UnitPrograms, Function Blocks, Functions

Variables declaration, types

Programming languages

13,

© b

y m

axon

mot

or a

g, J

an 0

5

Program Organisation Unit (POU)

For structuring IEC 61131-3 application programs

3 types of POU– Functions (FUN)

– Function Blocks (FB)

– Programs (PROG)

PROG

FB

FB

FUN

FUN FUN

FUNFUN

POU’ s have a strict hierarchy– recursion is not allowed

– memory demand is known from the beginning

– memory allocation can be made

14,

© b

y m

axon

mot

or a

g, J

an 0

5

Program Organisation Unit (POU)

structure of a POU– begin and end with KEY WORD

(taken care of by OpenPCS)

1. declaration section

interface variables, local variables

2. instruction section in one of the 5 programming languages

Interfacevariables

local Variables

InstructionPOU body

FUNCTION

END_FUNCTION

FUNCTION_BLOCK

PROGRAM

END_FUNCTION_BLOCK

END_PROGRAMM

15,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

Functions (FUN) return exactly one output value

– 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: BOOLVAR…END_VAR……Hallo := TRUEEND_FUNCTION

20,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

Program (PROG)

main program– “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,

© b

y m

axon

mot

or a

g, J

an 0

5

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.

23,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

Sample FBD: SimpleMotionSequence

FUNCTIONwithout name

FUNCTION_BLOCKwith instantiation

variables, constants,virtual connections

25,

© b

y m

axon

mot

or a

g, J

an 0

5

Libraries

standard 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,

© b

y m

axon

mot

or a

g, J

an 0

5

LD / LDD Ladder Diagram

graphical– in the style of

current logic, relay technique

– Boolean logic

widely used in USA and Asia

– Rockwell LD-Editor as reference

27,

© b

y m

axon

mot

or a

g, J

an 0

5

SFC Sequential Function Chart

graphical

for process control engineering

conditions (transitions)

– will be executed after the previous step is finished

– deactivates previous step and activates next step

steps: will be executed if activated

28,

© b

y m

axon

mot

or a

g, J

an 0

5

IL Instruction List 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

VARFirst, Second, Result: INT:=10;StringOp: String[30]:='123456789';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 (* 123456789 (String) *)

ST StringRes (* 123456789 *)

29,

© b

y m

axon

mot

or a

g, J

an 0

5

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

30,

© b

y m

axon

mot

or a

g, J

an 0

5

31,

© b

y m

axon

mot

or a

g, J

an 0

5

Exercise 1:

Download SimpleMotionSequence Program to the controller and execute it.

32,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

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,

© b

y m

axon

mot

or a

g, J

an 0

5

Exercise 1 continued…

Step 1: Double Click on “IEC 61131 Programming”

Step 2: Click on Open Programming Tool

Step 3: Click on File Project New

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 9: Select FBD

Step 10: Verify POU-Type is Program

Step 11: Enter POU Name

Step 12: Click OK

Step 13: Click Yes to add to Active Resource