Want to share a UDFB? Here's the place! NOTE: This page contains files and links to items developed by third parties. Unitronics bears no responsibility for any consequences of accessing and using any third-party items of any kind.
Thank you for your kind critique.
1) Great to know thank you I will restructure
2) I will look into a more refined way of doing this, really It's because I wanted a parallel function of being able to manually trigger the relays for testing as well as have them be triggered by the system state/scheduler
4) I will try to find a way to simplify. I was guided by tech support to use the increment function as a way to test and see if the relays were actually firing. It's only for testing purposes really. I'm still trying to get the different between the different contacts and coils. We don't use this terminology in my other programming languages but they're also based off Boolean logic so somewhat similar.
Thanks I take pride in a clean UI
The main reason I reached out to the group is that our first PLC crapped out during testing the relays ( or it never worked to begin with ) I was told by support my previous version of the program may have burned the relays out because I was switching them on and off too fast. So I just wanted another set of eyes on it to be sure I didn't have any really big issues.
have a problem with encoder counting, I use the v700 and the expansion module D16A3 / RO16.
I36 is input with a fast counter and use it to measure the length.
But I have a problem when I need to reset the value so I record 0 in the MI register, in the picture part of the code.
Did he have a similar problem or did somebody know the same thing?
Com 1 normally will not function if you are connected to your PC at the same time.
Did you try communication with the danfoss drive on com 2 and using com 1 to connect the PLC to the PC.
I don't have time to got through your logic in detail, but here are a few suggestions as to best programming practices:
1) Do not rename the Main Routine. Use it for Power-Ups, configurations blocks, and subroutine calls only.
2) Do not place multiple logic threads in a single ladder rung, as you have done in Rung 4 of Relay Control.
3) It is usually best to keep the logic simple and use more ladder rungs. You will not run out of rungs.
4) Rung 1 of Relay Control should probably be simplified (break it up into multiple rungs) and I think it's odd that you are using a direct contact activating an Increment function. You will be incrementing that register on every scan until the HMI button is released. Use a Positive Transition contact unless you are trying to count how many scans go by during a button press for some unfathomable reason.
That said, most of your code looks pretty good and your HMI screens are terrific.