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 jackbrady on Function Blocks and arrays of function blocks
CODESYS Forge
talk
(Post)
Hello, I am new to Codesys and PLC programming in general (please go easy ha!) I'm not looking for code to be written for me just some help and pointing in the right direction. I am writing some code to send commands to a relay based on input values (to put it simply). Quite basic stuff. I have wrote a function block that takes a global variable (Open_command:BOOL) and outputs to another global variable (Opened : BOOL). The function block is simulating a device so I'll eventually get the globals from that. I now need to create multiple versions of this function block/ device (lets say 100) but I need each iteration of that function block to reference it's own relevant global variable. I think that the best way of doing this would be to use arrays, although I could be wrong. I am aware that for up to 100 instances I could very well manually assign everything but that seems rather time consuming and I want a fancier way of doing it. Here is a very basic example of what I am looking to do, please note I have not written this in proper code it's just to show what I mean. Global Variables V[0-100] int Open_command [0-100] Bool Opened [0-100] Bool Function Block var input x : BOOL Var output y : BOOL if x then y = TRUE ELSE y = FALSE The input to my function block will be Open_command, output will be Opened Example code. If V[x] > 10 then Open_command [x] = TRUE ELSE Open_command [x] = FALSE (So when V1 goes above 10 I need Open_command1 = TRUE therefore initiating FB1 output. V2 > 10, open_command2 = True > FB2 output V3 > 10, open_command3 = True > FB3 output ... ... ) What I can't seem to figure out is how to tie all this together, I have read through the codesys documentation and if anything it has confused me more! ha. Apologies for the poorly written post but hopefully you understand what I am trying to get at. Thanks, Jack
Last updated: 2024-02-14
Post by felipemsgarcia on EtherCAT - Force Control Word
CODESYS Forge
talk
(Post)
What worked for me: Use SMC_SetControllerMode and set the nControllerMode to SMC_nocontrol. With that, you can control the drive via Modes of Operation(16#6060) and Controlword(16#6040) directly. Hope that helps, Cheers!
Last updated: 2023-08-31
Post by chris12345 on OPC UA datasource low read frequency
CODESYS Forge
talk
(Post)
Hi yr00, the default sampling interval is set to 1s. you can generate your own client settings, this link should help you:- https://content.helpme-codesys.com/en/CODESYS%20Communication/_comm_use_dynamic_opc_ua_server_comm_settings.html
Last updated: 2023-09-13
Post by chris12345 on OPC UA datasource low read frequency
CODESYS Forge
talk
(Post)
Hi yr00, the default sampling interval is set to 1s. you can generate your own client settings, this link should help you:- https://content.helpme-codesys.com/en/CODESYS%20Communication/_comm_use_dynamic_opc_ua_server_comm_settings.html
Last updated: 2023-09-13
Post by totorovic on Codesys Softmotion Win V3 x64
CODESYS Forge
talk
(Post)
You have to update the device in your IDE to 3.5.14 or you can contact your Codesys runtime supplier to know how to set the connected system to 3.5.19
Last updated: 2023-11-09
Post by ahuckphin on Issues with Modbus Slave with Raspberry Pi
CODESYS Forge
talk
(Post)
I have a DFRobot RS485 temperature & humidity sensor (SEN0438) connected to my Raspberry Pi via a USB to RS485 adapter. I am able to connect and read the sensor data when running a python code locally. However in Codesys, I encounter this error "A bus error has occurred." and "There was no response in time". Could this be because of Modbus Server Channel and Modbus Server Init configuration on my part? Admittedly I am new to Codesys. To get to this stage, I: 1. added some lines to CODESYSControl_User.cfg 2. added "Modbus_COM" in Codesys and set "Serial Port Configuration" under "General" 3. added "Modbus_Master_COM_Port" in Codesys and checked transmission mode is set to "RTU" 4. added "Modbus_Slave_COM_Port" in Codesys and checked server address is set to 1 (also set 1 in my sensor) 5. added 1 channel and 1 init for "Modbus_Slave_COM_Port" under "Modbus Server Channel" and "Modbus Server Init"
Last updated: 2024-07-10
Post by murdemon on CNC Jumps G20 - SMC_NCInterpreter and long time to process
CODESYS Forge
talk
(Post)
Best way.. in CNC program before G20 jump, set G75. And for fbCheckVel execute if fbInterpreter.bWorking AND fbInterpreter.bLastObjectWasAdministrative; and same for Interpolator. " ..... dumm := fbInterpreter.bWorking AND fbInterpreter.bLastObjectWasAdministrative; //Check velociteses. fbCheckVel(bExecute := (fbInterpreter.bDone or) dumm, bAbort := gCNC.bCycleStop, poqDataIn := fbInterpreter.poqDataOut); "
Last updated: 2024-08-03
Post by dennisyhli on Ethernet IP Connection timeout
CODESYS Forge
talk
(Post)
I use ethernet ip scanner and the connection type is set to multicast. After running the PLC, the ethernet IP will have a connection timeout every 10 seconds. What is the reason for this error?
Last updated: 2024-08-16
Post by rmaas on Open specific Version of Codesys Control Win V3 x64
CODESYS Forge
talk
(Post)
Hi, When you open 'Codesys Installer' you can select which version of Control Win should be used. Select '...' at the desired version and select 'Set Control Service' Then start Codesys Control Win again...
Last updated: 2024-08-22
Post by trycyclepower on How to set unit in Axis
CODESYS Forge
talk
(Post)
I am very new to Motion in Codesys. I have linear axis and would like to setup as mm, I want to move axis and control axis in mm, mm/s. How do I do that? I know my electronic gearing is 200000.
Last updated: 2024-08-29
Post by tk096 on How to set unit in Axis
CODESYS Forge
talk
(Post)
Hi, you have to define how many increments of the drive correspond to one unit in your application. This is done in the Scaling/Mapping Tab in the drive editor.
Last updated: 2024-09-02
Post by docker on Webvisu client connection monitoring
CODESYS Forge
talk
(Post)
can you send me some code snippets of the declarations and code need i am unsure of how to set the pointer to the correct visu client. Thanks i appreciate your help.
Last updated: 2024-09-09
Post by i-campbell on MODBUS TCP REGISTERS CODESYS V3.5
CODESYS Forge
talk
(Post)
codesys is in hex and starts at 0 your other program is set to decimal and maybe starts at 0 or 1, I can't tell.
Last updated: 2024-10-12
Post by gatto on Profinet Exor connection drop
CODESYS Forge
talk
(Post)
did you try setup two eth ? on ethO you set ip to communicate with pc, example 192.168.0.1 on eth1 ip to communicate with weidmuler I/O, example 192.168.100.1 note : ip need the same of ip setup under system setting of hmi.
Last updated: 2024-10-16
Post by timvh on Modbus TCP & RTU with Control for Linux SL
CODESYS Forge
talk
(Post)
Most likely your IP address is set to 172.... because you use a VPN connection to your device. Probably best to use the other Ethernet interface for your modbus communication.
Last updated: 2024-10-24
Post by ojz0r on Multiple applications on one device sharing variables.
CODESYS Forge
talk
(Post)
One thing you could do is create an object with the variable as field with a function and procedure to get the variable (read) and set the variable (write). These are then called from your program and the vizualization.
Last updated: 2025-02-20
Post by bingo on PLC Shell commands via ST Code
CODESYS Forge
talk
(Post)
For a permanent change, you may need to update the PLC configuration file or set the IP at startup using retained variables.
Last updated: 2025-03-02
Post by domebruce on Which database to use?
CODESYS Forge
talk
(Post)
I'm new on Codesys. I need to manage a large and complex data set, which database and library you suggest to use? Some application examples will be appriciated. Thanks
Last updated: 2025-03-04
Post by peterkcontrols on Codesys Network driver install for Codesys Control RTE x64
CODESYS Forge
talk
(Post)
Resolved this. There is a config file called CodesysControl_User that I had to edit to set the driver to component 5. I deleted the semi colon next to Component.5=CmpEt1000Drv
Last updated: 2025-03-19
Post by buczekj on Problem with MCP2515 and library CANbus
CODESYS Forge
talk
(Post)
Hello, I encountered this same error. I was able to resolve it by allocating more messages when I open the network driver (ctMessages:= 100). By default it is set to 25.
Last updated: 2025-03-27
Post by altus22 on Type SM3_Drive is not equal to type SM3_Drive
CODESYS Forge
talk
(Post)
Another way to resolve this is to set Codesys to use a specific version of the offending library under Placeholders in the Library Manager.
Last updated: 2025-04-17
Post by davidbo on AC_Datalog DataLogChannel Save Cyclic is not working
CODESYS Forge
talk
(Post)
"Save Cyclic" is set to 30s, but in my log I can see my variables are logged every 500ms which equals the cyclic time for my Task. Why is "Save Cyclic" ignored
Last updated: 2025-07-11
Post by snhatton on Visu - changing auto-logout time
CODESYS Forge
talk
(Post)
You could try using the VUM_UserGroup struct from the VisuUserManagement library. I haven't tried this, but there is a variable for tAutoLogout to set the logout time.
Last updated: 2023-12-11
Post by reinier-geers on Raspberry Pi
CODESYS Forge
talk
(Post)
I Bought a Raspberry Pi licensens. Downloaded the software. Install it on version 19. Start version 19. Whant to set a licensens to the raspberry Pi. Scan the network. But No Raspberry pi. I can Ping the Raspberry Pi. Whats wrong ?
Last updated: 2023-12-28
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.