I'm no longer working with this PLC brand, but if I were you, I would try to stop all related Codesys services before the copy and restart them after that.
In addition to the above tip, your program is overlooking error codes for formatting and file access functions; it is always good practice to read these parameters.
After leaving this question for a while, I made a further research and found the answer on the Codesys website itself, unfortunately not here in this community. For those with similar issue, just to share: https://www.codesys.com/news-events/press-releases/article/3s-smart-software-solutions-gmbh-becomes-codesys-gmbh.html
Until some time ago, whenever we installed the PLC runtime in Windows, the following appeared in the container: 3S-Smart Software Solutions Softlicenses But now it's showing... CODESYS GmbH Softlicenses So far, this would not represent any problem, but our solution programmatically checks the existence of this license and displays it in the Webvisu. Has anyone else gone through this ?
Until some time ago, whenever we installed the PLC runtime in Windows, the following appeared in the container: 3S-Smart Software Solutions Softlicenses But now it's showing... CODESYS GmbH Softlicenses So far, this would not represent any problem, but our solution programmatically checks the existence of this license and displays it in the Webvisu. Has anyone else gone through this ?
Depending on the task configuration it won't work this way. I mean, the project I worked with, the time slice was 2ms for the fastest task, and the Wifi latency can easily reach and surpass this time. In other hand, if you are running a lightweight task for a bare interlock application, you can configure the task time slice for a mild value.
Indeed, the license is binded not only to the hardware, but also to the OS itself, as for example, you cannot change the ETH port name nor the Host name itself, which is a problem if you need to update your system in order to comply with changes on your project.
Thanks for your support, we'll try as you recommnded. BTW, Task1 is just for low speed procedures, not critical timmming constraints, whereas Task0 is for 'realtime' jobs.