1 / 34

EPOS Programming

EPOS Programming. Terms Programming Tool: Projects Basics of the PLC Programming Programming Language IEC 61131-3 Standard Sample Programs. EPOS P Training. Description of some terms. PLC Programmable Logic Control PLCopen An Industrial Control organisation

todd-rosa
Download Presentation

EPOS Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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. What is a PLC? outputs actuators motors, valves PLC inputs sensors • 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. inputs 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 cycle time outputs

  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. 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. 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. Configuration • PLC configuration in general • Project in the EPOS-Studio • Project in the OpenPCS

  9. 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. e.g. EPOS Project • for a EPOS • navigation is adjusted

  11. 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. Programming • POU Program Organisation Unit Programs, Function Blocks, Functions • Variables declaration, types • Programming languages

  13. Program Organisation Unit (POU) • For structuring IEC 61131-3 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 • 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 • “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.

  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 • 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 • 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 VAR First, 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*) • 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

  30. Exercise 1: • Download SimpleMotionSequence Program to the controller and execute it.

  31. 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

  32. 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

  33. 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 61131 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

More Related