Post by caliberbishop on Having trouble using the Web Client SL library
CODESYS Forge
talk
(Post)
Hello, I'm trying to use the Web Client SL library, I installed it in the IDE (did not purchase a license yet, as this is still a proof of concept so demo mode is good enough) and added it to the library manager. However, when trying to define a FB of the type WebClient I get a "Identifier 'WebClient' not defined" error message, setting the type to Web_Client_SL.WebClient did not work as well. Opening the example project the FBs defined there give the same error message. From the problem in the example project I deduce this is not a syntax problem, so maybe a license problem, but there should be a working demo mode, so what am I missing? IDE v 3.5.21.30 Library v 1.12.0.0 Thanks
Last updated: 2025-10-04
Post by struccc on Release SP20 - Changes in behaviour?
CODESYS Forge
talk
(Post)
Dear all, I've just started to migrate some of my ancient projects to SP20. There is one strange error (?) I have noticed so far. In a method call, depending on the circumstances I would like to return reference to an object, or an invalid reference: METHOD Add_EVT_OUT : REFERENCE TO FB_MSG VAR END_VAR IF __ISVALIDREF(refMSG_Entry) THEN Add_EVT_OUT REF= MANAGER.AddMsg_EVT_OUT( refMSG_Entry, _Get_EVT_Message(MSG_EVENT.OUT), _Get_EVT_AddCode(MSG_EVENT.OUT) )^; ELSE Add_EVT_OUT := 0; END_IF So far setting a reference variable to 0, did this. But now, the expression Add_EVT_OUT := 0; gives an error: [ERROR] DB_WTP_370: Add_EVT_ACK MSG_TRIGGER_EXT: C0032: Cannot convert type 'BIT' to type 'REFERENCE TO FB_MSG' Naturally... I can write: Add_EVT_OUT := DWORD#0; But is this the correct way? Is there any constant I could use instead, like "NULL"? Or this is totally wrong and to be avoided?
Last updated: 2024-03-24
Post by pethun on Upgrade from codesys 3.5.19 to 3.5.20
CODESYS Forge
talk
(Post)
Hi We upgraded our ptoject from 3.5.19 to 3.5.20 but we get an error message in the latest version. We made our own trend function and its related to this we get error message: Trend_Menu Device: PLC Logic: Application: C0032: Cannot convert type 'RTS_SYSTIMEDATE(systimertc, 3.5.20.0 (system))' to type 'RTS_SYSTIMEDATE(systimertc, 3.5.17.0 (system))' The variables are defined as follow: start : SysTimeRtc.SYSTIMEDATE; end : SysTimeRtc.SYSTIMEDATE; The code that creates the error is the variable start and end IF xAssign THEN xAssign := FALSE; xPanEnable := FALSE; xZoomEnable := FALSE; drs.liFrom := VisuTrendStorageAccess.TrendStorageConvertToTimestamp(start, 0 (us)); drs.liTo := VisuTrendStorageAccess.TrendStorageConvertToTimestamp(end, 0 (us)); drs.m_itfDateRangeSelectorClient.SetCurrentRange(drs.liFrom, drs.liTo); END_IF I cant understand really what the error message means and what can be the cause of the error? It compiles fine in dthe older codesys 3.5.19. If anyone has some experience of this please help us out? We must upgrade due to the new licenses. Thanks
Last updated: 2024-04-20
Post by pethun on Upgrade from codesys 3.5.19 to 3.5.20
CODESYS Forge
talk
(Post)
Hi We upgraded our ptoject from 3.5.19 to 3.5.20 but we get an error message in the latest version. We made our own trend function and its related to this we get error message: Trend_Menu Device: PLC Logic: Application: C0032: Cannot convert type 'RTS_SYSTIMEDATE(systimertc, 3.5.20.0 (system))' to type 'RTS_SYSTIMEDATE(systimertc, 3.5.17.0 (system))' The variables are defined as follow: start : SysTimeRtc.SYSTIMEDATE; end : SysTimeRtc.SYSTIMEDATE; The code that creates the error is the variable start and end IF xAssign THEN xAssign := FALSE; xPanEnable := FALSE; xZoomEnable := FALSE; drs.liFrom := VisuTrendStorageAccess.TrendStorageConvertToTimestamp(start, 0 (us)); drs.liTo := VisuTrendStorageAccess.TrendStorageConvertToTimestamp(end, 0 (us)); drs.m_itfDateRangeSelectorClient.SetCurrentRange(drs.liFrom, drs.liTo); END_IF I cant understand really what the error message means and what can be the cause of the error? It compiles fine in dthe older codesys 3.5.19. If anyone has some experience of this please help us out? We must upgrade due to the new licenses. Thanks
Last updated: 2024-04-20
Post by installwhat on C0077 on one machine but not another
CODESYS Forge
talk
(Post)
I have a version of codesys 3.5.16 on my local machine and a vm. The local machine has loads of codesys versions and libraries installed etc. I can open the FPosCR_Example_Project_SP16_patch1 project on my vm without any errors. On the local machine I get the error C0077: unknown type IoDrvEthercatLib.ETC_CO_SdoWrite. I can, on the local machine, declare a var of type IoDrvEthercatLib.ETC_CO_SdoWrite and include it in the code without adding an extra error. The problem only seems to affect the library. This is seems more an issue with my codesys set up rather than something with festo. I would like to know the possible causes. I understand most of the library manager features but it's not clear how to find the cause. Thanks
Last updated: 2024-06-11
Post by maxsus on Visu Frame-configuration___text will not work
CODESYS Forge
talk
(Post)
Hello I have a problem with the Frame-configuration. In the picture below you can see that I set the Editor Type to variable. If it would be text it would work, but it wasnt variable anymore. Thanks for your time. Sorry, my codesys is in German.
Last updated: 2024-08-20
Post by maxsus on Visu Frame-configuration___text will not work
CODESYS Forge
talk
(Post)
Hello I have a problem with the Frame-configuration. In the picture below you can see that I set the Editor Type to variable. If it would be text it would work, but it wasnt variable anymore. Thanks for your time. Sorry, my codesys is in German.
Last updated: 2024-08-20
Post by timvh on Configuring a 2's compliment
CODESYS Forge
talk
(Post)
You could create a DUT of the Type Union and add an array of 2 bytes + an Int. Then write the byte values in the array of the Union and read the Int. Or VAR iInt : INT; byHigh : BYTE := 2#1111_1111; byLow : BYTE := 2#1111_1111; END_VAR iInt := TO_INT(byHigh*16#100 + byLow);
Last updated: 2024-09-28
Post by janber on REFERENCE TO in an array
CODESYS Forge
talk
(Post)
Hi all, in the online help it written, that array of reference to data type is not possible. Ok... but if I create array of struct of reference to - everything works fine - please see the screenshots: and it works this way OK. Is it intention or error in compiler 3.5.18.20 and we should avoid it? Thanks a lot, Jan.
Last updated: 2024-10-14
Post by reinier-geers on Energie price
CODESYS Forge
talk
(Post)
On a website i can get the energie price. But how does that work in codesys? There is a video of Rest client. But i can find the HTTP library. If i type on my browser : https://enever.nl/api/stroomprijs_vandaag.php?token=ANWB i get {"status":"true","data":"Please provide a valid API token. More information at https:\/\/enever.nl\/prijzenfeeds\/","code":"2"}
Last updated: 2024-12-03
Post by reinier-geers on Energie price
CODESYS Forge
talk
(Post)
On a website i can get the energie price. But how does that work in codesys? There is a video of Rest client. But i can find the HTTP library. If i type on my browser : https://enever.nl/api/stroomprijs_vandaag.php?token=ANWB i get {"status":"true","data":"Please provide a valid API token. More information at https:\/\/enever.nl\/prijzenfeeds\/","code":"2"}
Last updated: 2024-12-03
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 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 imdatatas on Problem with edge gateway config mode
CODESYS Forge
talk
(Post)
I encountered the same problem. (Windows10 x64 single language OS). As @eschwellinger mentioned, I uninstalled the latest EdgeGateway version and installed version 3.5.20.0. Now, when I right-click and select "Allow Edge Gateway...", Config mode is activated without any error or warning window and I do not need to manually type [CmpEdgeGateway] for EdgeGateway version 3.5.20.0.
Last updated: 2025-02-04
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
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.