News:

  • April 17, 2026, 03:50:57 AM

Login with username, password and session length

Author Topic: Add a command to DMD  (Read 15657 times)

jwbaker3

  • Hero Member
  • *****
  • Posts: 142
Add a command to DMD
« on: January 06, 2014, 10:17:52 AM »
Would it possible to add a command like the Rockwell AB "MCR" that will suspend all of the logic between the first and the last entry of the "MCR" command if the first "MCR" is false. It is really handy, you may want to call it something else, how it works is more important than the name. (to me anyway)

Thanks,
JW

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3803
    • Host Engineering
Re: Add a command to DMD
« Reply #1 on: January 06, 2014, 10:47:50 AM »
It's on our "todo" list

jwbaker3

  • Hero Member
  • *****
  • Posts: 142
Re: Add a command to DMD
« Reply #2 on: January 06, 2014, 10:58:18 AM »
Thanks!
JW

LWgreys

  • Hero Member
  • *****
  • Posts: 117
Re: Add a command to DMD
« Reply #3 on: January 06, 2014, 09:17:06 PM »
This topic is also on Automation Direct forum. Stages, Tasks, Programs will do the same thing as MRC instruction. Me personally don't see a use for duplicating the instruction.

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3803
    • Host Engineering
Re: Add a command to DMD
« Reply #4 on: January 06, 2014, 09:33:51 PM »
The instruction in question is a hidden instruction related to complex ladder rungs, aka "And above join" error in DirectSOFT and Do-more.
It's going to let you create the following rung constructs (see attached screen shot).

This is a powerful ladder logic construct.

b_carlton

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 606
    • thePLCguy
Re: Add a command to DMD
« Reply #5 on: January 06, 2014, 09:59:02 PM »
If I run into the 'AND Above A Join' situation the rung is more complex then I like.
I would have broken the rung shown into 3. Each of the first two outputs on its own rung.
The last is tapping off earlier than it should. If the output branch came one contact later it would be legal and more understandable. I like my rungs to be readable as a sentence from the contact descriptions, rarely requiring a rung comment.
An output is a PLC's way of getting its inputs to change.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: Add a command to DMD
« Reply #6 on: January 06, 2014, 11:48:50 PM »
The instruction in question is a hidden instruction related to complex ladder rungs, aka "And above join" error in DirectSOFT and Do-more.
It's going to let you create the following rung constructs (see attached screen shot).

This is a powerful ladder logic construct.

THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU!!

I've always hated that, and would like to be able to build the rungs the way they make sense.

When do you expect to release this?

Does this also mean we'll be able to use inline one-shots deeper than stack level 0, since the two issues are related?
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6154
  • Yes Pinky, Do-more will control the world!
Re: Add a command to DMD
« Reply #7 on: January 07, 2014, 12:33:38 AM »
The instruction in question is a hidden instruction related to complex ladder rungs, aka "And above join" error in DirectSOFT and Do-more.
It's going to let you create the following rung constructs (see attached screen shot).

This is a powerful ladder logic construct.

THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU!!

I've always hated that, and would like to be able to build the rungs the way they make sense.

When do you expect to release this?

Does this also mean we'll be able to use inline one-shots deeper than stack level 0, since the two issues are related?

No timetable. It would also probably not be implemented using a MCR, but a different instruction that is already in the controller. Code gen and PLC side is easy. Rung parser is the hard part and a huge unknown. That code hasn't been meaningfully touched for nearly 20 years...
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3803
    • Host Engineering
Re: Add a command to DMD
« Reply #8 on: January 07, 2014, 09:30:15 AM »
If I run into the 'AND Above A Join' situation the rung is more complex then I like.
I would have broken the rung shown into 3. Each of the first two outputs on its own rung.
The last is tapping off earlier than it should. If the output branch came one contact later it would be legal and more understandable. I like my rungs to be readable as a sentence from the contact descriptions, rarely requiring a rung comment.
Agreed.  I made the example complex on purpose, but a one level "MCR" is very useful, and for some, multi-level is still useful.  Once we make it work for 1 level, it can work for N levels.  However, I do not want to limit it - let the individual customer decide.

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3803
    • Host Engineering
Re: Add a command to DMD
« Reply #9 on: January 07, 2014, 09:40:02 AM »
Does this also mean we'll be able to use inline one-shots deeper than stack level 0, since the two issues are related?
Interesting that you caught that.  Initially, I'm going to say "no", but we'll see.  However, I point to Bernie's comment that if you are using in-line one-shots NOT at the top of stack (i.e. generating pulses in parallel to drive???), your logic may not (or may not appear) to be doing what you think it is doing.  Best to break it up into multiple rungs.  Then again, I'll point back to my comment to Bernie's comment, that if we can give customers a lot of rope, they can use it wisely, or possibly use it with their neck as a pulley  ;D.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: Add a command to DMD
« Reply #10 on: January 07, 2014, 11:52:39 AM »
Well, yes it is possible to try to do to much in one rung.  However, sometimes the intent is more clear or the rung tighter when combined.  I want to have the flexibility to write the way it makes the most sense to me for the particular case rather than have to work around the limits of the ladder implementation, and that, for this issue, is what you're giving us.  Thank you!

If a rung doesn't do what it looks like it does to a person reading it and applying normal ladder solving rules, that's a sign the engine needs work, not the person.

In a somewhat related issue, I'd like to request the editor start each rung with an invisible LD ST1 (at least for rungs that only connect to the left rail one time), so we don't have to put one in explicitly to keep it from combining with the previous rung.  There's a place where I think less screen clutter WOULD add to readability.

Thanks!
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.