Post by aniket-b on EtherCAT drive not moving
CODESYS Forge
talk
(Post)
I have EtherCAT drive communicating properly without an error but when I use MC_JOG function, it is not moving at all, I can use MC_Power function and drive does respond to that but other functions are not working,. Please suggest what is wrong here.
Last updated: 2024-03-04
Post by acc00 on Variable Sync Issue In Soft Plc Redundancy
CODESYS Forge
talk
(Post)
Hi arundara, I'm also experimenting with Redundandcy. Is the sync variable function the following: "RedundancySynchronizeData()" ? Does the Task time increase a lot when you activate the sync function?
Last updated: 2024-03-11
Post by mmpl on CAA Library Function
CODESYS Forge
talk
(Post)
I want to change date and time format. I am using CAA storage library function. I am not receiving any value in to output.
Last updated: 2024-04-16
Post by davelewis104 on J1939 SA
CODESYS Forge
talk
(Post)
I am curious if there is a function block or function that will allow me to monitor the J1939 CANBus and pull out all of the SAs that are on a particular bus, without having to have them loaded in the J1939 manager?
Last updated: 2024-04-30
Post by kporter on Exception with ReadNbrSlaves function
CODESYS Forge
talk
(Post)
I've been playing with the code using the Windows soft master and the ReadNbrSlaves function block seems to work here: https://content.helpme-codesys.com/en/libs/EtherCATStack/4.8.0.0/EtherCATStack/pou-ETCMasterStack/DynamicConfig/fld-DynamicConfig.html
Last updated: 2025-10-31
Post by paulorb on STRUCT AT %MW1000
CODESYS Forge
talk
(Post)
Hi I am trying to use STRUCT to parse commands from Modbus/TCP, Modbus client will fill the bytes related to a specific command (type, parameters), then PLC (Codesys) will access the command parameters. A STRUCT will simplify a lot the process of parsing the data, so I don't need to parse byte per byte, address will be mapped to a struct and I can use it for parsing the data. From what I understood, the compiler does not allow me to specify the location of the struct for a %MW register. VAR_COMMAND AT %MW1002: structGenericModbusCommand; This will throw: Bad declaration, use '%ML' for 'structGenericModbusCommand' variable But If I change it to %ML, when you go online you see that it is actually allocating the struct in another memory address. When we go online, on GVL we can see: VAR_COMMAND. structGenericModbusCommand %ML1002 commandType COMMANDTYPE %MB8016 ... %MB8020 I am not specifying a pointer or a reference it is a struct type, why is it mapping to a %MW location (random one). How can I control where it is mapping to? I need a consistent way to map STRUCT to specific modbus address. Is it possible? Thanks, Paulo Note I am using a Codesys OEM: Schneider Machine Expert Logic Builder (M241)
Last updated: 2024-08-13
Post by mani-i4point0 on Codesys (Ethernet IP Scanner ) and Python (Ethernet IP Adapter)
CODESYS Forge
talk
(Post)
Hi, I am currently developing the software to establish the communication and data transfer between Python Module as a Ethernet IP - Adapter coding is running my laptop and Codesys as a Ethernet IP scanner in the resperry PI hardware. I am trying to look for some available recourses online, Can anyone suggest me to develop this function in Codesys and Python ? Best Regards, Mani
Last updated: 2024-09-24
Post by ben1 on How to write multiple coils (Modbus FC15)
CODESYS Forge
talk
(Post)
When you say it does not work, does nothing happen or do you get an error? I have not used this function in codesys but from my past experience with Modbus I believe the coils need to be contiguous, which may be why yours is failing? Have you tried using Write Registers (16) to do the job? Or is their data in-between you do not want to edit in the transaction?
Last updated: 2024-11-17
Post by imdatatas on TO_STRING operator not working for IMPLICIT ENUM
CODESYS Forge
talk
(Post)
Hi Everyone, It is a very useful feature to be able to obtain the enum value as a string with the TO_STRING operator by defining {attribute 'to_string'}. However, unfortunately the same function does not work for IMPLICIT ENUMs. I hope that {attribute 'to_string'} behavior can also work for Implicit Enumeration data types in one of the upcoming Codesys versions. https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_pragma_attribute_to_string.html https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_datatype_implicit_enumeration.html Best regards, Imdat
Last updated: 2025-03-27
Post by romrot on MS SQL Compact cutting off Database name?
CODESYS Forge
talk
(Post)
I'm trying to use an fbMsSQL_compact function to read data from an SQL database. It works with some databases, but there is one database that I can't seem to get it to work on. It's set up the same as the other databases that I've tested with the only difference I see is that the name of the database is cut off in the status message. I'll get a message like "User: User logged out succesfully from database: 12345" But the whole name of the database is something like 1234567.
Last updated: 2025-08-21
Post by ph0010421 on How to manage variable types larger than 64 bits - Ethernet/IP
CODESYS Forge
talk
(Post)
My guess is that's a STRING, not an INT type. And it's 128 bytes, not bits
Last updated: 2024-09-23
Post by athuum on Error 'Library not found' and 'Unkown type'
CODESYS Forge
talk
(Post)
I have found the solution, the CmpEventMgr version has to correspond with the 3sLicense version.
Last updated: 2024-10-10
Post by eschwellinger on Server not adding PLC
CODESYS Forge
talk
(Post)
which plc type do you try to add? Unique serial numbers of the plc are mandatory too.
Last updated: 2025-02-17
Post by timvh on Inheritence of struct,
CODESYS Forge
talk
(Post)
Maybe the ANY type can help? https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_datatype_any.html
Last updated: 2025-03-08
Post by jampid on How do I fix ";Internal Error (x86-64): Invalid type size" error?
CODESYS Forge
talk
(Post)
Bonjour Mucleus, peut-Γͺtre mettre Γ jour le Device et recompiler?
Last updated: 2025-04-16
Post by simotion on Property
CODESYS Forge
talk
(Post)
Why can't a property be of type REFERENCE TO? Plc goes to stop if I try that.
Last updated: 2023-12-14
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
Post by timvh on FB string and naming
CODESYS Forge
talk
(Post)
Really not clear what you are trying to do, but isn't a Struct enough? So add an object of the type DUT to the Application. Then create a structure TYPE ST_Sensor : STRUCT sName : STRING; uiNumber : UINT; END_STRUCT END_TYPE Then in you application add an instance of this Structure stSensor1 : ST_Sensor := (sName := 'my sensor', uiNumber := 1); or use it like this stSensor1.sName := 'my sensor';
Last updated: 2024-09-28
Post by eschwellinger on Scan Network on gateway created with Control Sl
CODESYS Forge
talk
(Post)
it seems that the device you scan, is not the same type which you have added to the project in CODESYS. Virtual Control is Arm 64 SL so please select this type in CODESYS when you generate a new Application..or right click to the device- update device - virtual Control Arm 64 SL
Last updated: 2024-10-16
Post by rafaelbrito on The element of type 'VisuFbElemImage' could not be updated. Reason: Index was outside the bounds of the array.
CODESYS Forge
talk
(Post)
When trying to use the Visualization ToolBox, no objects appear and the following error appears. Could you tell me what this error could be? The element of type 'VisuFbElemImage' could not be updated. Reason: Index was outside the bounds of the array. Can anyone tell me what this error is?
Last updated: 2024-12-03
Post by benemenn on Type mappings in Datasource
CODESYS Forge
talk
(Post)
Hi! I am trying to achieve the same issue. Has there been a solution? I can create the mapping, and map the local variable, but somehow the object does not update. Furthermore, i have an issue where codesys doesn't let me set ReadWrite accesses to the variables in the "Type Mapping" place. The access will simply not be set. Has anyone ran int that issue?
Last updated: 2025-04-02
Post by mucleus on How do I fix ";Internal Error (x86-64): Invalid type size" error?
CODESYS Forge
talk
(Post)
I opened the project file of version 3.5.19.7 in 3.5.21.0. I updated all the environment of the project to the latest and compiled it. When I compile it, I get an error ";Internal Error (x86-64): Invalid type size". How can I fix this error? I will wait for your help.
Last updated: 2025-04-15
Post by zoppp on Visu Frame-configuration___text will not work
CODESYS Forge
talk
(Post)
Yup, I've been having the exact same issue. A workaround that was working until Visu 4.8.0.0 was using TextList as the type in the frame configuration and then wrapping the text in quotes when configuring it. Im not sure if it will work with variables and I know it does not work if the type is text.
Last updated: 2025-06-17
Post by eksheep on Unit Tests and C007: Unknown Type
CODESYS Forge
talk
(Post)
Hello, I am attempting to implement unit tests for my POUs. When building and running the unit tests I receive error C007: Unknown Type for all types defined in the library, Standard, 3.5.18.0. Which is included in the POU Library Manager. Any input would be appreciated. TIA.
Last updated: 2025-08-27
Post by gseidel on The default ramp type selection in SoftMotion V4.18.0.0 is Quadratic
CODESYS Forge
talk
(Post)
Hi imdatatas, thanks for your feedback. This change was intentional, as the quadratic ramp type has many advantages over the trapez ramptype. Sorry to hear it causes problems in your situation. Can you please shortly explain the nature of the problems? Best regards, Georg
Last updated: 2025-09-08
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.