News:

  • May 17, 2024, 03:54:29 AM

Login with username, password and session length

Author Topic: New features wanted!! Apply here!  (Read 352574 times)

plcnut

  • Hero Member
  • *****
  • Posts: 803
    • premiersi.com
Re: New features wanted!! Apply here!
« Reply #255 on: October 16, 2014, 02:08:22 PM »
I have had the identical issue as Controls Guy: when someone shuts the power off to the system overnight, then it never performs the reset.
One option is to
Code: [Select]
MOVE $Now.Date to d_DateOfShutdown in $tLastScan,

and then
Code: [Select]
$NOW.Date != d_dDateOfShutdown---------PerformWorkHere  in $tFirstScan.
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #256 on: October 16, 2014, 02:36:57 PM »
Here's what felt the cleanest to me:

Code: [Select]
STRNE $Now.Day V100
MEMCLEAR MHR40 10
MOVE $Now.Day V100

That covers both midnight and power up on a new day cases.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #257 on: October 17, 2014, 01:20:57 PM »
Here's an example of a case where I'd like some formatting in MATH box expressions:

Code: [Select]
((Drum[V0] | IF(MHR7:0 & C201, RelayWDCfg0:SD, 0)) & IF(C103, -1, RelayPanicCfg0:SD) &
 IF(ST4, ~RelayFlashCfg0:SD, -1) & ~RelayTypeTOD0:SD) | (RelayTypeTOD0:SD & TODOutputs0:SD)

Actually doesn't look too bad on screen but hard to follow scrunched up in a little MATH edit box or at runtime.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #258 on: October 17, 2014, 01:29:10 PM »
Few more feature requests:

(1a) Optional and adjustable fuzz factor for matching in COUNTIFEQ.

(1b) New COUNTIFLIM function that allows specification of upper and lower limit and returns the count of values falling between.

As you can see, (1a) and (1b) are somewhat interchangeable, but they excel in slightly different cases, so consider this a strong request for one or the other and a mild request for both.

(2) A SEARCHR or FINDR function that finds a value (presumably with selectable fuzz match factor), and returns the INDEX of the value in the table rather than the VALUE.  Could be used not just for finding foreknown values, but also for example finding the index of the MIN by doing FINDR(MINR()).

(3) BCD conversion functions that can be used in a MATH box.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

LWgreys

  • Hero Member
  • *****
  • Posts: 117
Re: New features wanted!! Apply here!
« Reply #259 on: October 23, 2014, 01:28:13 AM »
Have a new idea. I was looking at one of my old C++ programs and thought "It would be something if there was a PLC that used C++ syntax for the programing". Just think of the power the programmer would have! Yes I do C++, PASCAL, BASIC and the dreaded Assembly language also.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #260 on: October 23, 2014, 04:21:51 PM »
I think plans are to eventually support Structured Text, which in most platforms comes out kinda like a PLC-itized version of BASIC. (Also a cleaner more industry-standard implementation of SFC than Stage).
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #261 on: October 23, 2014, 04:26:06 PM »
Feature request:  My original request was going to be to allow indexed variables in a Data View (MyArray[V100] for example), which I would like.  Then that of course suggests the more general solution, which would be to allow expressions in general in a Data View.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3666
    • Host Engineering
Re: New features wanted!! Apply here!
« Reply #262 on: October 23, 2014, 05:00:50 PM »
Feature request:  My original request was going to be to allow indexed variables in a Data View (MyArray[V100] for example), which I would like.
That's already in there.
Quote
Then that of course suggests the more general solution, which would be to allow expressions in general in a Data View.
That may take a while.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #263 on: October 23, 2014, 09:16:31 PM »
It is?   I thought I tried it today and DMD wouldn't allow it.   Have to check again tomorrow.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3666
    • Host Engineering
Re: New features wanted!! Apply here!
« Reply #264 on: October 23, 2014, 09:38:08 PM »
It is?   I thought I tried it today and DMD wouldn't allow it.   Have to check again tomorrow.
Rel 1.3 even supports offset arrays in Data View/Ladder status, e.g. R[V0+2].  See the attached screen shot.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #265 on: October 25, 2014, 12:41:39 PM »
Very good to know - thank you!

Update:  Have been happily using indexed arrays in Data Views since I learned about the capability in this thread.  Very, very cool!  Manual?   What is this "manual" you speak of?   :D
« Last Edit: October 30, 2014, 10:21: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.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #266 on: October 30, 2014, 10:27:57 PM »
Feature idea (haven't given this adequate thought to really call it a "request"):

Each code-block has some yielding configuration, from never yield, to always yield, to time-slice.  It occurs to me that it would be helpful to be able to delineate a "no-yield zone" in the code, within which the program/task will not yield based on instruction type or time interval (concept obviously doesn't apply to code-blocks configured to never yield).  So new NOYIELD and NOYIELDE left rail instructions or something.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3561
  • Darth Ladder
Re: New features wanted!! Apply here!
« Reply #267 on: October 30, 2014, 10:50:07 PM »
Feature request:  functionally defined breakpoint in Debug mode.  IOW the breakpoint is "When N0 is changed to -1", and the last line executed is recorded.
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: 5996
  • Yes Pinky, Do-more will control the world!
Re: New features wanted!! Apply here!
« Reply #268 on: October 31, 2014, 01:34:15 AM »
Feature idea (haven't given this adequate thought to really call it a "request"):

Each code-block has some yielding configuration, from never yield, to always yield, to time-slice.  It occurs to me that it would be helpful to be able to delineate a "no-yield zone" in the code, within which the program/task will not yield based on instruction type or time interval (concept obviously doesn't apply to code-blocks configured to never yield).  So new NOYIELD and NOYIELDE left rail instructions or something.

You kind of don't need it, but can really already do it. First, the only instructions that actually yield are looping/goto that go backward...the time slice is only evaluated by 4 or 5 instructions. Second, you can change the .Timeslice member any time you want. So if you did have a loop that needed to not yield, it is a simple matter of setting the time slice to 65535 and restoring it at the end of the loop. It might be nice for documentation purposes to have an instruction like you described, but the implementation would be exactly what I described.
"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

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 5996
  • Yes Pinky, Do-more will control the world!
Re: New features wanted!! Apply here!
« Reply #269 on: October 31, 2014, 01:37:15 AM »
Feature request:  functionally defined breakpoint in Debug mode.  IOW the breakpoint is "When N0 is changed to -1", and the last line executed is recorded.

As long as it was a simple data compare, that wouldn't be that hard.
"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