Help!) Using the Command in S7

Bandy

Member
Join Date
Jun 2019
Location
Seoul
Posts
18
Hello :)

I have two of the question about S7
plz help and answer me the all of the question

1))
K-003.png

In this picture , you can see the LIR & TIR
* is It right " ( LIR 0 -> LAR 1 , LIR 2 -> LAR2 ) " then, Can I use the PGM without the error?

2))
K-004.png

In this picture , you can see the two of green box
seriously, I can't understand thoes of the command "DO" especially, S7
Can you tell me each process in the two of the green box

Really Thanks to you
 
LIR - Load the register indirectly
The contents of a memory word are loaded into the specified
register (ACCUM 1, 2). The address is in ACCUM 1.

TIR - Transfer the register indirectly
The contents of the indicated register are transferred to a
memory location. The address is in ACCUM 1.

DO - Processing Operation

S5_Processing_Operation_DO.png
 
E5CE is the address pointer of the payload data part of DB231.

All this PITA coding was needed in Step5 to move data with the use of pointers. The OP has to learn the purpose of it, and use plain and easy Step7 coding to replicate the functions.

Kalle
 
This looks like it might be some Siemens standard code either to control a special card or HMI etc. I know that S7 in the early days would create standard FB's from S5 code but nothing in them. Indirect addressing memory in S5 will be totally different in S7, for example, in S5 you could have Data blocks larger than 255 words but the only way to address them was to locate the DB by going to the block address area (this is a memory area that stores the address of all the blocks) then indirectly load the data pointed to in the block address list, this way it was possible to address blocks larger than 255 (max in S5). To be honest, any code that does not follow the standard S5 code most people use would be difficult to convert but not impossible.
I once worked on an S5 system where the programmer created a Data Block as large as there was spare memory, this caused a major problem. 1. The block was created using S5 Code at cold start to check how much spare memory was available, generate a DB as large as this memory for a printer buffer, only problem was that when the local engineers tried to re-load a dump of the program (battery fail), it would not fit as they were trying to download the generated block, S5 needs spare memory as it downloads a block and only deletes the header of the original, not the code this is why early models you needed to compress the memory. The other problem was that on download there was a sequence that had to be done i.e. cold restart then warm restart and something else but can't remember. Be warned before upgrading S5 to S7 as it might cost you a lot of work.
 
Hi!
The first attachment is not valid.
Try to make a zip-file of it, or print it to a pdf.

Kalle

View attachment HANJINST.zip

Actually I solved the second problem( about "DO" )
But I couldn't solve the first(TIR & LIR) thing...
I heard that you'd better write a new program about (TIR & LIR). so, I'll try to write a new PGM ... then can you help or recommend me that writing a new PGM about (TIR & LIR) section
 
This looks like it might be some Siemens standard code either to control a special card or HMI etc. I know that S7 in the early days would create standard FB's from S5 code but nothing in them. Indirect addressing memory in S5 will be totally different in S7, for example, in S5 you could have Data blocks larger than 255 words but the only way to address them was to locate the DB by going to the block address area (this is a memory area that stores the address of all the blocks) then indirectly load the data pointed to in the block address list, this way it was possible to address blocks larger than 255 (max in S5). To be honest, any code that does not follow the standard S5 code most people use would be difficult to convert but not impossible.
I once worked on an S5 system where the programmer created a Data Block as large as there was spare memory, this caused a major problem. 1. The block was created using S5 Code at cold start to check how much spare memory was available, generate a DB as large as this memory for a printer buffer, only problem was that when the local engineers tried to re-load a dump of the program (battery fail), it would not fit as they were trying to download the generated block, S5 needs spare memory as it downloads a block and only deletes the header of the original, not the code this is why early models you needed to compress the memory. The other problem was that on download there was a sequence that had to be done i.e. cold restart then warm restart and something else but can't remember. Be warned before upgrading S5 to S7 as it might cost you a lot of work.

Thanks to you!!!
 

Similar Topics

After replacing the 70 with the 525, the PLC can read from the drive and recognizes it as online, but no commands are being listened to. PLC is...
Replies
1
Views
546
I'm new to Crimson (this is my first week, and I just ran into my first road block. I'm trying to display the position of a rail car, running in...
Replies
3
Views
1,150
Hello, I'm struggling with getting an email to send using an eweb module on a controllogix system. Any chance I could get someone here to help?
Replies
4
Views
1,849
Hi all I am trying to set up a lhttp instruction to connect to an api https (with our IT) this will send data back to the plc? I have an api https...
Replies
9
Views
1,778
please help i didn't solve this problem with rslogix. I counted but i am not using timer. How i will fix this situation? Please anyone solve this...
Replies
18
Views
4,903
Back
Top Bottom