95
PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD. PAGE 1 COURSE CONDUCTED BY: PROLIFIC SYSTEMS AND TECHNOLOGIES PVT. LTD. 202,SUCHITA INDUSTRIAL ESTATE, OPP. OSWAL PARK, POKHARAN RD. NO.2 THANE(W)-400601,INDIA TEL: (022) 5443307,5422887 FAX:(022) 5422887,5338399 E-MAIL :[email protected] INDUSTRIAL AUTOMATION TRAINING SIEMENS S7-300 PROGRAMMING IN STATEMENT LIST

PLC Information

  • Upload
    abhywa

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 1/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 1 

COURSE CONDUCTED BY:PROLIFIC SYSTEMS AND TECHNOLOGIES PVT. LTD.202,SUCHITA INDUSTRIAL ESTATE,OPP. OSWAL PARK, POKHARAN RD. NO.2THANE(W)-400601,INDIA

TEL: (022) 5443307,5422887FAX:(022) 5422887,5338399

 

E-MAIL :[email protected]

INDUSTRIAL AUTOMATIONTRAINING

SIEMENSS7-300 PROGRAMMING

IN STATEMENT LIST

Page 2: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 2/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 2 

CONTENTS: PAGE NO

 1. STEP7 OVERVIEW 3 

2. COMPARISON OF CPU's AND MODULES AVAILABLE 7 

3. ADDRESSING OF MODULES 9 

4. LOAD MEMORY AND WORK MEMORY 12 

5. BLOCKS IN THE USER PROGRAM 13 

6. DATA TYPES 14 

7. STATEMENT LIST PROGRAMMING 16 

8. BIT LOGIC INSTRUCTIONS 23 

9. COMPARISON INSTRUCTIONS 27 

10. CONVERSION INSTRUCTIONS 29 

11. COUNTER INSTRUCTIONS 38 

12. DATA BLOCK AND LOGIC CONTROL INSTRUCTIONS 45 

13. LOAD AND TRANSFER INSTRUCTIONS 48 

14. FLOATING POINT MATH INSTRUCTIONS 49 

15. INTEGER MATH INSTRUCTIONS 51 

16. PROGRAM CONTROL INSTRUCTIONS 54 

17. SHIFT INSTRUCTIONS 56 

18. TIMER INSTRUCTIONS 58 

19. WORD LOGIC INSTRUCTIONS 71 

20. ACCUMULATOR INSTRUCTIONS 73 

21. PROGRAMMING EXAMPLES 75 

22. GLOSSARY 86 

Page 3: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 3/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 3 

SIMATIC S7

PLC RANGE

S7-400 HIGH END RANGE/MEDIUM RANGE

S7-300 MID AND LOW END PERFORMANCERANGE

S7-200 MICRO PLC'S

SIMATIC S7-300 COMPONENTS

S.No. COMPONENT FUNCTION

1. Rail Accomodates the S7-300 modules

2. Power Supply (PS) Converts the power system voltage (120/230VAC) into24VDC for the S7-300 and load power supply for 24VDC load circuits.

3. CPU Executes the user program, provides the 5V supplyFor the S7-300 backplane bus, communicates withother CPU's or with a programming device via the

MPI(Multi Point Interface).

4. Signal Modules(SM)-DI,DO,AI,AO

Match different process signal levels to the internalsignal level of S7-300

5. Function Modules (FMs) For time critical and memory intensive process signalprocessing tasks eg. Closed loop control

6. Communication Processor(CP)

Relieves the CPU of communication tasks eg-CP 342-5DP for connection to SINEC L2-DP.

7. Interface Module(IM) Interconnects the individual tiers of an S7-300

8. Sinec L2 cable with LANconnector

Interconnects CPUs and PCs

9. Programmer Cable Connects a CPU to a programming device

10. RS 485 Repeater Interfaces the S7-300 over large distances to other S7-300s or programming devices

Page 4: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 4/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 4 

Overview of STEP 7 

What is STEP 7?

• STEP 7 is the standard software package used for configuring and programmingSIMATIC programmable logic controllers. It is part of the SIMATIC industry software.

Basic TasksWhen you create an automation solution with STEP 7, there are a series of basic tasks. The followingfigure shows the tasks that need to be performed for most projects and assigns them to a basicprocedure.

 Al ternative Procedures As shown in the figure above, you have two alternative procedures:

• You can configure the hardware first and then program the blocks.

You can, however, program the blocks first without configuring the hardware. This isrecommended for service and maintenance work, for example, to integrate programmedblocks into in an existing project.

Page 5: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 5/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 5 

Brief Description of the Individual Steps

• Installation and authorizationThe first time you use STEP 7, install it and transfer the authorization from diskette to the harddisk

• Plan your controllerBefore you work with STEP 7, plan your automation solution from dividing the process intoindividual tasks to creating a configuration diagram Design the program structure

Turn the tasks described in the draft of your controller design into a program structure usingthe blocks available in STEP 7

• Start STEP 7You start STEP 7 from the Windows 95/98/NT user interface

• Create a project structure A project is like a folder in which all data are stored in a hierarchical structure and areavailable to you at any time. After you have created a project, all other tasks are executed inthis project Configure a stationWhen you configure the station you specify the programmable controller you want to use; forexample, SIMATIC 300, SIMATIC 400

• Configure hardwareWhen you configure the hardware you specify in a configuration table which modules youwant to use for your automation solution and which addresses are to be used to access themodules from the user program. The properties of the modules can also be assigned using

• Configure networks and communication connectionsThe basis for communication is a pre-configured network. For this, you will need to create thesubnets required for your automation networks, set the subnet properties, and set the networkconnection properties and any communication connections required for the networkedstations

• Define symbolsYou can define local or shared symbols, which have more descriptive names, in a symboltable to use instead of absolute addresses in your user program

• Create the programUsing one of the available programming languages create a program linked to a module orindependent of a module and store it as blocks, source files, or charts

• S7 only: generate and evaluate reference dataYou can make use of these reference data to make debugging and modifying your userprogram easier

• Configure messagesYou create block-related messages, for example, with their texts and attributes. Using thetransfer program you transfer the message configuration data created to the operatorinterface system database (for example, SIMATIC WinCC, SIMATIC ProTool)

• Configure operator control and monitoring variablesYou create operator control and monitoring variables once in STEP 7 and assign them therequired attributes. Using the transfer program you transfer the operator control andmonitoring variables created to the database of the operator interface system WinCC

• Download programs to the programmable controllerS7 only: after all configuration, parameter assignment, and programming tasks are

completed, you can download your entire user program or individual blocks from it to theprogrammable controller (programmable module for your hardware solution).

• Test programsS7 only: for testing you can either display the values of variables from your user program or aCPU, assign values to the variables, and create a variable table for the variables that youwant to display or modify

• Monitor operation, diagnose hardwareYou determine the cause of a module fault by displaying online information about a module.You determine the causes for errors in user program processing with the help of thediagnostic buffer and the stack contents. You can also check whether a user program can runon a particular CPU

• Document the plant After you have created a project/plant, it makes sense to produce clear documentation of theproject data to make further editing of the project and any service activities easier  

Page 6: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 6/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 6 

Page 7: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 7/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 7 

COMPARISON OF CPU'S

CPU's CPU312IFM CPU313 CPU314IFM CPU314

Mem Statement/Bytes 2K/6KB 4K/12KB 8K/24KB 16K/48KB

Memory Cards - 512KBFEPROM

- 512KBFEPROM

Processing Time 1024Statements

0.6 ms 0.6 ms 0.3 ms 0.3 ms

DI & DO Max 256 256 1024 1024

 AI & AO Max 64 64 256 256

Rack Configuration 1-Tier 1-Tier 4-Tier 4-Tier

Expansion Modules Max 8 8 31 31

Bit Memories 1024 2048 2048 2048

Counters 32 32 64 64

Timers 64 64 72 128

MPI Interface

187.5 Kbit /sMax 32 Nodes

Yes Yes Yes Yes

Integratedfunctions+Interfaces

10DI/6DQonboard. int.functions:Counters/Freq.Measuremensts

- 20DI/16DQ,4AI,1AOonboard. int.functions:Counters/Freq.Measuremensts/Positioning PID Control

-

CPU's CPU315 CPU315-2DP CPU316-2DP CPU318-2

Mem Statement /Bytes 16K/48KB 16K/48KB 42K/128KB 256KB

Memory Cards 512KB FEPROM 512KBFEPROM

4MBFEPROM

4MB FEPROM

Processing Time 1024Statements

0.3 ms 0.3 ms 0.3 ms 0.1 ms

DI & DO Max 1024 2048 4096 16384

 AI & AO Max 256 256 256 1024

Rack Configuration 4-Tier 4-Tier 4-Tier 4-Tier

Expans ion Modules Max 32 32 32 32

Bit Memories 2048 2048 2048 8192

Counters 64 64 64 512

Timers 128 128 128 512MPI Interface187.5 Kbit /sMax 32 Nodes

Yes Yes Yes Upto 12Mbaud

Integratedfunctions+Interfaces

- PROFIBUS-DPMaster/Slave(64 DPstations,12Mbaud)

PROFIBUS-DPMaster/Slave(64 DPstations,12Mbaud)

PROFIBUS-DPMaster/Slave(125 DPstations,12Mbaud)

* 1 K statements correspond to approx. 3Kbytes of user memory.

Page 8: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 8/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 8 

THE DIFFERENT TYPES OF MODULES AVAILABLE ARE

1. SIGNAL MODULES - FOR DIGITAL AND ANALOG SIGNALS

DIGITAL INPUTS DIGITAL OUTPUTS

• 16 X 24 VDC

• 8 X 120 / 230 VAC

• 16 X 120 V AC

• 32 X 24 V DC

• 16 x 24 VDC ,0.5A

• 8 X 24 VDC ,2A

• 8 X 120 / 230 VAC, 2A

• 16 X 120 VAC, 1A

• 32 X 24 V DC, 0.5A

RELAY OUTPUTS DI/DO MODULES

• 8 X Relay 30 VDC ,0.5A

• 8 X Relay 250 VAC ,3A

• 16 X Relay 30VDC,0.5A

• 16 X Relay 120VAC, 2.5A

• 8DI/8DO X 24VDC 0.5A

 ANALOG INPUTS PARAMETERIZABLE ANALOG OUTPUTS PARAMETERIZABLE

• 8 Analog Inputs/ 2 Analog Inputs

• +/- 10V , +/- 50 mV, +/-1 V, +/-20 Ma, 4 to20mA, Pt100, Thermocouple

• 4 Analog Outputs/ 2 Analog Outputs

• +/-10V, +/-50mV, +/-1 V, +/-20 mV, 4 to 20mA

2. FUNCTION MODULES

• High Speed Counter Modules - Upto 100 KHz range

• Positioning Modules - For position control, Stepper Motor Control, Cam Controllers

 All function modules are enclosed and can be installed in any slot.

3. COMMUNICATION PROCESSORS - FOR DATA EXCHANGE WITH PRINTERS,COMPUTERS,SIMATIC SYSTEMS

• CP340 - Point to Point Communication for the serial link with RS232, 3964R and any ASCIIprotocol

4. INTERFACE MODULES - FOR MULTI TIER CONFIGURATION• For Central Controller Expansion

• For Expansion Unit Connection

5. POWER SUPPLY MODULES - FOR 24 VDC LOAD CIRCUITS WITH DIFFERENT RATINGS.

MPI - MULTI POINT INTERFACE FOR COMMUNICATION

• MPI INTEGRATED IN CPU

• DATA EXCHANGE RATE : 187.5 Kbits / s

• SIMULTANEOUS COMMUNICATION WITH PG/PC/OP(OPERATOR PANEL) AND FURTHERPLCS REQUIRING NO ADDITIONAL HARDWARE

• UPTO 32 NODES CAN BE CONNECTED

Page 9: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 9/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 9 

 ADDRESSING OF MODULES

Slot Addressing for Rack 0

6

8

288

 

7

12

304

 

8

16

320

 

9

20

336

 

10

24

352

 

11

28

368

 

5

4

272

 

PS

Slot Number 1 2 3

Digital Address

Analog Address 

RACK 0

Module Starting Addresses of the Signal Modules on Rack 0

CPU

4

0

256

 

CPU IM AI / AO / DI / DO Modules

Slot Addressing for Rack 1

4

64

512

 

6

40

416

 

7

44

432

 

8

48

448

 

9

52

464

 

10

56

480

 

11

60

496

 

5

36

400

 

4

32

384

 

RACK 1

Slot Number 3 

Digital Address

Analog Address 

Module Starting Addresses of the Signal Modules on Rack 1

Page 10: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 10/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 10 

Slot Addressing for Rack 3

Module Starting Addresses of the Signal Modules on Rack 3

CPU IM AI / AO / DI / DO Modules

4

64

512

 

6

104

672

 

7

108

688

 

8

112

704

 

9

116

720

 

10

120

736

 

11

124

752

 

5

100

656

 

4

96

640

 

RACK 3

Slot Number 3 

Digital Address

Analog Address 

Slot Addressing for Rack 2

Module Starting Addresses of the Signal Modules on Rack 2

4

64

512

 

6

72

544

 

7

76

560

 

8

80

576

 

9

84

592

 

10

88

608

 

11

92

624

 

5

68

528

 

4

64

512

 

Slot Number 3 

Digital Address

Analog Address 

RACK 2

Page 11: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 11/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 11 

Rack 3

4

64

512

 

6

 

7

 

8 9 10

 

11

 

5

 

4

 

Slot Number IM 

4

64

512

 

6

 

7

 

8 9 10

 

11

 

5

 

4

 

Slot Number IM

Rack 2

Connecting cable 368

4

64

512

 

6

 

7

 

8 9 10

 

11

 

5

 

4

 

Slot Number IM

Rack 1

Connecting cable 368

6

 

7

 

8

 

9

 

10

 

11

 

5

 

PS

Slot Number 1 2 (IM) 3

CPU

Rack 0

4

Page 12: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 12/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 12 

Load Memory and Work Memory in the CPU  After completing the configuration, parameter assignment, and program creation and establishing theonline connection, you can download complete user programs or individual blocks to a programmablecontroller. To test individual blocks, you must download at least one organization block (OB) and thefunction blocks (FB) and functions (FC) called in the OB and the data blocks (DB) used. To downloadthe system data created when the hardware was configured, the networks configured, and theconnection table created to the programmable controller, you download the object “System Data".You download user programs to a programmable controller using the SIMATIC Manager, for example,during the end phase of the program testing or to run the finished user program.Relationship - Load Memory and Work MemoryThe complete user program is downloaded to the load memory; the parts relevant to programexecution are also loaded into the work memory.

CPU Load Memory

• The load memory is used to store the user program without the symbol table and thecomments (these remain in the memory of the programming device).

• Blocks that are not marked as required for startup will be stored only in the load memory.

• The load memory can either be RAM, ROM, or EPROM memory, depending on theprogrammable controller.

CPU Work MemoryThe work memory (integrated RAM) is used to store the parts of the user program required forprogram processing.Possible Downloading/Uploading ProceduresYou use the download function to download the user program or loadable objects (for example,blocks) to the programmable controller. If a block already exists in the RAM of the CPU, you will beprompted to confirm whether or not the block should be overwritten.

• You can select the loadable objects in the project window and download them from theSIMATIC Manager (menu command: PLC > Download).

• When programming blocks and when configuring hardware and networks you can directlydownload the object you were currently editing using the menu in the main window of theapplication you are working with (menu command: PLC > Download).

•  Another possibility is to open an online window with a view of the programmable controller (forexample, using View > Online or PLC > Display Accessible Nodes) and copy the objectyou want to download to the online window.

 Alternatively you can upload the current contents of blocks from the RAM load memory of the CPU toyour programming device via the load function.

Page 13: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 13/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 13 

Blocks in the User Program 

The STEP 7 programming software allows you to structure your user program, in other words to breakdown the program into individual, self-contained program sections. This has the following advantages:

• Extensive programs are easier to understand.

• Individual program sections can be standardized.

Program organization is simplified.• It is easier to make modifications to the program.

• Debugging is simplified since you can test separate sections.

• Commissioning your system is made much easier.The example of an industrial blending process illustrated the advantages of breaking down anautomation process into individual tasks. The program sections of a structured user programcorrespond to these individual tasks and are known as the blocks of a program.Block TypesThere are several different types of blocks you can use within an S7 user program:

Block Brief Description Of FunctionOrganization blocks (OB)  OBs determine the structure of the user program.

System function blocks (SFB)and system functions (SFC)

SFBs and SFCs are integrated in the S7 CPU and allow youaccess to some important system functions.

Function blocks (FB) FBs are blocks with a "memory" which you can program yourself.

Functions (FC) FCs contain program routines for frequently used functions.

Instance data blocks(instance DB)

Instance DBs are associated with the block when an FB/SFB iscalled. They are created automatically during compilation.

Data blocks (DB) DBs are data areas for storing user data. In addition to the datathat are assigned to a function block, shared data can also bedefined and used by any blocks.

OBs, FBs, SFBs, FCs, and SFCs contain sections of the program and are therefore also known aslogic blocks. The permitted number of blocks per block type and the permitted length of the blocks isCPU-specific.

Page 14: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 14/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 14 

DATA TYPESIntroduction to Data Types and Parameter Types  All the data in a user program must be identified by a data type. The following data types areavailable:

• Elementary data types provided by STEP 7

• Complex data types that you yourself can create by combining elementary data types

Parameter types with which you define parameters to be transferred to FBs or FCsGeneral InformationStatement List, Ladder Logic, and Function Block Diagram instructions work with data objects ofspecific sizes. Bit logic instructions work with bits, for example. Load and transfer instructions (STL)and move instructions (LAD and FBD) work with bytes, words, and double words. A bit is a binary digit "0" or "1." A byte is made up of eight bits, a word of 16 bits, and a double word of32 bits.Math instructions also work with bytes, words, or double words. In these byte, word, or double wordaddresses you can code numbers of various formats such as integers and floating-point numbers.When you use symbolic addressing, you define symbols and specify a data type for these symbols(see table below). Different data types have different format options and number notations.This chapter describes only some of the ways of writing numbers and constants. The following tablelists the formats of numbers and constants that will not be explained in detail.

Format Size in Bits Number Notation

Hexadecimal 8, 16, and 32 B#16#, W#16#, and DW#16#

Binary 8, 16, and 32 2#

date 16 D#

time 32 T#

Time of day 32 TOD#

Character 8 'A'

Elementary Data Types Each elementary data type has a defined length. The following table lists the elementary data types.

Type andDescription

SizeinBits

Format OptionsRange and NumberNotation (lowestto highest value)_

Example

BOOL(Bit)Boolean text TRUE/FALSE TRUE

BYTE(Byte) 8

Hexadecimal numberB16#0 to B16#FF

L B#16#10L byte#16#10

WORD(Word)

16

Binary number

Hexadecimal number

BCDDecimal number unsigned

2. 0 to2#1111_1111_1111_1111W#16#0 to W#16#FFFF

C#0 to C#999B#(0.0) to B#(255.255)

L 2#0001_0000_0000_0000

L W#16#1000L word16#1000L C#998L B#(10,20)L byte#(10,20)

DWORD(Double word)

32

Binary number

Hexadecimal number

2#0 to2#1111_1111_1111_11111111_1111_1111_1111DW#16#0000_0000 toDW#16#FFFF_FFFF

2#1000_0001_0001_1000_1011_1011_0111_1111

L DW#16#00A2_1234L dword#16#00A2_1234

Page 15: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 15/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 15 

Decimal number unsigned B#(0,0,0,0) toB#(255,255,255,255)

L B#(1, 14, 100, 120)L byte#(1,14,100,120)

INT(Integer)

16 Decimal number signed -32768 to 32767 L 1

DINT

(Integer, 32 bits) 32 Decimal number signed

L#-2147483648 to

L#2147483647 L L#1

REAL(Floating-pointnumber)

32IEEEFloating-point number

Upper limit: 3.402823e+38Lower limit: 1.175 495e-38

L 1.234567e+13

S5TIME(SIMATIC time)

16S7 time insteps of10 ms (default)

S5T#0H_0M_0S_10MS toS5T#2H_46M_30S_0MSandS5T#0H_0M_0S_0MS

L S5T#0H_1M_0S_0MSLS5TIME#0H_1H_1M_0S_0MS

TIME(IEC time)

32IEC time in steps of 1 ms,integer signed

-

T#24D_20H_31M_23S_648MS toT#24D_20H_31M_23S_647MS

L T#0D_1H_1M_0S_0MSLTIME#0D_1H_1M_0S_0MS

DATE(IEC date)

16 IEC date in steps of 1 dayD#1990-1-1 toD#2168-12-31

L D#1996-3-15L DATE#1996-3-15

TIME_OF_DAY(Time)

32 Time in steps of 1 msTOD#0:0:0.0 toTOD#23:59:59.999

L TOD#1:10:3.3L TIME_OF_DAY#1:10:3.3

CHAR(Character)

8 ASCII characters 'A','B' etc. L 'E'

Parameter Types In addition to elementary and complex data types, you can also define parameter types for formalparameters that are transferred between blocks. STEP 7 recognizes the following parameter types:

• TIMER or COUNTER: this specifies a particular timer or particular counter that will be usedwhen the block is executed. If you supply a value to a formal parameter of the TIMER orCOUNTER parameter type, the corresponding actual parameter must be a timer or a counter,in other words, you enter "T" or "C" followed by a positive integer.

• BLOCK: specifies a particular block to be used as an input or output. The declaration of theparameter determines the block type to be used (FB, FC, DB etc.). If you supply values to aformal parameter of the BLOCK parameter type, specify a block address as the actualparameter. Example: “FC101" (when using absolute addressing) or “Valve" (with symbolic

addressing).

Parameter Capacity Description

TIMER 2. Bytes

Indicates a timer to be used by the program in the called logic block.Format: T1

COUNTER 2 bytesIndicates a counter to be used by the program in the called logic block.Format: C10

BLOCK_FBBLOCK_FCBLOCK_DB

BLOCK_SDB

2 bytesIndicates a block to be used by the program in the called logic block.Format: FC101

DB42

Page 16: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 16/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 16 

PROGRAMMING IN STATEMENT LIST

What is Statement List?

Statement List (STL) is a textual programming language that can be used to create the code sectionof logic blocks. Its syntax for statements is similar to assembler language and consists of instructions

followed by addresses on which the instructions act.

The Programming Language STL 

Of all the programming languages with which you can program S7 controllers, STL is the closest tothe machine code MC7 of the S7 CPU. This means that by using it to program S7 controllers, you canoptimize the run time and the use of memory.

The programming language STL has all the necessary elements for creating a complete userprogram. It contains a comprehensive range of instructions. A total of over 130 different basicinstructions and a wide range of addresses are available. Functions and function blocks allow you tostructure your STL program clearly.

The Programming Package

The STL programming package is an integral part of the STEP 7 Standard Software. This means thatfollowing the installation of your STEP 7 software, all the editor functions, compiler functions andtest/debug functions for STL are available to you.Using STL, you can create your own user program as follows:

 _ With the Incremental Editor. The input of the local data structure is made easier with the help oftable editors.

 _ With a source file in the Text Editor. Text input is made easier with the help of block templates.

There are three programming languages in the standard software, STL, FBD, and LAD. You canswitch from one language to the other almost without restriction and choose the most suitablelanguage for the particular block you are programming.If you write programs in LAD or FBD, you can always switch over to the STL representation. If you

convert LAD programs into FBD programs and vice versa, program elements that cannot berepresented in the destination language are displayed in STL.

 A STATEMENT CONSISTS OF AN INSTRUCTION AND AN ADDRESS

 Address of an Instruct ion 

The address of an instruction indicates a constant or the location where the instruction finds a value(data object) on which to perform an operation. The address can have a symbolic name or anabsolute designation. The address can point to any of the following items :

 _ A constant, the value of a timer or counter, or an ASCII character string to be loaded intoaccumulator 1 (for example, L +27 See Table 2.1)

 _ A bit in the status word of the programmable logic controller

 _ A symbolic name (for example, A Motor.On, see Table 2-3) _ A data block and a location within the data block area (for example, L DB4.DBD10, see Table 2-4)

 _ A function (FC), function block (FB), integrated system function (SFC), or integrated system functionblock (SFB) and the number of the function or block (see Table 2-5)

 _ An address identifier and a location within the memory area that is indicated by the addressidentifier (for example, A I 1.0)

Page 17: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 17/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 17 

Page 18: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 18/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 18 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 18 

Page 19: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 19/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 19 

Page 20: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 20/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 20 

Page 21: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 21/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 21 

Page 22: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 22/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 22 

Page 23: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 23/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 23 

COMMANDS USED IN STATEMENT LIST

• Bit Logic Instructions) Nesting Closed= Assign A And A( And with Nesting Open AN And Not AN( And Not with Nesting OpenFN Edge NegativeFP Edge Posit iveO OrO And before OrO( Or wi th Nesting OpenON Or NotON( Or Not with Nesting OpenR ResetS Set 

Page 24: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 24/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 24 

Page 25: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 25/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 25 

Page 26: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 26/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 26 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 26 

Page 27: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 27/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 27 

Comparison Instructions

Page 28: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 28/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 28 

`

Page 29: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 29/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

29 

Conversion Instructions

PAGE 

Page 30: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 30/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 30 

BTD BCD to Double Integer (32-Bit)Example:L MD10 Load the BCD number into ACCU 1.BTD Convert from BCD to integer; store result in ACCU 1.T MD20 Transfer result (double integer number) to MD20.

BTI BCD to Integer (16-Bit)Example:L MW10 Load the BCD number into ACCU 1-L.BTI Convert from BCD to integer; store result in ACCU 1-L.T MW20 Transfer result (integer number) to MW20.

CAD Change Byte Sequence in ACCU 1 (32-Bit )Example:L MD10 Load the value of MD10 into ACCU 1.CAD Reverse the sequence of bytes in ACCU 1.T MD20 Transfer the results to MD20.

Contents of ACCU 1 before execution of CAD: ACCU 1-H-H: ACCU 1-H-L: ACCU 1-L-H: ACCU 1-L-L:value "A" value "B" value "C" value "D"

Contents of ACCU 1 after execution of CAD: ACCU 1-H-H: ACCU 1-H-L: ACCU 1-L-H: ACCU 1-L-L:value "D" value "C" value "B" value "A"

Page 31: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 31/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 31 

CAW Change Byte Sequence in ACCU 1-L (16-Bit)Example:L MW10 Load the value of MW10 into ACCU 1.CAW Reverse the sequence of bytes in ACCU 1-L.T MW20 Transfer the result to MW20.

Contents of ACCU 1 before execution of CAW:

 ACCU 1-H-H: ACCU 1-H-L: ACCU 1-L-H: ACCU 1-L-L:value "A" value "B" value "C" value "D"

Contents of ACCU 1 after execution of CAW: ACCU 1-H-H: ACCU 1-H-L: ACCU 1-L-H: ACCU 1-L-L:value "A" value "B" value "D" value "C"

DTB Double Integer (32-Bit) to BCDExample:L MD10 Load the 32-bit integer into ACCU 1.DTB Convert from integer (32-bit) to BCD, store result in ACCU 1.T MD20 Transfer result (BCD number) to MD20.

DTR Double Integer (32-Bit ) to Floating-Point Number (32-Bit, IEEE-FP)Example:

Page 32: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 32/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 32 

L MD10 Load the 32-bit integer into ACCU 1.DTR Convert from double integer to floating point (32-bit IEEE FP); store result in

 ACCU 1.T MD20 Transfer result (BCD number) to MD20.

INVD Ones Complement Double Integer (32-Bit )Example:Bit 31 16 15 0

Contents of ACCU 1before execution of INVD 0110 1111 1000 1100 0110 0011 1010 1110

Contents of ACCU 1after execution of INVD 1001 0000 0111 0011 1001 1100 0101 0001

L ID8 Load value into ACCU 1.INVD Form ones complement (32-bit).T MD10 Transfer result to MD10.

INVI Ones Complement Integer (16-Bit)Example:Bit 15 0Contents of ACCU 1-L before execution of INVI 0110 0011 1010 1110Contents of ACCU 1-L after execution of INVI 1001 1100 0101 0001

L IW8 Load value into ACCU 1-L.INVI Form ones complement 16-bit.T MW10 Transfer result to MW10.

Page 33: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 33/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 33 

ITB Integer (16-Bit) to BCDExample:L MW10 Load the integer number into ACCU 1-L.ITB Convert from integer to BCD (16-bit); store result in ACCU 1-L.

T MW20 Transfer result (BCD number) to MW20.

ITD Integer (16-Bit) to Double Integer (32-Bit)Example:L MW12 Load the integer number into ACCU 1.ITD Convert from integer (16-bit) to double integer (32-bit); store result in ACCU 1.T MD20 Transfer result (double integer) to MD20.

MW12 = "-10" (Integer, 16-bit):

 ACCU 1-H ACCU 1-L

Bit: 31 16 : 15 0Contents of ACCU 1 before execution of ITD: XXXX XXXX XXXX XXXX 1111 1111 1111 0110Contents of ACCU 1 after execution of ITD: 1111 1111 1111 1111 1111 1111 1111 0110

(X = 0 or 1, bits are not used for conversion)

NEGD Twos Complement Double Integer (32-Bit)Example:

Page 34: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 34/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 34 

 ACCU 1-H ACCU 1-LBit: 31 .0Contents of ACCU 1 before execution of NEGD: 0101 1111 0110 0100 0101 1101 0011 1000Contents of ACCU 1 after execution of NEGD: 1010 0000 1001 1011 1010 0010 1100 1000

L ID8 Load value into ACCU 1.NEGD Generate twos complement (32-bit).T MD10 Transfer result to MD10.

NEGI Twos Complement Integer (16-Bit)Example:

Bit 15 0Contents of ACCU 1-L before execution of NEGI 0101 1101 0011 1000Contents of ACCU 1-L after execution of NEGI 1010 0010 1100 1000

L IW8 Load value into ACCU 1-L.NEGI Form twos complement 16-bit.T MW10 Transfer result to MW10.

NEGR Negate Floating-Point Number (32-Bit , IEEE-FP)

Example:L ID8 Load value into ACCU 1 (example: ID 8 = 1.5E+02).NEGR Negate floating-point number (32-bit, IEEE-FP); stores the result in ACCU 1.T MD10 Transfer result to MD10 (example: result = -1.5E+02).

Page 35: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 35/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 35 

RND RoundExample:L MD10 Load the floating-point number into ACCU 1-L.RND Convert the floating-point number (32-bit, IEEE-FP) into an integer (32-bit)and

round off the result.T MD20 Transfer result (double integer number) to MD20.Value before conversion: Value after conversion:MD10 = "100.5" => RND => MD20 = "+100"MD10 = "-100.5" => RND => MD20 = "-100"

Page 36: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 36/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 36 

RND+ Round to Upper Double IntegerExample:L MD10 Load the floating-point number (32-bit, IEEE-FP) into ACCU 1-L.RND+ Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit) andround

result.Store output in ACCU 1.T MD20 Transfer result (double integer number) to MD20.Value before conversion: Value after conversion:MD10 = "100.5" => RND+ => MD20 = "+101"MD10 = "-100.5" => RND+ => MD20 = "-100"

RND- Round to Lower Double IntegerExample:L MD10 Load the floating-point number into ACCU 1-L.RND- Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit) andround

result.Store result in ACCU 1.T MD20 Transfer result (double integer number) to MD20.Value before conversion: Value after conversion:

MD10 = "100.5" => RND- => MD20 = "+100"MD10 = "-100.5" => RND- => MD20 = "-101"

Page 37: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 37/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 37 

TRUNC TruncateExample:L MD10 Load the floating-point number into ACCU 1-L.TRUNC Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit) andround

result.Store the result in ACCU 1.T MD20 Transfer result (double integer number) to MD20.Value before conversion: Value after conversion:MD10 = "100.5" => TRUNC => MD20 = "+100"MD10 = "-100.5" => TRUNC => MD20 = "-100"

Page 38: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 38/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 38 

• Counter Instructions

Page 39: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 39/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 39 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 39 

Page 40: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 40/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 40 

Page 41: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 41/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 41 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 41 

Page 42: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 42/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 42 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 42 

Page 43: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 43/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 43 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 43 

Page 44: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 44/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 44 

CD Counter DownExample:L C#14 Counter preset value. A I 0.1 Preset counter after detection of rising edge of I 0.1.S C1 Load counter 1 preset if enabled.

 A I 0.0 One count down per rising edge of I 0.0.CD C1 Decrement counter C1 by 1 when RL0 transitions from 0 to 1 depending oninput

I 0.0. AN C1 Zero detection using the C1 bit.= Q 0.0 Q 0.0 = 1 if counter 1 value is zero.

CU Counter UpExample: A I 2.1 If there is a positive edge change at input I 2.1.

CU C3 Counter C3 is incremented by 1 when RL0 transitions from 0 to 1.

L Load Current Counter Value into ACCU 1Example:L C3 Load ACCU 1-L with the count value of counter C3 in binary format.

LC Load Current Counter Value into ACCU 1 as BCDExample:LC C3 Load ACCU 1-L with the count value of counter C3 in binary coded decimalformat.

R Reset CounterExample: A I 2.3 Check signal state at input I 2.3.R C3 Reset counter C3 to a value of 0 if RLO transitions from 0 to 1.

S Set Counter Preset ValueExample: A I 2.3 Check signal state at input I 2.3.L C#3 Load count value 3 into ACCU 1-L.S C1 Set counter C1 to count value if RLO transitions from 0 to 1

Page 45: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 45/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 45 

Data Block Instructions

Format: OPN <data block>Example:

OPN DB10 Open data block DB10 as a shared data block.L DBW35 Load data word 35 of the opened data block into ACCU 1-L.T MW22 Transfer the content of ACCU 1-L into MW22.OPN DI20 Open data block DB20 as an instance data block.L DIB12 Load data byte 12 of the opened instance data block into ACCU 1-L.T DBB37 Transfer the content of ACCU 1-L to data byte 37 of the opened shared data

block.

• Logic Control InstructionsJC Jump if RLO = 1Example:

 A I 1.0 A I 1.2JC JOVR Jump if RLO=1 to jump label JOVR.L IW8 Program scan continues here if jump is not executed.T MW22

JOVR: A I 2.1 Program scan resumes here after jump to jump label JOVR.

JCB Jump if RLO = 1 with BRExample:

 A I 1.0 A I 1.2

JCB JOVR Jump if RLO = 1 to jump label JOVR. Copy the contents of the RLO bitinto the BR bit.

L IW8 Program scan continues here if jump is not executed.T MW22

JOVR: A I 2.1 Program scan resumes here after jump to jump label JOVR.

JCN Jump if RLO = 0Example:

 A I 1.0 A I 1.2JCN JOVR Jump if RLO = 0 to jump label JOVR.

L IW8 Program scan continues here if jump is not executed.T MW22

JOVR: A I 2.1 Program scan resumes here after jump to jump label JOVR.

JM Jump if MinusExample:

L IW8L MW12-I //Subtract contents of MW12 from contents of IW8.JM NEG //Jump if result < 0 (that is, contents of ACCU 1 < 0). AN M 4.0 //Program scan continues here if jump is not executed.

S M 4.0JU NEXT

Page 46: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 46/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 46 

NEG: AN M 4.1 //Program scan resumes here after jump to jump label NEG.S M 4.1

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT.

JMZ Jump if Minus or Zero

Example:L IW8L MW12-I Subtract contents of MW12 from contents of IW8.JMZ RGE0 Jump if result <=0 (that is, contents of ACCU 1 <= 0). AN M 4.0 Program scan continues here if jump is not executed.S M 4.0JU NEXTRGE0: AN M 4.1 Program scan resumes here after jump to jump label RGE0.S M 4.1NEXT: NOP 0 Program scan resumes here after jump to jump label NEXT.

JN Jump if Not ZeroExample:

L IW8L MW12XOWJN NOZE Jump if the contents of ACCU 1-L are not equal to zero. AN M 4.0 Program scan continues here if jump is not executed.S M 4.0JU NEXT

NOZE: AN M 4.1 Program scan resumes here after jump to jump label NOZE.S M 4.1

NEXT: NOP 0 Program scan resumes here after jump to jump label NEXT.

JP Jump if PlusExample:

L IW8L MW12-I Subtract contents of MW12 from contents of IW8.JP POS Jump if result >0 (that is, ACCU 1 > 0). AN M 4.0 Program scan continues here if jump is not executed.S M 4.0JU NEXT

POS: AN M 4.1 Program scan resumes here after jump to jump label POS.S M 4.1

NEXT: NOP 0 Program scan resumes here after jump to jump label NEXT.

JPZ Jump if Plus or ZeroExample:

L IW8L MW12-I Subtract contents of MW12 from contents of IW8.JPZ REG0 Jump if result >=0 (that is, contents of ACCU 1 >= 0). AN M 4.0 Program scan continues here if jump is not executed.S M 4.0JU NEXT

REG0: AN M 4.1 Program scan resumes here after jump to jump label REG0.

Page 47: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 47/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 47 

S M 4.1NEXT: NOP 0 Program scan resumes here after jump to jump label NEXT.

JU Jump UnconditionalExample:

 A I 1.0 A I 1.2JC DELE Jump if RLO=1 to jump label DELE.L MB10INC 1T MB10JU FORW Jump unconditionally to jump label FORW.

DELE: L 0T MB10

FORW: A I 2.1 Program scan resumes here after jump to jump label FORW.

JUO Jump if UnorderedExample:

L MD10L ID2/D Divide contents of MD10 by contents of ID2.JUO ERRO Jump if division by zero (that is, ID2 = 0).T MD14 Program scan continues here if jump is not executed. A M 4.0R M 4.0JU NEXT

ERRO: AN M 4.0 Program scan resumes here after jump to jump label ERRO.S M 4.0

NEXT: NOP 0 Program scan resumes here after jump to jump label NEXT.

JZ Jump if ZeroExample:

L MW10SRW 1JZ ZERO Jump to jump label ZERO if bit that has been shifted out = 0.L MW2 Program scan continues here if jump is not executed.INC 1T MW2JU NEXT

ZERO: L MW4 Program scan resumes here after jump to jump label ZERO.INC 1T MW4

NEXT: NOP 0 Program scan resumes here after jump to jump label NEXT.

LOOP LoopExample for calculating the factor of 5:

L L#1 Load the integer constant (32 bit) into ACCU 1.T MD20 Transfer the contents from ACCU 1 into MD20 (initialization).L 5 Load number of loop cycles into ACCU 1-L.

NEXT: T MW10 Jump label = loop start / transfer ACCU 1-L to loop counter.L MD20* D Multiply current contents of MD20 by the current contents of MB10.T MD20 Transfer the multiplication result to MD20.L MW10 Load contents of loop counter into ACCU 1.

LOOP NEXT Decr. the contents of ACCU 1 and jump to the NEXT jump label if ACCU 1-L > 0.

Page 48: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 48/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 48 

L MW24 Program scan resumes here after loop is finished.L 200>I

• Load and Transfer InstructionsL LoadL <address> loads the addressed byte, word, or double word into ACCU 1 after the old contents of

 ACCU 1 have been saved into ACCU 2, and ACCU 1 is reset to "0".

Example:L IB10 Load input byte IB10 into ACCU 1-L-L.L MB120 Load memory byte MB120 into ACCU 1-L-L.L DBB12 Load data byte DBB12 into ACCU 1-L-L.L DIW15 Load instance data word DIW15 into ACCU 1-L.L LD252 Load local data double word LD252 ACCU 1.

T TransferT <address> transfers (copies) the contents of ACCU 1 to the destination address if the Master

Control Relay is switched on (MCR = 1). If MCR = 0, then the destination address is written with 0.The number of bytes copied from ACCU 1 depends on the size expressed in the destination address. ACCU 1 also saves the data after the transfer procedure. A transfer to the direct I/O area (memorytype PQ) also transfers the contents of ACCU 1 or "0" (if MCR=0) to the corresponding address of theprocess image output table (memory type Q). The instruction is executed without regard to, andwithout affecting, the status bits.

Example:T QB10 Transfers contents of ACCU 1-L-L to output byte QB10.T MW14 Transfers contents of ACCU 1-L to memory word MW14.T DBD2 Transfers contents of ACCU 1 to data double word DBD2.

Page 49: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 49/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 49 

• Floating-Point Math Instructions; Basic*R Multiply ACCU 1 and ACCU 2 as Floating Point Numbers (32-Bit IEEE-FP)Example:OPN DB10L ID10 Load the value of ID10 into ACCU 1.

L MD14 Load the value of ACCU 1 into ACCU 2.Load the value of MD14 into ACCU 1.*R Multiply ACCU 2 and ACCU 1; store the result in ACCU 1.T DBD25 The content of ACCU 1 (result) is transferred to DBD25 in DB10.

+R Add ACCU 1 and ACCU 2 as a Floating Point Number (32-Bit IEEE-FP)Example:OPN DB10L ID10 Load the value of ID10 into ACCU 1.L MD14 Load the value of ACCU 1 into ACCU 2.Load the value of MD14 into ACCU 1.

+R Add ACCU 2 and ACCU 1; store the result in ACCU 1.T DBD25 The content of ACCU 1 (result) is transferred to DBD25 in DB10.

-R Subtract ACCU 1 from ACCU 2 as a Floating Point Number (32-Bit IEEE-FP)Example:

OPN DB10L ID10 Load the value of ID10 into ACCU 1.L MD14 Load the value of ACCU 1 into ACCU 2.Load the value of MD14 into ACCU 1.-R Subtract ACCU 1 from ACCU 2; store the result in ACCU 1.

T DBD25 The content of ACCU 1 (result) is transferred to DBD25 in DB10.

/R Divide ACCU 2 by ACCU 1 as a Floating Point Number (32-Bit IEEE-FP)Example:OPN DB10L ID10 Load the value of ID10 into ACCU 1.L MD14 Load the contents of ACCU 1 into ACCU 2.Load the value of MD14 into

 ACCU 1./R Divide ACCU 2 by ACCU 1; store the result in ACCU 1.T DBD20 The content of ACCU 1 (result) is transferred to DBD20 in DB10.

 ABS Absolute Value of a Floating Point Number (32-Bit IEEE-FP)Example:L ID8 Load value into ACCU 1 (example: ID8 = -1.5E+02). ABS Form the absolute value; store the result in ACCU 1.T MD10 Transfer result to MD10 (example: result = 1.5E+02).

Page 50: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 50/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 50 

Floating-Point Math Instructions: Extended

Page 51: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 51/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 51 

Integer Math Instructions+ Add Integer Constant (16, 32 Bit )+ <integer constant> adds the integer constant to the contents of ACCU 1 and stores the result in ACCU 1. The instruction is executed without regard to, and without affecting, the status word bits.The contents of accumulator 2 remain unchanged for CPUs with two ACCUs.The contents of accumulator 3 are copied into accumulator 2, and the contents of accumulator 4 are

copied into accumulator 3 for CPUs with four ACCUs. The contents of accumulator 4 remainunchanged.

+ <16-bit integer constant>: Adds a 16-bit integer constant (in the range of -32768 to +32767) to thecontents of ACCU 1-L and stores the result in ACCU 1-L.The contents of accumulator 2 remain unchanged for CPUs with two ACCUs.The contents of accumulator 3 are copied into accumulator 2, and the contents of accumulator 4 arecopied into accumulator 3 for CPUs with four ACCUs. The contents of accumulator 4 remainunchanged.+ <32-bit integer constant>: Adds a 32-bit integer constant (in the range of -2,147,483,648 to2,147,483,647) to the contents of ACCU 1 and stores the result in ACCU 1.

The contents of accumulator 2 remain unchanged for CPUs with two ACCUs.

The contents of accumulator 3 are copied into accumulator 2, and the contents of accumulator 4 arecopied into accumulator 3 for CPUs with four ACCUs. The contents of accumulator 4 remainunchanged.

Example 1:L IW10 Load the value of IW10 into ACCU 1-L.L MW14 Load the contents of ACCU 1-L to ACCU 2-L. Load the value of MW14 into

 ACCU 1-L.+I Add ACCU 2-L and ACCU 1-L; store the result in ACCU 1-L.+ 25 Add ACCU 1-L and 25; store the result in ACCU 1-L.T DB1.DBW25 Transfer the contents of ACCU 1-L (result) to DBW25 of DB1.

Example 2:

L IW12L IW14+ 100 Add ACCU 1-L and 100; store the result in ACCU 1-L.>I If ACCU 2 > ACCU 1, or IW12 > (IW14 + 100)JC NEXT then conditional jump to jump label NEXT.

Example 3:L MD20L MD24+D Add ACCU 1and ACCU 2; store the result in ACCU 1.+ L#-200 Add ACCU 1 and -200; store the result in ACCU 1.T MD28

+D Add ACCU 1 and ACCU 2 as Double Integer (32-Bit )Example:L ID10 Load the value of ID10 into ACCU 1.L MD14 Load the contents of ACCU 1 to ACCU 2.Load the value of MD14 into ACCU 1.+D Add ACCU 2 and ACCU 1; store the result in ACCU 1.T DB1.DBD25 The contents of ACCU 1 (result) are transferred to DBD25 of DB1.

-D Subtract ACCU 1 from ACCU 2 as Double Integer (32-Bit)

Example:L ID10 Load the value of ID10 into ACCU 1.

Page 52: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 52/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 52 

L MD14 Load the contents of ACCU 1 into ACCU 2.Load the value of MD14 into ACCU 1.-D Subtract ACCU 1 from ACCU 2; store the result in ACCU 1.T DB1.DBD25 The contents of ACCU 1 (result) are transferred to DBD25 of DB1.

*D Multip ly ACCU 1 and ACCU 2 as Double Integer (32-Bit)Example:L ID10 Load the value of ID10 into ACCU 1.L MD14 Load contents of ACCU 1 into ACCU 2.Load contents of MD14 into ACCU 1.*D Multiply ACCU 2 and ACCU 1; store the result in ACCU 1.T DB1.DBD25 The contents of ACCU 1 (result) are transferred to DBD25 in DB1.

/D Divide ACCU 2 by ACCU 1 as Double Integer (32-Bit )Example:L ID10 Load the value of ID10 into ACCU 1.L MD14 Load the contents of ACCU 1 into ACCU 2.Load the value of MD14 into

 ACCU 1./D Divide ACCU 2 by ACCU 1; store the result (quotient) in ACCU 1.T MD20 The contents of ACCU 1 (result) are transferred to MD20.

Example above: 13 divided by 4Contents of ACCU 2 before instruction (ID10): "13"Contents of ACCU 1 before instruction (MD14): "4"Instruction /D (ACCU 2 / ACCU 1) : "13/4"Contents of ACCU 1 after instruction (quotient): "3"

+I Add ACCU 1 and ACCU 2 as Integer (16-Bit)

Example:L IW10 Load the value of IW10 into ACCU 1-L.L MW14 Load the contents of ACCU 1-L into ACCU 2-L.Load the value of MW14 into

 ACCU 1-L.+I Add ACCU 2-L and ACCU 1-L; store the result in ACCU 1-L.T DB1.DBW25 The contents of ACCU 1-L (result) are transferred to DBW25 of DB1.

-I Subtract ACCU 1 from ACCU 2 as Integer (16-Bit)Example:L IW10 Load the value of IW10 into ACCU 1-L.L MW14 Load the contents of ACCU 1-L into ACCU 2-L.Load the value of MW14 into

 ACCU 1-L.-I Subtract ACCU 1-L from ACCU 2-L; store the result in ACCU 1-L.T DB1.DBW25 The contents of ACCU 1-L (result) are transferred to DBW25 of DB1.

*I Multiply ACCU 1 and ACCU 2 as Integer (16-Bit)Example:L IW10 Load the value of IW10 into ACCU 1-L.L MW14 Load contents of ACCU 1-L into ACCU 2-L.Load contents of MW14 into ACCU 1-

L.*I Multiply ACCU 2-L and ACCU 1-L, store result in ACCU 1.T DB1.DBD25 The contents of ACCU 1 (result) are transferred to DBW25 in DB1.

Page 53: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 53/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 53 

/I Divide ACCU 2 by ACCU 1 as Integer (16-Bit )Example:

L IW10 Load the value of IW10 into ACCU 1-L.L MW14 Load the contents of ACCU 1-L into ACCU 2-L.Load the value of MW14 into

 ACCU 1-L./I Divide ACCU 2-L by ACCU 1-L; store the result in ACCU 1:ACCU 1-L:quotient,

 ACCU 1-H: remainderT MD20 The contents of ACCU 1 (result) are transferred to MD20.Example above: 13 divided by 4Contents of ACCU 2-L before instruction (IW10): "13"Contents of ACCU 1-L before instruction (MW14): "4"Instruction /I (ACCU 2-L / ACCU 1-L): "13/4"Contents of ACCU 1-L after instruction (quotient): "3"Contents of ACCU 1-H after instruction (remainder): "1"

MOD Divis ion Remainder Double Integer (32-Bit) Example:L ID10 Load the value of ID10 into ACCU 1.L MD14 Load the contents of ACCU 1 into ACCU 2.Load the value of MD14 into ACCU 1.MOD Divide ACCU 2 by ACCU 1, store the result (remainder) in ACCU 1.T MD20 The contents of ACCU 1 (result) are transferred to MD20.Example above : 13 divided by 4Contents of ACCU 2 before instruction (ID10): "13"Contents of ACCU 1 before instruction (MD14): "4"Instruction MOD (ACCU 2 / ACCU 1): "13/4"Contents of ACCU 1 after instruction (remainder): "3"

Page 54: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 54/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 54 

Program Control InstructionsBE Block EndBE (block end) terminates the program scan in the current block and causes a jump to the block thatcalled the current block. The program scan resumes with the first instruction that follows the block callstatement in the calling program.

BEC Block End ConditionalIf RLO = 1, then BEC (block end conditional) interrupts the program scan in the current block andcauses a jump to the block that called the current block.

Example: A I 1.0 Update RLO.BEC End block if RLO = 1.L IW4 Continue here if BEC is not executed, RLO = 0.T MW10

BEU Block End UnconditionalBEU (block end unconditional) terminates the program scan in the current block and causes a jump tothe block that called the current block. The program scan resumes with the first instruction that followsthe block call.Example: A I 1.0JC NEXT Jump to NEXT jump label if RLO = 1 (I 1.0 = 1).L IW4 Continue here if no jump is executed.T IW10 A I 6.0 A I 6.1S M 12.0

BEU Block end unconditional.NEXT: NOP 0 Continue here if jump is executed.

CALL Block CallCALL <logic block identifier> is used to call functions (FCs) or function blocks (FBs), system functions(SFCs) or system function blocks (SFBs) you created yourself or to call the standard pre-programmedblocks shipped by Siemens. The CALL instruction calls the FC and SFC or the FB and SFB that youinput as an address, independent of the RLO or any other condition.

Example: CALL FB1, DB1 or CALL FILLVAT1, RECIPE1

Logic Block Block Type Absolute Address Call SyntaxFC Function CALL FCnSFC System function CALL SFCnFB Function block CALL FBn1,DBn2SFB System function block CALL SFBn1,DBn2

Example 1: Assigning parameters to the FC6 callCALL FC6Formal parameter Actual parameterNO OF TOOL := MW100TIME OUT := MW110FOUND := Q 0.1ERROR := Q 100.0

Example 2: Calling an SFC without parameters

Page 55: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 55/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 55 

CALL SFC43 Call SFC43 to re-trigger watchdog timer (no parameters).

Example 3: Calling FB99 with instance data block DB1CALL FB99,DB1Formal parameter Actual parameterMAX_RPM := #RPM1_MAXMIN_RPM := #RPM2

MAX_POWER := #POWERMAX_TEMP := #TEMP

Example 4: Calling FB99 with instance data block DB2CALL FB99,DB2Formal parameter Actual parameterMAX_RPM := #RPM3_MAXMIN_RPM := #RPM2MAX_POWER := #POWER1MAX_TEMP := #TEMP

CC Condit ional CallCC <logic block identifier> (conditional block call) calls a logic block if RLO=1. CC is used to call logicblocks of the FC or SFC type without parameters.Example: A I 2.0 Check signal state at input I 2.0.CC FC6 Call function FC6 if I 2.0 is "1". A M 3.0 Executed upon return from called function (I 2.0 = 1) or directly after A I 2.0

statement if I 2.0 = 0.

UC Uncondi tional CallUC <logic block identifier> (unconditional block call) calls a logic block of the FC or SFC type. UC is

like the CALL instruction, except that you cannot transfer parameters with the called block.

Example 1:UC FC6 Call function FC6 (without parameters).

Example 2:UC SFC43 Call system function SFC43 (without parameters).

Page 56: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 56/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 56 

Shift Instructions

SLD Shift Left Double Word (32-Bit)SLD <number>: The number of shifts is specified by the address <number>. The permissible valuerange is from 0 to 32. The status word bits CC 0 and OV are reset to zero if <number> is greater thanzero. If <number> is equal to zero, then the shift instruction is regarded as a NOP operation.

Examples:

 ACCU 1-H ACCU 1-LBit: 31 16 15 0

 ACCU 1 before execution of SLD 5: 0101 1111 0110 0100 0101 1101 0011 1011 ACCU 1 after execution of SLD 5: 1110 1100 1000 1011 1010 0111 0110 0000

Example 1:L MD4 Load value into ACCU 1.SLD 5 Shift bits in ACCU 1 five places to the left.T MD8 Transfer result to MD8.

SLW Shift Left Word (16-Bit)SLW <number>: The number of shifts is specified by the address <number>. The permissible valuerange is from 0 to 15. The status word bits CC 0 and OV are reset to zero if <number> is greater thanzero. If <number> is equal to zero, then the shift instruction is regarded as a NOP operation.

Examples: ACCU 1-H ACCU 1-L

Bit: 31 16 15 0 ACCU 1 before execution of SLW 5: 0101 1111 0110 0100 0101 1101 0011 1011 ACCU 1 after execution of SLW 5: 0101 1111 0110 0100 1010 0111 0110 0000

Example 1:L MW4 Load value into ACCU 1.SLW 5 Shift the bits in ACCU 1 five places to the left.

T MW8 Transfer result to MW8.

SRD Shift Right Double Word (32-Bit)SRD <number>: The number of shifts is specified by the address <number>. The permissible valuerange is from 0 to 32. The status word bits CC 0 and OV are reset to 0 if <number> is greater thnanzero.Examples: ACCU 1-H ACCU 1-L

Bit: 31 16 15 0 ACCU 1 before execution of SRD 7: 0101 1111 0110 0100 0101 1101 0011 1011 ACCU 1 after execution of SRD 7: 0000 0000 1011 1110 1100 1000 1011 1010

Example 1:L MD4 Load value into ACCU 1.SRD 7 Shift bits in ACCU 1 seven places to the right.T MD8 Transfer result to MD8.

SRW Shift Right Word (16-Bit )SRW <number>: The number of shifts is specified by the address <number>. The permissible valuerange is from 0 to 15. The status word bits CC 0 and OV are reset to 0 if <number> is greater thanzero.Examples:

 ACCU 1-H ACCU 1-LBit: 31 16 15 0

Page 57: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 57/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 57 

 ACCU 1 before execution of SRW 6: 0101 1111 0110 0100 0101 1101  0011 1011 ACCU 1 after execution of SRW 6: 0101 1111 0110 0100 0000 0001 0111  0100

Example 1:L MW4 Load value into ACCU 1.SRW 6 Shift bits in ACCU 1-L six places to the right.

T MW8 Transfer result to MW8.

Page 58: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 58/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 58 

Timer Instructions

Page 59: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 59/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 59 

SD On-Delay TimerSD <timer> starts the addressed timer when the RLO transitions from "0" to "1". The programmedtime interval elapses as long as RLO = 1. The time is stopped if RLO transitions to "0" before theprogrammed time interval has expired. This timer start instruction expects the time value and the timebase to be stored as a BCD number in ACCU 1-L.

Example: A I 2.1L S5T#10s Preset 10 seconds into ACCU 1.SD T1 Start timer T1 as an on-delay timer.

Page 60: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 60/95

Page 61: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 61/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 61 

SE Extended Pulse TimerSE <timer> starts the addressed timer when the RLO transitions from "0" to "1". The programmedtime interval elapses, even if the RLO transitions to "0" in the meantime. The programmed timeinterval is started again if RLO transitions from "0" to "1" before the programmed time has expired.This timer start command expects the time value and the time base to be stored as a BCD number in ACCU 1-L.Example:

 A I 2.1L S5T#10s Preset 10 seconds into ACCU 1.SE T1 Start timer T1 as an extended pulse timer. A I 2.2R T1 Reset timer T1. A T1 Check signal state of timer T1.= Q 4.0

Page 62: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 62/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 62 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 62 

Page 63: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 63/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 63 

SF Off-Delay TimerSF <timer> starts the addressed timer when the RLO transitions from "1" to "0". The programmedtime elapses as long as RLO = 0. The time is stopped if RLO transitions to "1" before the programmedtime interval has expired. This timer start command expects the time value and the time base to bestored as a BCD number in ACCU 1-L.

Example: A I 2.1L S5T#10s Preset 10 seconds into ACCU 1.SF T1 Start timer T1 as an off-delay timer. A I 2.2R T1 Reset timer T1. A T1 Check signal state of timer T1.= Q 4.0

Page 64: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 64/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 64 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 64 

Page 65: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 65/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 65 

SP Pulse TimerSP <timer> starts the addressed timer when the RLO transitions from "0" to "1". The programmedtime elapses as long as RLO = 1. The timer is stopped if RLO transitions to "0" before theprogrammed time interval has expired. This timer start command expects the time value and the timebase to be stored as a BCD number in ACCU 1-L.Example: A I 2.1

L S5T#10s Preset 10 seconds into ACCU 1.SP T1 Start timer T1 as a pulse timer. A I 2.2R T1 Reset timer T1. A T1 Check signal state of timer T1.= Q 4.0

Page 66: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 66/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 66 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 66 

Page 67: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 67/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 67 

SS Retentive On-Delay TimerSS <timer> (start timer as a retentive ON timer) starts the addressed timer when the RLO transitionsfrom "0" to "1". The full programmed time interval elapses, even if the RLO transitions to "0" in themeantime. The programmed time interval is re-triggered (started again) if RLO transitions from "0" to"1" before the programmed time has expired. This timer start command expects the time value and

the time base to be stored as a BCD number in ACCU 1-L.Example: A I 2.1L S5T#10s Preset 10 seconds into ACCU 1.SS T1 Start timer T1 as a retentive on-delay timer. A I 2.2R T1 Reset timer T1. A T1 Check signal state of timer T1.= Q 4.0

Page 68: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 68/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 68 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 68 

Page 69: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 69/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 69 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 69 

Page 70: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 70/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 70 

R Reset TimerR <timer> stops the current timing function and clears the timer value and the time base of theaddressed timer word if the RLO transitions from 0 to 1.Example: A I 2.1R T1 Check the signal state of input I 2.1 If RLO transitioned from 0 = 1, then reset timer

T1.

Page 71: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 71/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 71 

Word Logic Instructions AD AND Double Word (32-Bit ) AD (AND double word) combines the contents of ACCU 1 with ACCU 2 or a 32-bit constant bit by bitaccording to the Boolean logic operation AND. A bit in the result double word is "1" only when thecorresponding bits of both double words combined in the logic operation are "1".

Examples: Bit: 31 Bit:0 ACCU 1 before execution of AD: 0101 0000 1111 1100 1000 1001 0011 1011 ACCU 2 or 32-bit constant: 1111 0011 1000 0101 0111 0110 1011 0101

Result (ACCU 1) after execution of AD:0101 0000 1000 0100 0000 0000 0011  0001

L ID20 Load contents of ID20 into ACCU 1.L ID24 Load contents of ACCU 1 into ACCU 2.Load contents of ID24 into ACCU 1. AD Combine bits from ACCU 1 with ACCU 2 by AND, store result in ACCU 1.T MD8 Transfer result to MD8.

 AW AND Word (16-Bit ) AW (AND word) combines the contents of ACCU 1-L with ACCU 2-L or a 16 bit-constant bit by bitaccording to the Boolean logic operation AND. A bit in the result word is "1" only when thecorresponding bits of both words combined in the logic operation are "1".Examples:

Bit: 15 Bit:0 ACCU 1-L before execution of AW: 0101 1001 0011 1011 ACCU 2-L or 16-bit constant: 1111 0110 1011 0101Result (ACCU 1-L) after execution of AW: 0101 0000 0011 0001

L IW20 Load contents of IW20 into ACCU 1-L.L IW22 Load contents of ACCU 1 into ACCU 2.Load contents of IW22 into ACCU 1-L. AW Combine bits from ACCU 1-L with ACCU 2-L bits by AND; store result in ACCU 1-L.T MW 8 Transfer result to MW8.

OD OR Double Word (32-Bit)OD (OR double word) combines the contents of ACCU 1 with ACCU 2 or a 32-bit constant bit by bitaccording to the Boolean logic operation OR. A bit in the result double word is "1" when at least one ofthe corresponding bits of both double words combined in the logic operation is "1".

Examples:

Bit: 31 Bit:0 ACCU 1 before execution of OD: 0101 0000 1111 1100 1000 0101 0011 1011 ACCU 2 or 32-bit constant: 1111 0011 1000 0101 0111 0110 1011 0101

Result (ACCU 1) after execution of OD:1111 0011 1111 1101 1111 0111 1011  1111

L ID20 Load contents of ID20 into ACCU 1.L ID24 Load contents of ACCU 1 into ACCU 2.Load contents of ID24 into ACCU 1.OD Combine bits from ACCU 1 with ACCU 2 bits by OR; store result in ACCU 1.T MD8 Transfer result to MD8.

OW OR Word (16-Bit )OW (OR word) combines the contents of ACCU 1-L with ACCU 2-L or a 16 bit-constant bit by bitaccording to the Boolean logic operation OR. A bit in the result word is "1" when at least one of thecorresponding bits of both words combined in the logic operation is "1".Examples:

Bit: 15 Bit:0

Page 72: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 72/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 72 

 ACCU 1-L before execution of OW: 0101 0101 0011 1011 ACCU 2-L or 16 bit constant: 1111 0110 1011 0101Result (ACCU 1-L) after execution of OW: 1111 0111 1011 1111

L IW20 Load contents of IW20 into ACCU 1-L.L IW22 Load contents of ACCU 1 into ACCU 2.Load contents of IW22 into ACCU 1-L.OW Combine bits from ACCU 1-L with ACCU 2-L by OR, store result in ACCU 1-L.

T MW8 Transfer result to MW8.

XOD Exclus ive OR Double Word (32-Bit)XOD (XOR double word) combines the contents of ACCU 1 with ACCU 2 or a 32-bit constant bit bybit according to the Boolean logic operation XOR (Exclusive Or). A bit in the result double word is "1"when only one of the corresponding bits of both double words combined in the logic operation is "1".Examples:

Bit: 31 Bit:0 ACCU 1 before execution of XOD: 0101 0000 1111 1100 1000 0101 0011 1011 ACCU 2 or 32-bit constant: 1111 0011 1000 0101 0111 0110 1011 0101

Result (ACCU 1) after execution of OD:1010 0011 0111 1001 1111 0011 1000 1110

L ID20 Load contents of ID20 into ACCU 1.L ID24 Load contents of ACCU 1 into ACCU 2.Load contents of ID24 into ACCU 1.XOD Combine bits from ACCU 1 with ACCU 2 by XOR; store result in ACCU 1.T MD8 Transfer result to MD8.

XOW Exclusive OR Word (16-Bit)XOW (XOR word) combines the contents of ACCU 1-L with ACCU 2-L or a 16 bit-constant bit by bitaccording to the Boolean logic operation XOR. A bit in the result word is "1" only when one of thecorresponding bits of both words combined in the logic operation is "1".

Examples:Bit: 15 Bit:0

 ACCU 1 before execution of XOW: 0101 0101 0011 1011 ACCU 2-L or 16-bit constant: 1111 0110 1011 0101Result (ACCU 1) after execution of XOW: 1010 0011 1000 1110

L IW20 Load contents of IW20 into ACCU 1-L.L IW22 Load contents of ACCU 1 into ACCU 2.Load contents of ID24 into ACCU 1-L.XOW Combine bits of ACCU 1-L with ACCU 2-L bits by XOR, store result in ACCU 1-L.T MW8 Transfer result to MW8.

Page 73: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 73/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 73 

 Accumulator Instructions

DEC Decrement ACCU 1-L-LExample:L MB250 Load the value of MB250

DEC 1 Instruction "Decrement ACCU 1-L-L by 1"; store result in ACCU 1-L-L.T MB250 Transfer the contents of ACCU 1-L-L (result) back to MB250.

INC Increment ACCU 1-L-LExample:L MB22 Load the value of MB22INC 1 Instruction "Increment ACCU 1 (MB22) by 1"; store result in ACCU 1-L-LT MB22 Transfer the contents of ACCU 1-L-L (result) back to MB22

TAK Toggle ACCU 1 with ACCU 2Example:Subtract smaller value from greater value:Example:

L MW10 Load contents of MW10 into ACCU 1-L.L MW12 Load contents of ACCU 1-L into ACCU 2-L.Load contents of MW12into ACCU 1->I Check if ACCU 2-L (MW10) greater than ACCU 1-L (MW12).JC NEXT Jump to NEXT jump label if ACCU 2 (MW10) is greater than ACCU 1

(MW12).TAK Swap contents ACCU 1 and ACCU 2

NEXT: -I Subtract contents of ACCU 2-L from contents of ACCU 1-L.T MW14 Transfer result (= greater value minus smaller value) to MW14.

Page 74: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 74/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 74 

PROGRAMMING EXAMPLES

Page 75: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 75/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 75 

Page 76: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 76/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 76 

Page 77: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 77/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 77 

Page 78: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 78/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 78 

Page 79: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 79/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 79 

Page 80: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 80/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 80 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 80 

Page 81: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 81/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 81 

Page 82: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 82/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 82 PAGE 82 

Page 83: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 83/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 83 

Page 84: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 84/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 84 

Page 85: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 85/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 85 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 85 

Page 86: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 86/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 86 

Page 87: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 87/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 87 

Page 88: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 88/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 88 

Page 89: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 89/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 89 

Page 90: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 90/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 90 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 90 

Page 91: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 91/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 91 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 91 

Page 92: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 92/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 92 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 92 

Page 93: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 93/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 93 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 93 

Page 94: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 94/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 94 

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

PAGE 94 

Page 95: PLC Information

7/26/2019 PLC Information

http://slidepdf.com/reader/full/plc-information 95/95

PROLIFIC SYSTEMS & TECHNOLOGIES PVT. LTD.

----------------------------------------------------------------------------------------------------------------

THANK YOU FOR ATTENDING OUR INDUSTRIAL

AUTOMATION TRAINING COURSE !