Wednesday, June 14, 2017

How to Model Thousands of Measurement Signals?

The standard series IEC 61850 was originally developed for high voltage substation automation and protection ... with well defined logical nodes and data objects representing the most crucial signals like status (CSWI.stVal), 3-phase electrical measurements (MMXU.V.phsA ...), temperature supervision (STMP.Tmp, STMP.Alm, ...) and many other signals.
Several applications require huge number of values, e.g.,
  1. Logs (hundreds of status changes over a long period)
  2. Power Quality measurements (hundreds of values of min, max, ...)
  3. Temperature (hundreds or thousands of raw measured or processed values)
The corresponding logical nodes and communication service models would end-up in a lot of overhead in the modelling or in the communication.
I have discussed the first two bullets already inside the standardization groups ... more details may be discussed in a future blog post.
Today, I will discuss the third issue: huge amount of temperature values.
First of all, there are two models for temperature: TTMP (Transducer for a single sensor value) and STMP (Supervision of a single temperature value) with the following excerpt of details:

TTMP.TmpSv.instMag and TTMP.TmpSv.q are the two mandatory data attributes.

STMP.Tmp.mag.f, STMP.Tmp.mag.q, STMP.Tmp.mag.t (Tmp is optional)
STMP.Alm.stVal, STMP.Alm.q, STMP.Alm.t (Alm is optional)
STMP.Trip.stVal, STMP.Trip.q, STMP.Trip.t (Trip is optional)
Second, If you want to communicate just hundreds of temperature values, I would model this application as follows (SIUnits and sample rate ... may be modeled as well):
[Sure, I am aware that multiple instances of TmpSv are not yet standardized ... I would not care a lot at the moment ... it will come anyway. If not, define an extended Data Object TmpSamp with multiplicity 0..*]
TTMP1.
TmpSv1.instMag and TmpSv1.q
TmpSv2.instMag and TmpSv2.q
TmpSv3.instMag and TmpSv3.q
...
TmpSv100.instMag and TmpSv100.q
DataSet="DsTTMP1"
FCDA=TmpSv1.instMag
FCDA=TmpSv2.instMag
FCDA=TmpSv3.instMag
...
FCDA=TmpSv100.instMag
Unbuffered Report CB="UnbTTMP1
Data Set="DsTTMP1" 
trigger option: integrity period 
period: 1 h or ...
----------------------------------------------
TTMP2.
TmpSv1.instMag and TmpSv1.q
TmpSv2.instMag and TmpSv2.q
TmpSv3.instMag and TmpSv3.q
...
TmpSv100.instMag and TmpSv100.q
DataSet="DsTTMP2"
FCDA=TmpSv1.instMag
FCDA=TmpSv2.instMag
FCDA=TmpSv3.instMag
...
FCDA=TmpSv100.instMag
Unbuffered Report CB="UnbTTMP2
Data Set="DsTTMP2" 
trigger option: integrity period 
period: 1 h or ...
---------------------------------------------
TTMP3.
TmpSv1.instMag and TmpSv1.q
TmpSv2.instMag and TmpSv2.q
TmpSv3.instMag and TmpSv3.q
...
TmpSv100.instMag and TmpSv100.q
DataSet="DsTTMP3"
FCDA=TmpSv1.instMag
FCDA=TmpSv2.instMag
FCDA=TmpSv3.instMag
...
FCDA=TmpSv100.instMag
Unbuffered Report CB="UnbTTMP3
Data Set="DsTTMP3" 
trigger option: integrity period 
period: 1 h or ...
---------------------------------------------
Third, If you want to use hundreds of temperature values AND alarms AND trips etc. then STMP would be the right choice. The above modeling approach would be the same.
In addition to the data sets for the measured values, you may also configure data sets for the quality "q", and configure report control blocks with trigger option "data change". You may also add the quality into the other FCDAs ... depending on how crucial the quality is for the client application.

No comments: