Post by wbj0t on connect IDE to plc that uses modem ppp
CODESYS Forge
talk
(Post)
Hello everyone! I have an PLC device that uses modem ppp connection to the internet with white IP. Device PPP connection with modem operator established, so I can connect to this device via SSH also within Codesys IDE (check version, info, etc...) BUT, I cant establish connection to this device in the device gateway options for application upload and debugging. How can I do this? Im trying set my device remote IP and port 11740, but, as I understand, it is wrong decision, because the next logic in this connection: local W10 service (Codesys Gateway) listen on 1217, then (some how) this service scanning local networks for seeking any local IP which listening on port 11740, and then connects and writes there. OR IM WRONG?:) W10 tool 'Test-NetConnection' with parameters 'ip -Port 11740' succeeded with True. Need some help, please :)
Last updated: 2024-05-21
Post by alexgooi on FB_INIT in library
CODESYS Forge
talk
(Post)
Hi Paro, I have tried this and it seemed to have solved the problem, thank you very much!
Last updated: 2024-05-23
Post by viksym on Get text from textlist
CODESYS Forge
talk
(Post)
Thank you, but sadly I already tried this and it also doesn't work. It's not doing anything.
Last updated: 2024-06-03
Post by codesysdave on Using globals without a prefix (bMyTag vs GVL.bMyTag)
CODESYS Forge
talk
(Post)
Over 5 years later, you helped me tremendously. Thanks. And great kitty picture.
Last updated: 2024-06-04
Post by nano on Persistent variable storage
CODESYS Forge
talk
(Post)
use the persistence manager. with the persistence-manager, you're aböe to define how, when and where you store your data
Last updated: 2024-06-16
Post by mos89p on Data source and safety PLC
CODESYS Forge
talk
(Post)
it works only for me when i specify an IP adress in communication tab
Last updated: 2024-06-17
Post by paro on SysPlcCtrl23 and C0338: The library 'cmperrors interfaces, 3.5.5.0 (system)' is supported just in 32 bit applications
CODESYS Forge
talk
(Post)
CmpApp https://forge.codesys.com/prj/codesys-example/application-man/home/Home/
Last updated: 2024-06-17
Post by kuegerls on SysProcessExecuteCommand2 and CANopen Device
CODESYS Forge
talk
(Post)
Hello, CODESYS Control is running on my RevPi, and my system communicates over a CANbus with a master using the ConnectCan module (Slave - CANopen Device). The communication works perfectly fine so far. However, as soon as I call a Python script with "SysProcessExecuteCommand2" that creates a CSV file and executes without errors, the master does not adopt any changes to the Transmission Process Data Objects (TPDOs). I don't quite understand what one has to do with the other, and perhaps someone can help me with this. Here is my script call: SysProcess.SysProcessExecuteCommand2(pszCommand:='python /home/pi/test.py', pszStdOut:=sCMDOutput, udiStdOutLen:= SIZEOF(sCMDOutput), pResult := ADR(eResult)); Thank you in advance! Best regards, Stefan
Last updated: 2024-06-20
Post by kuegerls on SysProcessExecuteCommand2 and CANopen Device
CODESYS Forge
talk
(Post)
I am now executing the process in a separate task with lower priority, but unfortunately, the connection to the master is still interrupted.
Last updated: 2024-06-21
Post by nano on variables between two applications
CODESYS Forge
talk
(Post)
use an gvl for interact variables beetween apps and threads. this should work
Last updated: 2024-06-23
Post by rafael on Wbm/runtime and visualization login
CODESYS Forge
talk
(Post)
Solved, there is a configuration inside the WBM where I can disable this login option (config>ports config)
Last updated: 2024-06-25
Post by ranadheer on Control Win SL licensing
CODESYS Forge
talk
(Post)
Hi johnlee and jeffgamsby Is Control win SL is a SoftPLc Extension SL
Last updated: 2025-10-18
Post by eschwellinger on search runtime 4.9.0.0 for pi 3
CODESYS Forge
talk
(Post)
runtime could always be in latest version. just keep everything in CODESYS stable and deploy the latest runtime. This will work.
Last updated: 2025-10-25
Post by vtec35 on search runtime 4.9.0.0 for pi 3
CODESYS Forge
talk
(Post)
i m not familiar with installation/firmware/version/runtime, juste the machine worked fine before, and now kaput lol
Last updated: 2025-10-26
Post by davidbo on How to stop dhcpcd and use SysSockSetIpAddressAndNetMask to set address?
CODESYS Forge
talk
(Post)
The reason for why CODESYS halts was a CODESYS watchdog exception. 'sudo ip' takes a long time.
Last updated: 2025-11-04
Post by eschwellinger on Stepper motor control with (SM_Drive_RaspStepper_direct)
CODESYS Forge
talk
(Post)
..the missing part is which Softmotion version is installed. Check it in the CODESYS Installer and update it to latest version.
Last updated: 2025-11-10
Post by alexmserra on CAN and CANopen on Raspberry PI - steps or tutorial?
CODESYS Forge
talk
(Post)
Good afternoon, how does the CANbus configuration look in Codesys, for example, network 0?
Last updated: 2025-12-09
Post by eschwellinger on Deploy LicenseServer for Linux SL
CODESYS Forge
talk
(Post)
yes it is and it need to be realtime capable with a preempt_rt patched kernel.
Last updated: 2025-11-17
Post by eschwellinger on Deploy LicenseServer for Linux SL
CODESYS Forge
talk
(Post)
yes it is and it need to realtime capable with a preempt_rt patched kernel.
Last updated: 2025-11-17
Post by ducng on SMC_ERROR.SMC_AXIS_NOT_READY_FOR_MOTION when using Drive Virtual
CODESYS Forge
talk
(Post)
I'm using drive virtual and cannot run the motion command. Please help.
Last updated: 2025-11-26
Post by eschwellinger on Soft Container License issue with ARM64 Linux
CODESYS Forge
talk
(Post)
van you execute cmu -x to see if dongle and softcontainer are available.
Last updated: 2025-12-08
Post by matteodigani on Error using function block "Write alias address"
CODESYS Forge
talk
(Post)
Hi, I've got a problem using the function block "Write alias address" (ETCStack library 4.9.0.0). this is the code: EtherCAT_1(); IF EtherCAT_1.ConfigRead AND enable THEN CASE seq OF 0: exec := FALSE; T.IN := TRUE; T.PT := T#10S; T(); IF T.Q THEN seq := 1; T.IN := FALSE; END_IF ; 1: T.IN := FALSE; T(); //THIS ONE WORK CORRECTLY! WrAliasAdd.xAbort := FALSE; WrAliasAdd.usiCom := DWORD_TO_USINT(EtherCAT_1.InstanceNumber); WrAliasAdd.wSlaveAddress := 1002; WrAliasAdd.xAutoIncAdr := FALSE; WrAliasAdd.uiAliasAddress := 19; WrAliasAdd.udiTimeOut := 3000; IF start THEN exec := TRUE; ELSE IF NOT error THEN start := TRUE; END_IF END_IF IF WrAliasAdd.xDone THEN start := FALSE; done := TRUE; error := FALSE; exec := FALSE; seq := 5; END_IF IF WrAliasAdd.xError THEN start := FALSE; done := FALSE; error := TRUE; exec := FALSE; END_IF ; 5: exec := FALSE; T.IN := TRUE; T.PT := T#1S; T(); IF T.Q THEN seq := 10; END_IF ; 10: T.IN := FALSE; T(); //THIS ONE GIVES ME AN ERROR! WrAliasAdd.xAbort := FALSE; WrAliasAdd.usiCom := DWORD_TO_USINT(EtherCAT_1.InstanceNumber); WrAliasAdd.wSlaveAddress := 1006; WrAliasAdd.xAutoIncAdr := FALSE; WrAliasAdd.uiAliasAddress := 25; WrAliasAdd.udiTimeOut := 1000; IF start THEN exec := TRUE; ELSE IF NOT error THEN start := TRUE; END_IF END_IF IF WrAliasAdd.xDone THEN start := FALSE; done := TRUE; error := FALSE; exec := FALSE; seq := 99; END_IF IF WrAliasAdd.xError THEN start := FALSE; done := FALSE; error := TRUE; exec := FALSE; END_IF ; ELSE ; END_CASE WrAliasAdd(xExecute := exec); END_IF The first one slave ethercat works correctly, but the other one gives me an error. Attached the ethercat configuration of the devices. All the devices are set "Optional". So my idea is to enable only the first one (1002) and the fifth one (1006).
Last updated: 2025-10-01
Post by e13740e on Сalling the context menu from the keyboard
CODESYS Forge
talk
(Post)
Hello. I have a question for you, perhaps you have an answer to it. Regarding calling the Context menu from the keyboard in Devices, specifically calling the context menu window from the keyboard via an assigned combination. Goal: to have the ability to navigationally add internal Objects (Methods, Properties) to Function Blocks from the keyboard without using the mouse. The Codesys environment interface does not allow Windows access to this via Shift+F10. Externally (outside the Codesys environment), the hotkey call for the context menu (Shift+F10) from the keyboard works in various environments, but at the same time, in Codesys it does not (it doesn't work). I have already tried various options on my own to achieve this (but unsuccessfully): Tools\Customize\Keyboard\Objects (the set combination does not give the desired result) Tools\Customize\Keyboard\Objects... (the set combination is extremely useful as it provides access to adding objects directly to Devices but does not provide the ability to add an internal object (Method/Property) to a Function Block). Thank you in advance for your help!!! P.S. I have already started trying to implement a script-based solution to call the context menu via AutoHotkey - by relocating the mouse cursor to the area of the navigational selection with a subsequent call of the context menu on it and relocating the mouse cursor back to its initial position. And in order not to "reinvent the wheel," I am writing this request to you!!!
Last updated: 2025-10-05
Post by e13740e on Сalling the context menu from the keyboard
CODESYS Forge
talk
(Post)
Hello. I have a question for you, perhaps you have an answer to it. Regarding calling the Context menu from the keyboard in Devices, specifically calling the context menu window from the keyboard via an assigned combination. Goal: to have the ability to navigationally add internal Objects (Methods, Properties) to Function Blocks from the keyboard without using the mouse. The Codesys environment interface does not allow Windows access to this via Shift+F10. Externally (outside the Codesys environment), the hotkey call for the context menu (Shift+F10) from the keyboard works in various environments, but at the same time, in Codesys it does not (it doesn't work). I have already tried various options on my own to achieve this (but unsuccessfully): Tools\Customize\Keyboard\Objects (the set combination does not give the desired result) Tools\Customize\Keyboard\Objects... (the set combination is extremely useful as it provides access to adding objects directly to Devices but does not provide the ability to add an internal object (Method/Property) to a Function Block). Thank you in advance for your help!!! P.S. I have already started trying to implement a script-based solution to call the context menu via AutoHotkey - by relocating the mouse cursor to the area of the navigational selection with a subsequent call of the context menu on it and relocating the mouse cursor back to its initial position. And in order not to "reinvent the wheel," I am writing this request to you!!!
Last updated: 2025-10-05
Post by george32 on TCP Server
CODESYS Forge
talk
(Post)
Thank you for your advice Rinie, I have tried to follow this example but found one problem.When I disconnect with Hercules the system does not acknowledge the lost of its connection this could result in critical errors. Because of this error I am trying to implement the Syssocket library. With this library I am having a problem which I could not solve. I have the following code: ip_adres : STRING :='0.0.0.0'; port : WORD := 5000; iStep : INT := 1; // Socket information Socket_handler : SysSocket_Interfaces.RTS_IEC_HANDLE; Socket_handler_result : SysSocket_Interfaces.RTS_IEC_RESULT; Socket_adress : SysSocket_Interfaces.SOCKADDRESS; Addres_Convert : SysSocket_Implementation.RTS_IEC_RESULT; // Bind information Bind_handler : SysSocket_Interfaces.RTS_IEC_RESULT; // Listener Information Listener_handler : SysSocket_Interfaces.RTS_IEC_RESULT; Addres_Convert := SysSocket_Implementation.SysSockInetAddr(szIPAddress:= ip_adres,pInAddr:= ADR(Socket_adress.sin_addr)); Socket_adress.sin_family:= SysSocket_Interfaces.SOCKET_AF_INET; Socket_adress.sin_port := SysSocket_Implementation.SysSockHtons(usHost:= port); CASE iStep OF 1: // Create Socket Socket_handler :=SysSockCreate( iAddressFamily :=SysSocket_Interfaces.SOCKET_AF_INET, diType:=SysSocket_Interfaces.SOCKET_STREAM, diProtocol:=SysSocket_Interfaces.SOCKET_IPPROTO_TCP, pResult:=ADR(Socket_handler_result)); IF Socket_handler = SysSocket_Interfaces.RTS_INVALID_HANDLE THEN iStep := 1; ELSE iStep := 2; END_IF 2: Bind_handler := SysSocket_Implementation.SysSockBind( hSocket:=Socket_handler, pSockAddr :=ADR(Socket_adress), diSockAddrSize:=SIZEOF(Socket_adress) ); 3: Listener_handler := SysSocket_Implementation.SysSockListen( hSocket :=Socket_handler, diMaxConnections :=1); END_CASE When I am trying to get this working, the SysSockBind function gives a value of 16#207 which means adress already in use. I find this weird because of the IP-adress of 0.0.0.0. I think I am converting the Ip-adress in the wrong way, but the code does not give a error arround this. So therefore I cannot find the solution to this problem. I hope someone could help me with this problem. Thanks in advance George
Last updated: 2025-02-20
To search for an exact phrase, put it in quotes. Example: "getting started docs"
To exclude a word or phrase, put a dash in front of it. Example: docs -help
To search on specific fields, use these field names instead of a general text search. You can group with AND or OR.