Post by fedex03 on Read Global Variable from an IoT Device
CODESYS Forge
talk
(Post)
Hello everyone, I am new to the forum, and to programming with CodeSys. I am dealing with IoT device for industry and I should check if a device is able to read/write global variables in an EtherNet/IP Master. Since I do not have an EtherNet/IP PLC, I thought of using CodeSys as a softPLC. I created a program with a set of global variables (GVL) and a task that increments them. I would like to know if I need to enable any options so that the global variables can be read by IoT devices. My device supports Class 2 Class (Explicit Messaging Connection) communication. Thank you in advance for your help.
Last updated: 2025-07-22
Post by antonz on CoDeSys v3.5: creating libraries for both 32-bit and 64-bit controllers
CODESYS Forge
talk
(Post)
Follow up question: in the Project Settings, under Library Development, there is an option related to this: Check all Pool Objects -> Pointer size to use Options are: * 32 Bit * 64 Bit * 32 and 64 Bit The descriptions and online help suggest to me this is only relevant for checking and showing any incorrect pointer types as an error in the IDE. E.g. using a DWORD to store a pointer value on a 64-bit controller. It would not control the creation of either 32-bit or 64-bit compiled libraries. Is that correct?
Last updated: 2025-09-01
Post by jrsantab on Remote connection to ifm PLC & HMI
CODESYS Forge
talk
(Post)
Hello, We are trying to access remotely a PLC (ifm 711S) and a HMI (ifm CR1077). Both are connected to a Teltonika RUT200 router. We establish the connection with OpenVPN Connect and can ping both controllers. We have a laptop that, most of the time, will allow Codesys connection to the controllers, but we have several other computers that are unable to connect, although all of them can ping successfully. We cannot find any difference in the configuration or software installed from one PC to another. If we connect to the router by WIFI, instead of VPN, all the computers work fine. We know that scanning the network will not work over a remote connection, so we input the controller IP directly. Has anyone had a simlar problem and can offer any hint on what to check to meke the connection run?
Last updated: 2024-04-11
Post by jrsantab on Remote connection to ifm PLC & HMI
CODESYS Forge
talk
(Post)
Hello, We are trying to access remotely a PLC (ifm 711S) and a HMI (ifm CR1077). Both are connected to a Teltonika RUT200 router. We establish the connection with OpenVPN Connect and can ping both controllers. We have a laptop that, most of the time, will allow Codesys connection to the controllers, but we have several other computers that are unable to connect, although all of them can ping successfully. We cannot find any difference in the configuration or software installed from one PC to another. If we connect to the router by WIFI, instead of VPN, all the computers work fine. We know that scanning the network will not work over a remote connection, so we input the controller IP directly. Has anyone had a similar problem and can offer any hint on what to check to make the connection run?
Last updated: 2024-04-11
Post by alimans on Unrecoverable SoftMotion state after switch to PreOp
CODESYS Forge
talk
(Post)
For anyone still experiencing this issue, hereβs how I managed to solve it: Symptoms: 1. Sometimes, on the first start of CODESYS Runtime, the modules fail to run. 2. After disconnecting and reconnecting the communication cable, the drive does not start again. 3. MC_Reset cannot clear the fault. Solution (what worked for me): 1. Check the axis communication using the SMC_CheckAxisCommunication function block (FB). 2. If CheckAxisCommunication.eComState of the axis is equal to or higher than SMC_CommunicationState.SMC_COMSTATE_BASE_COM_INITIALIZATION, then 3. Use the SMC3_ReinitDrive function block to reset the drive β and it works. For more information, refer to the official CODESYS documentation: π https://content.helpme-codesys.com/en/libs/SM3_Basic/Current/SM3_Basic/DriveInterface/AXIS_REF/SMC3_ReinitDrive.html
Last updated: 2025-10-23
Post by risele on dynamic modbus devices
CODESYS Forge
talk
(Post)
Have the same issue: I'm making a test setup for modbus devices testing and calibration. One is run for every possible address, and it starts with minimal request: if the device is found, it continue to work with it, otherwise it's set to Disabled temporary. Those state machines are running under FOR cycle, and disabled are just skipped. Every instance have its own timer for not running too frequently and a start delay, so the actual requests are separate in time. I also check not for a single error, but have some timer to allow one-two timeouts. The small program disables and re-enables devices temporary (manually, since i could not iterate over MB devices). VAR Reset:ARRAY[1..GVL_MB.MD_COUNT] OF R_TRIG; i:INT; END_VAR {IF hasconstantvalue(GVL_MB.MD_COUNT, 1, >= )} i:=1; MD_1.Enable:=GVL_MB.MDPortsEnable[i]; Reset[i](CLK:=GVL_MB.MDPortsEnable[i]); MD_1.xReset:=Reset[i].Q; {END_IF} {IF hasconstantvalue(GVL_MB.MD_COUNT, 2, >= )} i:=2; MD_2.Enable:=GVL_MB.MDPortsEnable[i]; Reset[i](CLK:=GVL_MB.MDPortsEnable[i]); MD_2.xReset:=Reset[i].Q; {END_IF} There is also program to re-enable devices periodically. METHOD ScanBus VAR_INPUT END_VAR VAR j:INT; (*block auto scanning if calibration is running for any device since it's data-reach process that should not be interrupted with modbus timeouts *) CalibrationBusy:BOOL:=FALSE; END_VAR CalibrationBusy:=FALSE; FOR j:=1 TO GVL_MB.MD_COUNT DO CalibrationBusy:=CalibrationBusy OR MD_Calibrate.AutoTesters[j].xBusy; END_FOR; IF CalibrationBusy THEN RETURN; END_IF tBusScanSchedule(IN:=(NOT tBusScanSchedule.Q), PT:=tBusScanPeriod); IF (NOT tBusScanDelayer.Q) AND (tBusScanSchedule.Q OR (NOT xFirstScanPerforemed)) THEN xBusScanBusy:=TRUE; MissingCounter:=0; xFirstScanPerforemed:=TRUE; FOR j:=1 TO GVL_MB.MD_COUNT DO (* MD_Calibrate is main calibration program. Identifiers - is array of State machines mentioned above Phase_Faulted is a state of Identifiers where I'm sure device is missing on the bus *) IF MD_Calibrate.Identifiers[j].state=eStateMDIdentifier.Phase_Faulted THEN MD_Calibrate.Identifiers[j].Rescan(); MissingCounter:=MissingCounter+1; END_IF END_FOR END_IF tBusScanPauser(IN:=tBusScanDelayer.Q AND (MissingCounter>0),PT:=tBusScanDelay*MissingCounter); xBusScanBusy:=tBusScanPauser.Q; xFirstScanPerforemed:=xFirstScanPerforemed OR tBusScanPauser.ET>=tBusScanPauser.PT; Also the GUI have buttons for each address possible that re-enables the device if required.
Last updated: 2026-02-13
Post by eschwellinger on How to configure CODESYSControl_User.cfg in order to use a specific network card for OPCUA Server
CODESYS Forge
talk
(Post)
check this faq section here: https://faq.codesys.com/plugins/servlet/mobile?contentId=102137886#content/view/102137886
Last updated: 2023-08-25
Post by sedoerr on Check For Open Dialogs On Client
CODESYS Forge
talk
(Post)
FUNCTION CheckDialogOpen : BOOL VAR_INPUT sDialogName : STRING; END_VAR VAR pstClientData : POINTER TO VisuElems.VisuStructClientData; itfDialogManager : VisuElems.IDialogManager; itfMyDialog : VisuElems.IVisualisationDialog; END_VAR VisuElems.g_ClientManager.BeginIteration(); WHILE (pstClientData := VisuElems.VisuElemBase.g_ClientManager.GetNextClient()) <> 0 DO itfDialogManager := VisuElems.g_VisuManager.GetDialogManager(); itfMyDialog := itfDialogManager.GetDialog(sDialogName); CheckDialogOpen := VisuDialogs.VisuDlgUtil_IsDialogOpen(itfMyDialog,pstClientData,itfDialogManager); IF CheckDialogOpen THEN EXIT; END_IF END_WHILE
Last updated: 2023-09-26
Post by simotion on Axis variable indicating modulo of finite setting
CODESYS Forge
talk
(Post)
What variable of the axis indicates it is a modulo of finite axis? I want to check that in the code, to adopt my motion code between the two types.
Last updated: 2023-11-24
Post by murdemon on CNC Jumps G20 - SMC_NCInterpreter and long time to process
CODESYS Forge
talk
(Post)
Best way.. in CNC program before G20 jump, set G75. And for fbCheckVel execute if fbInterpreter.bWorking AND fbInterpreter.bLastObjectWasAdministrative; and same for Interpolator. " ..... dumm := fbInterpreter.bWorking AND fbInterpreter.bLastObjectWasAdministrative; //Check velociteses. fbCheckVel(bExecute := (fbInterpreter.bDone or) dumm, bAbort := gCNC.bCycleStop, poqDataIn := fbInterpreter.poqDataOut); "
Last updated: 2024-08-03
Post by dkugler on Webvisu client connection monitoring
CODESYS Forge
talk
(Post)
is your pointer set to the correct visu client? set a breakpoint in your client iteration and step through the active visu clients like programming system, targetvisu, webvisu,... and check the last usage value of each client
Last updated: 2024-08-30
Post by reinier-geers on Syssockping hang up V3.5.9.2
CODESYS Forge
talk
(Post)
For data logging on a server i check the connection with Syssockping. When i do that it seems to hang uo the system once a while for 13 seconds. Why ??
Last updated: 2024-09-02
Post by tk096 on Creating Custom Kinematics
CODESYS Forge
talk
(Post)
Hi, a few questions that you can check regarding your kinematics: * Does your kinematics FB implement the interface ISMKinematicWithInfo2? * Does AxesToCartesian(a, out f) -> CartesianToAxes(f, out aCompare) result in a=aCompare for random positions a? * Do you return a valid rotation matrix f.mR (SMC_Matrix3) in AxesToCartesian()?
Last updated: 2024-09-06
Post by dengsberg on Check Connection Status of the OPC-UA Server for Data Source Manager with OPC-UA Client
CODESYS Forge
talk
(Post)
Another question is how to test the quality of the individual variable?
Last updated: 2024-09-07
Post by lyngaansns on .project.~u save frequency
CODESYS Forge
talk
(Post)
It would be such a simple fix to first check if the file is missing or changed before writing to it, onedrive only has a problem because codesys writes to the file every second no matter the change.
Last updated: 2024-09-11
Post by markushunter on loading delay with the option "check client animations and overlay of native elements"
CODESYS Forge
talk
(Post)
Hey etiennenneu, I have the same problem with our prototype cell application. Do you have found a workaround for it? Best regards, Markus
Last updated: 2024-11-04
Post by etienneneu on loading delay with the option "check client animations and overlay of native elements"
CODESYS Forge
talk
(Post)
Hello Markus, Unfortunately, I haven't been able to find a suitable solution to the problem yet. Best regards, Etienne
Last updated: 2024-11-05
Post by timvh on Can't find the safety manual in the documentation
CODESYS Forge
talk
(Post)
I also couldn't find it at first, but please check this: C:\Program Files\CODESYS ..your version..\CODESYS\CODESYS Virtual Safe Control SL\Delivery\Manuals\
Last updated: 2025-01-23
Post by timvh on Web Client HTTPS Communication Issue
CODESYS Forge
talk
(Post)
Did you create a certificate on that device already? Go to the menu View - Security Screen and check the certificates on the device. There should be one for your webclient FB.
Last updated: 2025-06-06
Post by eschwellinger on Deploying to raspberry pi 5 hangs
CODESYS Forge
talk
(Post)
Is sure that on the PI5 is running bullseye, I would expect bookworm. Anyway check if a ssh connection by putty work on this PI5. (use putty for example)
Last updated: 2025-06-22
Post by rajatdas2005 on Codesys Virtual control SL
CODESYS Forge
talk
(Post)
Hi, Thank you for your reply. 1. Codesys IDE version is it showing 3.5 SP 20. please check the attachment. 2. Codesys Virtual control for SL -- version is 4.16
Last updated: 2025-08-07
Post by rajatdas2005 on Codesys Virtual control SL
CODESYS Forge
talk
(Post)
Hi, after this when I am trying login I am facing another error. However in the logfile there is no error. Please check the screenshot
Last updated: 2025-08-08
Post by eschwellinger on WAGO PFC200 FW25 unable to connect
CODESYS Forge
talk
(Post)
please double check if you have in the project the same plc type like online available. (untag the " Hide non matching device filter.."
Last updated: 2023-12-09
Post by eschwellinger on Codesys Control Raspberry PI 4.10.0 - missing 'Update Raspberry PI' option
CODESYS Forge
talk
(Post)
check if the RaspberryPI Package is installed (CODESYS Installer) If this is the case dd the menu command by 'tools->customize'again
Last updated: 2024-01-09
Post by ragarcia on Error while using UpdateConfiguredIPSettings to change IP address
CODESYS Forge
talk
(Post)
I did check I cannot see any error log. It is when executing the Reconfigure function that I get an error as return from that function.
Last updated: 2024-02-19
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.