Statement List (Siemens)

Akan

Member
Join Date
Oct 2019
Location
Tema
Posts
21
Kindly assist with the meaning of the following functions calls:

CALL FC 122
IN0 :=P#DB121.DBX 336.0
IN30 :=DB121
IN31 :=M2.2
IN32 :=Q3.3
IN33 :=DB101.DBX1.7
IN34 :=DB101.DBX1.6
OUT35:=DB111.DBD90
OUT36:=DB111.DBD94
OUT37:=M103.4
OUT38:=M103.0
OUT39:=M103.1
OUT40:=M103.2
OUT41:=M103.3
IO42 :=DB112.DBX34.0
IO43 :=DB112.DBX34.1
IO44 :=DB112.DBX34.2
IO45 :=DB112.DBX34.3
IO46 :=DB112.DBX34.4
A M 103.0
= DB112.DBX 14.0
A M 103.1
= DB112.DBX 14.1
A M 103.2
= DB112.DBX 14.2
A M 103.3
= DB112.DBX 14.3
A M 103.4
= DB112.DBX 14.4
 
It is actually one function call, FC122. The IN (read), OUT (write), IO (read/write) are parameters of this call.

there is an extra transfer from at OUT37 -> M103.4 -> DB112.DBX 14.0 (as at the OUT38..41)

maybe drop the FC122 on an empty LAD/FDB network then you have a graphical representation and maybe get a better idea.

it seems this is a bare upload without the original project because parameter names are missing?
 
A M 103.0
= DB112.DBX 14.0
A M 103.1
= DB112.DBX 14.1
A M 103.2
= DB112.DBX 14.2
A M 103.3
= DB112.DBX 14.3
A M 103.4
= DB112.DBX 14.4

This section of the code is nothing to do with the call FC122. Just in the same network.
 
A M 103.0
= DB112.DBX 14.0
A M 103.1
= DB112.DBX 14.1
A M 103.2
= DB112.DBX 14.2
A M 103.3
= DB112.DBX 14.3
A M 103.4
= DB112.DBX 14.4

This section of the code is nothing to do with the call FC122. Just in the same network.

of course, I even wonder why the DBX's are not directly at the OUT parameters but the whole thing is a little odd. it's easy to do this graphically so why do it in STL.
 
of course, I even wonder why the DBX's are not directly at the OUT parameters but the whole thing is a little odd. it's easy to do this graphically so why do it in STL.

Coding standard... Although, the use of M bits makes me think the standard isn't all that great to begin with.

Mind that I'm not saying I condone it, but have worked in companies that had a strict STL only code on their PLC's. Similarly, other office in the same company had a strict standard of FBD code only. They'd both get into heated fanboy arguments about the "best" language without understanding how they were both fundamentalists and wrong.
 
Hi All, kindly assist with the meaning of the following function calls please.
CALL "DPRD_DAT"
LADDR :=W#16#140
RET_VAL:=MW76
RECORD :="ADDRESS_MAPPING".IN_SLOT1_64

CALL "DPRD_DAT"
LADDR :=W#16#180
RET_VAL:=MW78
RECORD :="ADDRESS_MAPPING".IN_SLOT2_64

CALL "DPWR_DAT"
LADDR :=W#16#100
RECORD :="ADDRESS_MAPPING".OUT_SLOT3_64
RET_VAL:=MW80

CALL "DPWR_DAT"
LADDR :=W#16#140
RECORD :="ADDRESS_MAPPING".OUT_SLOT4_64
RET_VAL:=MW82

CALL "DPRD_DAT"
LADDR :=W#16#1C0
RET_VAL:=MW84
RECORD :="ADDRESS_MAPPING".IN_SLOT5_32

CALL "DPRD_DAT"
LADDR :=W#16#1E0
RET_VAL:=MW86
RECORD :="ADDRESS_MAPPING".IN_SLOT6_32

CALL "DPRD_DAT"
LADDR :=W#16#200
RET_VAL:=MW88
RECORD :="ADDRESS_MAPPING".IN_SLOT7_32

CALL "DPRD_DAT"
LADDR :=W#16#220
RET_VAL:=MW90
RECORD :="ADDRESS_MAPPING".IN_SLOT8_16

CALL "DPWR_DAT"
LADDR :=W#16#180
RECORD :="ADDRESS_MAPPING".OUT_SLOT9_32
RET_VAL:=MW92

CALL "DPWR_DAT"
LADDR :=W#16#1A0
RECORD :="ADDRESS_MAPPING".OUT_SLOT10_32
RET_VAL:=MW94

CALL "DPWR_DAT"
LADDR :=W#16#1C0
RECORD :="ADDRESS_MAPPING".OUT_SLOT11_32
RET_VAL:=MW96

CALL "DPWR_DAT"
LADDR :=W#16#1E0
RECORD :="ADDRESS_MAPPING".OUT_SLOT12_16
RET_VAL:=MW70
Thank you
 

Similar Topics

I am interpreting STL for the first time for a Siemens S5 PLC. In the STL, I often see !=F in the code. What is this? Thanks.
Replies
4
Views
8,159
R
Is there any utility that converts Siemens Step 5 Statement list program to Ladder logic. I am new to Statement list and also siemens PLC. I find...
Replies
9
Views
16,766
Attached is a portion of a program I am trying to decipher. The original program was in Italian and I converted it to English. I have limited...
Replies
6
Views
2,545
Hi All, I have a task to decipher a calculation done by one of our S7 PLC's onsite. The problem being that its in statement list, and this...
Replies
4
Views
1,852
How do I? "LVA_SW1_SPD_REMOTE" "LVB_SW1_SPD_REMOTE" JC If first line is =1 or second line =1 Jump _003: \used to stl
Replies
3
Views
1,367
Back
Top Bottom