See the attached picture.
Open the CODESYS installer (you can open this as stand-alone tool, or from CODESYS Tools menu). Then go to Browse, search for Git and select install.
If you are really happy with PLCnext engineer, then just use that. There is probably also something in CODESYS that cannot be done in PLCnext engineer. But if you are forced to make something like this in CODESYS, then maybe just use CFC instead of FBD.
A standard string is actually a list of bytes that represent the ASCII code for each character. The following part of code will give you the ASCII code of one of the characters in the string: byChar := sInput[i];
Go in Windows to this location. Right click on this file and go to properties. Is it in Read-only state? Then CODESYS cannot open in Write mode.
A branch is a branch (doesn't grow back to the tree). But what you are trying to do is use several XORs. See attachement.
Nice puzzle for a Saturday afternoon :-). Here my suggestion: VAR sInput : STRING := 'R123'; byChar : BYTE; sOutput : STRING; i: INT; END_VAR sOutput := ''; IF LEN(sInput) = 0 THEN RETURN; END_IF FOR i := 0 TO LEN(sInput) - 1 DO byChar := sInput[i]; sOutput := Concat(sOutput, TO_STRING(byChar)); END_FOR
The Modbus Master example must work. We have used this several times on multiple projects. See https://forge.codesys.com/prj/codesys-example/modbus/home/Home/