Post by corriibme on Setting array values with JSON Utilities SL
CODESYS Forge
talk
(Post)
I have been trying to set an array value to a JSON structure of this form: {"key": [1,2,3,4]} While I have been able to create the key and set its value to an empty array, I've not had any luck in putting any value in that array. objindex:= fb_JBuilder.SetKeyWithArray("Key6", diParentIndex := diRootIndex); objindex2:= fb_JBuilder.SetValue(value:= iValue2, diParentIndex:= objindex); iValue2: ARRAY[0..3] OF INT:= [1,2,3,4]; The two lines of code above produce {"key6": []} . The second line essentially has no effect.
Last updated: 2024-05-12
Post by micik on CAA File, how to check whether file exists or not
CODESYS Forge
talk
(Post)
Hello, what would be the most efficient way to check whether the file exists or not. I don't want to use file.Open function, it seems like rather inefficiet operaton. I considered GetAttribute function, but this function doesn't accept filename (with path) as an input. Basically I need to check first time when program is loaded to the runtime i.e. when application is started for the first time, whether a file exists on the specific location or not.
Last updated: 2024-05-16
Post by tomas111 on OPC UA Client API
CODESYS Forge
talk
(Post)
I ran into a problem. Uploaded an example (https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_uacapi_example.html) After launch. on the emulator. I see that I am having problems: - UaExpert does not connect. There are many servers but no connection. - I can’t transfer the certificate from quarantine to trusted ones. There is some problem with creating the certificate. CS 19.2. If anyone has had similar problems, please give me advice. Thank you.
Last updated: 2024-05-20
Post by esave on Softmotion Axis Controll
CODESYS Forge
talk
(Post)
Hello everybody I have two of these EtherCat CiA402 stepper driver from Leadshine: https://www.leadshine.com/product-detail/EM3E-556E.html I want to controll them. I already have implemented them in Codesys with Softmotion. I see the position, the velocity and the status word so I can read everything. See picture 1. But when I want to write something like MC_Power or MC_MoveAbsolut with the SM3_Basic library it wont work and with the MC_Reset POU it shows: "SMC_R_DRIVE_DOESNT_ANSWER". See picture 2. Can somebody help me? Thanks a lot esave
Last updated: 2024-05-24
Post by yofi on Raspberry PI change tag only responds after stopping PLC
CODESYS Forge
talk
(Post)
Using V19 Patch 7 and 4.11.0.0 for Pi 4 Model B, My problem is whenever I change a tag e.g bool from true to false it will change in software but the pin will only go high to low after pressing stop PLC in codesys and same if i want to bring it back to high, have to login start plc change it and stop plc in order to change. any insight ? thanks
Last updated: 2024-05-25
Post by robpqs on Visual error with cut/shredded texts
CODESYS Forge
talk
(Post)
Hello, This is an old topic but it might help. This can/should be solved by either of the solution below 1. disabling the "Support client animations and overlay of native elements" option in the visualization Manager (which is handy) 2. disabling the "Hardware acceleration" of the browser. Saw it happening on some clients/PC and on other it works fine with the same webvisu... (Version 3.5.19.20 with visu package 4.4.0.0) Hopefully it will be fixed it in a next release. I haven't tested the 4.5.0.0 visu packages yet. RP,
Last updated: 2024-05-27
Post by paro on "You are using inconsistent overlay settings, please check your compiler defines for the current application" error
CODESYS Forge
talk
(Post)
Disable the setting "Support client animations and overlay of native elements" in the Visu Manager. Activating this setting should also set a compiler define (GENERATE_OVERLAY_VISU). Maybe the compiler define is set and the feature is not activated in the visu manager or or the other way round.. rightclick the Application -> Properties -> Build https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_dlg_properties_build.html
Last updated: 2024-05-29
Post by nelsonreis on Help with IFM EcomatController CR710S in Codesys
CODESYS Forge
talk
(Post)
Hi, Recently I bought a CR710S controller from IFM. I installed Codesys V3.5 SP11 as recommended and all required packages (including the safety packages and the IOWrapper package). However, I can't even open the project template without getting errors related to libraries failing to load (below in the first print screen). Then, clicking ok appears only 2 errors (second print) and when trying to go to simulation and login I get another 2 different errors (third print). I really appreciate any help anyone can provide, I'm completely stuck on this right now.
Last updated: 2024-06-04
Post by joep on Custom robotics kinematics model debugging
CODESYS Forge
talk
(Post)
When trying to move my axis using any group move instruction I get the following error: SMC_CP_INVALID_PATH_ELEM and axisgroup goes into errorstop state. I tested my methods thoroughly which makes it hard for me to debug. Are there some hidden rules I need to abide to? How would one go about debugging a custom robotics model, since the information inside isn't accesible. Is it possible to find the source of where the function breaks? Any hint in the right direction would be appreciated. Best regards
Last updated: 2024-06-08
Post by rabaggett on No Visu on RasPi
CODESYS Forge
talk
(Post)
OK, I got this to work as shown above in mos89p's comment. What I did: Tools/Update Raspberry Pi. Reloading the runtime seems to have solved the web problem. I can view the visualization on the Pi and laptop using a browser as shown above. Thanks! But Isn't the visualization supposed to take over the screen of the Raspi? When I run visu projects on Windows or Wago, the visualization shows on that device's screen by default.. But this is not happening in this case
Last updated: 2024-06-20
Post by ranadheer on Request to share documents about SoftPLC Extension SL
CODESYS Forge
talk
(Post)
Hello Everyone Our team is planning to begin an industrial automation project and we are currently evaluating the use of SoftPLC Extension SL as a potential solution. As we are in the early stages and have yet to start the implementation, we kindly request access to official reference documents, technical manuals, and datasheets relating to SoftPLC Extension SL. Thank you very much for your assistance. We look forward to your response.
Last updated: 2025-10-18
Post by mizi on SM_Drive_Virtual
CODESYS Forge
talk
(Post)
Hi I recently started learning Codesys SoftMotion. At first, I mainly used YouTube videos. I stopped at two videos where the same problem keeps recurring. fbReadPos( Axis := X_Axis, Enable := TRUE, Position => gAxes.lrActualPos); <- axis cannot move I checked the entire code line by line. Zero errors. GPT spits out nonsense, throwing up increasingly worse errors. And when I copy its code, it says the code is wrong and gets stuck in a loop of its own stupidity. Can anyone explain why it doesn't work? Link to the video below: https://www.youtube.com/watch?v=CYa2HvYZgbM&list=PLsEhEcYjG7na0OveU7cqFXBx7ATyGGn0A&index=3
Last updated: 2025-10-21
Post by ducng on SMC_FB_WASNT_CALLED_DURING_MOTION when enable MC_MoveRelative
CODESYS Forge
talk
(Post)
Hello, I am using an Inovance PLC to control a servo via EtherCAT. When I enable MC_POWER, the drive switches to Run mode successfully. After that I call MC_MoveRelative, but I get the error SMC_FB_WASNT_CALLED_DURING_MOTION. The servo vibrates but the motor shaft does not move. I am new to EtherCAT/servo motion control, so I would appreciate any guidance or suggestions for troubleshooting this issue. Thank you in advance for your help.
Last updated: 2025-11-02
Post by bertus on Axis directions in CNC editor not using right-hand rule?
CODESYS Forge
talk
(Post)
Hello, Coming from robotics, I'm used to coordinate systems using the right-hand rule. But when I created below small NC program in the Codesys CNC editor, I noticed that the axis triad's Z-axis is flipped (see attached screenshot), resulting in left-hand rule. Is there a setting to change this? Or am I misunderstanding something in the CNC world? N000 G00 X0 Y0 N010 G01 X100 N020 G01 Y50 N030 G01 X0 N040 G01 Y0 N050 G01 Z25
Last updated: 2026-01-02
Post by antonz on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
That's what I found as well Shaun. I have seen it at least in versions 3.5.21.1 and 3.5.21.3. There seems to be an issue with the FBD/LD package v4.6.0.0. The workaround proposed by Tim works but needs to be done manually on every code change/addition. For now we manually downgrade the FBD/LD package from v4.6.0.0 down to v4.5.0.0 after installation of CoDeSys. Same as you did. I hope this gets fixed on a next patch.
Last updated: 2025-11-21
Post by mariapaola on Port instantiation of serial interface in WAGO PLC using Modb_L05.lib in CoDeSys v2.3
CODESYS Forge
talk
(Post)
Hi, Would really appreciate your insights in this issue I have. I am currently using a WAGO 750-881 with multiple IO devices. For one of them I already occupied the MODBUS Master configuration tool so I cannot overwrite it for my other devices. I have a total of two serial interfaces WAGO 750-652. The first one is instantiated in COM2 and doesn't need any protocol since the information comes in an specific formatting that need little code to differentiate between needed info. This one is working just fine. The second one is where I have an issue. I have tried to instantiate the port using MODBUS library modb_L05.lib to properly receive the data from an ARDUINO and I am absolutely unable to open the port: Signal DEVICE2.fbModbus.MODBUS_EXT_MASTER.Interface.Com_Port_Ist_Offen is never TRUE, among with all other signals from that interface, while signal DEVICE1.COM2.Com_Port_Ist_Offen is TRUE, and the other signals also read as TRUE or FALSE. I have tried instantiating the second one as the first one, changing COM3 to COM4, I've tried a lot of things but it wont ever open the channel. I don't know if you have any recommendations for me. For both physical modules, both witness LEDs A and E are on. First one is instantiated like this: PROGRAM DEVICE1 VAR wBaudRate : WORD := BAUD_9600; bDataBits : BYTE := 8; bParity : BYTE := 0; bFlowControl : BYTE := 3; (RS422 FullDuplex with continous send) i : INT; COM2 : SERIAL_INTERFACE; xOpenPort2 : BOOL := TRUE; ( Flag to open the Port ) xInitPort2 : BOOL; ( Flag to initiallize the Port ) ReceiveBuffer2 : typRing_Buffer; END_VAR COM2( bCOM_PORT_NR := 2, cbBAUDRATE := wBaudRate, cbsBYTESIZE := bDataBits, cpPARITY := bParity, csSTOPBITS := STOPBITS_1, cfFLOW_CONTROL := bFlowControl, utRECEIVE_BUFFER := ReceiveBuffer2, ptSEND_BUFFER := ADR(SendString2), xINIT := xInitPort2, xOPEN_COM_PORT := xOpenPort2, iBYTES_TO_SEND := LEN(SendString2)+1, xSTART_SEND := xSendActive2 ); Second one like this: PROGRAM DEVICE2 VAR COM4 : SERIAL_INTERFACE; xInitPort4 : BOOL := TRUE; xOpenPort4 : BOOL := TRUE; ReceiveBuffer4 : typRing_Buffer; fbModbus : MODBUS_EXTENDED_MASTER_RTU; fbError : enumMB_ERROR; stQuery : typModbusExtendedQuery; stResponse : typModbusResponse; au16Data : ARRAY[0..14] OF WORD; i : INT; tPoll : TON; END_VAR COM4( bCOM_PORT_NR := 4, cbBAUDRATE := BAUD_9600, cbsBYTESIZE := 8, cpPARITY := 0, csSTOPBITS := STOPBITS_1, cfFLOW_CONTROL := 2, ( RS-485 half-duplex ) utRECEIVE_BUFFER := ReceiveBuffer4, xINIT := xInitPort4, xOPEN_COM_PORT := xOpenPort4, xSTART_SEND := xSendActive4, ); stQuery.SlaveAddress := 1; stQuery.FunctionCode := 3; stQuery.Read_StartAddress := 0; stQuery.Read_Quantity := 15; (Poll code) fbModbus( ENABLE := TRUE, bCOM_PORT := 4, ( COM4=> 750-652 port ) cbCOM_BAUDRATE := BAUD_9600, cpCOM_PARITY := 0, csCOM_STOPBITS := 1, cbsCOM_BYTESIZE := 8, cfCOM_FLOW_CONTROL := 2, TimeOut := T#500ms, StartFunction := xStart, ExtQuery := stQuery, Response := stResponse, MB_Error => fbError ); FOR i := 0 TO 14 DO au16Data[i] := stResponse.Data[i]; END_FOR;
Last updated: 2025-11-28
Post by tobiassantos on History of Alarms
CODESYS Forge
talk
(Post)
I am running tests using the Windows runtime environment. The alarm history is not being logged and displays the error: "Some kind of disk I/O error occurred. Check disk space" in the alarm table. Furthermore, it is not possible to export the alarms. I have already tried to find a configuration field in Alarm storage and Alarm configuration to fix this problem, but I haven't found any related fields.
Last updated: 2026-01-05
Post by tobiassantos on History of Alarms
CODESYS Forge
talk
(Post)
I am running tests using the Windows runtime environment. The alarm history is not being logged and displays the error: "Some kind of disk I/O error occurred. Check disk space" in the alarm table. Furthermore, it is not possible to export the alarms. I have already tried to find a configuration field in Alarm storage and Alarm configuration to fix this problem, but I haven't found any related fields.
Last updated: 2026-01-05
Post by gseidel on Scara3 kinematic robot error
CODESYS Forge
talk
(Post)
Hi aniket-b, the maximum cycle time of the EtherCAT_Task is very high, ca. 35 ms. Could you please check if this is just the first cycle after starting the application or if it happens during motion? (You can reset the times in the task configuration by right-clicking in the "monitoring" tab.) Another thing to try: put the SoftMotion_Planning task on a different core. Best regards, Georg
Last updated: 2026-01-07
Post by gseidel on Mismatch between coordinate monitor and actual motion using SMC_GroupJog2, MC_MoveLinearAbsolute (6DOF)
CODESYS Forge
talk
(Post)
Dear darwin03, my first guess is that the axis scaling of the last axis (joint 6) is not correct. It should be confiugured so that one technical unit equals one angular degree. From the video, it rather looks like 1 technical unit is a full revolution of the joint. (This holds for all rotary axes used with SoftMotion Robotics: they must be scaled so that one technical unit equals one angular degree.) Best regards, Georg
Last updated: 2026-04-07
Post by nz-dave on *exception* [processorloadwatchdog] occurred in: app=[all], task=[all]
CODESYS Forge
talk
(Post)
Can anyone shed some light on this issue im having. at random, sometimes days, sometimes weeks or months. i get this error and have to reset the plc. Im using a Weintek HMI with ethernet/ip remote io and vsd. i have tried increasing my task times and watchdogs. and when i view my PLCload in the shell its normally around 3-4%, highest ive ever seen is 7%. Nothing i do seems to help the issue. Could the HMI's Codesys CPU be getting to hot do to high ambient temp?
Last updated: 2026-02-01
Post by winki on Error in licence activation
CODESYS Forge
talk
(Post)
Hello, Despite receiving an activation message after entering the license number, I don’t have any license installed on my gateway. I went to check in /var/opt/codesys/ and there is no License file. I searched the entire gateway for a .lic file and found no license. I’m really stuck—how can I fix this, please? When I am using the licence tools I got this picture: But nothing that have been activated. Loic,
Last updated: 2026-02-03
Post by winki on Error in licence activation
CODESYS Forge
talk
(Post)
Hello, Despite receiving an activation message after entering the license number, I don’t have any license installed on my gateway. I went to check in /var/opt/codesys/ and there is no License file. I searched the entire gateway for a .lic file and found no license. I’m really stuck—how can I fix this, please? When I am using the licence tools I got this picture: But nothing that have been activated. Loic,
Last updated: 2026-02-03
Post by zeljko2212 on Seeking a Code-Based Solution for EtherCAT Slave Dropout or Master Errors in Production (Beyond Software Hot Reset)
CODESYS Forge
talk
(Post)
PROGRAM RES_ECAT VAR xMP1: INT; xRESTART: BOOL; xFinish: BOOL; xStop: BOOL; pSlave: POINTER TO ETCSlave; TP1 : TP; STS11: WORD; pSlave6: POINTER TO IoDrvEthercatDriverLib.ETCSlave; MP1: INT; TON1 : TON; xSTAT: BOOL; TP_1 :standard.TP; END_VAR TON1(IN:= NOT TON1.Q, PT:= T#300mS ); TP_1(IN:= ton1.Q, PT:= t#2s ); EtherCAT_Master.xRestart := xRESTART; EtherCAT_Master(); EtherCAT_Master(); xFinish := EtherCAT_Master.xConfigFinished; EtherCAT_Master.xStopBus := xSTOP; EtherCAT_Master(); pSlave := EtherCAT_Master.FirstSlave; WHILE pSlave <> 0 DO pSlave^(); IF pSlave^.wState = ETC_SLAVE_STATE.ETC_SLAVE_OPERATIONAL THEN xRESTART := FALSE; ELSE xRESTART := TP_1.Q; END_IF pSlave := pSlave^.NextInstance; END_WHILE
Last updated: 2026-02-14
Post by nehaltrivedi96 on Modbus connection via Qronox PCD3 M6893
CODESYS Forge
talk
(Post)
Hello, I am currently scaling 4-20mA signals and the scaled output (temperature) has to be sent via modbus protocol to a tool like doctor modbus or modbus poll. I have defined my inputs as real as and the output is also real, but to send this output via modbus it has to be of word. So how will i convert real into word and then send the generated output via modbus?
Last updated: 2026-02-18
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.