MultiSpeak Data Structures

VTScada supports the following MultiSpeak data structures:

  • scadaPoint
  • scadaStatus
  • scadaAnalog
  • PointID

scadaPoint

<scadaPoint objectID="a89ksdf8">
  <objectName>Temperature</objectName>
  <description>Current temperature</description>
  <scadaPointType>analog</scadaPointType>
</scadaPoint>

objectID

This will get the PointID which is the tag UniqueID or generated hash.

objectName

VTScada tag name

description

VTScada description (translated to default language)

scadaPointType

Analog or status, based on the tag's membership in the Analogs or Digitals group respectively

scadaStatus

<scadaStatus objectID="a89ksdf8" verb="Change">
  <objectName>Breaker 23A</objectName>
  <quality>Measured</quality>
  <status>Open</status>
  <timeStamp>2021-02-04T21:15:00.000Z</timeStamp>
</scadaStatus>

objectID

PointID (uniqueID or hash)

verb

Always "Change"

objectName

VTScada tag name

quality

Unknown if the tag value is Invalid

Calculated if the tag belongs to the Analytics group (a calculation tag)

Measured if the tag represents an I/O value

status

Unknown if Invalid

Closed if 1

Open if 0

timeStamp

Time of the last value change in UTC

scadaAnalog

<scadaAnalog objectID="f2aa6dyf8" verb="Change">
  <objectName>Voltage</objectName>
  <value units="VAC">208</value>
  <quality>Measured</quality>
  <timeStamp>2021-04-06T15:13:01.025</timeStamp>
</scadaAnalog>

objectID

This will get the PointID which is the tag UniqueID or generated hash.

verb

Always "Change"

objectName

VTScada tag name

value

current VTScada tag value

units

units of the tag translated to the default language

quality

Unknown (if invalid),

Calculated (if tag belongs to the Analytics group),

Measured (otherwise)

timeStamp

UTC timestamp VTScada read the current value

PointID

The PointID is the unique identifier for tags that is common between VTScada and other MultiSpeak Endpoints. It is returned in scadaPoint, scadaAnalog, and scadaStatus structures, and is used to request a particular tag value using the GetSCADAAnalogBySCADAPointID and GetSCADAStatusBySCADAPointID methods.

The PointID in VTScada is the tag's UniqueID, although in the specific case of the GetSCADA methods, VTScada will also respond to requests by the tag name.

Some systems place a character limit on the PointID, and while VTScada does not have that requirement, the MultiSpeakMaxPointIDLength setting can be configured to accommodate such systems. If this is set and the UniqueID is longer than the limit, a hash is generated to use as a 10-character PointID instead (although the UniqueID will still be used if it's short enough). Milsoft's DisSPatch OMS has a maximum of 38 characters, therefore VTScada should be configured accordingly.