Post by bnewman on IECStringUtils.FormatDateTime
CODESYS Forge
talk
(Post)
Update as of 2025: This function (IECStringUtils.FormatDateTime) doesn't make any sense there isn't any parameter that accepts a Date_Time value. I have no idea what's purpose even is. I am going to use StuSprintf from the StringUtils library for this purpose.
Last updated: 2025-07-25
Post by eksheep on Issue with Timer-Based Increment Function in CoDeSys Ladder Logic (LD)
CODESYS Forge
talk
(Post)
Hi Lamine97, if you are struggling with the LD implementation it would be more helpful for us to see that code in a screenshot.
Last updated: 2025-08-12
Post by ahmedbadawi10 on Codesys Trend Problem
CODESYS Forge
talk
(Post)
I have control win v3 with simulation and a small program with function to convert analog values to percentages, I need to show these percentages in a trend chart, but nothing is shown in the trend as you see in snips attached! thanks in advance
Last updated: 2025-09-16
Post by matteodigani on Add library .dll to project codesys.
CODESYS Forge
talk
(Post)
Is there a way to import an external library made with c++/CLI or python? then call the function that i have made inside the program POU ?
Last updated: 2025-10-15
Post by apurv on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
Could not find the solution to this issue but I have side stepped this by creating a global variable MAX_SIZE.
Last updated: 2024-01-08
Post by apurv on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
okay but will this pass the array by copying it or it will be a reference to original array only.
Last updated: 2024-01-09
Post by dkugler on Ramp function
CODESYS Forge
talk
(Post)
The util.RAMP_INT and util.RAMP_REAL from Codesys have an input for the start value. What is the advantage of this OSCAT ramp instead of the Codesys util lib?
Last updated: 2024-01-10
Post by jdjennings1962 on Trouble accessing Math functions in OSCAT library
CODESYS Forge
talk
(Post)
Thank you seoerr for your suggestion. When I implement that line, I get this error: ** [ERROR] 'OSCAT_BASIC.ARRAY_SDV' is of type FUNCTION and cannot be instantiated** Any other thoughts about instantiating these sections of the library which seem to be provided as source only?
Last updated: 2024-01-16
Post by fcmtw on SDO generation
CODESYS Forge
talk
(Post)
Thanks for the answer. So yes I've enabled expert settings, and yes i've added some SDOs, but some of them who are generated are likely making a mess in the network and generated error with my device... From which library comes those 2 function blocks ?
Last updated: 2024-01-26
Post by eschwellinger on Access to the path *** is denied
CODESYS Forge
talk
(Post)
sorry this is wrong here: (but important for signature problems) please update the CODESYS Installer to 2.2.1 version by downliad it from here: https://store.codesys.com/de/codesys-installer.html there is a problem on his auto update function. This will solve it!
Last updated: 2024-01-31
Post by arundara on Variable Sync Issue In Soft Plc Redundancy
CODESYS Forge
talk
(Post)
i understood that we have to use sync variable function. when i used this i was able to achieve on the requirements of our project.
Last updated: 2024-02-13
Post by eschwellinger on CODESYS Installer Update udpate to 2.2.2 version - Important Information
CODESYS Forge
talk
(Post)
There is a bug in the auto update function of the CODESYS Installer, If you are on CODESYS Installer Version 2.1.0, 2.2.0 or 2.2.1 please update with https://store.codesys.com/de/codesys-installer.html by downloading and Install it from CODESYS Store.
Last updated: 2024-02-15
Post by macros8 on Visualization using methods and cyclic ST-calls
CODESYS Forge
talk
(Post)
Have you found the way how to call any function in case the visu is opened? Like on event when the screen is opened to initialize some variables etc.? I canΒ΄t... :/
Last updated: 2024-03-01
Post by jetme on Rampup and rampdown
CODESYS Forge
talk
(Post)
i'm using FB Ramp_INT function to ramp my pump up and down but I will like to ramp up at a different time and also ramp down at a different time. How can I do that.
Last updated: 2024-03-28
Post by eschwellinger on How to Connect / Go Online without re-downloading the project
CODESYS Forge
talk
(Post)
Which plc type is it: Either use Automationserver to do this or save the project archives instead of projects or use the source dowload function and reopen the application from plc. So you need to chose one of them.
Last updated: 2024-04-13
Post by dkugler on I want to convert a WORD to a hex string like 15.432 to '3C48'
CODESYS Forge
talk
(Post)
you try to convert a WORD with BYTE_TO_HEX directly? Using https://de.helpme-codesys.com/ lead to the SM3_shared lib. There is a function: https://content.helpme-codesys.com/en/libs/SM3_Shared/Current/SM3_Shared/StringFormat/Word_To_HexString.html
Last updated: 2024-04-19
Post by rabaggett on CODESYS control for Raspberry Pi 64 SL errors
CODESYS Forge
talk
(Post)
Update: I found my error in the Scale function, where I used UINT_TO_REAL instead of DWORD_TO_REAL. I fixed it, errors unchanged.
Last updated: 2024-05-02
Post by sahil-koul on Touch Probe Continuous Trigger
CODESYS Forge
talk
(Post)
Hi everyone. Can anyone tell how to do continuous trigger function of probe in codesys and change scaling of servo online in program
Last updated: 2024-06-16
Post by jtebokkel on VAR_GENERIC unknown token
CODESYS Forge
talk
(Post)
The help says VAR_GENERIC exists, but trying to use it in 3.5.21.30 results in a unknown token error. https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_vartypes_var_generic_constant.html Did this feature get removed or is there something else that needs to be done to enable using generic function blocks?
Last updated: 2025-10-21
Post by shaunvdm on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
Hi All, We downgraded Codesys LAD/FB in the IDE to version 4.5 and it works. Codesys Version 4.6 lad/fb not working. Was the way we fixed this. Kind Regards Shaun
Last updated: 2025-11-17
Post by mbart on VAR_INFO from inside of a FB to get info on the instance.
CODESYS Forge
talk
(Post)
I experienced the same problem: using __VARINFO is working only in PRG context, while it crashes if used inside Function Blocks. I would really appreciate if they would fix this issue
Last updated: 2025-12-04
Post by imdatatas on MC_CamIn did not work properly with SMC_FreeEncoder on SoftMotion 4.17.0.0
CODESYS Forge
talk
(Post)
Hello, I am facing a problem with the new Softmotion 4.17.0.0 version. Has anyone encountered a similar problem, what is the solution? I would be happy if you could share it. Problem description: -- "SMC_FreeEncoder" encoder axis is the master, -- The motor of the servo driver on the EtherCAT bus is the slave axis. -- When the MC_CamIn block executed, the InSync output is activated. However, although the master encoder axis position value changes, there is no movement in the slave servo axis! Test steps: 1-) EtherCAT servo axis installed, configured and motion test was performed with MC_Jog. No problem. 2-) Softmotion general axis pool > SMC_FreeEncoder was added and pulse amount configuration was performed. No problem. 3-) Incremental encoder actual count value was transferred to the "SMC_FreeEncoder.diEncoderPosition" variable as DINT under the ethercat task in every cycle and the encoder axis position value was observed. No problem. 4-) A simple CAM table with a 1:1 ratio was created under the project tree. (For example: Simply, when the encoder rotates 1 turn, the motor will rotate 1 turn.) 5-) The SMC_FreeEncoder axis enabled with MC_Power and brought to the StandStill state. 6-) The MC_CamTableSelect block was run with default input values ββ(all absolute) and only the Cam table name was specified. The Done output was seen successfully. No problem. 7-) The MC_CamIn block was activated with default input values ββ(absolute) and only the master encoder axis name, slave servo axis name, CamTableID input pins was specified and then "Execute" input set to TRUE. 8-) The InSync output information of the MC_CamIn block observed as TRUE. However, although the encoder axis value changed, the position value of the slave axis did not change at all, it did not move. It always remained at 0.0mm. 9-) When I repeated the same steps above, only changing the master axis to SM_Drive_Virtual instead of FreeEncoder and gave movement to the virtual axis, this time the slave axis moved successfully. However, when the same steps and operations are performed with the same IDE just downgrade SoftMotion version from 4.17.0.0 to 4.10.0.0, everything works normally and without problems as expected in MC_CamIn block with FreeEncoder master. (By the way, The used IDE version is Codesys V3.5 SP20patch3.) Best Regards Imdat
Last updated: 2024-11-11
Post by mikek10 on HTTP Client TCP Init Error
CODESYS Forge
talk
(Post)
Hi, I tried posting in the discussion for the HTTP Client example but perhaps that is not monitored? I have been using http client successfully for approximately 12 months, however in recent weeks I have begun to get TCP_INIT_ERROR when attempting to communicate. The only resolution seems to be power cycling and then the connection begins to work again for a time. I am not aware of any changes to code or libraries between working ok and now. Cold reset does not resolve, only power cycle. It seems the error from NBS.TCP_Client is 6002 which I think is invalid_addr However the address is the same when working and not working?
Last updated: 2024-07-04
Post by andrebrandt on FB string and naming
CODESYS Forge
talk
(Post)
Thank you so much. This worked. Waht im trying to do here is to automatically tag each sensors, valves and so on. There is a preatty nasty tag system i working on. "_320" is not alloved. I can have a tag "+4f=320.004-RT001V" In codesys I want to build the FB in folders. -4f | --320 | --001 This is the system structure. Inside here is all of the sensors and so on. But with Codesys, I cannot tag this like this. So what I'm trying to do now is to Make a folder for the building "4f" and one for the system "320", and a POU _001. Is there a way in init to get folder names?
Last updated: 2024-10-01
Post by wildcard on Modbus Client Request Not Processed
CODESYS Forge
talk
(Post)
Hi, does anyone has a solution for this issue. I've the same problem. I've implemented a very simple client based on the Modbus Examples and connected the soft PLC to a Modbus Simulator. PROGRAM ModbusClient VAR initDone : BOOL := FALSE; errorID : ModbusFB.Error; client : ModbusFB.ClientTCP; timeout : UDINT := 500000; replyTimeout : UDINT := 200000; aUINT : ARRAY [0..8] OF UINT; clientRequestReadHoldingRegisters : ModbusFB.ClientRequestReadHoldingRegisters; clientRequestsCnt : UINT := 0; clientRequestsProcessCnt : UINT := 0; ipAddress : ARRAY[0..3] OF BYTE := [10,54,0,72]; END_VAR IF NOT initDone THEN initDone := TRUE; client(aIPaddr:=ipAddress, udiLogOptions:=ModbusFB.LoggingOptions.All); client(xConnect:=TRUE, ); clientRequestReadHoldingRegisters(rClient:=client, udiTimeOut:=timeout, uiUnitId:=1, uiStartItem:=0, uiQuantity:=4, pData:=ADR(aUINT[0]), udiReplyTimeout:=replyTimeout); clientRequestReadHoldingRegisters.xExecute := TRUE; clientRequestsCnt := 0; END_IF clientRequestReadHoldingRegisters(rClient:=client, udiTimeOut:=timeout, uiUnitId:=1, uiStartItem:=0, uiQuantity:=4, pData:=ADR(aUINT[0]), udiReplyTimeout:=replyTimeout, xExecute := TRUE); IF clientRequestReadHoldingRegisters.xError THEN clientRequestsCnt := clientRequestsCnt +1 ; errorID := clientRequestReadHoldingRegisters.eErrorID; END_IF clientRequestReadHoldingRegisters(rClient:=client, udiTimeOut:=timeout, uiUnitId:=1, uiStartItem:=0, uiQuantity:=4, pData:=ADR(aUINT[0]), udiReplyTimeout:=replyTimeout, xExecute := NOT clientRequestReadHoldingRegisters.xExecute); When the system is running I do get the following on the logs: 2024-05-13T10:18:07.443Z: Cmp=MODBUS lib, Class=1, Error=0, Info=0, pszInfo= Client.RequestProcessed ClientRequest,16#0164ADC561A0 unitId=1 fc=ReadHoldingRegisters id=2070 state=Error 2024-05-13T10:18:07.443Z: Cmp=MODBUS lib, Class=1, Error=0, Info=0, pszInfo= ClientRequest,16#0164ADC561A0 unitId=1 fc=ReadHoldingRegisters id=2070 change state Error -> None timestamp=63843421226 2024-05-13T10:18:08.444Z: Cmp=MODBUS lib, Class=1, Error=0, Info=0, pszInfo= ClientRequest,16#0164ADC561A0 unitId=1 fc=ReadHoldingRegisters id=2071 change state None -> Init timestamp=63844421420 2024-05-13T10:18:09.444Z: Cmp=MODBUS lib, Class=1, Error=0, Info=0, pszInfo= ClientRequest,16#0164ADC561A0 unitId=1 fc=ReadHoldingRegisters id=2071 change state Init -> Error timestamp=63845421675 But the errorID is jumping between OK and RequestNotProcessed. Any help is very appreciated which gives me a hint what I'm doing wrong. Thanks
Last updated: 2024-05-13
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.