Signal sequence: Competing write and delete accesses to the same data set
The following signal sequence diagram shows the behavior of the recipe FBs SF_RecipeWrite and SF_RecipeDeleteDataSet if they simultaneously access to the same recipe file and data set. Due to the competing operations, only one FB can complete its operation successfully.
Note
1) For reasons of clarity, the duration of one Safety PLC cycle is assumed in the signal sequence for each status transition of the FBs. In reality, several cycles may be necessary for this. The time required to completely write/read recipe data also varies and depends on the amount of data to be written/read. |
0 | After the startup of the Safety PLC, both FBs are deactivated. As a result, the Done output of both FBs is SAFEFALSE, both DiagCode outputs show 0000 (Idle state). |
1 | SF_RecipeWrite and SF_RecipeDeleteDataSet are activated by switching their Activate input to TRUE. As a result, both FBs run through the states 8002 (Prepare), 8004 (Wait for Ready) to 8006 in which they wait for the trigger command at input CommandWrite or CommandDelete, respectively. |
2 | A rising edge at CommandWrite and CommandDelete starts the execution of the FBs.For both function blocks, the same values are applied to the inputs IDRecipeFile and IDRecipeDataSet.SF_RecipeWrite
|
3 | SF_RecipeDeleteDataSet has validated the data and completed its operations successfully. Output Done switches to SAFETRUE (DiagCode = 8000).The validation of SF_RecipeWrite, however, is not successful as the written data set has been deleted meanwhile. Output Done remains SAFEFALSE and output DiagCode shows C070. |