Post by dhumphries on Rounding error in simple addition
CODESYS Forge
talk
(Post)
I have discovered a rounding error, either in Codesys or in my understanding of numbers. The attached ladder shows that when the up button is pressed the number increases by 0.1, when the down button is pressed number decreases by 0.1, after several button presses the number isn't equally divisible by 0.1. Have I discovered a bug or am I doing something wrong?
Last updated: 2024-04-27
Post by arslan on G Code Position Shifting
CODESYS Forge
talk
(Post)
Dear friends, I have a issue that. I would like to give a zero offset of any axis in G-Code by G54 from PLC code as below demonstration. N000 G00 X0 Y0 Z0 N010 G54 (offset from PLC) N020 G01 X0 Y0 Z0 . . How to fix it! BR
Last updated: 2024-05-02
Post by andrej on Channel timeout CmpChannelMgr
CODESYS Forge
talk
(Post)
Hello, I use Codesys RTE 3.5.16.5. If I connect to the PLC I often get the following message: (see printscreen) 1. Channel timeout CMpChannelMgr. 2. Closing connection CmpChannelMgr. Can you tell me, what the meaning of this is? What does the number 1250030,1220020 resp. c400:0a0a:015a:0301 refer to? I could find any information in the online help. Thanks a lot.
Last updated: 2024-05-08
Post by timvh on Change the Opening Position of the Dialog using VU.FbOpenDialog
CODESYS Forge
talk
(Post)
Probably best to call the FB continuously. So something like this could solve it: IF xOpenLatchSettingDialog THEN xOpenLatchSettingDialog := FALSE; fbOpenLatchSettingsDialog.xExecute := TRUE; END_IF IF fbOpenLatchSettingsDialog.xDone OR fbOpenLatchSettingsDialog.xError THEN fbOpenLatchSettingsDialog.xExecute := FALSE; END_IF TopLeftDialog.iX := 100; TopLeftDialog.iY := 23; fbOpenLatchSettingsDialog( itfClientFilter:= VU.Globals.OnlyTargetVisu, sDialogName:= 'visu_AlarmLatchSettings', xModal:= TRUE, pTopLeftPosition:= ADR(TopLeftDialog) );
Last updated: 2024-05-09
Post by matthew on New Ladder Diagram conversion does not work due to missing features
CODESYS Forge
talk
(Post)
Hi @eschwellinger Just wondering if there is any update when the Expression or part of it has no effect will be fixed? Also have the ability to open an FB when online and offline. It would also be great to be able to view the ST code block when online.
Last updated: 2024-05-14
Post by matthew on Persistence Manager Backup
CODESYS Forge
talk
(Post)
Hi @eschwellinger yes I have been using xDoubleStorage It happened again and I checked and the files were still there with there contents, restarting codesys or rebooting would not even reload them. Doing a download and then starting the PLC loaded them and began working again. Some sort of mismatch error or something?
Last updated: 2024-05-14
Post by schnepper on How to delete main action from SFC Step
CODESYS Forge
talk
(Post)
I added a main action to an SFC step, and then tried to delete it. There is no delete option in the SFC menu nor in the right click menu of the step. I deleted the action from the device tree, but building results in and error saying the action is not defined. Is there a way to delete a main action?
Last updated: 2024-05-23
Post by wb16 on Visualisation generates "Unresolved reference"
CODESYS Forge
talk
(Post)
Hello Zol6, Have you solved this issue? I use Festo PLC CPX-E-CEC-C1 to create alarm monitoring project. In CODESYS V3.5-SP18 I used the Alarm Storage object and have the same problem. Is it the PLC that is not compatible or the version of the library is not match? Best, wb16
Last updated: 2024-06-10
Post by installwhat on C0077 on one machine but not another
CODESYS Forge
talk
(Post)
It doesn't load differently codesys seems to be behaving differently. Original version of ethercat master in project archive is 3.5.15.50, compiler is 16.4 as is codesys I'm using. It builds fine in vm and not on local machine. The reason is not obvious. It builds on local machine with ethercat master at 3.5.16.0. I'd really appreciate advice
Last updated: 2024-06-11
Post by vitorp on Visualization Toolbox in German
CODESYS Forge
talk
(Post)
Hello, I am new to Codesys. I installed it on my computer and set the language to English. Most of the localized text appears in the correct language, but the Visualization Toolbox and the element properties are in German. I haven't found a way to change them to English. Can someone help me with this?
Last updated: 2024-06-17
Post by gatto on variables between two applications
CODESYS Forge
talk
(Post)
Hello, I'm experimenting with two applications. I was able to start stop applications with the CmpApp library. Currently in my test the variables declared in the first application are not visible and writable in the second. I ask if there is the possibility of having variables that are visible both in the first application and in the second.
Last updated: 2024-06-22
Post by nano on Cant login to Rpi4 but can see it in codesys communications settings.
CODESYS Forge
talk
(Post)
which ports in detail are configured. the search of the rts works via broadcast-messages, programming with tcp-port on p2p-connection woth port-hopping, handled by runtime after siccesfully handshake. look at this entry on forge https://forge.codesys.com/forge/talk/Runtime/thread/4078a2ed28/
Last updated: 2024-06-23
Post by kuegerls on SysProcessExecuteCommand2 and CANopen Device
CODESYS Forge
talk
(Post)
I have now conducted some tests. The problem occurs when the Python script establishes an OPCUA connection, even if I only establish the connection without reading or writing any data. Is there another way to exchange data between Python and CODESYS without having to put in a lot of effort?
Last updated: 2024-06-24
Post by mait-tim on Errors after moving from SP18 to SP20/21
CODESYS Forge
talk
(Post)
Hello, Im running into a problem after moving from SP18 to SP20 or SP21. After the update I have an error with the TextFieldInmputHandler.VariableWritten which is implemented if de visualisation part of my software. The interface seems to have changed. I cannot find the new implementation. Does anyone know how to solve this issue.
Last updated: 2025-10-20
Post by mait-tim on Errors after moving from SP18 to SP20/21
CODESYS Forge
talk
(Post)
Hello, Im running into a problem after moving from SP18 to SP20 or SP21. After the update I have an error with the TextFieldInmputHandler.VariableWritten which is implemented if de visualisation part of my software. The interface seems to have changed. I cannot find the new implementation. Does anyone know how to solve this issue.
Last updated: 2025-10-20
Post by kaotic2499 on Upgraded Raspberry 2b to Raspberry 5, Trends Broken?
CODESYS Forge
talk
(Post)
Is there anyone who can assist me? ill just have to raise this as a bug with codesys otherwise. I see this as the only way foward. ill attempt a fresh install of RPI in the next day or two, but thats all i had previously so π€·ββ
Last updated: 2025-10-21
Post by snguyen on Any ways to prevent Infinite scroll when moving an object to the left or top edge?
CODESYS Forge
talk
(Post)
I've been making few HMIs and I'm starting to get annoyed that whenever I try to align an object to the left or top side of the frame, it quickly scrolls into that direction infinitely. Is there a way to prevent that?
Last updated: 2025-10-24
Post by kporter on SoftMotion, accessing PDO input data via object ref/pointer
CODESYS Forge
talk
(Post)
Now that SP21 is out, what's the answer? I want to get a pointer to the TxPDO and RxPDO structs. I can generate a STRUCT declaration from the ESI file with a bit of Python. I just need to get the pointer from the ETC_Slave.
Last updated: 2025-10-29
Post by gseidel on SMC_ERROR SMC_CGR_INVALID_POSPERIOD
CODESYS Forge
talk
(Post)
Hi blitz, that usually means that the modulo period, when converted to increments, is larger than 2^31. (The bus bandwidth is usually 2^32.) What is your "technical unit", do you program in angular degrees? And what is the modulo period? If you want you can post the drive configuration (screen shot of the "General" and "Scaling/Mapping" page). Best regards, Georg
Last updated: 2025-12-16
Post by yohayr on Access Violation sherd memory
CODESYS Forge
talk
(Post)
Hi, once in a while I get an Access Violation exception in Sherd memory pointer. the strange thing is that I protect the pointer dereference and I get this exception 1 line after the protection. I added photos of the exception can someone tell me what is that about?
Last updated: 2025-11-25
Post by yohayr on Access Violation sherd memory
CODESYS Forge
talk
(Post)
Hi, once in a while I get an Access Violation exception in Sherd memory pointer. the strange thing is that I protect the pointer dereference and I get this exception 1 line after the protection. I added photos of the exception can someone tell me what is that about?
Last updated: 2025-11-25
Post by dekelec on Codesys 2.3 & Peak PCAN
CODESYS Forge
talk
(Post)
I use Peak USB adapter daily to download from CoDeSys 2.3 and 3.5 to IFM, EPEC and other controllers. The process: - First you need to install the appropriate driver. Link: https://www.peak-system.com/Drivers.523.0.html?&L=1 - Restart the computer - Start the CoDeSys application - Change the name of the adapter in Communication parameters, as mentioned in previous comment. Write the name exactly as written "Peak_USB", as it could also be case sensitive (defines which .dll file to use). If this doesn't work I would contact the vendor of the controller to find out the procedure. In the attachment I've added a FAQ document from IFM regarding using PCAN USB. P.S. I've noticed in your picture of communication parameters a channel via TCP/IP is mentioned. In this case a USB to CAN connection is not being used. First you should change the channel/gateway to connect via CANbus or connect using an Ethernet cable.
Last updated: 2024-07-09
Post by mecmag on gear over gear (2 masters,1 slave) - how to do it?
CODESYS Forge
talk
(Post)
Hello, i need to create an application that uses 2 masters, with 2 different ratios, and it outputs in one single slave. I explain better: Imagine axis A, B and C. -Axis A is the slave. -Axis B is master of A, with a specific ratio. -Axis C is master of A, with a specific ratio. the result motion from B and C should be executed by A, proportionally in position and ratios from B and C. With standard softmotion libraries (MC_...) it is not possible (i couldn't) because it is allowed only one master with its ratio. I have made a similiar application in past, using MoveOverGear in order to synch gears before engage. Instead this time, i need to do a gear over gear application, using 2 different masters. The position have to be the sum of both masters (considering their ratios). Any clue about how to do it? Or were to find some FB that can do it?
Last updated: 2024-08-16
Post by salvadegianluca on List files in a directory with SysDiropen And SysDirRead
CODESYS Forge
talk
(Post)
Good morning; I'm facing an issue that seems being caused by the library itself. I'm trying to create the list of all the files that are stored inside a psecific directory. Unluckily the first file is allways hidden. VAR CONSTANT arysEmptyArray:ARRAY[iArrayMinDimension..iArrayMAXDimension] OF STRING := [(iArrayMAXDimension - iArrayMinDimension)('')]; iArrayMinDimension:INT := 1; iArrayMAXDimension:INT := 99; END_VAR VAR_INPUT sDirectoryToInspect:STRING; sSearchFilter:STRING; END_VAR VAR_IN_OUT xCheckFileInsideDirectory:BOOL; END_VAR VAR arysListOfFoundFiles:ARRAY[iArrayMinDimension..iArrayMAXDimension] OF STRING; sNullString:STRING; iNullIndex:INT := 0; libInfoAboutThePath:DirInfo; libResultOfThePathMonitoring:CmpErrors.RTS_IEC_RESULT; libInstanceToMonitorThePath:CmpErrors.RTS_IEC_HANDLE; sEntityToSearch:STRING; dMaxEntityDimension:DINT := SIZEOF(sEntityToSearch); libFileInfo:DirInfo; sFilteredFileName:STRING; iIndexToScrollArrays:INT; END_VAR IF xCheckFileInsideDirectory THEN arysListOfFoundFiles:=arysEmptyArray; iIndexToScrollArrays:=iArrayMinDimension; libInstanceToMonitorThePath:= SysDirOpen(szDir:= sDirectoryToInspect,szDirEntry:=sNullString,diMaxDirEntry:= iNullIndex,pDirInfo:= ADR(libInfoAboutThePath),pResult:= ADR(libResultOfThePathMonitoring)); WHILE libResultOfThePathMonitoring = Errors.ERR_OK AND iIndexToScrollArrays <= iArrayMAXDimension DO sEntityToSearch:= ''; libResultOfThePathMonitoring:=SysDirRead(hDir:=libInstanceToMonitorThePath,szDirEntry:=sEntityToSearch,diMaxDirEntry:=dMaxEntityDimension,pDirInfo:=ADR(libFileInfo)); sFilteredFileName:= FUN_06_00_FindItemInString_0(sFilter:=sSearchFilter,sSource:=sEntityToSearch); IF sFilteredFileName <> '' THEN arysListOfFoundFiles[iIndexToScrollArrays]:=sFilteredFileName; iIndexToScrollArrays:=iIndexToScrollArrays + 1; END_IF IF libResultOfThePathMonitoring <> Errors.ERR_OK THEN libResultOfThePathMonitoring:= Errors.ERR_OK; END_IF END_WHILE libResultOfThePathMonitoring:=SysDirClose(hDir:= libInstanceToMonitorThePath); xCheckFileInsideDirectory:=FALSE; END_IF How is possible to solve this issue? Any known work around?
Last updated: 2024-09-17
Post by salvadegianluca on List files in a directory with SysDiropen And SysDirRead
CODESYS Forge
talk
(Post)
Good morning; I'm facing an issue that seems being caused by the library itself. I'm trying to create the list of all the files that are stored inside a psecific directory. Unluckily the first file is allways hidden. VAR CONSTANT arysEmptyArray:ARRAY[iArrayMinDimension..iArrayMAXDimension] OF STRING := [(iArrayMAXDimension - iArrayMinDimension)('')]; iArrayMinDimension:INT := 1; iArrayMAXDimension:INT := 99; END_VAR VAR_INPUT sDirectoryToInspect:STRING; sSearchFilter:STRING; END_VAR VAR_IN_OUT xCheckFileInsideDirectory:BOOL; END_VAR VAR arysListOfFoundFiles:ARRAY[iArrayMinDimension..iArrayMAXDimension] OF STRING; sNullString:STRING; iNullIndex:INT := 0; libInfoAboutThePath:DirInfo; libResultOfThePathMonitoring:CmpErrors.RTS_IEC_RESULT; libInstanceToMonitorThePath:CmpErrors.RTS_IEC_HANDLE; sEntityToSearch:STRING; dMaxEntityDimension:DINT := SIZEOF(sEntityToSearch); libFileInfo:DirInfo; sFilteredFileName:STRING; iIndexToScrollArrays:INT; END_VAR IF xCheckFileInsideDirectory THEN arysListOfFoundFiles:=arysEmptyArray; iIndexToScrollArrays:=iArrayMinDimension; libInstanceToMonitorThePath:= SysDirOpen(szDir:= sDirectoryToInspect,szDirEntry:=sNullString,diMaxDirEntry:= iNullIndex,pDirInfo:= ADR(libInfoAboutThePath),pResult:= ADR(libResultOfThePathMonitoring)); WHILE libResultOfThePathMonitoring = Errors.ERR_OK AND iIndexToScrollArrays <= iArrayMAXDimension DO sEntityToSearch:= ''; libResultOfThePathMonitoring:=SysDirRead(hDir:=libInstanceToMonitorThePath,szDirEntry:=sEntityToSearch,diMaxDirEntry:=dMaxEntityDimension,pDirInfo:=ADR(libFileInfo)); sFilteredFileName:= FUN_06_00_FindItemInString_0(sFilter:=sSearchFilter,sSource:=sEntityToSearch); IF sFilteredFileName <> '' THEN arysListOfFoundFiles[iIndexToScrollArrays]:=sFilteredFileName; iIndexToScrollArrays:=iIndexToScrollArrays + 1; END_IF IF libResultOfThePathMonitoring <> Errors.ERR_OK THEN libResultOfThePathMonitoring:= Errors.ERR_OK; END_IF END_WHILE libResultOfThePathMonitoring:=SysDirClose(hDir:= libInstanceToMonitorThePath); xCheckFileInsideDirectory:=FALSE; END_IF How is possible to solve this issue? Any known work around?
Last updated: 2024-09-17
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.