Post by pernockham on Is there a pragma for init/instantiation of local variables in FB (like in Methods)
CODESYS Forge
talk
(Post)
Im using a pointer as input for a FB and for convenience I like to use 'referenced' variable internally. I use this setup in methods which works because internal variables are instantiated for each call. In a FB these variables are instantiated and initiated for the first call only. Is there a pragma/attribute available that changes this behaviour to mirror a 'method'-call?
Last updated: 2024-10-31
Post by ph0010421 on Help with __SYSTEM.VAR_INFO
CODESYS Forge
talk
(Post)
hi all I have a FB with IN/OUT variable. Inside the FB, I want to get the address of the IN/OUT variable. If I use __SYSTEM.VAR_INFO, I get the address of the FB copy rather than 'external' variable. VAR_IN_OUT MyVar: bool; END_VAR VAR Info: __SYSTEM.VAR_INFO; END_VAR Info := __VARINFO(MyVar); This give me the address of MyVar but I actually want the address of the variable passed to MyVar Any clues please?? thanks, ph
Last updated: 2025-01-24
Post by hismoon on Inheritence of struct,
CODESYS Forge
talk
(Post)
Using a UNION instead of a STRUCT alone should give you that flexibility and only occupy memory once. And if you want to be really elegant, you could use an FB, which only holds PUBLIC VAR. Because a POU can use "EXTENDS"/inheritance. In CODESYS V3, an FB has a lot in common with C++ classes. Using ANY or ALIAS is rarely a good idea. It neither won't be pretty, nor have good readability and requires you to create a lot of error-prone things around it.
Last updated: 2025-03-14
Post by trusty-squire on Codesys for raspberry pi 5 not working exactly
CODESYS Forge
talk
(Post)
Not sure if you've resolved this yet, but the Codesys runtime user/password is different than the Linux user/password. You'll need the Linux user credentials when you log in over SSH (for example, to install the Codesys runtime). When you first log in to Codesys on the RaspPi you'll set up a Codesys user and password. If you lost those credentials, you could try uninstalling and then re-installing the Codesys runtime on the RaspPi so you can setup a new user/password.
Last updated: 2025-03-16
Post by imdatatas on Problem of assigning physical addresses to variables of type ARRAY OF ARRAY as MW and QW
CODESYS Forge
talk
(Post)
Hello, I am encountering an interesting problem as below in SP20patch5 variable definition area. I think this is a bug. As can be seen in the attached screenshot, it assigns the same %MW or %QW address to all elements of the array. I hope Codesys team can solve this problem in the next version. Best regards, Imdat
Last updated: 2025-03-17
Post by krisj on ScriptEngine POU property Get and Set accessor.
CODESYS Forge
talk
(Post)
Hey! I am trying to generate a function block with properties from a list with script engine. Codesys/ScriptEngine creates both the Get and the Set accessor. I cannot find a way to delete the Set method/accessor. Anyone encountered the same problem or have a solution for this? for prop_name, prop_type in list: property = pou.create_property(prop_name, prop_type) get = pou.find("Get", recursive=True)[i] get.textual_declaration.replace("") get.textual_implementation.replace(prop_name + " := " + struct_name + "." + prop_name + ";") set = pou.find("Set", recursive=True)[i] set.textual_declaration.replace("") set.textual_implementation.replace("") i += 1
Last updated: 2025-03-17
Post by dkugler on Beckhoff EL6652-0010 with Codesys
CODESYS Forge
talk
(Post)
we use successful for many years the KEB MFI terminal for Profinet, EtherCAT, Ethernet/IP,... You'll need a EtherCAT Coupler as "head" from KEB, Kendrion or Berghof. It's all the same board inside: https://www.kebamerica.com/products/ethercat-bus-coupler/ Or the coupler with 16Di/Do integrated: https://www.kebamerica.com/products/ethercat-digital-io-module/ last year I got a EK1100 with EL6731 Profibus treminal runnig. But it was a lot of reverse engineering and thinkering in Codesys and TwinCAT to be done, to get it up, fulfilling my needs. Good luck!
Last updated: 2025-03-25
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 jvfred on Reading a negative number
CODESYS Forge
talk
(Post)
I have a Codesys-based Eurotherm E+PLC400 connected to Codesys HMI SL for visualization. I am also bringing in several Pressure Indicators via the Ethernet. Everything works; however, the Pressure indicators sometimes read a negative value. When they do, the displayed value on the screen reads "65532." While I know what it represents, the customer freaks out and wants it to read "0" or a negative number. The value comes in as an integer, just in case that matters. Does anyone have any ideas?
Last updated: 2025-05-22
Post by lbouchard on CANOpen SIL2 error: UNSAFESTACK_NOT_OPERATIONAL
CODESYS Forge
talk
(Post)
Update: I still have no idea what was causing my issues, but it went away as soon as I identified that another device on the CAN was generating a Sync message at 16#7F. Changing this to be on 16#80 made the problem go away. I have no idea why this solves the problem and would love to hear from anyone who knows why these two things might be related.
Last updated: 2025-05-26
Post by eboyd on AOI's
CODESYS Forge
talk
(Post)
Hello, I'm currently working on transferring a project I recently created on Studio 5000 to CODESYS and unfortunately CODESYS isn't compatible with AOI's so I was wondering if there was anyone who could help me transfer these L5X AOI blocks to ST Function Blocks that I can import into CODESYS so I can use them for this project or if you know where I can find preexisting Function Blocks for these AOI's. Thank you so much!
Last updated: 2025-09-02
Post by eboyd on AOI's
CODESYS Forge
talk
(Post)
Hello, I'm currently working on transferring a project I recently created on Studio 5000 to CODESYS and unfortunately CODESYS isn't compatible with AOI's so I was wondering if there was anyone who could help me transfer these L5X AOI blocks to ST Function Blocks that I can import into CODESYS so I can use them for this project or if you know where I can find preexisting Function Blocks for these AOI's. Thank you so much!
Last updated: 2025-09-02
Post by sandro66 on Application-based license Modbus Channels
CODESYS Forge
talk
(Post)
Hi Gatto, Using version 3.5.21.xx, it is no longer possible to use Modbus function blocks (I make extensive use of these FBs.)as shown in the example. https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_modbus_example.html The compiler detects one Modbus instance for each instance of the communication FB block. The example program above, although simple, reports 8 Modbus instances when compiled with the latest version. Codesys Support says that you must use fieldbus I/O mapping, but this will result in the loss of the ability to programmatically modify communication parameters. Sandro
Last updated: 2025-09-04
Post by nha451 on EIP Scanner not receiving data from adapter
CODESYS Forge
talk
(Post)
Hello, I have an EtherNet IP adapter (GoPxL) running with a virtual PLC. I have successfully connected the adapter with green icons next to it. On WireShark I can see the data coming from GoPxL but on CODESYS it shows up as all 0. My firewall is turned off and I have enabled the device to always update variables. I tested my set up with Profinet and I can receive the data. Please let me know if you have any suggestions!
Last updated: 2025-09-12
Post by esther on subdevicesCollapsed attribute in deviceDescriptor
CODESYS Forge
talk
(Post)
I was trying to use subdevicesCollapsed attribute in device descriptor in order to not expand the subdevices when a new device with subdevices is inserted in the device tree. I use this as follows:<fixed subdevicescollapsed="true">. But it seems it doesn`t work. I am ussing Codesys v3.5 SP16 Patch4. Is anything wrong with this? Or am I mistaken with the use of this attirbute?</fixed>
Last updated: 2025-10-01
Post by gseidel on MC_MoveAbsolute: C0138: No matching 'FB_Init' method found for instantiation of SMC_MoveAbsRelPerformerImpl [ERROR]
CODESYS Forge
talk
(Post)
Hi imdatatas, sorry to hear this issue caused so much overhead for you. Frankly, I'd expect a project created with an older version to compile without errors after opening > it with the latest Codesys version and updating all libraries. Yes, that is a reasonable expectation. I tried a few times but could not reproduce the problem. In case you run into the problem again, we can investigate the issue if you send a project archive. Best regards, Georg
Last updated: 2025-10-02
Post by svn123 on Can V3.5.19 and V2.3.9 be installed on same Windows10 PC without affecting each other?
CODESYS Forge
talk
(Post)
Hi All, Seasons Greetings! I have Codesys V3.5.19 patch 5 installed on a Windows 10 PC. I have received a program which is for Codesys V2.3.9. First I tried to convert it but had many conversion errors. I am wondering if it is possible to install Codesys V2.3.9 on same PC without affecting the V2.5.19 installations. Is this possible? SVN123
Last updated: 2023-12-28
Post by hermsen on Control Runtime Toolkit
CODESYS Forge
talk
(Post)
Hi, there is a plethora of hardware available for it to be succesful on. In theory every ARM32/64 or x86/64 device is a potential target. Next to this there are embedded device platforms for which specific toolchains are available. A good starting for manufactureres of CODESYS capable devices is available here: https://www.codesys.com/the-system/codesys-inside.html. That should give you a good reference point.
Last updated: 2023-12-31
Post by tvm on SEND_RECV_MSG function block on Schneider Machine Expert
CODESYS Forge
talk
(Post)
Anyone else using the SEND_RECV_MSG function block for RS-485 communication on Schneider Machine Expert? I have had ongoing issues with it for several years, which Schneider tech support is aware of, but hasn't been able to fix. The latest version of Machine Expert (v2.2) appears to have broken some of the functionality altogether. I'd be interested in hearing from anyone else using this platform for serial communication.
Last updated: 2024-01-03
Post by warrumungi on Beckhoff EL6652-0010 with Codesys
CODESYS Forge
talk
(Post)
Hi Has anyone successfully used a Beckhoff EL6652-0010 Ethernet/IP slave terminal through an EK1101 EtherCAT coupler, or similar, and been able to set it up through Codesys? It seems there is no driver for it, and it can't be done? The only option would be to use the Ethernet/IP capability of the controller directly with one of its ethernet ports and a Codesys Ethernet/IP adapter + module and routing it through EtherCAT by tunnelling it through via an EL6614 switchport? Any advice would be appreciated. Billy.
Last updated: 2024-01-15
Post by ojz0r on INT_TO_WORD function not working
CODESYS Forge
talk
(Post)
That calculation will not work the way you expect it to. If PumpFillSpeed is limitied to 0-50 then the only whole number would be 50/50 = 1 everything else is 0.0-0.9999... and since you are using word and integer only 50 would work since there is no representation for mantissa in integer values. Declare a temporary real variable and do the calculation and then do a REAL_TO_WORD in the DRV2Speed assignment.
Last updated: 2024-01-26
Post by josephbourgeois on Tracking out product
CODESYS Forge
talk
(Post)
Hi everyone! I synchronize the operation of the tripod and the conveyor. I have a problem with the product tracking algorithm on the conveyor (PCS_1). Sometimes I need to stop tracking a product on command without completing the operation. I do this using MC_GroupStop. But when I need to start moving in WCS again (using fb movelinearabsolute), I get a tripod kinematics error - SMC_CP_INVALID_ORIENTATION (Invalid orientation (non-orthonormal matrix or non-unit quaternion, internal error)). MC_ResetGroup does not help. What could be the problem? Has anyone encountered this?
Last updated: 2024-02-05
Post by josephbourgeois on tracking out product
CODESYS Forge
talk
(Post)
Hi everyone! I synchronize the operation of the tripod and the conveyor. I have a problem with the product tracking algorithm on the conveyor (PCS_1). Sometimes I need to stop tracking a product on command without completing the operation. I do this using MC_GroupStop. But when I need to start moving in WCS again (using fb movelinearabsolute), I get a tripod kinematics error - SMC_CP_INVALID_ORIENTATION (Invalid orientation (non-orthonormal matrix or non-unit quaternion, internal error)). MC_ResetGroup does not help. What could be the problem? Has anyone encountered this?
Last updated: 2024-02-05
Post by matthew on New Ladder Diagram conversion does not work due to missing features
CODESYS Forge
talk
(Post)
Hi @eschwellinger, I have been trying out v1.0 of the new ladder and have a few questions. I have warnings Expression or part of it has no effect I can't get rid of them, what do they exactly mean? Using the ST_Block, is there a way when online to open the ST_Block and view the running code? Thanks!
Last updated: 2024-02-09
Post by nearow on TargetVisu not accepting touch inputs
CODESYS Forge
talk
(Post)
Good day, Currently running a project on a windows 10 IPC with TargetVisu. the project starts and runs but the TargetVisu screens will not accept a touch on the monitor but will work with a mouse. I have the option to use as a touchscreen active. I did not put my license on the device just yet. Do you have to have the license activated on the device before the TargetVisu will work via a touch? running Codesys v3.5 SP 19 Patch 6, 64bit. device is Codesys Control Win v3 X64
Last updated: 2024-02-14
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.