File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -112,6 +112,24 @@ func (is *IedServer) UpdateQuality(node *ModelNode, quality uint16) {
112
112
C .IedServer_updateQuality (is .server , (* C .DataAttribute )(node ._modelNode ), C .ushort (quality ))
113
113
}
114
114
115
+ // GetAttributeValue reads the value of the attribute in the server
116
+ func (is * IedServer ) GetAttributeValue (node * ModelNode ) (* MmsValue , error ) {
117
+ mmsValue := C .IedServer_getAttributeValue (is .server , (* C .DataAttribute )(node ._modelNode ))
118
+ mmsType := MmsType (C .MmsValue_getType (mmsValue ))
119
+
120
+ value , err := toGoValue (mmsValue , mmsType )
121
+ if err != nil {
122
+ return nil , err
123
+ }
124
+ return & MmsValue {mmsType , value }, nil
125
+ }
126
+
127
+ // GetUTCTimeAttributeValue reads the value of a time attribute in the server
128
+ func (is * IedServer ) GetUTCTimeAttributeValue (node * ModelNode ) int64 {
129
+ timestamp := C .IedServer_getUTCTimeAttributeValue (is .server , (* C .DataAttribute )(node ._modelNode ))
130
+ return int64 (timestamp )
131
+ }
132
+
115
133
// SetServerIdentity updates the server identity of the IedServer
116
134
func (is * IedServer ) SetServerIdentity (vendor string , model string , version string ) {
117
135
cVendor := C .CString (vendor )
You can’t perform that action at this time.
0 commit comments