Post by andrej on Creating, using an external Function.
CODESYS Forge
talk
(Post)
Hello, many thanks for your reply. I checked the logs. It seems that dll is not loaded. However other dll such as the Webserver are loaded. Could you tell me what I need to do such that my dll is loaded. (Furthermore I changed the C-Function a bit. I used the M4.exe from the SDK.) Many thanks.
Last updated: 2025-04-23
Post by tvm on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
maybe this would be a better approach, then you don't have to pass the constant at all. FUNCTION fun : INT VAR_IN_OUT arr: ARRAY[*] OF INT; END_VAR VAR lower: DINT; upper: DINT; END_VAR lower:= LOWER_BOUND(arr, 1); upper:= UPPER_BOUND(arr, 1); see here as well https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_datatype_array/
Last updated: 2024-01-08
Post by tvm on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
It will be a reference, because it's a VAR_IN_OUT. it's a little weird debugging the array online. It just shows as a POINTER TO INT, and you can't actually see the array from the function side. But you can still work with it as a normal array, not a pointer.
Last updated: 2024-01-09
Post by scarter on Bit / Bool data types in function parameters
CODESYS Forge
talk
(Post)
Any reason BIT and BOOL data types are not interchangeable? Trying to make a function which takes a BOOL IN/OUT parameter (Not allowed to use BIT) In the main logic if I make a DINT variable, and want to use each bit on different functions CODESYS will not allow it.
Last updated: 2024-01-17
Post by timvh on Limiting Memory Access of an Array to Within its Bounds
CODESYS Forge
talk
(Post)
Add the object "POU for Implicit Checks" to your application, then select "Bounds check". This will create a function which is automatically called each time an array is write accessed. In the function you can handle "out of bounds" situations. By default it will be limited to its lower or upper bound.
Last updated: 2024-03-06
Post by haydermsalih on OSCAT Network LIBRARY: FTP_CLIENT
CODESYS Forge
talk
(Post)
Hello I am using FTP_CLIENT to donwnload/Upload a text or CSV file from FTP server. UpLoading from PLC to FTP server is working without any problem but when I try to download from FTP server I get an error. The FTP_CLIENT Block allows me to add URL but I do not where I can specify the direcory to save the downloaded file... is there anyone has an experience with downloading from FTP server using FTP_CLIENT block. Thanks in advance Hayder
Last updated: 2024-01-24
Post by r-niedermayer on OPC UA subscriber not operational
CODESYS Forge
talk
(Post)
Hi. As far as projects in "old version"s are concerned, these can be upgraded to newer versions at any time. To do this, the device must be updated accordingly and the copilers and library versions must be adapted. You can find instructions on how to proceed in the online help/FAQ: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_changing_compiler_version.html https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_cmd_update_device.html See also 4.3.22.4 "How to open an Example Project" within the following pdf for more details on the single steps: https://forge.codesys.com/lib/counit/tickets/_discuss/thread/3e991befbc/ca97/attachment/Public%20FAQ-v13-20240610_075228.pdf Regaring your OPCUA connection state always showing just "DISABLED", without knowing both sides of the assembly in detail, one can only approach the problem theoretically. We can give a chekclist on how to proceed: Fist, please recheck the communication settings in the OPC UA connection function block to ensure that the server URL, endpoint URL, and other settings are correct and match the configuration of the OPC UA server. Verify that the OPC UA server is running and accessible. -You can try to connect to the OPC UA server using a separate client, such as UAExpert, to ensure that the issue is not related to the OPC UA server itself. Test the security settings in the OPC UA connection function block to ensure that the correct security policy and certificate are selected. If you are using a dynamic connection to the OPC UA server, probe that the connection settings are correctly configured and that the OPC UA client is able to establish a connection to the OPC UA server. Also, please loock into the log files for any errors related to the OPC UA connection function block, these should be listet there. The log files may also provide additional information about the issue and help you to further troubleshoot the problem. FYI - Please see https://content.helpme-codesys.com/en/CODESYS%20Communication/_cds_obj_data_source_communication_opc_ua_server.html: Her you can finde the Communication settings via OPC UA Server -> layout Browse Live Server: The client connects to the server and detects the existing variables and types. From Information Model The client reads the data structure (layout) of the OPC UA Server from the information model set here and as a result receives the information about available variables and types. A connection to the server is not required. The list contains the information models installed in the OPC UA Information Model Repository. "Read Connection" Settings from IEC Variable (option set): - The connection settings used by the device are not read here from the dialog, but at runtime from the IEC variable specified here. - For this possibility, please see the Using a Dynamic Connection to an OPC UA Server (https://content.helpme-codesys.com/en/CODESYS%20Communication/_comm_use_dynamic_opc_ua_server_comm_settings.html) The settings for the communication of a Client-data source to an OPC UA Server can also be dynamically configured from the IEC code and can also be changed at runtime. For such a purpose, a structure is available in the DatasourceOpcUAServer library (For a description of the OPC UA Server, there is one included in the standard installation of CODESYS, https://content.helpme-codesys.com/en/CODESYS%20Communication/_cds_encrypt_communication_data_sources_opc_ua_client.html)
Last updated: 2024-11-04
Post by timvh on CanOpen write issue
CODESYS Forge
talk
(Post)
See: https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_canopen_canopen.html SDO example: SegmentedAndBlockWriteExample: Writing if an object of any length via SDO (segmented transfer or block transfer) by means of CiA405.SDO_WRITE_DATA This help page also contains a link to a demo project.
Last updated: 2024-07-16
Post by jepl-1012 on configuration error for SM_Drive_GenericDSP402
CODESYS Forge
talk
(Post)
Hi All, I Am using Delta AX8 Controller And IndrDrive HCS01 With Ethercat COE (Cia402 Profile) .Communication has done properly but while i made MC_Power block on its not get enable. what is the issue can any one help me
Last updated: 2024-10-21
Post by timvh on Leitungsverzweigung mit einem existierenden Block (z.B. AND-Glied) zu verbinden
CODESYS Forge
talk
(Post)
A branch is a branch (doesn't grow back to the tree). But what you are trying to do is use several XORs. See attachement.
Last updated: 2024-11-09
Post by ellocco on Leitungsverzweigung mit einem existierenden Block (z.B. AND-Glied) zu verbinden
CODESYS Forge
talk
(Post)
Thanks for your response and your idea. To sum up, you also have no idea how to connect two existing blocks. Meanwhile I worked with "PLCnext engineer" and the result is:
Last updated: 2024-11-11
Post by sean-barton on Ambiguous namespace in library dependencies
CODESYS Forge
talk
(Post)
I am trying to install the MQTT Client SL in an existing project I have been working on for years. After adding the library to the project, and without adding any other code, upon building I get a C0180: Ambiguous namespace 'MBM' error between the memory block manager (MBM) in the NetBaseSrv dependency of the MQTT Client SL library and the memory block manager (MBM) in the CAA CanL2 dependency of the 3S CANopen stack library. I have tried: * setting "Only allow qualified access to all identifiers." in the properties for both the parent libraries. * deleting the 3S CANopen stack library. Upon (re)building the error simply points to another conflicting library - there are many. * deleting the Library Manager and rebuilding it. * adding the memory block manager library (used in the NetBaseSrv) manually and changing its namespace to MBM3S. None of the above allow me to access the MQTT library through its namespace (MQTT). Adding the memory block manager manually removes the C0180 error, but the MQTT library is not accessible - i.e. mqttClient : MQTT.MQTTClient; highlights the mqttClient as "Identifier 'MQTT.MQTTClient' not defined". Is there anything else I can try?
Last updated: 2025-01-09
Post by fless on Help with __SYSTEM.VAR_INFO
CODESYS Forge
talk
(Post)
to get the address just use ADR( ) variables defined in a VAR_IN_OUT block are references pointing to the passed variables. VAR_IN_OUT MyVar: bool; END_VAR VAR adrMyVar: __XWORD; END_VAR adrMyVar := ADR(MyVar);
Last updated: 2025-01-26
Post by masmith1553 on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
Have you cross referenced the variable to see if it is being written some where else? You could try an Execute block instead of a Move.
Last updated: 2024-01-25
Post by matt-s on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
I put the cross reference at the bottom of the pictures. It is not being written to elsewhere. I have tried the execute block too.
Last updated: 2024-01-26
Post by matt-s on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
I put the cross reference at the bottom of the pictures. It is not being written to elsewhere. I have tried the execute block too.
Last updated: 2024-01-26
Post by ben1 on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
Hey mate, did you get to the bottom of this? If not, have you double checked the buttons are linked to the correct variables and/or performing the correct action? Have you tried always enabling the block to confirm false is moved to the variable if so?
Last updated: 2024-02-01
Post by reinier-geers on Axis declare
CODESYS Forge
talk
(Post)
In motioncontrol every block start with Axis. How can i make a variable to make my own FB ? Somthink like : _Axe : pointer to Axis_Ref_MC := Axis_1 ;
Last updated: 2024-02-13
Post by nano on Functional block
CODESYS Forge
talk
(Post)
u can use internal variables by passing it thru setter/getter. thats the way to go. for that add it by rightclick on fb and create propertie
Last updated: 2024-04-17
Post by chir on SMC_REGULATOR_OR_START_NOT_SET issue
CODESYS Forge
talk
(Post)
Hello everyone! I faced the error SMC_REGULATOR_OR_START_NOT_SET using InoProShop (Inovance IDE). This error occured then I enable MC_Power block. The output BUSY is TRUE constantly.. The description of this error in documentation - "Controller enable not done or brake applied". Maybe someone know how to solve this problem
Last updated: 2024-04-19
Post by davidbo on How to stay in a method until something is finished.
CODESYS Forge
talk
(Post)
You never stay in a method. You need a block to do that. Something like: VAR button:BOOL:=FALSE; count:UINT:=0; END_VAR IF button THEN //read pressure count:=count+1; IF count>1 THEN button:=FALSE; count:=0; END_IF END_IF
Last updated: 2025-11-04
Post by micik on Using Codesys example problems
CODESYS Forge
talk
(Post)
Hello to all, I'm totally new to Codesys, but I do have some PLC programming experience, mosty with Siemens TIA and STEP7. I have just installed Codesys 3.5. sp19 and I have downloaded example with Ethernet Rockwell 1734AENT. The example can be found here: https://forge.codesys.com/prj/codesys-example/rockwell-1734-c/home/Home/ After opening, I had to manually update devices (Device, Ethernet, IP Scanner, EthernetIP adapter). However, when trying to build the project, I get the following errors: [WARNING] CODESYS_EtherNetIP_Rockwell1734AENT: Library Manager [Device: PLC Logic: Application]: C0100: Library System_VisuElemXYChart has not been added to the Library Manager, or no valid license could be found [WARNING] CODESYS_EtherNetIP_Rockwell1734AENT: Library Manager [Device: PLC Logic: Application]: C0100: Library system_visuinputs has not been added to the Library Manager, or no valid license could be found [ERROR] iodrvethernetip, 4.4.1.0 (3s - smart software solutions gmbh): ServiceCycle [IoDrvEtherNetIP]: C0040: Function 'ProcessUpdateConfigurationQueue' requires exactly '1' inputs [ERROR] iodrvethernetip, 4.4.1.0 (3s - smart software solutions gmbh): IoDrvStartBusCycle [IoDrvEtherNetIP]: C0040: Function 'GenerateRandomUINT' requires exactly '2' inputs [ERROR] iodrvethernetip, 4.4.1.0 (3s - smart software solutions gmbh): Cyclic [GenericServiceUnConnected]: C0040: Function 'GenerateRandomUINT' requires exactly '2' inputs [ERROR] cip object, 4.4.1.0 (3s - smart software solutions gmbh): ForwardOpenService [ConnectionManager]: C0040: Function 'GetAssemblies' requires exactly '3' inputs [ERROR] iodrvethernetipadapter, 4.4.0.0 (3s - smart software solutions gmbh): ServiceCycle [IoDrvEtherNetIPAdapter]: C0040: Function 'GenerateRandomUINT' requires exactly '2' inputs [ERROR] iodrvethernetip, 4.4.1.0 (3s - smart software solutions gmbh): SetupStructuredIOMapping [RemoteAdapter]: C0040: Function 'MallocData' requires exactly '1' inputs [ERROR] iodrvethernetip, 4.4.1.0 (3s - smart software solutions gmbh): SetupStructuredIOMapping [RemoteAdapter]: C0040: Function 'MallocData' requires exactly '1' inputs Compile complete -- 7 errors, 13 warnings Build complete -- 7 errors, 13 warnings : no download possible! What could be the reason for this errors and how to rectify them? Thank you!
Last updated: 2024-02-01
Post by fabian on v3.5 SP19 - Modbus TCP Devices - Channel Limit?
CODESYS Forge
talk
(Post)
Hi all, Is there an update on this topic? Same problem here, I can not add more than 10 Modbus-Slave channels. Is there a workaround? Many thanks! Fabian Codesys 3.5.19 SP2, Modbus 4.3.0.0, Name: Modbus TCP Slave Hersteller: 3S - Smart Software Solutions GmbH Kategorien: Modbus TCP Slave Typ: 89 ID: 0000 0005 Version: 4.1.0.0 Bestellnummer: - Beschreibung: Ein Geraet, das als Slave für einen Modbus TCP Master konfiguriert ist. Version Konfiguration 3.5.11.0
Last updated: 2023-08-28
Post by ricardoteles97 on Trends Error: TrendStorageAccess: prvCheckForSizeLimit
CODESYS Forge
talk
(Post)
Hello, I currently have my trend configured with a maximum size limit of 5MB (additional settings can be seen in the attached image). However, I am encountering an error related to this trend, specifically within the TrendStorageAccess library. The device log shows the following message: TrendStorageAccess: prvCheckForSizeLimit (see the attached image for details). Does anyone know the reason for this error? Additionally, where can I find more information to troubleshoot this issue? Thanks in advance!
Last updated: 2024-10-16
Post by elektron785 on CAN-Bus in Demo-Version
CODESYS Forge
talk
(Post)
Hallo, wie verhält es sich mit der Demo-Version und Datenübertragung z.B. via CAN-Bus. Der Bus läuft, das Device befindet sich im Zustand "Operational" aber es werden keine Daten von der Soft-SPS empfangen. Ich benutze aktuell eine nicht lizenzierte Version von CoDeSys Control for Linux ARM64SL. Normalerweise sollte die Demo-Version uneingeschränkt laufen - also kann ich davon ausgehen, dass es sich um einen Programmierfehler handelt oder ist die Feldbusfunktion ohne Lizenz doch in irgendeiner Form eingeschränkt verfügbar (außer dem 30 Minuten Limit nach Reboot)?
Last updated: 2024-02-06
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.