Geo SCADA Knowledge Base
Access vast amounts of technical know-how and pro tips from our community of Geo SCADA experts.
Link copied. Please paste this link to share this article on your social media post.
Originally published on Geo SCADA Knowledge Base by AdamWoodland | March 25, 2024 09:52 AM
Event data can be loaded into the Geo SCADA historian using some database methods:
The only difference in parameters between these two methods are LoadRecords takes an array of values (even if an array size of 1) whereas LoadRecord just takes a singular value from each parameter.
LoadEncodedRecord and LoadEncodedRecords also exist, the only difference with these is the message parameter for these two methods must be a defined encoded message that allows backend support for internationalisation. The encoded message can be extracted from CDBEventJournal using the EncodedMessage column. Using the encoded message is typically better for moving events between two Geo SCADA systems, whereas the non-encoded messages will be necessary when bringing in event data from other systems.
Parameter | Maps to CDBEventJournal Column | Details |
Timestamp (Time) | RecordTime | The time in UTC of the event message for the source of the event (e.g. timestamp from RTU if event is originally sourced from an RTU) |
ClassName (String) | Category | The event category name of the event based on the category name in the table DBEventCategoryDef, not the friendly description seen by users in CDBEventJournal (do a SQL JOIN between those tables if necessary to extract in one go) |
ObjectId (Long) | Id / Source | The valid database object id that the event is to be loaded into |
Severity (Long) | Severity / SeverityDesc / SeverityValue | Database severity between 1 and 1000, ideally should match a valid severity on the target system but will round down to the nearest severity if not matched. Will error if 0 is used. |
OPCType (Long) | None | Bitmask for the OPC-AE event type:
Bit 1 - Simple Bit 2 - Tracking Bit 3 - Condition Bitmask cannot be 0, so unless you specifically need to set the event type suggest just using a value of 1 for the imported events |
SCXType (Long) | AlarmStateDesc |
Shows the alarm state causing the event:
|
Message (String) | Message / EncodedMessage | The message shown for the event entry, see above for details on EncodedMessage. Cannot be blank. |
UserName (String) | User | Can be any valid string, including blank. |
SeqNo (Long) | None | Doesn't currently import anything, use Null/Nothing depending on your coding language. A new SeqNo will be generated by the server automatically |
CommentNo (Long) | None | Use 0, no other value supported |
ReceiptTime (Time) | ReceiptTime | The timestamp for the event that the server receives it, for the import typically the same as RecordTime or the current time depending on need |
ClientAddress (String) | ClientAddress |
The IP address of the user that generated a source using string (dotted quads) or as 32-bit unsigned representation of the IP address. Cannot be blank, use "0" for a blank entry in the event journal else provide a valid IP address |
AreaOfInterest (Long) | AreaOfInterest | Use 0 for "World", else a valid Id for an AOI. Parameter still required if AOI is disabled on your system (just use 0 in this case) |
SuppressionType (Byte) | SuppressionDesc |
Doesn't cause any suppression to occur, just cosmetic. |
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.