Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
Streaming capability is used to monitor the production line remotely. Under normal operation, this is enough for the human operators to get an overview of the line while it is working. For this purpose, a simple low-frame-rate video stream (25 fps or something) over a local area network does the job.
The most interesting functionality is related to recording capability, however. As shown in the previous image, the production line is governed by a Programmable Logic Controller (PLC), which is interfaced to several actuators and sensors. Of course, the line may also be subject to different kinds of faults. The most severe—for instance, a major mechanical failure—may failure—can lead to the automatic stop of the line. Thanks to the aforementioned sensors, the PLC is aware of such faulty conditions. In the occurrence of these events, it raises an alarm signal directed to the video recording system. Whenever an alarm is detected, the recording system's aim is to store stores on a mass storage device high-frame-rate footage showing what happened right before and right after the alarm event. This footage will be used later on for post-mortem analysis. In other words, automation engineers and maintenance personnel can leverage this fine-grained sequence of frames to analyze in detail the framed scene around the alarm event moment.
===Alarm mode===
During normal operation, the high-frame-rate stream (indicated by the red flow in the previous picture) is stored in a buffer in RAM memory. This buffer's size is related to the size of the time window surrounding the alarm event, as depicted in the following image.  TBD  Let t<sub>0</sub> be the time associated with the occurrence of an alarm. t<sub>0</sub>-t<sub>B</sub> is the time before the alarm to be recorded. t<sub>A</sub>-t<sub>0</sub> is the time after the alarm to be recorded. Consequently, t<sub>B</sub>-t<sub>A</sub> is the size of the entire window to be recorder. For example, for the the PoC here described:*t<sub>0</sub>-t<sub>B</sub> = 8s*t<sub>A</sub>-t<sub>0</sub> = 3s*t<sub>B</sub>-t<sub>A</sub> = 11sOnce the size of the time window is knowkn, it is straightforward to determine how much RAM is required for the buffer. In the case under discussion, the size of a frame is approximately 1280x720x8bpp=921600 byte. One second of recording is thus 921600x300≈264 MByte. In conclusion, the buffer has to be at least 264x11=2904 MByte to contain all the required frames.
4,650
edits