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,344
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,093
Hello, I have a CPU 317-2DP Firmware Version V2.1.8. In TIA Portal only V2.6 is available, and there is no option to upgrade FW. Then I open it...
Replies
2
Views
46
HI everyone, i am new to Siemens plc programming and i am in need of some help. yesterday we had an S7-1200 CPU 1214C fail to turn on an output to...
Replies
7
Views
202
Hi PLC people, think about this scenario: The PLC is somehow connected to the same network with the facilities` network. Then someone connects to...
Replies
2
Views
88
Back
Top Bottom