S7- Copying DB to DB

Nick B

Member
Join Date
Mar 2007
Location
Vancouver
Posts
302
Hello,
I want to copy a DB to a DB in S7. Any ideas. I don't want to do a BlockMove if Possible for speed considerations and I don't want to bother with DB length etc. I just want to clone a DB. I've looked in the system library and don't see anything appropriate.

Thx in advance.
 
Maybe try SFC81 UBLKMOV. The difference between SFC81 and SFC20 seems mainly to be that it is "uninterruptible". Maybe that means that it works faster.
edit: The uninterruptible also means that it affects eventual interrupts.

What is it that you want to achieve ?
Does the DB that you want to clone to not exist before the cloning ?
Shall it exist in work memory only, in load memory only, or in both ?
The bit about that you dont want to bother about the length, does that mean that the cloning must be dynamically configured at runtime ?
 
Last edited:
JesperMP said:
Maybe try SFC81 UBLKMOV. The difference between SFC81 and SFC20 seems mainly to be that it is "uninterruptible". Maybe that means that it works faster.
edit: The uninterruptible also means that it affects eventual interrupts.
Uninterruptible means that there are no interrupts while UBLKMOV is active. That will delay any interrupts and the code inside like PIDs. This will adversely affect the derivative action. The UBLKMOV should be used by code outside the interrupts to copy code. This may be important if an interupt routine also copoes code to or from the same data.
 
You can get the length of you block with L DBLG and create a block using one of the library FB's (don't have list so can't be specific).

Afraid in copying the actual data, its as per previous suggestion only.
 
PeterW said:
You can get the length of you block with L DBLG and create a block using one of the library FB's (don't have list so can't be specific).

Afraid in copying the actual data, its as per previous suggestion only.

Nice thing there and handy if you want to create your pointers on the fly.

But according to the help it only works on shared DB's. Not on instance DB's. Is this correct?
 
L D[AR2 said:
What exactly are you referring to when you say it "only works on shared DB's" ?


"Description of instruction

L DBLG (load length of shared data block) loads the length of the shared data block into ACCU 1 after the contents of ACCU 1 have been saved into ACCU 2."

Help on STL on L DBLG.
 
L DILG

Description of instruction

L DILG (load length of instance data block) loads the length of the instance data block into ACCU 1-L after the content of ACCU 1 has been saved into ACCU 2.
 
UBLOCKMOVE does not operate any faster (and has a 256byte limit). What I'm trying to achieve is as follows.


Due to a limitation in WinCC (V6.2) you cannot get at Instance DB's, I was trying to achieve a work around.

1. Export MultiInstance DB into XLS utility (no problem)
2. Import as Global DB into "twin" DB
3. Now WinCC can see it symbolically
4. Copy original DB into clone which WinCC will use to interface
5. Drop new DB onto original and execute.

It's more of a procedure to overcome a limitation in WinCC. In WinCC-Flex this would be no issue but for some reason this function is still not available with V6.2 or even V7.0. Rather silly considering flex has be able to do this since 2004.
 
Thinking the same, it must be possible to create regular tags that point to the IDB, only you have to do it without symbols.
Is the problem more about getting the symbols ?
Dont know WinCC so much. How about using OPC ? I think that if you select to include all symbols, then also the the symbols for the IDBs will be generated.
 

Similar Topics

I'm not super familiar with the Micrologix line of processors, but I am pretty familiar with RSLogix 500. I'm trying to simply copy a string to...
Replies
4
Views
297
Hi All, I am looking to copy and paste a routine. I know this has to be done offline. My question is, when I go back online, these tags are...
Replies
6
Views
549
Hello everyone, friends. I need help with something related to SCL. In a FB, I need to copy the value in the DB to the DB at another address. I...
Replies
3
Views
1,380
Hello all! Is it possible to COP a SINT array to a UDT structured the same as a SINT array, except all BOOL bits? I have a module that has an...
Replies
5
Views
3,160
Hello, looking for a way to capture and display the accumulated time for a retentive timer in rslogix 500 on a microligix 1400 plc example move...
Replies
3
Views
1,646
Back
Top Bottom