Distributed Energy Engineering (IKE1002) Part5: PLC controls
Programmable Logic Controllers Program is a integral part of the device Application area – All technical devices and systems Logic diagram represents the functionality unambigiously Binary commands Mathematical and number handling commands The easiest way to make control programs Easy to read and understand Ability to apply needs some practise
Programmable Logic Controllers Operating principle How the program, memory and I/O work together PLC-Commands Binary commands Math and number related commands How to control inverters Fieldbus interface How to utilize control and status information of inverters CPU Input Output Input register Output register Memory
Characteristics of PLC IO-connections Inputs - Measure the status of the ”Outside World” Outputs – Control the ”Outside World” to desired direction The only multipurpose device designed to do this Easy to program Designed to describe logical relationships Document your ideas – Voila, It is the program solution Graphical representation – figures instead of text Fast Reaction time is faster than mechanical phenomens – Less than 10 ms Optimized dedicated CPU’s for binary logical operations
Characteristics of PLC Reliable Designed to industrial environments No moving parts Long design history Fast Reaction time is faster than mechanical phenomens – Less than 10 ms Optimized dedicated CPU’s for binary logical operations Cheap Prices start from 100 eur upwards With this price you can substitute about 10 mechanical relays Data logging Has the knowledge of the measured data by the nature Has the fieldbus communication interfaces by the nature Collects and refines the data and sends it to PC-based databases
Typical application – Energy Generation
Operating principle of PLC Input Register Inputs are the binary measurements At input card the are normally screw terminals For every input screw there exists a memory bit in the PLC memory A voltage at the screw reflects 0 or 1 status at the memorybit (True/False) Ouput Register Outputs are the binary controls At ouput card the are also normally screw terminals For every output screw there exists a memory bit in the PLC memory Status 0 or 1 at the memorybit is reflected as a voltage at output screw. Program The program measures the state of the outside world with the inputs Based on the inputs the program decides what actions should be taken The program actuates the decisions with the control outputs
Operating principle of PLC Program Program consists several logical networks Program is executed network by network The networks are executed in the order they exists at the program Each network ends to logical value True or False Each network writes the logical value to memory location Memory locations where writes takes place are Output register or help-memory (Merker) The values which are compared at the logical networks are Input register, Output register or Help-memoryvalues Program scan Before the network execution starts the input register is updated – Voltage status at the input terminals are transferred to memory bit values Then networks are executed At the end the output register values are transferred to output terminal voltages All outputs are effected at the same time – at the end of the program scan, not while networks are executed Output registers are affected directly during the program scan
Binary commands AND OR ASSIGNMENT NEGATE If all the inputs are 1 then the output is one The number of the input terminals are not limited If the AND-gate has only one input, it is the same as copy OR If any of the inputs are one then the output is one ASSIGNMENT AND- and OR-GATES requires assignment command ”=” It ends the network It gives the the logical value of the network to a given memory bit. NEGATE Inverts the logical value 01 and 10
Binary commands SR RS S R S R Q No change 1 Set – Reset gate Functionality is one bit memory If Set-terminal is one then the memory bit is set to one If Reset-terminal is one then the memory bit is reset to zero If both in-terminals are zero tehn the memory bit is unaffected. It stays the same as at previous program scan Reset has priority over Set. If both are one then the memory bit is zero RS Same as SR, but Set overrides Reset S Same as Set-terminal R Same as Reset-terminal S R Q No change 1
Binary commands Midline output - # P N Positive edge If the input chanages 01 then the output is one Functionality is: Recognizes events Gives a pulse, which has duration of one program cycle Needs a help memory bit. Used to remember the input value at the previous program scan. This is not the edge. Do not use this memory anywhere else N Negative edge If the input chanages 10 then the output is one Midline output - # Copies the value of the specified location to the memory bit
Timers Common featues of the timers WHEN TIMING STARTS THE TIME VALUE IS READ INTO TIMER AND IT GOES DOWNWARDS TO ZERO. THE OUTPUT CHANGES WHEN ZERO IS REACHED T DESIGNATES THAT MEMORY AREA "T" IS USED; YOU HAVE TIMERS T0-T127 "T0" AND Q - MEANS THE SAME THING S MEANS START; START TRIGGERS FROM RISING EDGE (NOT STATIC VALUE ONLY) TV MEANS TIMER VALUE; GIVE TIME FORMAT "MANTRA" S5T#; THEN DESRIED TIME R MENAS RESET; STOPS TIMING; RESETS TIME VALUE TO ZERO; OVERRIDES S BI MEANS BINARY FORMAT; GIVES ACTUAL TIME OUT IN INTEGER; REQUIRES TWO BYTES BCD MEANS BCD-FORMAT;GIVES ACTUAL TIME OUT IN BCD-FORMAT; REQUIRES TWO BYTES RESLUTION OF TIME CHANGES AUTOMATICALLY ACCORDING TIME VALUE IN TV
Timers ON-DELAY TIMER WITH MEMORY ON-DELAY TIMER OFF-DELAY TIMER DELAY BETWEEN INPUT AND OUTPUT "ON" MEANS DELAY STARTS WHEN INPUT GOES ON OFF-DELAY TIMER "OFF" MEANS DELAY STARTS WHEN INPUT GOES OFF ON-DELAY TIMER WITH MEMORY S-INPUT MEMORIZES THAT IT HAS BEEN ONE THIS TYPE ALLWAYS NEEDS RESET-INPUT AS WELL
COUNTERS Count Up and Down S sets the counter value to the value specified at PV PV is given as a counter format designated as C# R resets the counter value to zero CU – Rising edge at CU increments the counter value by one CD – Rising edge at CD decrements the counter value by one C DESIGNATES THAT MEMORY AREA “C" IS USED; YOU HAVE COUNTERS C0-C127 CV – Counter value in integer format CV_BCD – Counter value in BCD-format Q – Boolean Output of the counter – Zero if the counter value is zero, otherwise one. The boolean output can be addressed as Cx (C1) as well. There exists counters as well with only count up or count down terminals
DATATYPES Boolean Byte Word DoubleWord One memory bit represents true or false (1 or 0) Example M1.0 Byte Byte is 8 consecutive bits Example MB 1 Word Word is two consecutive bytes Example MW 1 Word also means a positive number without decimals DoubleWord DoubleWord is two consecutive words Example MD 1
DATATYPES Integer DoubleInteger Real Integer means number without decimals, positive and negative Integer occupies a word MW100 DoubleInteger DoubleInteger is same as Integer, but occupies two words – a doubleword MD100 Real Real means number with decimals Integer occupies a doubleword The number has allways to be written and read at the same datatype
DATACONVERSIONS From Integer to Real From Real to Integer MW100 – Integer; MD102 – Double Word; MD106 - Real From Real to Integer Mw100 – Integer; MD102 – Double Word; MD106 - Real
Mathematical functions Each datatype has own mathematical commands Addition, Subtract, Division and Multiplication Integer, Doubleinteger and Real Example- function of a line – Y=k*x+b in real numbers
Comparators Each datatype has it’s own comparator command set Equal; Not Equal; Grater Than; Less Than; Greater or Equal; Less than or Equal; Integer, Doubleinteger and Real Example- GT and GE commands
Symbol table At symbol table you can give descriptive names to memory addresses
Datablock Datablock is a user definable help-memory area Each datga can be reached by name or by address
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control
Inverter control