Siemens S7 SFC20

Plc_User

Member
Join Date
Dec 2005
Location
Belgium
Posts
317
Can I be sure when I use SFC20 Blockmove in my programm that when the plc has processed the call to the Blockmove and now continues with the next instruction underneath the Blockmove that Blockmove is totally completed? Is it reayly a 'synchronous function'?
 
Hi I dont know the amswer but check help files.

Secondly, how about usin a bit (last of the block move data) as a check bit?

Reset last bit in target data
run sfc20
check to see if last bit of dest is achieved
set last target bit in target data
 
plc_user,
PLC will always go down from top scanning instructions inbetween in order. SFC20 is also a set of instruction in a packaged form, so all instructions in SFC 20 is done with when instructions after SFC20 comes. This is true for all PLC's.
 
If i remember well the function can be interupted when you have OB35... running, Without checking if i recall well there is a UBlockmove SFC/B8x (81?)
If i'm wrong sorry for the bad info
 
Last edited:
Functions dont have own memory, thus they cant be "asynchronous" as there cant be knowledge of state other than current function call. They can be interrupted by higher priority process tough. So if you dont need data from place where it is transferred to in higher interrupt program, you can safely trust that all data is transferred after function has finished excecuting.

Function Blocks in otherhand have own memory and thus can be "asynchronous".
 
Can I be sure when I use SFC20 Blockmove in my programm that when the plc has processed the call to the Blockmove and now continues with the next instruction underneath the Blockmove that Blockmove is totally completed? Is it reayly a 'synchronous function'?

Yes, but why do you ask ?
 
you could always evaluate the return value, usually problems here are at the design stage though - Help file details the various codes and meaning.
 
Functions dont have own memory, thus they cant be "asynchronous" as there cant be knowledge of state other than current function call. They can be interrupted by higher priority process tough. So if you dont need data from place where it is transferred to in higher interrupt program, you can safely trust that all data is transferred after function has finished excecuting.

Function Blocks in otherhand have own memory and thus can be "asynchronous".

See SFC51 for example.
 

Similar Topics

Anyone who knows what error this is in the RET_VAL:
Replies
2
Views
2,330
Siemens 300 SFC20 Ret Value of -32478 = HEX 8122 8x22 Range length error when reading a parameter. I have a remote I/O profi bus unit with 4...
Replies
12
Views
6,084
Hi everyone hope you'll well. Is it possible for me to download a Crack version of tia portal v13..sorry to say this but the software is very...
Replies
4
Views
85
I have established an online connection to a machine using an S314 processor. I am using an mpi connector and simatic manager. The online...
Replies
3
Views
79
Hi everyone, i have a Siemens S7-300 Cpu 314C-2 DP with several cards of i/o and servos my laptop has TIA version 16 and 17 loaded and...
Replies
4
Views
136
Back
Top Bottom