[BUG?] Equipment Schedule - Possible to snap to "Zoom level" boundaries?

I'm looking at the Equipment Schedule and noticed that when you drag to resize a scheduled event, the time doesn't snap to the zoom level bounds that you're viewing in (e.g. if set to 15min, I would expect to be able to drag and move the event to increments of 15min, not everything in between), and instead drags along on a continuous timeline. For example, I can drag it to 13:01:18 which seems a bit micro-managey.. I know I can handle this in the event handler code, but it would also be nice to see it in the UI to indicate to the user that it's not going to set it to 13:01:18, it will be 13:00:00

Is it possible to make it snap to the interval boundaries?

Edit: I swapped back to the Designer and noticed that it was snapping to the boundaries... I stopped and started preview mode and now it's back to not snapping, so maybe this is a bug?

In the browser (Chrome), it doesn't snap at all

I realize this is tagged as Perspective, but I'm hoping my question would apply to both Vision and Perspective...

How would you recommend forcing a "snap" of dates in the event handler?
I've forced dates for my particular events so that the "Start" is always set to 00:00:00 for the day, and the "End" is always set to 23:59:59.

I've found that in different zoom configurations of the Equipment Schedule (Vision 8.1.44), when i'm vaguely trying to drag the event to a new spot that is within the "Days boundary", most of the time the exact "end date" returned is over midnight (thus putting it into the next day) by a few minutes.

Would you just force the date back by 10minutes or so?
I imagine it gets a bit fast and loose depending on how the user is placing the final dragged event.
And what level the zoom is set to.

I've ended up implementing something that looks at whether they've changed the number of hours between start and end of the event or not and used that in some assumptions.

I take the UTC millis and subtract off the modulus with the desired interval. Works well for seconds, minutes, hours, and for evenly divisible parts thereof. Ignition has the midnight() function to do this for days.

For ending timestamps for the historian, you follow that with minus one more millisecond, because the historian API designers didn't know to use half-open intervals for timestamp arguments. (Ignition's current API is stuck with millisecond resolution due to that.)

I haven't peeked at the v8.3 changes because I'm afraid I'll be disappointed again.

1 Like