News:

  • April 17, 2026, 03:49:52 AM

Login with username, password and session length

Author Topic: Add Documentation Record  (Read 9274 times)

Henryp

  • Hero Member
  • *****
  • Posts: 161
Add Documentation Record
« on: December 18, 2013, 04:19:11 PM »
In a future version of the domore designer could we have an add documnatation record range. Sometime like add c0-c100 with a few mouse clicks.

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3803
    • Host Engineering
Re: Add Documentation Record
« Reply #1 on: December 18, 2013, 05:14:14 PM »
In a future version of the domore designer could we have an add documnatation record range. Sometime like add c0-c100 with a few mouse clicks.

Please elaborate.  I'm going to guess that you mean from within the Documentation Editor view, add a bunch of empty records, handling the situation where some of them may already have a record, so do NOT make those empty  ;D.

C5 is documented as "George".  Add doc record range C0 thru C100.  New (empty) records will be created for C0 thru C4, then C6 thru C100.  C5 will still contain "George".

Or, I may be way off, so please let us know (one way or the other).

Henryp

  • Hero Member
  • *****
  • Posts: 161
Re: Add Documentation Record
« Reply #2 on: January 08, 2014, 06:09:44 PM »
It seems to me that to document the elements in a Do-more PLC  takes a lot more mouse clicks and thought than a DL PLC. In Directsoft5 the locations are already blocked out and I type in my documentation. In a Do-more I have to add  and type an element location and then enter  the element  documentation. If I go to the document editor in Directsoft5 and do a control F it takes me to the element even if it is not used in the ladder, while in a Do-more designer I get an error that the element  can't be found. In addition, in data view if I do a control D in Directsoft5 I'm in the right location to enter the documentation. In a Do-more designer I  have to do an add and remember the DLV or DLC address and then type in the documentation.  Also when I go to write a new control program, I usually do the documentation the elements ahead of time and do a lot of cutting and pasting which doesn't work so well if I have to  add the element documentation one at a time. 

I really like the do-more processor, it is fast, has a great instruction set and stores my comments in the CPU.  All three of these advances make doing my job easier.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6154
  • Yes Pinky, Do-more will control the world!
Re: Add Documentation Record
« Reply #3 on: January 08, 2014, 10:52:17 PM »
Henry, the reason for the change is that Do-more documentation is far more flexible than DL, and it simply isn't possible (or smart) to blow out the entire list. First, the memory map of Do-more can be far, far larger than DL and the amount of stuff that would have to pre-fill the table would be painfully large. But it's worse than that...Do-more can document struct fields and every possible cast...which means that for the element D0, you would need to show D0:0 through D0:31, plus D0:B0 through D0:B3, as well as D0:W0 and D0:W1...or a total of 39 entries. Imagine what that looks like for every possible cast of every possible element and every field of every structure. A mess. So the decision was made to limit the display to just the elements that were already documented and those used in the program. When something is used in the program, but hasn't been documented, it shows up in the list with a '*' beside it. This is essentially a virtual record and isn't really in the database.

So we knew it needed to be the way it is, but we also knew that was going to be a pain, so in addition to what gets automatically added, we made it possible to add virtual records quickly. All you have to do is go into the Add Documentation Record dialog, enter something like D0, then start hitting the Enter key. It will add an empty record to the table and automatically increment D0 to D1. If you keep hitting the Enter key you can pre-fill the table very quickly, and then exit and edit the records like in DirectSoft. (See the first picture)

I do understand the need though, and I understand what I can do to make it clearer and easier. For the upcoming maintenance release, I am going to change Add Documentation Record to support two modes...the current single record behavior, as well as a new ranged Add Empty Record option that would let you specify an element range (like C0-C100) and it will add empty records for the full range. Look for the fix soon.

The other thing we did was to greatly enhance the process of automatically assigning and adding work variables. For working values that don't really need to have a known address, you can just type a nickname into the field, then we will automatically assign the next free item of the selected element type as well as create a new documentation record for that element using the nickname. Some here disagree, but as a C programmer for nearly 30 years, I have *never* cared what the hard address was of a variable. Some addresses (I/O for instance) need to be known, but most don't. For those that don't, define them on the fly...it's very easy and very quick. (See the second and third pictures)

Keep the feedback coming!!
"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

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: Add Documentation Record
« Reply #4 on: January 08, 2014, 11:12:02 PM »
Also, HenryP a new and IMO very important feature in Do More is the creation of named constants.

Like say you're writing an elevator program, and the program works on buildings from 2 to 10 floors, but the program obviously needs to know how many floors there are, so you can create a constant named TopFloor and assign it a value of 4 or whatever at program time.  In programming, you use TopFloor in all the program locations where it's needed.  When you use the program at a different location, you can change the value to 6 or whatever and know you haven't missed any occurrences, and nothing can change the value at run time.

SLC's have something like this in that you can set individual data files to Static (or write-protect individual tags in CLX), and the old TI's had K-Memory, but all those approaches use memory, while this is more like a C #DEFINE.
« Last Edit: January 08, 2014, 11:18:38 PM by Controls Guy »
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.