Post by vformanek on Datasource OPC UA Client error ID:7012
CODESYS Forge
talk
(Post)
Hey, I am facing the same problem. Basically UA Expert and other programs work fine with the login credentials. But codesys can not use them properly. I can see the server login to it manually but when I download the program and run the datasource never runs... Currently I am facing the same Error ID: 7012 and cant get it running properly.
Last updated: 2023-11-21
Post by damian177 on OPC UA Client
CODESYS Forge
talk
(Post)
Hi, Today I ran OPC UA Client Example in 1.1.0.0 version. I opened example visualisation and I tried connected to my OPC UA Server. In first steps looks good but connection was terminate with error OpcUa_BadLicenseLimitsExceeded. I can't test OPC UA Client witohut CODESYS OPC UA Client SL license ? Regards
Last updated: 2024-08-30
Post by domebruce on Which database to use?
CODESYS Forge
talk
(Post)
We have developed a similar application few years ago with .Net and MS Sql Server. The database has about 30 tables, the more bigger tables have 2 or 3 thousands records. We can have multiple threads accessing at the same time to the DB. To garantie the data integrity we need to manage data locks and transactions. Thanks
Last updated: 2025-03-04
Post by programmer on 3.5 P20 hangs - no response
CODESYS Forge
talk
(Post)
hi imdatatas, thanks for your suggestion! I added the process execution to be sure. In the meantime I reïnstall Windows but it dind't help directly. Finally I deleted CodeMeter Runtime Server after Codesys installation. Because this Service was not able to start. And it works (for now) :)!
Last updated: 2025-06-25
Post by wbj0t on one variable signed to modbus tcp server device and modbus serial device
CODESYS Forge
talk
(Post)
Hi. Raspberry pi 4 runtime. Runtime version 4.16, IDE version 3.5.21. Is it possible write new value for variable via modbus tcp or serial devices when both enabled? As I see - not. What can I do? It is terrible restriction.
Last updated: 2025-07-17
Post by stiller on OPC-UA ApplicationUri / ProductUri
CODESYS Forge
talk
(Post)
Thank you for your answer! I'm not sure, but it seems this is not what I am looking for. I attached three pictures. The first one is from the Codesys IDE. I use an Information Model to generate an OPC-UA server. I connected via UA-Expert, and there I see the URIs I would like to change.
Last updated: 2024-05-10
Post by dat422 on OPC UA Enum Issue
CODESYS Forge
talk
(Post)
Hi everyone, I’m using CODESYS V3.5 SP22 with the Communication Manager to run an OPC UA server. I have a problem with enums: when I view them in a client like UaExpert, only the last enum member is shown, and it has the wrong value. Has anyone seen this issue before or knows what might cause it? Thanks!
Last updated: 2026-03-27
Post by nulltrace on Modbus TCP Server connection is ESTABLISHED but all holding registers are value 0?
CODESYS Forge
talk
(Post)
it works pretty well on codesys-version using device-tree and channels. heres the twist: each uid should be represented as a device, which in your case, it isn't. on the other hand, you found a solution which already works fine. Happy Modbus'ing
Last updated: 2026-04-09
Post by mm-sceg on Runtime geht sporadisch in Störung -> RaspiPi4 reagiert nicht mehr
CODESYS Forge
talk
(Post)
Guten Tag, ich hab seit längerem das Problem, dass mein Raspberry Pi4 durch die PLC in Störung geht. Auf dem Raspi läuft eine einfache Software mit OPC UA server, InfluxDB und ein NodeRed-Server. (Und MQTT-Server) Daten werden von der PLC über OPC-UA an NodeRed übergeben. Es kann sein, dass der Raspi 2 Wochen läuft, dann geht die PLC in Stopp. Manchmal nur 2-3 Tage. Ein Neustart über Spannung aus & wieder an schafft Abhilfe. NodeRed wirft extrem viele Fehlermeldungen in kurzer Zeit. Wenn die PLC in Störung ist, kann man sich nicht mal mehr über SSH beim Raspi einloggen. Der Raspi ist aktiv gekühlt und im Normalbetrieb nicht überlastet. Ich hab einige logfiles mit vielen Einträgen die mir nichts sagen, eventuell hat hier jemand eine Idee wie ich dem Problem Herr werden kann :) Der letzte Datenbankeintrag von der SPS war am 11.11.2023 um 5:55:50 Uhr. D.h. danach muss die SPS gestorben sein. Siehe Raspi-Log im Anhang. Das LogFile von Codesys startet leider erst um 11 Uhr, weshalb weiß ich leider nicht. Vielen Dank schonmal
Last updated: 2023-11-11
Post by hammer on Cartesian XY Chart — 2-D array binding: "Element to use" enumerates the wrong dimension
CODESYS Forge
talk
(Post)
Title: Cartesian XY Chart — 2-D array binding: "Element to use" enumerates the wrong dimension; documented example (Dialog: XY Chart Configuration, "Two-dimensional array of base type REAL") appears transposed Product / version: CODESYS Development System V3.5 SP21 Patch 40 (3.5.21.40). Cartesian XY Chart visualization element (System_VisuElemXYChart / VisuElemXYChart). Summary: When a curve's Data X/Data Y is bound to a two-dimensional array, the element treats the last array dimension as the per-point record (the one selected by "Element to use") and iterates the first dimension as the sequence of curve points. The online documentation's worked example has the dimensions in the opposite order, so following it produces a non-functional curve and a nonsensical "Element to use" list. Steps to reproduce (fails — matches the documented layout): 1. Declare aData : ARRAY[0..1, 0..4095] OF LREAL; (2 data sets × 4096 points, i.e. first dimension = set, second = point). 2. In XY Chart Configuration, bind a curve's Data X (and Y) Variable to this array. 3. Observe the "Element to use" combobox. Actual result: The "Element to use" combobox lists 4096 entries (the indices of the second dimension) instead of 2 (the data sets in the first dimension). Selecting a row does not produce the expected curve; at most a single/degenerate point is plotted. Steps to reproduce (works — transposed): 1. Declare aData : ARRAY[0..4095, 0..1] OF LREAL; (points first, set second). 2. Bind Data X/Y to this array; "Element to use" now correctly lists [0] and [1]. 3. Populate aData[point, set] and the curve plots as expected. Expected result: Either the documented example should select the data set from the first dimension (as its [1]/[2] "Element to use" implies), or the documentation should state that the last dimension is the record dimension (stride) and the first dimension is the point sequence — consistent with how the element actually behaves. Analysis: The behavior is self-consistent if the element always walks a single array by a fixed byte stride, reading one element per point — the same mechanism as the documented "one-dimensional array of a DUT" case, where it strides by SIZEOF(DUT) and "Element to use" picks the member offset. For a 2-D array the record is the last dimension: to plot column/set c it starts at [0, c] and strides by the last-dimension length to reach [1, c], [2, c], … (row-major layout makes this a contiguous column walk). Under that rule, ARRAY[0..N, 0..1] is correct (record length 2 → "Element to use" [0]/[1]), and the documented ARRAY[1..2, 1..50] with "Element to use" [1]/[2] is transposed. Documentation reference: Dialog: XY Chart Configuration → Data X / Data Y → "Example: Two-dimensional array of the base type REAL" (ARRAY[1..2, 1..50], Element to use [1]/[2], "100 array values are displayed"). This example does not plot as described in 3.5.21.40; transposing to ARRAY[1..50, 1..2] does. Request: Please confirm whether this is (a) a documentation error (example dimensions reversed) or (b) an element defect (combobox enumerates the wrong dimension). Either way, a corrected example plus an explicit statement of which dimension is the point sequence vs. the record/stride dimension would prevent others from hitting this. Two separate 1-D arrays for Data X and Data Y work correctly and are unaffected.
Last updated: 2026-08-14
Post by ewi04 on Recipe Manager - RecipeManCommands, load & write wrong values, Bug?
CODESYS Forge
talk
(Post)
I'm getting closer to the error. The combination of STRUCT and ARRAY probably causes the strange behavior. As soon as the ARRAY is followed by a variable, the problem arises. Examples: X: ARRAY[1..2] OF INT; // okay Y: ARRAY[1..2] OF STRUCT; // problem Z: STRUCT; Z.ArrayOfInt[1]; // okay Z.ArrayOfStruct[1].Variable // problem // *update - array of array also causes the error A: ARRAY[1..2] OF ARRAY[1..4] OF BOOL; // problem I can't be the only one who has this problem. Or? Maybe there is a solution. Anyone? Or is it a bug after all?
Last updated: 2023-11-17
Post by gilbertamine on Comparing Arrays of structure
CODESYS Forge
talk
(Post)
Hi Everybody, I'm looking for a simple way of comparing two array of a structure. My structure is define like this : TYPE Positions_T : STRUCT PosX: DINT; PosY: DINT; PosZ: DINT; END_STRUCT END_TYPE I have multiples Var : ARRAY [0..220] OF Positions_T, that I need to compare quickly. I don't really want to do a Loop that goes by every 220 points and compare each one of them so I was wondering if there is another way. I came accross the MEM.Compare function, but it require to know the size in Bytes of the memory, and I don't know how to do that... Has anybody an idea on how to do the comparing easily ? Thanks in advance
Last updated: 2024-08-22
Post by peterkcontrols on Copying 2 byte word to output
CODESYS Forge
talk
(Post)
Hello. I am using codesys 3.5. I would like to know if it is possible to set a variable to an output without declaring in. I have defined a STRUCT and within this struct I have a Struct for inputs called I and a struct for outputs called O. I have declared a variable of the type of this Struct, I would like to set or alias the value in this variable to an input/output value of an IO block that has a module on the ethernet tree. Is it possible to copy the contents of %IW0 -> STRUCT.I ? The size of both of these is 2 bytes. I understand that I can declare a variable with the input like Input01 AT %IX0.0 : BOOL; However how can I make STRUCT.I.D00 AT %IX0.0? Is this possible? Thanks
Last updated: 2025-03-03
Post by m83coding on Raspberry Pi Codesys SPI Master
CODESYS Forge
talk
(Post)
Hello, I am trying to control shift registers 74HC596 and 74HC165 via Raspberry PI with SPI interface. So far I did it with a Microcontroller and now I wanna upgrade my Projekt with Raspberry Pi and Codesys Software to be more flexible. I tried to adapt PiFace Function Block to just send or recive a 8 bit via SPI interface of the my Raspberry Pi. With following code (see attached screenshots) * PLC_PRG * PiFaceDigital * PiFaceDigital.write8 * PiFaceDigital.read8 I have a signal at SCK and MOSI pin of the PI, so far so good. But I really struggle with the unterstanding of the code. Is there some detailed description of each line of code? Or is there somebody in the community who can explain each line of code? Or is there a more simple way to send / recive 8 bit via SPI? Manuel
Last updated: 2024-04-23
Post by i-campbell on Official MQTT-Client: MAX_RECEIVE_BUFFER_SIZE_EXCEEDED
CODESYS Forge
talk
(Post)
I can't answer why it's not resetting, but from the description of g_udiMaxReceiveBufferSize, I would guess the sum of sizes of the mqtt packets received in one cycle exceeded this value. So the answer may be to increase that parameter. https://content.helpme-codesys.com/en/libs/MQTT%20Client%20SL/Current/MQTT-Client/Common/Params/MQTTParam.html https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_dlg_library_parameter.html
Last updated: 2023-09-26
Post by leon78 on Codesys 3.5 SP17 Patch 2 CheckBounds (POUs for Implicit Checks)
CODESYS Forge
talk
(Post)
Hello! I use CheckBounds (POUs for Implicit Checks). But I have a problem. I use an array as an VAR_IN_OUT of Function Block. If I try to monitor the array of variable length ([* ]), its does't work. The CheckBounds POU isn't called. If I use the array of fixed lenght ([lower..upper]), the CheckBounds POU is called. Why?
Last updated: 2023-11-14
Post by leon78 on Codesys 3.5 SP17 Patch 2 CheckBounds (POUs for Implicit Checks)
CODESYS Forge
talk
(Post)
Hello! I use CheckBounds (POUs for Implicit Checks). But I have a problem. I use an array as an VAR_IN_OUT of Function Block. If I try to monitor the array of variable length ([* ]), its does't work. The CheckBounds POU isn't called. If I use the array of fixed lenght ([lower..upper]), the CheckBounds POU is called. Why?
Last updated: 2023-11-14
Post by jmfernandes on OpenDir always in error
CODESYS Forge
talk
(Post)
Hello just to give more feedback the error I get is "ERROR_UNKNOWN :represents raw value of 5110" in File.DirOpen. The xDone never gets true, and I never get the listing of files (csv files in this case). In the hDir i get the value of 0 for a DWord!?
Last updated: 2024-07-31
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 jarnok on How to know if output if function block is used
CODESYS Forge
talk
(Post)
Hi, Is it possible to know of an output of a function block is used? I've found there is a way to find unused inputs of a fb, through the attribute: is_connected. But I'm wondering if the same can be done for an output. Thanks in advance!
Last updated: 2024-10-15
Post by aufwindsh on Visualization Scaling the Keypad
CODESYS Forge
talk
(Post)
Hello everyone, is there an option to change the Scaling of the Keypad? I have an 15inch HMI with a resolution of 1920x1080p and the Keypad for the Login of the usermanagement is still to smals to have a great user Experiance. I really appriciate any feedback. Thanks.
Last updated: 2025-08-02
Post by beavel on Opening and saving files with fileOpenSave dialog
CODESYS Forge
talk
(Post)
1 + Replying in hopes of getting an answer here. I would also like to modify the look of the FileOpenSave Dialog. I have successfully adjusted the looks of the User management Dialogs but can not find a library file to adjust this particular one. Any help would be helpful. @thk @eschwellinger @sheberle .
Last updated: 2025-09-08
Post by snhatton on Testing of Codesys program
CODESYS Forge
talk
(Post)
There is a tool called test manager that is part of the Professional Developer's Edition of CODESYS. I would take a look at this tool for your testing purposes. There is a free 30-day trial so you can evaluate if the tool will meet your needs before investing in the license.
Last updated: 2023-12-08
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
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.