8/2/2024 11:37 AM | |
Joined: 7/2/2015 Last visit: 9/13/2024 Posts: 2 Rating: (0) |
Similar issue bringing in SCL for FB from S7 to TIA Portal, sorted out the missing Array data types in header but left with 14 errors in the last bit of the code including WORD_TO_BLOCK_DB any help would be appreciated as not finding any suitable conversion notes/tables between S7 and TIA online. (********** Send Output to Datablock ***********) IF #OutputDB_No <> 0 THEN // only execute the datablock move if DB number is non-zero #GrintIndex := #StartByte_SP; // initialise setpoint index to correct start byte #ModeDB_Byte := #StartByte_Mode; // initialise Mode index to correct start byte #ModeDB_Bit := 0; // Initialise the start bit to 0 FOR #Index := 0 TO 15 DO //move individual mode & setpoints to DB one at a time WORD_TO_BLOCK_DB(INT_TO_WORD(#OutputDB_No)).DX[#ModeDB_Byte, #ModeDB_Bit] := #ModeSel[#Index]; // Write mode select to DB WORD_TO_BLOCK_DB(INT_TO_WORD(#OutputDB_No)).DW[#GrintIndex] := INT_TO_WORD(#ModeSP[#Index]); // Write Mode setpoint to the DB #GrintIndex := #GrintIndex + 2; // Move index to next INT pointer position in DB #ModeDB_Bit := #ModeDB_Bit + 1; // Move pointer to next Bit address in DB IF #ModeDB_Bit >= 8 THEN // Check to see if next byte is being addressed (Bit 8 of first byte!) #ModeDB_Bit := 0; // Clear bit to move to next byte ..... #ModeDB_Byte := #ModeDB_Byte + 1; //... and increment the byte pointer END_IF; END_FOR; END_IF; ------------------------------------------------------------------------------------------ |
Last edited by: Kryten Head One at: 08/02/2024 11:44:39Last edited by: Kryten Head One at: 08/02/2024 11:46:42Last edited by: Moderator_Lan at: 08/05/2024 08:53:43New subject after splitting |
|
Follow us on