Pass Codesys recipes between two controllers that are not on the same network

Codesys 3.5.21.3 using WebVisu on a CC-100.

I have a client that is hoping that he can download a recipe from my recipe manager in one PLC and upload it to another. The two PLCs are not on the same network. My research is pointing me to using a button in WebVisu with a file transfer command. But I’m not having any luck with this working. Here is a screenshot to further clarify what I have setup:

When running the command, I get an error code of 7.

I was pointed to something that says that the Linux running on the CC-100 requires a line or two added to the CODESYSControl.cfg file in order to change some security settings for file transfers. Here are the lines I added to no avail (every change I’ve made still results in error code 7):

CmpWebServerHandlerV3

AllowFileTransferServices=1

CallVisuServiceDirectly=0

CmpWSServer

AllowFileTransferServices=1

This might be completely the wrong approach and there might be a better/easier way. I don’t love having to edit the .cfg file for every PLC I program but if that’s the only way, so be it. I know that it’s possible to maybe do this using FTP but my clients need something much simpler and intuitive. FTP would be way above the common users’ abilities.

Hello,
Depending on the FW number the place have changed.
First, Look in those files:

/etc/codesys3.d/CmpWSServer.cfg

/etc/codesys3.d/CODESYSControl.cfg

/etc/codesys3.d/RtsCore.cfg

if you have the line:

AllowFileTransferServices=0

Next if you found the line, change the 0 to 1, save it and reboot the PLC.
If you don’t have the line search for the header:

[CmpWebServerHandlerV3]

If you find the header, add

AllowFileTransferServices=1

after the header,
If you don’t have the header, in the file

/etc/codesys3.d/CODESYSControl.cfg

add

[CmpWebServerHandlerV3]
AllowFileTransferServices=1

And restart the PLC.

After you have done this you will need the right function blocks in the project.
Here is the official sample program from codesys:

This worked great. This is essentially what I was doing but apparently there is a /etc/codesys3.d/CODESYSControl_User.cfg file and that is where it needed the line added. I had found a CODESYSControl.cfg in a home directory and made the change but I’m guess that the CODESYSControl_User.cfg file in the etc directory overrides whatever is in the other file. Thanks for the help! It got me to where I needed to be.