Oh So Confused!?!?!

Bradkenny81

Member
Join Date
Aug 2012
Location
TN, USA
Posts
7
o_Oo_O<--- I guess I will start with that! I have a few questions, I am new to the forum and to statement lists. I currently have an issue with a piece of equipment where I work and it is controlled with a Siemens S5 PLC. I know very little about STL and now have been asked to go through and figure out what is causing our issues. So I have a copy of the segment of logic that I am trying to decipher but cant wrap my head around it. I understand the symbols but dont understand how to put it all together I'm not to bad with LAD but this is way different. Attached is the logic if someone could dumb it down for me or or explain the path it takes when going through the logic I would be greatly appreciative.
 
From your pdf -

L DW 51 = Load the contents of Data Word (DW) 51 into accumulator 1
+F add the accumulators together ie: whatever was in accumulator 2 is added to the contents of DW51

JU =POB = Jump Unconditionally to the Label POB the program jumps to the label POB and continues its scan. Any code in between the jump is ignored this scan.

R F153.1 = RESET Flag F153.1
S F153.1 - SET Flag F153.1

BEU - Block End Unconditional, the block ends and the program carrys on to the next block.


BE = Block End, the block ends here. Always the last command in a block.

POB: = Jump Label the program carrys on scanning from this point when the has been a JU, JC, JP etc.

CALL DB16, = Closes a previously opened DB and Opens a new Data Block (DB16)
 
There is no issues per say. We are trying to find out how the program functions for the 80% and 120 % and make sure that it is in fact working because the tool it is controlling does not not seem to be switching states. When the pipe is going down hole its supposed to be at 80% weight of pipe when coming out of the hole it is supposed to be 120% to ensure the threads on the pipe dont get messed up on the other end of the pipe.

So what I dont know is in the beginning of the program it says:

AN I 9.6 <-This is our 4mA calibration switch
AN I 9.7 <-This is our 17.5mA calibrations switch
JC =M001 <-The Siemens plc s5 book says this command looks for a RLO=1; and if the RLO="0",it sets it to "1". So does it jump here or not or does it only jump when the Calibration switch is made?

Also are "F" flag like "B" in Allen Bradley, its the end of the condition or logic. |---] I 4.6 [----] O 4.7 [----<B3/117>|
Sorry if I sound confused but I am confused. Thanks to all who have helped.
 
So what I dont know is in the beginning of the program it says:

AN I 9.6 <-This is our 4mA calibration switch
AN I 9.7 <-This is our 17.5mA calibrations switch
JC =M001

The jump to =M001 will only happen if I9.6 is off and I9.7 is off

AN = AND NOT

RLO = Result Of Logic Operation
AN I9.6
AN I9.7
RLO = 1 if both are off
 
Last edited:
ok I get that. So if it doesnt jump it continues down the line and heads to
C DB 5 <-- Which calls data block 5
A I 9.6 <--- checks again if the switch is on or off being off RLO = 0
JC = m002 "Zero" which causes no jump if RLO=0. correct
 
ok I get that. So if it doesnt jump it continues down the line and heads to
C DB 5 <-- Which calls data block 5
A I 9.6 <--- checks again if the switch is on or off being off RLO = 0
JC = m002 "Zero" which causes no jump if RLO=0. correct

Correct, the jump to the label =m002 is Conditional (JC) on the previous instruction(s) being TRUE.
In this case jump to =m002 ONLY If I 9.6 is TRUE (ON)

If the conditions for the Jump are False then it continues down the "line"
 
Last edited:
Ok I get that part now, and thanks for your help. Now "call(C) DB 5"? I understand that it calls the block and stores it in memory, but how do you know what part of DB 5 is needed. As in:
C DB 5
A I 9.6
JC =M002

I get that it calls DB 5, but why, and it will not jump unless the (A I 9.6) is on. What is it needing from DB 5? Because the next line states:

M002 is
L KF+0
JU =M003

So after it calls DB 5 and the input is made to I 9.6 it will jump to M002 where does it load KF+0.

And please correct me if I'm wrong but the DB's have specific functions like DB 100 is timers?

Thanks again for your time and assistance!
 
I get that it calls DB 5, but why, and it will not jump unless the (A I 9.6) is on. What is it needing from DB 5?
It would help to know what variables are stored in DB 5. It appears to contain some double-word constants. In the other 3 calls to DB 5, the call is immediately followed by a Load or Store (T) command with a variable name, so I assume that the program needs to know WHICH variable to look at in DB 5. It could be there is a default and if not told a variable name, it always looks at the first address in DB 5.
 
I get that it calls DB 5, but why, and it will not jump unless the (A I 9.6) is on. What is it needing from DB 5? Because the next line states:

M002 is
L KF+0
JU =M003

So after it calls DB 5 and the input is made to I 9.6 it will jump to M002 where does it load KF+0.
!

L KF +0 means to load the value zero into accumulator 1.
KF is Fixed Point in Siemens S5 ie: Integer.
Somewhere there must be a T DWxx within DB5
T = Transfer
Where/what is at M003 ??

With S5 there can only be one Data Block Open, every C DBxx will first close a previously opened DB and then Open the new DB
 
Last edited:

Similar Topics

Which of the following input operations require a conversion to digital form prior to input? a) disk b) analog c) contact closures d) limit...
Replies
12
Views
3,873
Hey all! I recently purchased myself a Panelview Plus off of ebay and i was hoping that i could upgrade the firmware on it to Version 9 or so and...
Replies
7
Views
2,734
Good morning everyone. I am apparently confused on the COP instruction. What I am trying to do is copy a DINT to a DINT in a User Defined Data...
Replies
16
Views
6,917
Hey guys, Im currently using the above flex IO to turn on two outputs these outputs go to two flashing red beacon lights. Here's the scenario: My...
Replies
4
Views
1,700
I'm event AV Technician (Sound, Projection, and Lighting). Over the last couple of years I've used a Weigl ProCommander PHX to control some event...
Replies
9
Views
2,689
Back
Top Bottom