Post by reinier-geers on Resize and position Numpad/Keypad
CODESYS Forge
talk
(Post)
HI, I download the scale dialog. But cant find were i can Set the size of the dialogs. only the position. I want the diolog bigger
Last updated: 2026-04-15
Post by ihatemaryfisher on Sorting array of any-sized structure
CODESYS Forge
talk
(Post)
With that I could make an array of varying size, but would still have to define the array type in the function's declaration VAR_IN_OUT stArray: array [*..*] of <pre-defined data type> END_VAR I wanted a function that could take an array of any type (e.g., a structured VAR) as an input. That way I could call it in multiple POUs to handle different arrays structures.
Last updated: 2023-08-18
Post by macros8 on Alarm Management - Import and Export of AlarmGroup
CODESYS Forge
talk
(Post)
Hi, I struggle with exporting my Alarm Messages and following importing back to my project. Because filling in one by one is very time consuming I want to use export function and edit .csv file in Excel. As soon as I modify the file the import back to project does not work at all and function returns errors. Would you pls give me a hint how to properly use this functionality? Thanks a lot for help. Regards, M.
Last updated: 2023-12-02
Post by voffi on Converting UINT into bytes and converting 2Bytes into UINT
CODESYS Forge
talk
(Post)
There are some ways. One is to use SHR and SHL and it depends on your byte order in the data array. For Motorola byte order: PROGRAM PLC_PRG VAR u : UINT; byte_array_in : ARRAY [1..8] OF BYTE := [16#11, 16#12, 16#13, 16#14, 16#15, 16#16, 16#17]; byte_array_out : ARRAY [1..8] OF BYTE; END_VAR u := SHL(TO_UINT(byte_array_in[2]), 8) + TO_UINT(byte_array_in[1]); byte_array_out[1] := TO_BYTE(u); byte_array_out[2] := TO_BYTE(SHR(u, 8)); If it's Intel byte order just change 1 and 2 in the array indexes.
Last updated: 2023-12-07
Post by mrbartpawlowski on OMAC PackML library 1.0.04
CODESYS Forge
talk
(Post)
Hello all, Can someone point me to the OMAC PackML State Machine library documentation, I can't find any description of the block functionality ? I was looking into https://content.helpme-codesys.com/en/libs/index.html but there's no PackML there. I'm new to Codesys and don't know if I'm doing something wrong here ? In library tab in codesys whenever I want to see documentation I'm getting an error. Regards Bart
Last updated: 2024-08-15
Post by mrbartpawlowski on OMAC PackML library 1.0.04
CODESYS Forge
talk
(Post)
Hello all, Can someone point me to the OMAC PackML State Machine library documentation, I can't find any description of the block functionality ? I was looking into https://content.helpme-codesys.com/en/libs/index.html but there's no PackML there. I'm new to Codesys and don't know if I'm doing something wrong here ? In library tab in codesys whenever I want to see documentation I'm getting an error. Regards Bart
Last updated: 2024-08-15
Post by micik on ERR_OK not recognized
CODESYS Forge
talk
(Post)
Hello, if I try to use ERR_Ok in my code to check whether the file is open correctly or not, I get an error "Identifier ERR_OK not recognized", I can use plain 0 (zero) instead. But in general, is this a proper way to check for success of file operation since the 4th parameter is a poinmter to RTS_IEC_RESULT, and normally I would expect this to be used somehow. _hFile := SysFileOpen(_sFileName, am:=SysFile.ACCESS_MODE.AM_WRITE, ADR(_result)); IF _result <> 0 THEN udDiag := 100; RETURN;
Last updated: 2024-08-17
Post by ggis on Manage Gateways between different CODESYS IDE versions
CODESYS Forge
talk
(Post)
Hi, I'd like to share the list of gateways between different versions (and sandboxes) of Codesys IDE. I refer to the list that is managed in Device > Communication Settings (as described in https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_edt_device_communication_settings.html ) Can I export/import that list? Or is there a file that I can copy from one installation to another one? Thank you GG
Last updated: 2025-05-28
Post by timothyzalusky on Missing Device Descriptions in Repository
CODESYS Forge
talk
(Post)
After updating my Codesys to later versions, it seems my device repository no longer lists the proper runtime devices, nor ethernet adapters, or other previously installed device descriptions. What needs to be done here? Do I need to uninstall and do a clean install? I am now updating to SP21.1 to see if that fixes it. Any tips what I am doing wrong here are much appreciated. I don't see codesys control win, or have the ability to add an ethernet adapter in my project.
Last updated: 2025-06-12
Post by thomas-moba on "sudo"-Befehle ΓΌber die Funktion "SysProcessExecuteCommand2"
CODESYS Forge
talk
(Post)
Hello, I need to execute "sudo" commands via CoDeSys 3.5 SP 19 P5 using the "SysProcessExecuteCommand2" function. Commands without sudo are no problem, but as soon as sudo is used in a .sh or a single command, it does not work. Command=AllowAll is entered under "SysProcess" in CODESYSControl.cfg. Nevertheless it does not work. Does anyone know what the problem could be? Greetings, Thomas
Last updated: 2024-02-01
Post by stuartjr on Disabling forcing of specific variables
CODESYS Forge
talk
(Post)
Is there a way that I can create a variable in a GVL that I can control with logic but a user can not put a force on this variable. I have looked at the access rights but this seems to only limit editing the GVL or POU. This variable will only be assigned a value in one POU but it will be used throughout many other POUs.
Last updated: 2024-03-15
Post by mgengler on Recipe Manager - Not Creating Recipe Files
CODESYS Forge
talk
(Post)
Recipe Manager will load windows explorer view and allow file name to be typed in or existing file selected but will not create a new file or overwrite an existing. Will not create a file in the default folder or even a defined folder like "c:\recipes\" although it does properly navigate to that folder location. I made sure the folder is not read-only. Can't figure out what is missing...
Last updated: 2024-05-17
Post by schnepper on Minor UI bug: cannot create SFC POU after creating a Function POU
CODESYS Forge
talk
(Post)
After creating a Function POU, it is not possible to then create an SFC POU. Steps to recreate: * Create a new Function POU. SFC is not allowed for Functions, so SFC does not show in the Implementation language dropdown. * Click Add Object -> POU... Function is selected for Type. * Select Program * SFC is not present in the Implementation language dropdown
Last updated: 2024-05-23
Post by alexgooi on No Bootproject possible
CODESYS Forge
talk
(Post)
Dear Forum, When using a online-change I often get the following message: No Bootproject possible in this state: application out of memory. Perform full download first. I'm using Codesys virtual control for linux SL running on a docker server with plenty of memory available, therefore Iβm not expecting a hardware limitation. Is there a setting available to for example reserve more memory, so the controller is not that quick out of memory? thank you in advance. Alex
Last updated: 2026-03-27
Post by reinier-geers on draw 1000 nails the easy way
CODESYS Forge
talk
(Post)
Because codesys dont has a draw command like Circle in Qbasic ( 20 years ago ) i want to draw 1000 nails, and then move them in the screen when they needed. I dont know if codesys can handle this. But is ther an easy way to draw 1000 nails with every single one has a pointer for movement, color and invisable. Of is there a linux command to draw a circle so i can do it with a process command
Last updated: 2026-05-06
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 khaledkhalil on Question about the hairaichy of UaExpert
CODESYS Forge
talk
(Post)
Hello, I am Examining this Example from Codesys Tutorial about OPC-UA server here https://www.youtube.com/watch?v=aJhzN3Uk-Do&list=PLWtD08CpmZcSV26aWh1axCAef5c5HxX-3&index=1&t=1167s. Now i am running to problem, when i create instances and i want them to appear directly under the object directory, However, it always appear with me under Objects >> Device set >> Device Name in CODESYS. I need to know how i can change the directory of my instances 'inst_3' and so on. So they can be under objects directly. I tried to modify the settings, but couldn't find any leads till now. Thanks in advance for helping
Last updated: 2024-09-12
Post by benemenn on OPC UA Method - How to wait for result?
CODESYS Forge
talk
(Post)
so from what i've learned. Codesys OPCUA Server can only provide OPC UA Methods, when they are created in an XML Model beforehand. So you have to create the XML Model with OPC UA Methods. Then load that model into codesys and create the IEC Blocks. This is automated Code and will create all the variables and Methods from your XML Model. Then they will be displayed on discovery with an OPC UA Client. As far as I understood. There is no way for Methods to be shown in OPC UA when not using an external XML Informationmodel. Codesys can not yet create the informationmodel on itself. Regards
Last updated: 2025-04-02
Post by benemenn on OPC UA Method - How to wait for result?
CODESYS Forge
talk
(Post)
so from what i've learned. Codesys OPCUA Server can only provide OPC UA Methods, when they are created in an XML Model beforehand. So you have to create the XML Model with OPC UA Methods. Then load that model into codesys and create the IEC Blocks. This is automated Code and will create all the variables and Methods from your XML Model. Then they will be displayed on discovery with an OPC UA Client. As far as I understood. There is no way for Methods to be shown in OPC UA when not using an external XML Informationmodel. Codesys can not yet create the informationmodel on itself. Regards
Last updated: 2025-04-02
Post by antonz on CoDeSys v3.5: creating libraries for both 32-bit and 64-bit controllers
CODESYS Forge
talk
(Post)
Follow up question: in the Project Settings, under Library Development, there is an option related to this: Check all Pool Objects -> Pointer size to use Options are: * 32 Bit * 64 Bit * 32 and 64 Bit The descriptions and online help suggest to me this is only relevant for checking and showing any incorrect pointer types as an error in the IDE. E.g. using a DWORD to store a pointer value on a 64-bit controller. It would not control the creation of either 32-bit or 64-bit compiled libraries. Is that correct?
Last updated: 2025-09-01
Post by ara32 on CODESYS 4 Linux:
CODESYS Forge
talk
(Post)
Hello! I managed to correctly launch CODESYS Developer Studio 3.5.17, almost all functionality works. The only issue remaining is that when connecting to a device and obtaining its public key, the NCryptEncrypt function is called, which is not fully implemented in the DLL source code, resulting in the connection not being established. Currently, the code of this function in the Wine repository looks like this: SECURITY_STATUS WINAPI NCryptEncrypt(NCRYPT_KEY_HANDLE key, BYTE *input, DWORD insize, void *padding, BYTE *output, DWORD outsize, DWORD *result, DWORD flags) { struct object *key_object = (struct object *)key; TRACE("(%#Ix, %p, %lu, %p, %p, %lu, %p, %#lx)\n", key, input, insize, padding, output, outsize, result, flags); if (flags & ~(NCRYPT_NO_PADDING_FLAG | NCRYPT_PAD_OAEP_FLAG | NCRYPT_PAD_PKCS1_FLAG | NCRYPT_SILENT_FLAG)) { FIXME("Flags %lx not supported\n", flags); return NTE_BAD_FLAGS; } if (flags & NCRYPT_NO_PADDING_FLAG || flags & NCRYPT_PAD_OAEP_FLAG) { FIXME("No padding and oaep padding not supported\n"); return NTE_NOT_SUPPORTED; } if (key_object->type != KEY) return NTE_INVALID_HANDLE; return map_ntstatus(BCryptEncrypt(key_object->key.bcrypt_key, input, insize, padding, NULL, 0, output, outsize, result, flags)); } The program crashes due to the NCRYPT_PAD_OAEP_FLAG flag. I'm not proficient in C++, but I attempted to add handling myself, and here's the result: SECURITY_STATUS WINAPI NCryptEncrypt(NCRYPT_KEY_HANDLE key, BYTE *input, DWORD insize, void *padding, BYTE *output, DWORD outsize, DWORD *result, DWORD flags) { struct object *key_object = (struct object *)key; TRACE("(%#Ix, %p, %lu, %p, %p, %lu, %p, %#lx)\n", key, input, insize, padding, output, outsize, result, flags); if (flags & ~(NCRYPT_NO_PADDING_FLAG | NCRYPT_PAD_OAEP_FLAG | NCRYPT_PAD_PKCS1_FLAG | NCRYPT_SILENT_FLAG)) { FIXME("Flags %lx not supported\n", flags); return NTE_BAD_FLAGS; } if (flags & NCRYPT_NO_PADDING_FLAG) { FIXME("No padding not supported\n"); return NTE_NOT_SUPPORTED; } BCRYPT_OAEP_PADDING_INFO oaepInfo = { 0 }; oaepInfo.pszAlgId = BCRYPT_SHA1_ALGORITHM; NTSTATUS status = BCryptEncrypt(key_object->key.bcrypt_key, input, insize, &oaepInfo, NULL, 0, output, outsize, result, flags); if (key_object->type != KEY) return NTE_INVALID_HANDLE; return map_ntstatus(BCryptEncrypt(key_object->key.bcrypt_key, input, insize, padding, NULL, 0, output, outsize, result, flags)); } Now, when calling the connection, it crashes with the error "bcrypt:BCryptEncrypt flags 0x4 not implemented." Can anyone help with enhancing this functionality or at least point me in the right direction?
Last updated: 2024-03-22
Post by gatto on Undertanding Application Based Licenses
CODESYS Forge
talk
(Post)
Hi, i think you are right. Did you press the key shopping cart? Codesys tells you the license. What I don't appreciate is that i need an additional license for communication. The system reports opc ua but this cheats you. This is communication that also concerns the tag symbols that codesys eth v3 exchanges with an operator panel. Attached is a screenshot of my case where you can see that communication opc ua is cheating you. 512 tags included in the program license are few. So, I had to buy 2 licenses. one for the program and one for communication. I don't like this policy.
Last updated: 2024-11-11
Post by timvh on How to manage soft container licenses for (remote) multi units?
CODESYS Forge
talk
(Post)
You need to activate an individual license (ticket number) for each device. THe hardware of each device is unique, so you cannot copy a soft container from one device to another. This license can be installed in a local (wibu - codemeter) soft container, or you could optionally activate it on a hardware (USB) key. The benefit of the key is that you can easily move it to another device, nor does it get lost when you replace parts of the hardware of the device or completely overwrite the image. See: https://store.codesys.com/en/codesys-key.html
Last updated: 2025-04-08
Post by viksym on How to get the motor scaling value from code
CODESYS Forge
talk
(Post)
Is there a way to see what value is set as the "Work travel distance per motor rotation" that is set in the Scaling menu of the axis ? I am working on my own homing function block for sensorless (hardstop) homing and I want to make it be universal between different axes with different motor's scaling for distance per rev so I need to know this value from the axis itself. I know I could do it by just creating an input variable for the function block but I'm leaving that option as a last resort.
Last updated: 2025-06-12
Post by jzhvymetal77 on IecVarAccessLibrary.IBaseTreeNode methon
CODESYS Forge
talk
(Post)
I got this code working again. 3S/CoDeSys, your level of obfuscation and lack of documentation turns a simple task into a monumental complex challenge. The issue was that at some point the IecVarAccessLibrary changed and no longer allowed using IBaseTreeNode to retrieve a child or the number of children. The attached code has been updated to use IIecVarAccess6.VarAccBrowseGetChildByIndex instead. The code was also cleaned up but is still a work in progress. The current example only works one layer deep. This means native data types, arrays, and single-layer structures are supported. However, structure arrays and nested structures are not yet supported.
Last updated: 2025-08-25
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.