Post by wbj0t on Raspberry Pi CM4. CoDeSyS files corrupted after hard reset.
CODESYS Forge
talk
(Post)
Hello everyone. Raspberry Pi CM4 after some 1 week of work was hard reset mannualy several times and after these hard resets User Management file was missed (when click login button, enter login/password, error: User Management File missed). Also programm can not open file via SysFile library, but this file exists and size of him is 0 bytes, but must be more any way (I keep some kind of archive via this lib). What happens, how files corrupted? Where do I need try to find this error of the codesys or system whole? In the log files of codesys nothing interesting about this happens. Thanks for reading Is this enough hold PlcLogic and SysFileMap.cfg as reserve copy in another place for restoring the programm? And how automate restoring actions if programm files corrupted?
Last updated: 2024-09-16
Post by jari-koivuluoma on Newly created texlists wont appear in the selection dropdown
CODESYS Forge
talk
(Post)
When I create a new textlist in Codesys 3.5 SP19 Patch 5, it wont appear in the dropdown menu at Rectangle element > Dynamic texts > Text list. If I just type the name of the textlist to the field (in quotes), I get an error saying that some file is missing. Any good ideas what to do and what is going on. I recently updated to that version and I only now noticed this when I needed to add a new textlist so Im quite screwed with this not being able to add text lists. While im typing this, I tried copying an existing list and modifying it and it seems to show. Any ideas?
Last updated: 2024-09-19
Post by davidbo on RPI can system operation like rm in a shell have an impact on a Task cycle time
CODESYS Forge
talk
(Post)
I have noticed that a rm file1.txt command on a shell has an impact on the cycle time for a TASK writing to file2.txt. Seen in the Monitor fane of the Task configuration Furthermore if a TASK makes a system call like rm, its cycle time increases of course but it seems to have an invisible impact on other TASKs too. I have a TASK for handling communication over the CANbus (SPI) where it stops sending "Heartbeats" for many seconds when another TASK does a system rm. Why is that not seen on the Monitor fane? Is even codesyscontrol paused when system calls are made? The CPU load is about 30-40%
Last updated: 2024-09-23
Post by timvh on Clarifications regarding the appropriate runtime system to use
CODESYS Forge
talk
(Post)
If you are not using any specific Raspberry Pi functionality, then probably the "universal" Control Linux ARM SL is the approriate runtime to run on the Pi. For the license it doesn't matter which runtime version you choose, because this is not hardware based anymore, but application based. Best is to use the latest version of CODESYS. To determine which license you need, double click on your device, go to the tab License metrics.... Generate the code for your application and see which license you need based on the metrics of your application.
Last updated: 2024-09-24
Post by timvh on Visuutils FbOpenDialog(Extended) not open Dialog from POUs
CODESYS Forge
talk
(Post)
I had a similar situation recently where this didn't work, but read to the end to see the solution. The reason is that CODESYS only downloads visualisations (dialogs) if they are part of the project or linked to the project. In your case the dialog is not loaded onto the controller. But the solution is pretty simple: Double click on the Visualization Manager in your application. Select the Tab "Visualizations". Here you can see that your dialog is not "checked". Do this manually and load your project on the controller. Then your code should be able to open the dialog, because now it exists on the controller.
Last updated: 2024-09-28
Post by pernockham on Linking to IO during runtime with hot swap?
CODESYS Forge
talk
(Post)
I have a project where a single PLC shall control multiple nodes (up to 10 units?) with IO connected through profinet. Ideally each node should be identical however with time I see situations were different setups/configurations will be used. Codesys PLC (GVLs) |Profinet | |--PNIO-node-1--| | | AIO, | | DIO, | | CNT etc. | |--PNIO-node-2--| | | AIO, | | DIO, | | CNT etc. Ideally I think of a configuration through yaml/xml-files (the assignment/linking of the profinet nodes towards GVL-variables in the PLC as well as scaling, channel configration etc.). Would be grateful if someone could suggest library/-ies that can handle the following: - Verify what IO is connected to a device/node. - Hot-swap/assign link for IO towards GVLs, either automatically or through a HMI.
Last updated: 2024-10-11
Post by timvh on Modbus TCP & RTU with Control for Linux SL
CODESYS Forge
talk
(Post)
RS485 doesn't seem very logical to use in VPLC's in my opinion. I also don't know if this is supported.... But for TCP/IP, I think you still need to configure the Nic settings. See the attached png. In my case enp6s0. When changing this setting, restart the VPLC. What is really nice, is that you don't have to configure the IP address setting in Linux. By setting the Nic to a certain IP address in the CODESYS instance configuration, this is automatically done for you. I only tested this with EtherCAT, but I guess this works the same for Modbus TCP/IP.
Last updated: 2024-10-23
Post by struccc on HTML5 Controls - string(>80) values
CODESYS Forge
talk
(Post)
Dear all, does anyone have experience with HTML5 controls recently? CODESYS 3.5.20.30 / Visualization 4.6.0.0 I'd like to create a simple lightweight text editor, with proper multiline handling, cut & paste, scrolling, etc. And it seems to work fine, just have problems with strings longer than 80 bytes.... Declaring a variable sText1 : STRING(8000) and referencing it in the HTML5 Controls corresponding value property works perfectly one way: the code receive the data as a string (See log1)... (Note TypeID 1000...) Also sending back the data (seems to work (See log2) except it doesn't change the value of the bound variable. Probably the issue is with using SendSimpleValue method... Naturally, I could do a workaround, but maybe there is a more standard way to implement this... Please let me know if you have any suggestions.
Last updated: 2024-10-23
Post by niallel on CamBuilder and first boundary position not zero
CODESYS Forge
talk
(Post)
Hi, I've read the CamBuilder documentation and it shows to use the left boundary of the first segment as SMCB.BoundImplicit(), so that the transition is as smooth as possible. With this it sets X and Y to 0. My first slave position is not 0 (say for example it's 100), so I would set it with SMCB.Bound(0,100). My question is that when the cam goes back to the start (Periodic := TRUE) , will it blend with the last position (360, 100) if I do this? I imagine it will, but the documentation isn't clear as the information in the Periodic Cams only says to set Smooth Transition in the cam properties - but when I'm defining it with code there isn't an option for Smooth Transition to be set. Hope this makes sense? Many thanks,
Last updated: 2024-10-23
Post by wistaro on How to use PLC_Open FBs with PROFINET servodrive (PROFIdrive layer)
CODESYS Forge
talk
(Post)
Hello, I would like to know if there is a PROFIdrive layer in CODESYS. I am already familliar with Codesys's SoftMotion on CANOpen/EtherCAT (to control PLC Open FBs), and I need the same kind of stuff for PROFINET-IO devices; In my configuration, I have a CIFX board from Hischer to enable IRT, the SoftPLC "Codesys Control RTE V3 x64", and a servo-drive from INFRANOR that implements PROFINET / PROFIdrive (with IRT) protocol. This drive works well with the Object Technology of Tia Portal, but some customers use Codesys. Do you have an idea how to do that? Thanks in advance. Regards, William ROMIGUIERES INFRANOR France
Last updated: 2024-10-29
Post by andrax on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
Ok, with debug you suppress the errors, but that doesn't help you any further. You can find information about the missing drivers here https://forge.codesys.com/forge/talk/Runtime/thread/8981ce928a/ and here https://github.com/stefandreyer/I2C-Multiplex I'll have to have another look at which library you need. But you can easily find out. Create a completely empty project and insert the TCA9548. You don't need the board. Then look in the library and resolve all conflicts If you can compile the project without errors, delete the TCA9548 and insert the ADS1115. The driver should then also run. Small bonus: with the TCA9548 you can expand your network as you wish and use identical sensors multiple times
Last updated: 2024-11-08
Post by garrian on How to write multiple coils (Modbus FC15)
CODESYS Forge
talk
(Post)
Hi there! I'm testing out modbus TCP/IP for my home brewery, using Wago PFC200 as both slave and master. I'm using Wago library WagoAppPlcModbus. Holding registers, input registers' and discrete inputs works fine, but when trying to write multiple coils, it doesn't work. Any idea what I'm doing wrong here? Attached is a screenshot of my code. I tried both using bit mapping and without. If I change to FC05, and write only 1 coil at the time, it works fine. But I want to write all at the same time.. Any help is very appreciated :)
Last updated: 2024-11-16
Post by pistola on Error during Updating the Visualisation
CODESYS Forge
talk
(Post)
I've got a visualization I'm working on with some rectangles and lines. When I simulate the program I get an Error and Message in my message box, "Error during Updating the Visualisation:" and "Overflow error." Any ideas on how to fix this? I only have 70 elements total for this visualization. I am using absolute movement for a few of the elements, would this cause the issue? The visualization seemed fine before I added these movement elements, but there is only 7 that move, that doesn't seem like it should over load the system. I am currently testing using simulation so I'm not sure if that has an effect either. I tried looking in the codesys help manual and couldn't find anything referencing this.
Last updated: 2024-11-19
Post by struccc on Wish: CODESYSControl.cfg - again
CODESYS Forge
talk
(Post)
Before creating this topic, I was browsing the search results for CodesysControl.cfg - many results, and I remember very well, it's a problematic issue for a long time. To summarize: there were many requests for documentation on this file - the most comprehensive reply is: https://forge.codesys.com/forge/talk/Runtime/thread/ebbf851a3d/#eb85 Hi, not really, this is covered by the manual which you get if you use a runtime toolkit which is not free of charge. Maybe we need to extract the config file part from that documentation if that is possible. BR Edwin I am not sure how much is this relevant, since we buy SL License directly from CODESYS... I think it is a reasonable demand, to get documentation on the configuration entries affecting the documented behaviour of the runtime system and it's components The actual reason I bring up this issue again can be read here: https://forge.codesys.com/forge/talk/Runtime/thread/febad3cc40/#0e12 but mostly my frustration about noticing some new, unknown and undocumented entries in my configuration file. Again. And this happens a lot recently. Just some examples: Changes with SysFile - and mandatory use of IEC path Introduction of Mandatory user management File transfer service now disabled by default SysProcess - allowed commands The above mentioned CmpApp parameters... And finally (Regaridng windows install): With the newer versions, the installation directory (together with the configuration file) tends to hide itself to some super silly location under the roaming profile data of local system account. I am not sure if this change was documented somewhere, but was a very unpleasant one. Someone could please explain the reason and the concept of the introduction of this release specific directories (I am sure, there is a good reason) - how to use them properly? - How to re-introduce user configuration (to preserve configuration data between versions)? - How to do version - to version migrations properly? - How to keep old version of runtime available and ready to start with it's original configuration and application? - ... Therefore, the lack a regularly updated description of CodesysControl .cfg , including all the configuration entries, together with their default values for different runtime versions is really a big deficiency.* This should be done for all components storing or just seeking data from this file... (Maybe there is such thing but I failed to find???) It is regularly causing trouble when introducing a new version (together with the long awaited bug fixes and enhancements), what has changed it's default behaviour for security or other practical reasons. I agree this is very important, and it is logical to change the default options: But it must be documented historically, and make it easily available, so we can prepare better for the upgrade of the runtime. Forge talk is a great source, but not very practical for this kind of documentation purposes... Thanks in advance for CODESYS staff πππ (Ps.: It would look rather silly, if some members of the user community prepares this documentation on a Forge Wiki page... Or??? Should we?)
Last updated: 2024-11-21
Post by simone on Collapse all
CODESYS Forge
talk
(Post)
Hi, I'm wondering if it exist a button or a keyboard shortcut (much much better) for "collapse all" the open folder on a codesys project. It would really be nice to have. Also: Are there some options or configuration for set a default zoom for the different editor (or even one global), for example I would like to have 100% on ST, LD editor and have 80% on Visualization Editor; and also have a button to set all the zooms to default, now it seems that every file mantain the one previously set. I'm working with the 3.5.20.10 right now Thanks!
Last updated: 2024-11-21
Post by cihangur on OpC UA server on Raspberry Pi 64 SL runtime
CODESYS Forge
talk
(Post)
After my tests, I noticed two issues. 1- WinCC disconnects the connection after receiving the GetEndPointResponse message from CoDeSys. (I found it with UAExpert and Wireshark.) 2- It establishes a connection despite waiting for a while on the network with DNS. As a result of this information: I solved the problem by adding the line "193.193.193.150 t9pac" to the C:\Windows\System32\Drivers\etc\hosts file and making Windows accept messages coming from the IP number 193.193.193.150 as coming from t9pac. (t9pac is the name of my PLC running CoDeSys.) If there is a setting that will allow CoDeSys OPC UA to respond to GetEndPointRequest with its IP address, this problem will not occur.
Last updated: 2024-12-12
Post by trusty-squire on Read "Homed" status from EtherCAT drive
CODESYS Forge
talk
(Post)
Hi, Is there a way to read the homed status from the EtherCAT drive directly? I am currently flagging the homed status on the succesful completion of the MC_Home function block, but I have had false triggers where the drive didn't actually execute the homing procedure but the MC_Home FB is marked as complete without error. I looked at other MC/SMC function blocks but the closest I can find is the "Homing" bit from MC_ReadStatus FB, but this doesn't show if the drive is succesfully homed, only that it's homing. Any guidance is welcome. Thanks!
Last updated: 2025-01-07
Post by trusty-squire on Read "Homed" status from EtherCAT drive
CODESYS Forge
talk
(Post)
@imdatatas, thanks for the info, I increased DSP402.uiHomingMinCycles to 10 and have a good feeling that will solve the issue of "false" homings. It's an intermittent issue so I'll report back once it's confirmed. @bruno-roth, also good info. According to my documentation, bit 14 is used to indicate the homed status. I did a test and the bit always stays true after it's been homed once (eg. even if I initiate a new homing procedure then hit the the e-stop mid homing), so I need to take that into consideration, but I can work with that. Thanks!
Last updated: 2025-01-09
Post by srouse on Adding a Softmotion License to a Weintek HMI
CODESYS Forge
talk
(Post)
I am trying to add a Softmotion license to my Weintek HMI. The HMI is already licensed for Codesys and I have already purchased a Softmotion license as well. When using the License Manager I get an error saying the licensing info is not available. I am fairly new to working with Codesys so I am at a bit of a loss and there seems very little information online about troubleshooting this specific issue. I have attached the error message below. If there are any ideas of how to troubleshoot this better I would be happy to hear them.
Last updated: 2025-01-09
Post by askic on Name Validation of Visualization objects
CODESYS Forge
talk
(Post)
Hello, In my projects, I'm following this recommendation about the rule names in Codesys https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_rules.html, so I always use backtick identifiers, not only for variables, but also for the object names. However, I have noticed that in the current version of Codesys, when adding Visu object, it is not allowed to used these identifiers in the name. This is very different from all other objects like, folder names, POU names, Variable list names etc. I wonder if there is some hidden settings I can use to enable backtick identifiers in the Visu object names? Attached is a screenshot with the details. Thank you!
Last updated: 2025-01-10
Post by imdatatas on String length issue in GetRecipeNames method
CODESYS Forge
talk
(Post)
Hi, If the string length in the GetRecipeNames method is lower than the default value, there will be a problem with the resulting Recipe file names. For example; When the method in the link is called, let's say the defined string length is 19. In this case, the string content is corrupted as in the image. strArr: ARRAY[0..9] OF STRING(19); https://content.helpme-codesys.com/de/libs/Recipe%20Management/Current/pou-RecipeManCommands/GetRecipeNames.html The same problem does not occur when the string definition is made in the default size. strArr: ARRAY[0..9] OF STRING; FYI Regards, Imdat
Last updated: 2025-02-19
Post by imdatatas on String length issue in GetRecipeNames method
CODESYS Forge
talk
(Post)
Hi, If the string length in the GetRecipeNames method is lower than the default value, there will be a problem with the resulting Recipe file names. For example; When the method in the link is called, let's say the defined string length is 19. In this case, the string content is corrupted as in the image. strArr: ARRAY[0..9] OF STRING(19); https://content.helpme-codesys.com/de/libs/Recipe%20Management/Current/pou-RecipeManCommands/GetRecipeNames.html The same problem does not occur when the string definition is made in the default size. strArr: ARRAY[0..9] OF STRING; FYI Regards, Imdat
Last updated: 2025-02-19
Post by tmarmy1 on Redundancy for RTE x64 - stuck in standalone
CODESYS Forge
talk
(Post)
Sorry if this has been asked before, but I can't seem to locate a thread that leads me answers. I am running two RTE x64 softPLCs, one on the host machine and a second via a VM. I have managed to finally get both to a position that they see each other, but they are in standalone mode instead of an active/passive state for failover (image attached). Every attempt to sync via the button fails. There is probably some step or option that I have missed in my bumbling through this learning process, but for the life of me I can't seem to figure it out. Anyone got any suggestions what I need to look at to get this into an active/passive redundancy state?
Last updated: 2025-02-20
Post by janber0206 on Adding PLC to the List view resolves in Unknown Error
CODESYS Forge
talk
(Post)
Hello, I try to add one of my PLC from the Gateways to the List view. The Gateway is shown me as online, also i have other remote tools to verify the Internet connection is working. I do the Network Scan and the Gateway shows up, i select it and click on "Add to Server". Then I type in Username and password and click on confirm. There it shows me the "Unkown Error", see screenshot. If I use the wrong credentials it gives me the error message for this. Other Devices work fine it's just this one. Greetings Jannis
Last updated: 2025-02-21
Post by matthew on High resolution displays with 150% scaling causes CodeSys IDE to be blurry
CODESYS Forge
talk
(Post)
I have just upgraded my laptop which has a high res display 2560x1600 and I have to have scaling switch on at 150% but everything looks blurry and not crisp, It seems CodeSys IDE is the only software on my system to look this bad, if I switch to 100% it's crisp but way to small. From a bit of research this could be due to the use of old windows forms or something? I have found a temp workaround that sort of works but not great. You have to run CodeSys in compatibility mode and adjust the DPI settings, this works ok and the editor is clear and crisp again but the actual tool bars are small like running at 100% Anyone got any tips for running CodeSys on high res displays with scaling?
Last updated: 2025-03-03
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.