Help in designing Database or Tags

The one thing that I don't like about your solution, Daba, is that some months you populate WaitingTimes[31] and some months you don't. Feb is even worse. So when you're looking at "the last 30 days of data", you have to know whether or not to include certain registers.

The COP ([1],[0],len) technique simplifies looking at 30 days worth of data. Making an array of UDTs allows the capturing of more data points than just the "Idle" times. There is a difference if the machine is idle for a total of 1 hour, but was idle 300 times in the shift (meaning that it was typically waiting 12 seconds between parts), versus being idle for an hour only 1 time in the shift (indicating a major downtime event).

A UDT can also, if it's important, include shift, day stamp, and whatever else is desired.

I'm all in favor of "keep it simple". But there's also such thing as too simple when there are unrealized needs.

To modify what I posted to a 30-day cycle, I would not use the RTC.Day register, but would manage my own pointer into a 30-element array, just cycling around 0 to 29. This would certainly make the summation and averaging easier in the long run, but as I said just about anything is "do-able", and I'm not making the choice which way to go, just suggesting ideas.

The COP idea will certainly work, but there's no need to shift the data, just increment a pointer into the storage and MOD it with 29

And if you want to differentiate between "waiting once for a long time", and "waiting many times for short times", IMHO the PLC isn't the place to do that sort of statistical analysis, SQL anyone ?
 
We have different ideas as to what is easy / good and what is overkill / bad. Which is normal and healthy, except for perhaps in politics.

I don't consider shifting 30 registers once a day to be a huge burden on a PLC; while I do consider calculating a datestamp that can be MOD(30)'ed from YYYY, MM, DD to be a cumbersome calculation.

The OP is starting down the path of OOE (overall operational efficiency), and --yes-- there are complex software packages that will guide one down the path. But as this is just a start, he doesn't need all the KPI faceplates. But he does need to know if he has a systemic problem, or one with just one shift. A little more data can help determine which.

I've done all this and more, in a PLC-5, with a Dataliner and a serial printer, back in the day. Like you, I'm just throwing out ideas, based on my experience. If either of us were handed this assignment, we'd bang it out in a few minutes, and come back in a month. The OP lacks our experience; the more ideas we give him, the better off he is.
 

Similar Topics

hello again, lets disregard that last thread I posted about the Panel Builder 1200. What I really need help with is some logic design. Here's...
Replies
4
Views
2,163
Good day all! Can someone help me with the procedure to update Beijers E700 firmware? The Panel I am working on is firmware 2.04v and I would...
Replies
1
Views
13
Hi, We have an application that has a device that goes through a reboot (appears un-graceful) What then happens is the MVI module appears to hang...
Replies
0
Views
55
I am completely stuck on building a ladder program that requires a start button to be pressed 3 times to turn on motor 1. Then motor 2 starts...
Replies
20
Views
501
Hi all, i am the new controls guy at the plant and i have inherited a pc from the previous controls guy with Siemens tia portal version 16 and 17...
Replies
17
Views
576
Back
Top Bottom