Hello, i’m working on a project using two reduntant AXC-2152.
I’d like to know if i can syncronize the variables in all part of my project using “ASR Data…” or do i need to group all variables in one POU to sync them?
Do i have to change the scope of my local variables to global?
note: I call The FB “ASR_DataSync” only in one specific POU.
Regards.
Here is the answer from the ASR application developers, who you can contact using the “Contact” button on the app page in the PLCnext Store:
As mentioned in the documentation it is mandatory that all instances of the data synchronization function blocks “ASR_Data_…” are used in one common cyclic task only.
image.png
You can use these function blocks in different POUs and you can use them for global as well as for local variables.
The main function block “ASR_DataSync” must only be instantiated once and should be called at the beginning of this task.
Here is an example of how these function blocks can be used in one task. At this example the data synchronization function blocks are used in different POUs, but all these POUs are called by the task “T1”:
image.png
So i won’t be able to assign tasks on both ESM and sync? Would you recommend me to assign every POU to one task to sync those variables or change the scope of the local variables to global and sync on another specific Task?
Here is the answer from the ASR developers.
Please use the “Contact” button on the app page in the PLCnext Store for any further questions, and the developers will be able to help you directly.
That’s correct, you cannot use the data synchronization function blocks in different tasks. That’s a restriction of the ASR library. Since I don’t know the structure of your application program, it is difficult to say which way is the best to deal with this restriction. I would prefer to assign all POUs, at which the data synchronization function blocks are used, to one common task in order to be able to synchronize also local variables. But as mentioned already, it depends on your program structure.