If your Control Win is the Modbus "Master" then your configuration should be something like: Modbus_COM (Serial port) - Modbus Master (this is the Control Win SoftPLC actively setting up the communication) - Modbus Slave (this is then your WAGO 750-315) You need to add channels to the Modbus Slave configuration to inform the master which variables to read/write from the Wago module. The way you configured it now, the Control Win is also a slave. PS, don't forget to put the PLC (Control Win) in R...
You cannot create an array of Programs. Create a Function Block for this purpose instead of a program. You can create an array of FB instances and call each instance in a loop.
First of all you need to enable "Use unicodestrings" in the Visualization Manager. This function returns a pointer to a WSTRING (not STRING). To get this wstring value, do something like this: VAR myWstringVariable : WSTRING(255); END_VAR myWstringVariable := myResult^; // this is dereferencing the pointer to the WSTRING.
https://content.helpme-codesys.com/en/CODESYS%20Git/_git_using_scripting.html
With new runtimes, the access outside the runtime folder is protected. See: https://forge.codesys.com/forge/talk/Engineering/thread/3da9ded84e/
I think, that if you set the timebase to T#0s, that it will be reset. But you can also make your own ramp down with a Timer (make sure the PT time is not T#0s):
I think, that if you set the timebase to T#0s, that it will be reset. But you can also make your own ramp down with a Timer:
The string_Util_Intern is not the library I referred to. With a CONCAT function (also with the string util library) a search is done for the NULL character. If you concatenate 20000 characters to one string, then the longer the string, the longer it takes to find this NULL character.