A few days ago, as part of customer training, my colleague and I received an interesting question. In the past, it happened to the customer that the non-redundant SCADA system was unavailable for some time (unspecified problems in the server room) and the dispatchers were therefore completely without information about the processes without their graphic interface (HI process - Human Interface). At the same time, it was water dispatching, where things are relatively slow. And now the question: would it be possible to somehow create screenshots so that in such a state the dispatcher could look at least as the state of the controlled system a minute, five, fifteen... ?
I had a vague impression that the snapshot functionality existed in the D2000 HI, but I couldn't remember the name of the function. So I asked a colleague who knows HI much better by e-mail and I had an answer in a while. (If I wasn't lazy, I would have looked up "screenshot" in the online documentation and found it myself). There is a function %HI_CaptureToFile, which saves the scheme from which it is called, or its part given by coordinates, to a file.
In a few minutes, we created a script in the scheme that is called after the minute changes (ON CHANGE action). This will take a snapshot every minute and save it in the application directory (%GetApplDir function). The name of the slide is derived from the name of the scheme – first, the numerical identifier (HOBJ – handle of object) of the scheme is found with the %GetSelfHBJ function, then it is converted to the textual name of the scheme with the %HBJToStr function.
A snapshot of the schema is created and overwritten every minute. We could also include the current date and time in the title (convert the SysTime system variable representing the time to text using the %TimeToStr function) and then solve the deletion of old images, but the customer did not request this. It was enough for him that once every five minutes, a quarter of an hour, and an hour, the picture would be saved under a different name so that he would have the last few pictures at his disposal. The %FIO_Move function performs the renaming of the minute snapshot (its third parameter bFailIfExist has the value @FALSE to overwrite older snapshots).
The described script, which is part of a specific scheme, can be seen in the following figure.
There are certainly external utilities that can take regular screenshots. What we haven't mentioned yet - this particular customer's dispatchers have several large base schemes that are open and that they switch between. So one is in the foreground, the others in the background. The solution using the D2000 HI had the advantage for the customer that all schemes - even those in the background - were able to take screenshots after duplicating the script, even if they were in the background. In the case of using an external program, only a snapshot of the currently displayed scheme would probably be created.
With this short text, I wanted to show that in many cases, using the Ipesoft D2000 real-time application server, it is possible to quickly and easily fulfill even the not-quite-standard wishes of the customer.
The several-line script created during the training is a nice example of the extended functionality that the D2000 has.
October 31, 2022, Ing. Peter Humaj, www.ipesoft.com