1/17/2019 1:47 PM | |
Posts: 9 Rating:
|
Hello, I'm having trouble with one of my apps That's why I'm asking for help ... Context: Using an S7-1215 FW 4.2 as an IOControler of an MRP ring (also a member of the ring) based on Scalance X204 for handling IOdevices and retrieving switch information via Records. This aspect is OK. The collected data must be transmitted to an S7-414-4H via CP443-1. TIA V14 SP1 is used to implement code. Problem: The DB containing the diagnostics to be transmitted is a DB containing an array of User structure. The structure is composed of the diagnostic information of a switch. The size of the array depends on the number of managed switches. The program establishes two ISO-on-TCP links between the S7-400 and the S7-1200 through two instances of T_SEND_C. This works perfectly when the emits are less then 8192 bytes. The diagnostic DB has a size greater than 8192 bytes. It is therefore necessary to sequence the emissions and to incorporate a header to allow the repositioning of the information in the receiving DB. To do this I need to be able to point the source area (DB diag) according to an index and copy the data in a destination zone type buffer (Array [0..8192 @ of byte) with possibility of decalling to put the header on the first 4 byte. I have done several tests but nothing succeeds. I used to use the function BLK_MOVE under 300/400 which allowed to do this simply. On the 1200 I tried via MOVE_BLK / MOVE_BLK_VARIANT / POKE_BLK but I can not do my transfer. Basically I would have the equivalent of the MOVE_BLK_VARIANT with as source information the DB number (type DB_ANY) or a POKE_BLOCK with as destination an ARRAY declared at the level of the instance of my FB. I tried this but the function returns an error 80B4 on the MOVE and an error 8154 on the DB_ANY_TO_VARIANT. An idea? Thank you. AttachmentCopie_Diag_to_Buf_1.txt (154 Downloads) |
Last edited by: Kortex2 at: 1/17/2019 1:51:50 PM |
|
1/18/2019 12:10 AM | |
Posts: 9 Rating:
|
|
Follow us on