Post by winki on Warning attribut no_assign
CODESYS Forge
talk
(Post)
Hello, I have two warning on my code, and I would like to understand why. C0540: Attribut 'no_assign' missing for the 'FB_MOdbusReadHolding'. The type of the variable clientTcp is set to 'no_assign'. In this FB, I have done: clientTcp : ModbusFB.ClientTCP; clientRequest : ModbusFB.ClientRequestReadHoldingRegisters; The error comes from clientTcp : ModbusFB.ClientTCP; I am using ModbusFB 4.4.0.0. Thx a lot
Last updated: 2025-01-10
Post by mubeta on UNION statement is not supported in the ethercat data exchange
CODESYS Forge
talk
(Post)
Hi all, I am using a unionn statement for merge in integer data type some values that are received in byte from the i/o cards, but, using this simple and light technique, is not recognized by the ethercat data exchange and in fact the tags are not updated. In my opinion it's a very big bug.
Last updated: 2025-02-05
Post by eschwellinger on Codesys Network driver install for Codesys Control RTE x64
CODESYS Forge
talk
(Post)
Yes, either adding in the CODESYSContro_User.cfg because the driver will no longer appear in the list or type the name from the documentation in the configuration and when the gray check mark appears, the driver is also installed. It is just not selectable anymore.
Last updated: 2025-03-21
Post by davidmic on Struct Literal
CODESYS Forge
talk
(Post)
Hi all I want to pass a struct into a function without declaring the struct in a VAR/END_VAR. Is this possible? I think this would be called a struct literal It would look something like this someFB.write(structArgument := MyStruct#(a := 1, b := 1.2), otherArgument := TRUE); With this struct declaration TYPE MyStruct : STRUCT a : INT; b : REAL; END_STRUCT END_TYPE
Last updated: 2025-03-28
Post by imdatatas on The default ramp type selection in SoftMotion V4.18.0.0 is Quadratic
CODESYS Forge
talk
(Post)
Dear @gseidel, Thank you for your clarification. I fully agree that the quadratic ramp type may have certain technical advantages. However, the main problem is backward compatibility and consistency across projects. In many automation projects, application developers rely on the fact that creating a new axis object will behave exactly the same way as in previous versions. With SoftMotion V4.18.0.0 and later, if an application developer adds an axis and overlooks the changed default, the motion function blocks behave differently than expected. In particular, since the Jerk value in SM3_Basic function blocks is ineffective in trapezoid ramp type, users are accustomed to leaving this parameter empty in their projects. In many existing projects, this variable has not even been assigned. When the default is changed to quadratic, the Jerk parameter suddenly becomes relevant, which can cause errors or unexpected behaviour in the field. From a user perspective, a default setting should always be the “safe” and “expected” option, while alternative options (like quadratic) can be selected manually if desired. Keeping the default as trapezoid ensures compatibility with existing projects and prevents unexpected issues, while still allowing users to benefit from quadratic ramps if they explicitly choose so. For these reasons, I kindly ask you to reconsider making trapezoid the default again. This would significantly reduce the risk of unexpected behaviour in future projects while still preserving the advantages of the quadratic ramp type for those who actively select it. Of course, the final decision is entirely at your discretion. Best Regards, imdatatas
Last updated: 2025-09-26
Post by dogulas on numeric text box control
CODESYS Forge
talk
(Post)
Ok, this is how I made a numeric text field: use a Text Field properties -> Texts -> Text := %f (or %d or whatever you need) properties -> Text variables -> Text variable := (your numeric variable) properties -> Input configuration -> OnMouseDown -> Configure: Write Variable Input type := VisuDialogs.Numpad Use another variable (your numeric variable) Min val Max val etc. Please tell me there is an easier way to do this.
Last updated: 2025-10-02
Post by eschwellinger on usb2can in Codeysy 3.5 Can Gateway
CODESYS Forge
talk
(Post)
Basis für all diese Linux Produkte mit CODESYS ist Socket CAN- sprich wenn dein Adapter in Linux als Socket CAN verfügbar ist sollte es funktionieren. also zunächste mal sowas ausprobieren: sudo ip link set can0 up type can bitrate 500000 sudo ip -s -d link show can0 cansend can0 00065132#21.04.00.00.3E.80.50.00
Last updated: 2024-01-17
Post by rmaas on Direct Pointers in IOMapping for EtherCAT with IoDrvEthercatLib.ETCSlave_Dia
CODESYS Forge
talk
(Post)
Hi, Im not sure if this is what you mean, but i do succesfully use the IoDrvEthercatLib.ETCSlave.InputData and IoDrvEthercatLib.ETCSlave.OutputData to read from and write to beckhoff DI and DO cards. Very convenient as you can make an FB with an VAR_IN_OUT of type IoDrvEthercatLib.ETCSlave and only have to pass the slave reference... So i am not using .ETCSlave_Diag but .ETCSlave...
Last updated: 2024-02-13
Post by alexgooi on Init Array input on a method
CODESYS Forge
talk
(Post)
Dear Forum, I would like to initialize an array input on a method. When I do this, I get the following error: "The type of ARRAY [1..2] OF BOOL cannot have a default value in this context." I attached a picture for more clarity. Is this simply not possible or is there a different way of tackling this problem? Thank you in advance
Last updated: 2024-02-26
Post by mp9876 on Attempting customizing menus fails in LADDER environment; due to free CODESYS version ?
CODESYS Forge
talk
(Post)
That definitely does the job with the Ladder Logic Diagram type; fully equipped toolbox. Just starting with Codesys and was following programming steps which explains the choice of ladder I had picked. Thanks for the tip and have a good one! Cheers!
Last updated: 2024-03-14
Post by k4zz on Static Code Analysis
CODESYS Forge
talk
(Post)
I've already experimented with two methods, but unfortunately, they only function with projects of type *.project. Consequently, when executing: system.commands["staticanalysis", "run"].execute() For the 2nd Option: You'll need to ensure that in the Static Analysis Settings, the option "Perform static analysis automatically after compilation" is checked. # get Project values myProject = projects.primary # Creates an active application app = myProject.active_application # build Application and run static code analysis app.generate_code()
Last updated: 2024-03-15
Post by eschwellinger on connect IDE to plc that uses modem ppp
CODESYS Forge
talk
(Post)
Which plc type is it? Easy connection is to install a Gateway on remote side - this is available for Windows and Linux devices Then just add a new Gateway in CODESYS (with the IP Adress of the remote device) -> then scan the plc via this new added Gateway
Last updated: 2024-05-21
Post by rjonker on codesys mqtt publish serialization
CODESYS Forge
talk
(Post)
pbPayload is a pointer, which it expects to point at a STRING. If you point it at an address holding a different data type, it will just assume those bytes are part of a string and likely trundle along memory until it finds a null byte (0x00) that would normally signify the end of a string PublishMessage := BOOL_TO_STRING(boolVariable);
Last updated: 2024-06-05
Post by orbis-tertius on 3.5 P20 hangs - no response
CODESYS Forge
talk
(Post)
Is there anybody can help me with the same problem? I have to migrate created project in ver.3.5.17.0 32BIT with runtime 4.7.0 to ver.3.5.20.0 64BIT with runtime 4.7.11.0 due to the new license. All the libraries and dependencies are updaded and there are no any errors. The first compilation and loading to the controller is being compleated well. After this being done and if I am forced to change any values or change any code in the current project, another compilation will be freezed. This problem can be solved if pressed Build/cleen or cleen all. There is another method to solve this; if project is loaded with excluded object (Alarm Configuration), repeated compilations will be done well.
Last updated: 2024-06-27
Post by bjarne-pagaard on OPC UA Server Status on Win RTE
CODESYS Forge
talk
(Post)
Hi there, An "OPC Expert" client software is connecting to a Codesys Control RTE (x64) OPC UA Server. It reads only about 25 variables every 5 minutes. The OPC UA Server seems to shut down on the Codesys runtime. Is there any way to get information about the Codesys OPC UA Server status? Restart it? There is nothing in the PLC Logs after the OPC UA Server has started. It works for a while, then it doesn't. Any ideas? Any way of getting more info out of the Codesys OPC UA Server? -Bjarne
Last updated: 2024-10-21
Post by pernockham on Inheritence of struct,
CODESYS Forge
talk
(Post)
Apparently my construction will not work as any of the sub-types are not be able to accept any (further) value-initiation. Ie: string_item : log_data_base := (string_value := 'test', val_type := STRING_); is not eq to (the string_value will not be assigned): string_item_2 : log_data_string := (string_value := 'test'); Because effectively for the compiler this is eq. to a "double" assignment where the compiler sees only the first assignment (my guess). string_item_2 : log_data_base := (val_type := STRING_) := (string_value := 'test'); Im not sure this should be treated as a bug, but it would surely be nice to be able to use this construction (compiler is 3.5.20.40). Anyone see any other alternative for solution (other than 4 complete STRUCTS with all fields individually defined)?
Last updated: 2025-03-07
Post by mp9876 on Problems with simulation in Window 10
CODESYS Forge
talk
(Post)
Hi Automa, it seems the solution you were bringing up on 2022-04-06 could really help me as I did not remember the password I initially set. My problem though is that I am using Codesys Control Win V3.5 SP19/60 (64 bit) and I cannot locate any of the files you listed up there. I have been looking inside folder: C:\Program Files\CODESYS 3.5.19.60\CODESYS\ and they appear not to be present at all neither in the CODESYS folder or any sub-folders. Uninstalling and re-installing unfortunately does not do the trick. Any idea how I could get out of the ditch on this issue ? Anyone else maybe ? Thanks
Last updated: 2024-03-18
Post by tecnocons on Trouble Writing Files to External Paths in CODESYS
CODESYS Forge
talk
(Post)
Hello everyone, I'm encountering an issue in CODESYS regarding writing files to external paths. Despite correctly configuring the placeholder in the CODESYSControl_User.cfg file to allow access to an external folder, CODESYS doesn't seem to write any files, and no errors are reported. The issue on the older versions was absent with no placeholders. I've checked the operating system permissions, and they seem to be in order, but the issue remains. Has anyone faced a similar situation or has any suggestions on how I might resolve this problem? Any help would be greatly appreciated. Thank you in advance for your support. I'm using raspberry PI as a logger. RPI3 Buster Codesys 32bit SL V4.11 Codesys Win64 3.5.20 [SysFile] PlaceholderFilePath.1=/home/pi/scan, $SCAN$
Last updated: 2024-04-09
Post by marek71 on Ambiguous use of name - CO136
CODESYS Forge
talk
(Post)
My PLC is WAGO PFC200 Firmware Revision 26. target After updating WAGO_Devices_and_Libraries with newer Firmware 27, CODESYS wants to update all libraries to new versions. I will only add that I did not update the Firmware in the PLC. After compiling the program, I received the following errors: ------ Build started: Application: Device.Application ------- Typify code... [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): FbSerialInterface_internal: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): FbSerialInterface_internal: C0136: Ambiguous use of name 'RTS_IEC_RESULT' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0032: Cannot convert type 'Unknown type: 'RTS_INVALID_HANDLE'' to type 'POINTER TO BYTE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0136: Ambiguous use of name 'RTS_INVALID_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0046: Identifier 'RTS_INVALID_HANDLE' not defined [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_is_tx_empty: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_get_line_state: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_is_line_available: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): COMSW_SET_MODE: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_set_line_state: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' Compile complete -- 10 errors, 0 warnings Build complete -- 10 errors, 0 warnings : No download possible The problem was caused by the WagoSysPlainMem(WAGO) library in the original version 1.5.3.0 after updating to 1.5.3.1. After returning to version 1.5.3.0, the problems disappeared. Probably the version number of this library is responsible for supporting the appropriate Firmware Revision. Can anyone confirm or deny my suspicions?
Last updated: 2024-07-06
Post by macros8 on Alarm Management - latched variable represented as Text list
CODESYS Forge
talk
(Post)
Hi all, in Alarm management you can latch some variable to show value within the alarm msg. It´s very useful sometime. But I´m wondering whether there is any possibility to represent that value as Text list. It´s quite common in other HMI tools and this is very useful in case of using some ErrorID for detail specification of error. Unfortunately I could not find any way how to do it but I believe that exists :) Thanks a lot. M.
Last updated: 2023-09-06
Post by jantje on Setting up the "Visual Studio Code" debugging environment (using .NET debugging) for use with the ScriptEngine API in Python.
CODESYS Forge
talk
(Post)
Hi Till, Sadly I did not get any feedback on this and was not able to get it to work using Visual Studio Code. I believe I have used a Codesys environment to get something up, but I cant remember any specifics, its too long ago. Good luck with it! Kind regards, Jan
Last updated: 2023-10-02
Post by gepert on parker servo and position
CODESYS Forge
talk
(Post)
Hello, Thank you for your response. In my application i use ethercat and while work i do not turn off power. After relative move motor is in standstill. As you suggest I suppose that problem is in drive setting but i do not see any option about increase standstill torque. Below i posted some photos from drive setting manager - PSD Servomanager Do you see any settings responsible for standstill torque? thank you
Last updated: 2024-08-05
Post by jddaigle on TargetVisu controls are incorrectly positioned
CODESYS Forge
talk
(Post)
Hello, I'm trying to run TargetVisu on my Linux IPC, and while it does work, the controls are misaligned compared to my WebVisu. Both visualizations are full-screen on a Debian 12 VM with a resolution of 1280x768. The WebVisu is running in Firefox. Are there any configuration I should adjust to ensure the controls align properly between the two? Any guidance or troubleshooting tips would be greatly appreciated! Thank you.
Last updated: 2024-11-03
Post by mascara on TouchScreen does not work in Webvisualization.
CODESYS Forge
talk
(Post)
I am configuring a Lenovo M900 computer with CODESYS Control RTE SL 3.5.20.30. I use an Aoc E2272pwut LED 21.5 monitor. The touchscreen works perfectly in the Windows 10 PRO environment but does not work in the WebVisualization environment (Window opened at PLC startup). Does anyone know if it is necessary to configure any drivers in Win RTE? I am at your disposal for any questions. Thank you.
Last updated: 2024-11-11
Post by pernockham on Inheritence of struct,
CODESYS Forge
talk
(Post)
Interesting, thanks! Didnt know about ANY before, and will sure find a use-case for it. Im not sure it will help me here though, it seems to me that an ANY will not accept a string assignment? I actually think that the "ALIAS" should work, that was a hard found error. I had a fair bit of scratching my head looking for misdirected pointers before I understood what was (not) happening. I will use the work-around of individual structs instead.
Last updated: 2025-03-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.