Post by william-blandon on RecipeManCommands.ReloadRecipes
CODESYS Forge
talk
(Post)
Hi Dave. Thanks for your answer. I still struggling with this. I have done everything according with the Codesys help even I have looked in detail at the example. I have double checked the recipe manager configuration and the use of all the methods. There are two methods that do not work as expected. I'm using Codesys 3.5.19.20 and recipe management 4.4.0.0 .CreateRecipe just create a recipe in the recipe definition but do not create the file. This have a walk around just giving a .ReadAndSaveRecipe afterwards. .ReloadRecipes do nothing but do not generate any error as well. After calling it I call the .GetRecipeCount and the number is always 0. When I create a new recipe (using the function block methods) then the number changes. Looks like this method is looking to the wrong directory finding nothing. I don't know if there is a missing configuration in the CODESYSControl.cfg file. I'm thinking in a walk around for this but I need to create a strings array with the recipe names as retentive and making all the management when deleting and adding recipes. Have had some one the same problem?
Last updated: 2024-05-23
Post by nixola on CmpCharDevice blocks gpiochip access on Raspberry Pi 5 since update from SP18 to SP21
CODESYS Forge
talk
(Post)
Hi, I added the following lines to /etc/codesyscontrol/CODESYSControl_User.cfg: [CmpCharDevice] PermittedPath.0=/dev/i2c* PermittedPath.1=/dev/spidev* PermittedPath.2=/sys/class/gpio/* PermittedPath.3=/dev/gpiochip* However, I'm still unable to read or control GPIO pins from any CODESYS application. Specifically, setting the pin direction (and, thus, the IoDrvGpioSysfs driver configuration) fails, with a rather non-descript error in the logs: Description Component Setting direction failed for GPIO pin 586 IEC Update configuration failed from driver IoDrvGPIOSysfs CmpIoMgr I'm running CODESYS Control for Linux ARM64 SL version 4.21.0.0; it's running in rootless mode, as the codesyscontrol user, but said user is in the gpio group and can otherwise normally interact with GPIO, both via gpioset/gpioget and via the sysfs driver in /sys/class/gpio/. The system is a custom 64-bit Raspberry OS based distro, running on a Raspberry Pi CM5 on kernel 6.18.34 with PREEMPT_RT scheduling.
Last updated: 2026-07-21
Post by jonasz on Deploy LicenseServer for Linux SL
CODESYS Forge
talk
(Post)
Good morning, I'm digging into this topic because I'm curious about resolving my problem in a test environment. In my previous message, I asked about the CODESYS Safe Timeprovider SL package (4.18.0.0), which I saw in the illustration. I noticed that it runs as a service. I am asking about this because from the perspective of an "ordinary" user, this service provides easier access to the settings of the time provider's operating parameters. The basic time provider configuration is outlined at https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_virtual_safe_time_provider.html. Why my questions? They stem from my specific case, which is experiencing timeout issues. I know that my environment is currently only a test environment. I'm assuming a real-world scenario in which I won't be able to achieve a better result with my configuration, and I will ultimately need to increase the time provider's cycle time. By running the time provider service, I can easily influence the time provider's operation and thus eliminate the problem. I know, I know, safety systems are not life-enhancing extras.
Last updated: 2025-11-19
Post by jroddball79 on PM556-TP-ETH — How to change IP address without overwriting the PLC program?
CODESYS Forge
talk
(Post)
Hi, I need to change the IP address of an ABB PM556-TP-ETH using ABB Automation Builder. The situation is: I have connectivity to the PLC using the current IP (configured in Communication Settings) Online Login works fine The Network Scan does not detect the PLC IP-Configuration tool shows all fields disabled I don't have the original project source, only an empty project The PLC has no SD card inserted The Online menu does not show an Upload option When I modify the IP in the project and connect, Automation Builder shows: "The PLC configuration needs to be updated. A full PLC download is required" I'm afraid a full download will overwrite the running program. Is there any way to change only the IP address without overwriting the application? I'm also open to solutions using third-party tools, Python scripts, or any other method (DCP protocol, direct TCP communication, etc.) as long as it doesn't overwrite the running application. Thank you
Last updated: 2026-05-19
Post by charly29160 on CmpCharDevice blocks gpiochip access on Raspberry Pi 5 since update from SP18 to SP21
CODESYS Forge
talk
(Post)
Hi, after updating CODESYS Control for Raspberry Pi SL from patch level 18 to 21 (currently 4.21.0.0), the IoDrvGPIO driver ("GPIOs B+/Pi2") can no longer open any GPIO chip on a Raspberry Pi 5. Log output on login: Could not open GPIOChip0. Access to path /dev/gpiochip0 not allowed. Add /dev/gpiochip0 to permitted paths in configuration file if required Could not open GPIOChip4. Trying to open GPIOChip0 Access to path /dev/gpiochip4 not allowed. Add /dev/gpiochip4 to permitted paths in configuration file if required Could not open any GPIOChip. System details: Raspberry Pi 5, 32-bit Raspberry Pi OS (armv7l), kernel 6.12.47+rpt-rpi gpiodetect correctly shows gpiochip0 [pinctrl-rp1] (54 lines) as the RP1 GPIO controller Runtime: CODESYS Control for Raspberry Pi SL 4.21.0.0, Runtime Toolkit SP21+ This worked without issues before the update to SP21. I've tried adding the following to CODESYSControl_User.cfg without success: ini[CmpCharDevice] Linux.DevicePath.1=/dev/gpiochip0 Linux.DevicePath.2=/dev/gpiochip4 Could you tell me the correct section/key to whitelist /dev/gpiochip0 (and /dev/gpiochip4) for CmpCharDevice? I suspect this is part of the general security hardening introduced around SP21 (similar to ForceIecFilePath for SysFile, or the new Gateway "accept local clients only" default), but I couldn't find it documented anywhere. Thanks in advance!
Last updated: 2026-07-19
Post by mikek10 on Ethernet/IP 4.6.0 causing exceptions?
CODESYS Forge
talk
(Post)
Hi, I have a project currently in development, it has a number of Ethernet/IP devices (18 adapter devices with Codesys as scanner, another scanner device with codesys as adapter). This has been stable whilst on factory floor for several months (though prior to that I did have some Ethernet/IP issues which were resolved by adjusting RPI rates). Today I tried updating to Ethernet /IP 4.6.0 from 4.5.1, subsequent to this I had 2 exceptions in a 2 hour period, I reverted to 4.5.1 and have had no further exceptions. Note I do have a device (Zebra printer) that frequently times out and reconnects, this does not seem to cause any issues in operation and does not cause any exceptions with 4.5.1. I believe the root cause of this is on the Zebra side, however there does not seem to be any adjustment I can make to prevent the time outs. Information from device log is in screenshot attached.
Last updated: 2024-06-27
Post by mondinmr on First IO address of a CAADiagDeviceDefault.
CODESYS Forge
talk
(Post)
I have a device CAADiagDeviceDefault: IoConfig_Globals.Axis_A In our library, we perform introspection of the Etc_SlaveDiag. In that case, we have connectors, and by searching for them by address, I can find them in the IO mapping using the offset and size provided by EtherCAT. However, a Lenze i700 drive, instead of placing the IO mapping in the Etc_SlaveDiag device, places it in a sub-device CAADiagDeviceDefault. So, when I perform introspection, I cannot find the IO correspondences. Yet, in the CAADiagDeviceDefault, I do not find the connectors and cannot do the matching. Is there a way with a pointer or reference to a CAADiagDeviceDefault to obtain the address of the first input and the address of the first output? This is because we have our own motion library with many EtherCAT devices that automatically configure the mappings, but I can't manage to do so with the Lenze i700.
Last updated: 2024-08-22
Post by lbartik on J1939 TX/RX PDU1
CODESYS Forge
talk
(Post)
Is it possible to transmit a PDU1 PGN using the J1939 manager and local device? What if I need to transmit a PGN RQST via 0xEA00 (PGN 59904)? How would I do this P2P (Destination < 0xFF) or broadcast (Destination 0xFF)? I don't think this is possible for any destination type. I don't think it's possible to receive broadcast PDU1 messages either. For example, an address claim PGN 60928 (0x18EEFF80) is addressed to all nodes (0xFF) and not any specific local device so it will be filtered out. These are major oversights in the IoDrvJ1939 library to not support every PDU1 RX/TX scenario. IoDrvJ1939 supported scenario: 1. Receive (RX) PDU1 (P2P) destination-specific (PDU-specific < 255) to local device with matching address IoDrvJ1939 unsupported scenarios: 1. Receive (RX) PDU1 (P2P) global (PDU-specific = 255) 2. Transmit (TX) PDU1 (P2P) global (PDU-specific = 255) 3. Transmit (TX) PDU1 (P2P) destination-specific (PDU-specific < 255)
Last updated: 2024-09-23
Post by edvard-munch on How I can get "Done flag" for "Modbus Slave Channel"?
CODESYS Forge
talk
(Post)
This is from 10 years ago, I know. But I have been using (SLAVE_DEVICE.iChannelIndex = CHANNEL_NUMBER) AND (SLAVE_DEVICE.xDone) I suppose that it shows xDone for the channel that shows up in the iChannelIndex at the same cycle? It seems to be working properly for two devices that I have been using it before But now I have another device and using two write channels, for one register each. One channel works properly and returns DONE flag When another channel is triggered, I see that it shows up in iChannelIndex, but flag DONE not received, but no Error for the channel. Also, when i check the register in the device it's evident that data has been transferred. Is this could happen sometimes with CODESYS, so DONE flag not received? Or this is a problem with a given device? With this certain register
Last updated: 2024-12-19
Post by kurtk on Modbus TCP Server
CODESYS Forge
talk
(Post)
ditto I'm just getting my codesys wheels on and the modbus stuff is confusing. I am re-platforming an existing PLC application On that platform one could simply tag variables to register numbers and the whole shooting match could be accessed via modbus and typically holding registers and input registers were treated the same way... On codesys I see there is a modbus TCP server Device I/O mapping tab and a Modbus TCP server IEC objects tab I get the sense that one can configure the serving of variables both/either way but am unclear about the optimum/necessary path. Apparently in the IEC Objects tab one can "ADD" something or other - presumeably channels. I have created a preliminary function block but the Select Function Block window shows nothing to select WTH ? I exported the Device mapping and was surprised to see the entire Device IO map - complete with all the bit-mapped holding/input registers!! WTH!!?? Bit-mapped words are strictly a nichey special purpose application. I am targetting making a couple hundred variables available which would turn into hundreds of pages of IO/mapping Is the FUnction Block IEC objects thingy an alternative to that ? I notice that CODESYS shows the tags which the PLC used to specify the register address... are tags used in CODESYS for any specific hard-core purpose ?
Last updated: 2025-08-19
Post by mdetrana on VPLCs Tab 'Grey-ed Out', Cannot Create VPLC
CODESYS Forge
talk
(Post)
When evaluating Codesys functionality, I found that the VPLC tab under Deploy Control SL > Operation > VPLCs is 'grey-ed out', see attached image. I'm trying to evaluate how my infrastructure will interact with Codesys on a Raspberry Pi 4, so I'm trying to demo running it before purchasing licenses. I was going through the Codesys tutorial here, and it never shows the tab as grey, so I do not know how to proceed. Let me know if I can get any additional information that can help. This could be related to an Info message that's sent when connecting- [INFORMATION] Connected successfully! [INFORMATION] Successfully connected to target (<ip_address>) [INFORMATION] No supported container engine found on device. You have to install a supported container engine to use Virtual Control. Please contact the Administrator of the device. [INFORMATION] Finished reading device information</ip_address> I'm not exactly sure what I would need to do to install a 'supported container engine'.
Last updated: 2025-10-09
Post by tim-roelant on Profinet fault with codesys control V3 - Receive packet error
CODESYS Forge
talk
(Post)
I have set up a brandnew Beckhoff panel pc with a codesys control runtime V3. I configured it together with 2 profinet field devices: a 16in/16out IO module from Turck and an MTS linear encoder. The machine works fine untill all of a sudden the communication breaks and the profinet participants become unreachable. At that point I can still ping the device, but the profinet master does not find them anymore: When i do a scan they are not found. When i do a cold restart, the profinet master becomes active again and the devices are found again. In the log i get Ethercat packet receive error: sysethernet. I am a little confused, there is no ethercat device in the device tree. I already set the send clock and the reduction ratio to higher values, but without result. Can codesys be configured, so that the communication re-establishes without doing the cold reset? This is very annoying and is causing a lot of prodution losses. regards Tim
Last updated: 2024-02-27
Post by tim-roelant on Profinet fault with codesys control V3 - Receive packet error
CODESYS Forge
talk
(Post)
I have set up a brandnew Beckhoff panel pc with a codesys control runtime V3. I configured it together with 2 profinet field devices: a 16in/16out IO module from Turck and an MTS linear encoder. The machine works fine untill all of a sudden the communication breaks and the profinet participants become unreachable. At that point I can still ping the device, but the profinet master does not find them anymore: When i do a scan they are not found. When i do a cold restart, the profinet master becomes active again and the devices are found again. In the log i get Ethercat packet receive error: sysethernet. I am a little confused, there is no ethercat device in the device tree. I already set the send clock and the reduction ratio to higher values, but without result. Can codesys be configured, so that the communication re-establishes without doing the cold reset? This is very annoying and is causing a lot of prodution losses. regards Tim
Last updated: 2024-02-27
Post by tim-roelant on Profinet fault with codesys control V3 - Receive packet error
CODESYS Forge
talk
(Post)
I have set up a brandnew Beckhoff panel pc with a codesys control runtime V3. I configured it together with 2 profinet field devices: a 16in/16out IO module from Turck and an MTS linear encoder. The machine works fine untill all of a sudden the communication breaks and the profinet participants become unreachable. At that point I can still ping the device, but the profinet master does not find them anymore: When i do a scan they are not found. When i do a cold restart, the profinet master becomes active again and the devices are found again. In the log i get Ethercat packet receive error: sysethernet. I am a little confused, there is no ethercat device in the device tree. I already set the send clock and the reduction ratio to higher values, but without result. Can codesys be configured, so that the communication re-establishes without doing the cold reset? This is very annoying and is causing a lot of prodution losses. regards Tim
Last updated: 2024-02-27
Post by tim-roelant on Profinet fault with codesys control V3 - Receive packet error
CODESYS Forge
talk
(Post)
I have set up a brandnew Beckhoff panel pc with a codesys control runtime V3. I configured it together with 2 profinet field devices: a 16in/16out IO module from Turck and an MTS linear encoder. The machine works fine untill all of a sudden the communication breaks and the profinet participants become unreachable. At that point I can still ping the device, but the profinet master does not find them anymore: When i do a scan they are not found. When i do a cold restart, the profinet master becomes active again and the devices are found again. In the log i get Ethercat packet receive error: sysethernet. I am a little confused, there is no ethercat device in the device tree. I already set the send clock and the reduction ratio to higher values, but without result. Can codesys be configured, so that the communication re-establishes without doing the cold reset? This is very annoying and is causing a lot of prodution losses. regards Tim
Last updated: 2024-02-27
Post by valenting on License problem with Raspberry Pi
CODESYS Forge
talk
(Post)
Hello, I have a raspberry pi with a license installed, but Codesys stops after 2 hours, and when I start it manually I have the following message: pszInfo=!!!! no runtime license - running in demo mode(~2 hours) I tried using License Manager, and got the following message: Licensing info not available. There is no dongle attached to the device. I have this message frequently, and usually removing the content of /var/opt/codesys/.cmact_license makes it work. After doing it and restarting Codesys, I have an empty Softcontainer without my License. I tried using "Install license" using the .WibuCmRau file for the corresponding license and got the following message: Licensing info not available. The device does not support this service. I also tried using Additional Functions > Restore Licenses with the Ticket ID and got the following message: This device does not support automatic license backup. How can I reinstall the license to this Raspberry Pi?
Last updated: 2025-11-28
Post by jv-certhon on Io driver Scan functionality
CODESYS Forge
talk
(Post)
Hello, Codesys IDE is 3.5.21.30 IoDrvBase is: 3.5.17.8 I am working on implementing Codesys on our I/O product line, using the IO driver examples, and the Linux UDS socket approach. I have sucessfully created an implemetation where I have a Device with mutiple slots, on which I can plug modules. These modules represent our IO modules, and communication is successful. (For this question the assumtion can be made that Codesys commucates with 1 'master' device, which handles further communcation with the IO modules. For the next part of the question it can be assumed that the Master device has a list of which modules are attached/available) I'm now trying to implement the 'Scan for Devices...' feature, but I'm completetly lost on what to do once the IoDrvScanModules method is called in my IoDrvFB. I'm guessing that the ppConnectorList has to be filled with the found devices, but I have no idea if that is the correct approach. And Codesys is not triggering my breakpoints in the method, which makes things more difficult. I hope someone could provide some examples or guidance on what steps I should take to implement the scan feature. Thanks in advance.
Last updated: 2025-11-26
Post by suyash on Device User Logon
CODESYS Forge
talk
(Post)
Hello. Basic Info : I am using Codesys Control For Raspberry Pi SL. Version 4.4.0.0 Engineering version : CODESYS V3.5 SP19 Patch 1 (Its a old application) I am facing a difficulty with the "Device User Logon". The window (screenshot attached) pops up during login. When i enter the credentials (which i feel are correct), the windows pops up again no matter how many times I enter. To ascertain, I tried entering the incorrect credentials during which its clearly specifying that i have entered them incorrectly (which is why I am quite certain about the credentials being correct). I even tried going into Communication Settings > Device(drop down) > Change Runtime secuirity policy . However it again asks me for credentials which keep popping up again and again. I am thinking of upgrading the runtime to the latest version of 4.20 Will it cause any issues with the paid license? Please suggest me a solution. BR, Suyash
Last updated: 2026-05-13
Post by martinlithlith on Device User Logon and No device is responding.. Pi4b codesys 3.5 SP19 2 + (64-bit)
CODESYS Forge
talk
(Post)
Hi! Im slowly starting to loose it and i need som help! After a few night of reading up and testing i´m still stuck as a rock and you guys and girls are my last resort for this project. Basic facts; Win 11 Codesys 3.5 SP19 2 + (64-bit) Raspberry pi 4 model b 2 gb Raspian release 11 aarch64 What keeps me up late at night; Username and Password when trying to connect to device and device only beeing connectable for a few seconds. Some of the things I have tried; Username and passord; Credientials from the raspberry Administrator Administrator admin admin Admin Admin administrator administrator Usernames and passwords that I sometimes use (this was a longshot i know, but i was running out of ideas and energy). :) Epand filesystem, activating i2c, spi, 1-wire I can start the gateway and start the runtime. I cant install the edgearm64, arm64 runtime package eventhough I guess i should, i get code [ERROR] Error output: dpkg: error processing archive /tmp/codesysedge_edgearm64_4.8.0.0_arm64.deb (--install): [ERROR] Error output: package architecture (arm64) does not match system (armhf) [ERROR] Error output: Errors were encountered while processing: [ERROR] Error output: /tmp/codesysedge_edgearm64_4.8.0.0_arm64.deb code as a respons. I have tried to Reset Origin Device - no change. I have tried to remove the /etc/CODESYSControl_User.cfg [CmpUserMgr] but i could not find it and i was not sure if i should add it instead but i did not want to mess somthing up. I have tried to create a second gateway with the specific ip if the pi, that did not help. Could it be that i´m currently connected to the pi through WIFI? I can ping the pi and I can connect and control it through VNC. When i scan to select gateway target (scan edge gateway) i find 17-21 devices but can find the pi throug the mac adress. I started of trying to use the "CODESYS Control for Raspberry Pi SL" (I have a license sience earlier) as i read somewhere that this could be used on a Pi4 as well but now i´m trying with the MC SL, no changes, same problem. Right now - gateway version 4.8.0.0 (edgearmHF, armhf), Runtime Package 4.5.0.0 (raspberry, armhf). Any sugestions are very welcome! As mentioned above, theese are some of the things that i have tried/done - but i have been going at this for a while. Best, Martin
Last updated: 2023-09-10
Post by danp1406 on Question about Demo License limitations for Modbus TCP communication and Fieldbus Instances
CODESYS Forge
talk
(Post)
Hello everyone, I am currently working with CODESYS Virtual Control for Linux running in Docker on a Debian virtual machine. I am deploying my application using Deploy Control SL, and in my project I am using the ModbusFB library to implement Modbus TCP communication. My setup is the following: I am trying to establish a Modbus TCP connection between a virtual PLC (CODESYS acting as Modbus TCP Client/Master) and a Siemens S7-1200 PLC acting as a Modbus TCP Server. From the Debian VM, I can successfully ping the S7-1200 and verify that port 502 is open using tools like nc. Network-wise, everything appears to be correct. However, when running the application in CODESYS, I receive messages such as “Demo mode for Modbus/TCP Master started. Will expire and stop!” and socket errors like “ClientSocket.UpdateStatus socket error 111 disconnecting.” The ClientTCP block from the ModbusFB library attempts to connect, but the connection does not remain stable. My main question is whether the CODESYS demo license explicitly limits or interrupts Modbus TCP Master communication. Is it expected that in demo mode the runtime will automatically close sockets after some time or prevent stable Modbus TCP connections? I would like to confirm whether this behavior is normal when using ModbusFB in demo mode, or if I should continue troubleshooting the configuration. Additionally, I would like clarification regarding the “fieldbus instances” mentioned in CODESYS licensing options (for example, 2, 4, or 16 instances). What exactly is considered one fieldbus instance? Does one Modbus TCP Client block count as one instance? Does each active connection to a different device count separately? Do Modbus TCP Master and Server count independently toward the total number of instances? Finally, I would appreciate clarification on any other practical limitations of demo mode when using industrial communication libraries such as ModbusFB. Are there limits on the number of connections, number of requests, or communication duration? I am trying to determine whether demo mode is sufficient for testing a virtual PLC communicating with a Siemens S7-1200 over Modbus TCP, or whether a full license is required even for this kind of validation scenario. Thank you in advance for any guidance.
Last updated: 2026-02-25
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 alex-at-xana on EThercat Dynamic configuration
CODESYS Forge
talk
(Post)
Hi Everyone, For a fast monitoring system I am using Ethercat oversampling and timestamping inputs. As the customers has a lot of different configurations out in the field, we went for a dynamic Ethercat configuration. Already got the whole detection chain working but now I am stuck since two days in debugging the configuration. Here are my quesitons: I extended the dynamic config example for the EL3632 16#0E303052: //EL3632 pSlave^.SetDCSettings(TRUE,TRUE,80,80,TRUE,4000,0,0); pSlave^.AddSyncManager(16#1000,128,16#26,TRUE,3); pSlave^.AddSyncManager(16#1080,128,16#22,TRUE,2); pSlave^.AddSyncManager(16#1100,0,16#4,TRUE,1); pSlave^.AddSyncManager(16#1110,214,16#20,TRUE,0); pSlave^.AddFMMU(0,214,0,7,16#1110,0,1,1); pSlave^.AddFMMU(0,1,0,0,16#80D,0,1,1); xKnown := TRUE; This leads to a PLL Error for these devices. I double and triple checked the configuraton, but cannot find the issue. There seems to be one difference: the config dialog creates a startup parameter: 16#10F3:16#05, Name: Command_0, Value:0. Bitlen: 16, Stop on fault: false, jumpt at fault: false: next line: 0 a) I do not find information on how to set this in my code. Can you help me there? b) Without trying to set the value, I get a PLL error for these devices in the master log. Is the config wrong? c) Do I need to set the Master to Autoconfigure or Manual? I used autoconfigure for my tests. The stack creates input data addresses for the slaves input data range (pSlaves[i].InputData) which are different from those created when I use the Engineering tools dialogs to configure Ethercat. Specifically, the addresses seem to be aligned at 16 byte boundaries when they are created using the engineering tool, but may appear at uneven addresses when I use the script in dynamic config. I did not try to access ULINT at uneven addresses yet, but I am suspecting this may be a problem. Do I need to manually align the addresses ? Any help is appreciated...
Last updated: 2024-09-10
Post by rringo on Function block not autofilling
CODESYS Forge
talk
(Post)
I am attempting to place a block and make it an Analog sensor. When I go to change the name like in the instructional video on youtube it does not give me an option to autofill the block with a known configuration. This is a problem I have in Codesys 2.5 and 3.5. Did I mess up the install of the program or need to install a library? Any help would be appreciated. https://www.youtube.com/watch?v=PkJYQeIUmIM&t=136s at time mark 2:15ish The first image is what I can do and the second is what the videos function autofills to.
Last updated: 2023-08-24
Post by jinlee on Symbol Configuration
CODESYS Forge
talk
(Post)
Hi guys, I am working on an old project which using Codesys v2.3 talks to Beijer's screen TA150 (IX-Developer 2.20). Codesys v2.3 is different with 3.5 and Ecockpit. I know how to import the symbols from PLC to HMI for Codesys 3.5 and Ecockpit. However, I do not know how to do it on Codesys v2.3. I know that I can make excel sheet to import and export from the HMI and add whatever I want based on PLC. However, is there any quicker way of doing this? So that I can directly import the symbols (tags) from PLC (Codesys 2.3 to HMI).
Last updated: 2023-08-29
Post by ggarcia94 on CANOPEN SDO configuration
CODESYS Forge
talk
(Post)
Hello, I´m connected to two drives via CANOPEN. The connection seems to be ok. However, I´m not able to get the PDOs to work even tho they are configured as in the manual of the drives. Looking at the SDOs I´ve seen that for each PDO there is a "Disable PDO" SDO that does not exist in the manual or in the EDS file of the drives. This "Disable PDO" signal has the same Index and Subindex as another SDO used to set and enable the COB-ID of the PDO. I´m assuming this is normal but why is Codesys creating a "Disable PDO" SDO for each PDO and could that be the reason the PDOs are not working?
Last updated: 2023-09-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.