blog Discussion
yoannyoung
blog
(Discussion)
Forum for blog comments
Last updated: 2025-10-23
blog Discussion
vlanaz108
blog
(Discussion)
Forum for blog comments
Last updated: 2025-10-23
wiki Discussion
vlanaz108
wiki
(Discussion)
Forum for wiki comments
Last updated: 2025-10-23
Home
yoannyoung
wiki
(WikiPage)
Project Members: yoannyoung (admin)
Last updated: 2025-10-23
(no subject)
yoannyoung
wiki
(Thread)
Last updated: 2025-10-23
Home
vlanaz108
wiki
(WikiPage)
Project Members: vlanaz108 (admin)
Last updated: 2025-10-23
(no subject)
vlanaz108
wiki
(Thread)
Last updated: 2025-10-23
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 jasperclauwaert on Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS)
CODESYS Forge
talk
(Post)
Hi everyone, I’m working on a WAGO PFC100 with CODESYS. During development everything worked fine, but in the final stage I set several variables to PERSISTENT RETAIN. When I go online, most of these persistent variables cannot be monitored. Instead, I see: <Value of the expression cannot be retrieved> Interestingly, a few variables do show their values correctly, but the majority do not. The variables are not used as pointers or in any unusual way. The application compiles and runs without errors. Has anyone experienced this before? Is this a known issue with PFC100 or CODESYS? Any ideas on what could cause this behavior? Thanks in advance! Jasper
Last updated: 2025-10-23
Post by josealb2000 on EL6910 as a PROFIsafe F-Host in Codesys
CODESYS Forge
talk
(Post)
Interested. I can see the EL6633 Profinet Controller can be added in Codesys to the EK1914 or EK1100, and then ProfiSafe devices can be added as the F-DI8/F-DQ3 ET200eco PN. Im unsure how to configure the telegram to the EL6910. Have you been able to make this configuration? EL6910 Manual shows a way but only using TwinSafe.
Last updated: 2025-10-23
Any ways to prevent Infinite scroll when moving an object to the left or top edge?
CODESYS Forge
talk
(Thread)
Any ways to prevent Infinite scroll when moving an object to the left or top edge?
Last updated: 2025-10-24
EL6910 as a PROFIsafe F-Host in Codesys
CODESYS Forge
talk
(Thread)
EL6910 as a PROFIsafe F-Host in Codesys
Last updated: 2025-10-23
Home (version 1) discussion
mizi
wiki
(Thread)
Home (version 1) discussion
Last updated: 2025-10-24
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 alessandro on SysMemCmp SysMemCpy
CODESYS Forge
talk
(Post)
VAR Data1:ARRAY[1..10] OF SINT ; Data2:ARRAY[1..10] OF SINT ; Data3:ARRAY[1..10] OF SINT ; Data4:ARRAY[1..10] OF SINT ; ex_1 : BOOL ; ex_2 : BOOL ; enable : BOOL :=0 ; END_VAR // PROGRAM // The scope of this example is compare and copy the values of two ARRAY only if some value is different using SysMemCmp and SysMemCpy. // In this 2 example we don't use a FOR cicle for do this, and pBuffer1 and pBuffer2 is just a pointer to ARRAY. See details in Library util.SysMem of Codesys // The compare funcion util.SysMem.SysMemCmp is bidirectional if Data1 chanege respect Data2 ex_1 go to 1 and if Data2 change respect Data1 also // but the copy function util.SysMem.SysMemCpy work only from source ARRAY pSrc:=ADR(Data1) to destination ARRAY pDest:=ADR(Data2) // Example 1 Full ARRAY compare and copy // This compare 2 different equal ARRAY and if there is some difference ex_1 go to 1 and if you give enable he copy Data1 in Data2 ex_1 := TO_BOOL(util.SysMem.SysMemCmp(pBuffer1:=ADR(Data1), pBuffer2:=ADR(Data2), udiCount:=SIZEOF(Data1))); IF ex_1 AND enable THEN util.SysMem.SysMemCpy(pDest:=ADR(Data2), pSrc:=ADR(Data1), udiCount:=SIZEOF(Data1)); END_IF // Example 2 Only selected area of the ARRAY compare and copy // This compare 2 different equal ARRAY starting from position number [3] for 4 byte in this case start at position [3] and finish at position number [6] // and if there is some difference only in area [3..6] of the ARRAY ex_2 go to 1 if you give enalbe he copy Data3[3..6] in Data4[3..6] // if something change in other array position[0..2] or [7..10] are ingnored ex_2 := TO_BOOL(util.SysMem.SysMemCmp(pBuffer1:=ADR(Data3[3]), pBuffer2:=ADR(Data4[3]), udiCount:=4)); IF ex_2 AND enable THEN util.SysMem.SysMemCpy(pDest:=ADR(Data4[3]), pSrc:=ADR(Data3[3]), udiCount:=4); END_IF // Attention udiCount input is intended in <byte> in the example 1 I pass to udiCount:=SIZEOF(Data1) for compare and copy the intere ARRAY and // SIZEOF pass the size of intere ARRAY in byte to the function input, in this 2 examples I used variable type SINT each one occupie 1 byte and one position in the ARRAY // and in the example 2 I pass udiCount:=4 for compare and copy only 4 position of Data3/4[3..6] if you want to extend this example and use it for an ARRAY OF WORD // remember that each WORD will occupe 2 byte (16 bit) and you will have to pass udiCount:=SIZEOF(Data1) if you need to compare intere ARRAY example 1 // but need udiCount:=(42) for the example 2 because need to compare and copy 4 word each occupie 2 byte (16 bit). // For REAL (32 bit) need udiCount:=SIZEOF(44) for LREAL or (64 bit) need udiCount:=SIZEOF(416) // a good rule is calculate the dimension of the ARRAY in byte without empty space at the end, multiple of data type number for variable bigger then 8 bit // Example : If you want to create an ARRAY for 5 REAL (32 bit) each occupie 4 byte the correct size is ARRAY[0..19] OF REAL 54=20 position. // NOTE : In the example the position of compare function util.SysMem.SysMemCmp is first and the copy function util.SysMem.SysMemCpy inside the IF is after // in one cycle of the program the two array is compared and if there is some difference and enable are copied. // If you move util.SysMem.SysMemCmp after the IF cycle he will copare the ARRAY in the current cycle but the copy of the value will do in the next cycle.</byte>
Last updated: 2025-10-24
SysMemCmp SysMemCpy
CODESYS Forge
talk
(Thread)
SysMemCmp SysMemCpy
Last updated: 2025-10-24
Home (version 1) discussion
caliberbishop
wiki
(Thread)
Home (version 1) discussion
Last updated: 2025-10-24
wiki Discussion
alessandro
wiki
(Discussion)
Forum for wiki comments
Last updated: 2025-10-24
blog Discussion
alessandro
blog
(Discussion)
Forum for blog comments
Last updated: 2025-10-24
Home
alessandro
wiki
(WikiPage)
Project Members: alessandro (admin)
Last updated: 2025-10-24
(no subject)
alessandro
wiki
(Thread)
Last updated: 2025-10-24
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 We have picked up an issue OSCAT_BASIC.Scale_r function call not working in the old lad and FBD version 4.60. Gives no output on the function call. When we convert this to LAD2 it works. As can be see by the two screenshot in normal LD not working in LAD2 it works. Please confirm if this is an issue with Oscat or with LAD in 3.5.21sp3, is there an workaround. Regards Shaun
Last updated: 2025-10-23
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 We have picked up an issue OSCAT_BASIC.Scale_r function call not working in the old lad and FBD version 4.60. Gives no output on the function call. When we convert this to LAD2 it works. As can be see by the two screenshot in normal LD not working in LAD2 it works. Please confirm if this is an issue with Oscat or with LAD in 3.5.21sp3, is there an workaround. Regards Shaun
Last updated: 2025-10-23
OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Thread)
OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
Last updated: 2025-10-23
Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS)
CODESYS Forge
talk
(Thread)
Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS)
Last updated: 2025-10-23