Codesys F

0 views
Skip to first unread message

Nadal Braymiller

unread,
Aug 3, 2024, 4:41:57 PM8/3/24
to boibekilhigh

I'm stuck banging my head against the wall for inserting branches into LD rungs. I eventually figured out a way to add a branch working from right to left, though that seems awfully clunky. But I've been totally unable to find a better way to do it. Trying to branch from left to right, using the Branch Below button, leaves me with no way to "close" the branch back into the rung.

But now, even that won't work for me. I try to add a branch the same way that's been working for me all day, but now CodeSys throws an error at me: "Cannot perform this operation", with nothing to hint at why it can't. There's nothing wrong with the rung, it builds fine w/o the branch.

I've attached a screenshot of my attempt. The branch should run from the far left rail (red square) to re-merge 4 contacts down (the hilighted blue square). I've tried doing it left-to-right, and right-to-left, and get nothing but the error message every time.

Hi, for me it work !
First i click between the contact and the left side, after i click the button add branches and i have the some light blue square. So i can click on it and realize the parallel.
A workaround is click on first contact, right click and insert contact parallel (below) so you have two contact in parallel and after select with shift+click the second contact, the third, and son on, and with mouse, move it on green diamond near the first contact.

Hi.
I don't think is a setting of UI.
About light blue squares i see it, like on my first image.
About select a group of contact, like you see in my second image, the group is pink, then i click it and with mouse i drag the group near first contact.
When i drag the diamonds appear.
This on codesys 3.5.12 and 3.5.16
Is your UI pure codesys or a customization of some brand ?

I'm still having issues with branches, but I've stumbled my way into some methods that are probably quite poor, but are working for me for the time being. I'll have to do more experimenting when I have some more free time. Thanks for the help, everyone.

I don't have any experience with these libraries, but I can tell you that Ignition only supports OPC UA client/server communication. In this case Codesys would be an OPC UA server, and you'd make a client connection from Ignition to the server.

"Unified Namespace" type stuff might then be achieved using the MQTT modules to publish Ignition tags to a broker or something like that. Maybe call and talk with one of our sales engineers about that kind of thing...

I also had to install a certificate to be able to get ignition to connect to the code sys OPC. Was just a case of right clicking and selecting add new certificate in the codesys software. I then came up against some issues getting security settings to work so Ignition could connect.

I can't for the life of me understand why anyone would ever do this, or why this is even possible., I have never seen anything like this. I have no further source that could help me understand what it is for (parts are missing), but this is how it is declared and used. I've looked in the documentation and could not find a reason there either.

Most programmers are used to the fact that arrays indices start from 0, however here's an article that lists languages that start counting indices from 1 instead. Most of them are meant to be used by non programmers, such as mathematicians, engineers and etc. and codesys is no exception (why else does ladder logic exist :P).

This language feature just gives you more options to express your intent, if you don't like it, you don't have to use it (though do note, if you accept arrays of any size in your functions, don't forget to use the LOWER_BOUND function :D)

And finally, if you have to use someone else's array and absolutely hate the idea of it's starting index not being 0, since arrays are essentially pointers with (compiletime) metadata, you can just cast the array to a pointer, and use the pointer as an array, which you will have to access from 0:

Good day. Can someone please assist me, I am trying to connect the codesys control win v3 x64 virtual PLC to the Kepserver OPC but it refuses. I can't browse the PLC tags as well. Even if use an actual PLC (wago PFC100), still it shows that there is no communication between my server and my PLC. Manually adding the tags, still there will be no communication between the server and The PLC. After adding a channel on Kepserver, when I try to use the discover device option to add the device, it's still refusing. When I manually add the device using the device address, still there is no communication. I have attached screenshots of the error messages which I am getting.

I want my TX707 PLC running codesys V3.5 SP16 Patch 1 to communicate with a UR10e running 5.11.5.1010327. I am having issues getting the PLC and UR10e to communicate over Ethernet IP. I have tried editing the .EDS file like this old post suggested: -robots.com/t/ethernet-ip-eds-file-outdated-wrong/2164/2 . I get an encapsulation layer error with every option I try.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages