M61850
Communication control the IEC 61850 client driver.
WebVue support - Yes.
Mode | Mnemonic | Syntax |
1 | SBOW_SELECT | 1 |
2 | SBOW_OPERATE | 2 |
3 | SBOW_CANCEL | 2 |
4 | SBO_SELECT | 1 |
5 | SBO_OPERATE | 2 |
6 | SBO_CANCEL | 2 |
7 | START_NETWORK | 3 |
8 | STOP_NETWORK | 3 |
9 | START_PHYSICALDEVICE | 4 |
10 | STOP_PHYSICALDEVICE | 4 |
11 | START_REPORTGROUP | 5 |
12 | STOP_REPORTGROUP | 5 |
13 | START_DATASETGROUP | 5 |
14 | STOP_DATASETGROUP | 5 |
15 | START_DATAGROUP | 5 |
16 | STOP_DATAGROUP | 5 |
17 | DE_OPERATE | 1 |
18 | DEW_OPERATE | 1 |
IEC 61850 file transfer services are supported using the verb FILETRANSFER.
Syntax 1
Return= M61850(Mode, VariableName, Value[, ResultVar[, Test[, SynchroCheck[, InterlockCheck[, orCat[, orIdent]]]]]]);
Return type: INTEGER.
Argument |
Meaning |
VariableName | The name of a variable that is mapped to an M61850 data object or attribute. Type STR. |
Value | The value to be sent to the M61850 data object or attribute. Type INTEGER. |
ResultVar | The name of a register variable in which a value, corresponding to the result of the execution, is placed. See below for more information about possible values. Type STR. |
Test |
Drives the Test flag of the IEC 61850 control. Type INTEGER. 0: Test flag set to False in the control. 1: Test flag set to True in the control. |
SynchroCheck |
Drives the SynchroCheck flag of the IEC 61850 control. Type INTEGER. 0: SynchroCheck flag set to False in the control. 1: SynchroCheck flag set to True in the control. |
InterlockCheck |
Drives the InterlockCheck flag of the IEC 61850 control. Type INTEGER. 0: InterlockCheck flag set to False in the control. 1: InterlockCheck flag set to True in the control. |
orCat |
Drives the originator category of the IEC 61850 control. Type INTEGER. 0: orCat set to not-supported. 1: orCat set to bay-control. 2: orCat set to station-control. 3: orCat set to remote-control. 4: orCat set to automatic-bay. 5: orCat set to automatic-station. 6: orCat set to automatic-remote. 7: orCat set to maintenance. 8: orCat set to process. "" (empty string): Sets orCat as per the global setting (default value). |
orIdent |
Drives the originator identity of the IEC 61850 control. Type STRING. The value should be the string representing the hexadecimal value of the originator. In particular, the following values can be used: "00" (NULL): To indicate that the originator identity is not known nor reported. "" (empty string): Sets orIdent as per the global setting (default value). |
Execution
Mode |
Mnemonic |
Action |
1 |
SBOW_SELECT |
Send a Select command with enhanced security to an M61850 data object or attribute as part of a select before operate sequence. |
4 |
SBO_SELECT |
Send a Select command to an M61850 data object or attribute as part of a select before operate sequence. |
17 | DE_OPERATE | Generate a Direct command with normal security. |
18 | DEW_OPERATE | Generate a Direct command with enhanced security. |
Return:
|
Syntax 2
Return= M61850(Mode, VariableName [, ResultVar]);
Return type: INTEGER.
Argument |
Meaning |
VariableName | The name of a variable that is mapped to an M61850 data object or attribute. Type STR. |
ResultVar | The name of a register variable in which a value, corresponding to the result of the instruction, is placed. Type STR. |
0 - Initiate request 1 - Success 2 - Command failed (see Event Viewer). |
Execution
Mode |
Mnemonic |
Action |
2 | SBOW_OPERATE |
Send an Operate command, with enhanced security, to an M61850 data object or attribute. Completes a select before operate sequence after a Select command has been previously sent. |
3 | SBOW_CANCEL |
Send a Cancel command, with enhanced security, to an M61850 data object or attribute. Cancels a select before operate sequence after a Select command has been previously sent. |
5 | SBO_OPERATE |
Send an Operate command to an M61850 data object or attribute. Completes a select before operate sequence after a Select command has been previously sent. |
6 | SBO_CANCEL |
Send a Cancel command to an M61850 data object or attribute. Cancels a select before operate sequence after a Select command has been previously sent. |
Return:
|
Syntax 3
IntVar = M61850(Mode, NetworkID, ResultVar);
Return type: INTEGER.
Argument |
Meaning |
NetworkID | The name of the network. Type STR. |
ResultVar | The name of the variable in which is put the status of the command. Type STR. |
0 - Initiate request 1 - Success 2 - Write error (see Event Viewer). |
Execution
Mode |
Mnemonic |
Action |
7 | START_NETWORK | Start the network. The ResultVar is updated with the status of the request. |
8 | STOP_NETWORK | Stop the network. The ResultVar is updated with the status of the request. |
Return:
|
Syntax 4
IntVar = M61850(Mode, NetworkID, DeviceID, ResultVar);
Return type: INTEGER.
Argument |
Meaning |
NetworkID | The name of the network. Type STR. |
DeviceID | The name of the device. Type STR. |
ResultVar | The name of the variable in which is put the status of the command. Type STR. |
0 - Initiate request 1 - Success 2 - Write error (see Event Viewer). |
Execution
Mode |
Mnemonic |
Action |
9 | START_PHYSICALDEVICE | Start the physical device. The ResultVar is updated with the status of the request. |
10 | STOP_PHYSICALDEVICE | Stop the physical device. The ResultVar is updated with the status of the request. |
Return:
|
Syntax 5
IntVar = M61850(Mode, NetworkID, DeviceID, GroupID, ResultVar);
Return type: INTEGER.
Argument |
Meaning |
NetworkID | The name of the network. Type STR. |
DeviceID | The name of the device. Type STR. |
GroupID | The name of the group. Type STR. |
ResultVar | The name of the variable in which is put the status of the command. Type STR. |
0 - Initiate request 1 - Success 2 - Write error (see Event Viewer). |
Execution
Mode |
Mnemonic |
Action |
11 | START_REPORTGROUP | Start the report group. |
12 | STOP_REPORTGROUP | Stop the report group. |
13 | START_DATASETGROUP | Start the dataset group. |
14 | STOP_DATASETGROUP | Stop the dataset group. |
15 | START_DATAGROUP | Start the data group. |
16 | STOP_DATAGROUP | Stop the data group. |
Return:
|
Status variable values for START & STOP modes
The ResultVar variable can take the following values when using the modes START & STOP for networks, devices and groups.
Value |
Meaning |
-1 | In progress. |
0 | Completed successfully. |
1 | Not implemented. |
2 | Object not found. |
3 | Communication object not enabled. |
4 | Communication object already enabled. |
5 | Communication object already disabled. |
6 | Not produced by the local station. |
7 | Start command not executed, a Stop command is already in progress. |
8 | Start command failed, the command completed with the communication object stopped. |
9 | Communication object already stopped. |
10 | The parent object is not started. |
11 | Communication object already connected. |
12 | Start command already in progress. |
13 | Connection lost. |
14 | Communication object already disconnected. |
15 | Stop command already in progress. |
16 | The parent object is in error state. |
17 | Object does not exist. |
18 | Command failed - Internal error. |
19 | Not permitted by the license. |
20 | Internal error. |
21 | The producer station could not be reached. |
22 | Trial period elapsed. |
23 | Partially failed, one or more PcVue stations have not processed the command. |
1002 | Internal error - No remote server. |
1003 | Internal error - No report. |
1004 | The Report Control Block is already in use by another IEC 61850 client. |
1005 | Internal error - Bad MMS scope. |
1006 | Internal error - No dataset attached to the Report Control Block. |
1007 | Error during device connection (browsing & initialization). |
1008 | Configuration error for the Report Control Block. |
1009 | Configuration error for Report Control Block redundancy. Could be that RCBs are not configured for the same dataset. |
Status variable values for modes other than START & STOP
The ResultVar variable can take the following values when using the modes other than START & STOP.
Value |
Meaning |
0 | In progress. |
1 | Completed successfully. |
2 | Error. |
3 | Wrong type, a bit was expected. |
4 | Wrong type, a text was expected. |
5 | Wrong type, a register was expected. |
6 | Internal error. |
7 | Network not found. |
8 | Device not found. |
9 | Internal error - No remote server. |
10 | Internal error - No transaction. |
11 | Internal error - No server. |
12 | Communication object not connected. |
13 | Communication object not connected. |
14 | Protocol error - Flow controlled. |
15 | Protocol error - Max service exceeded. |
16 | Protocol error - Memory. |
17 | Protocol error - Encoding error. |
18 | Protocol error - Incorrect transaction. |
19 | Protocol error - Connection closed. |
20 | Protocol error - Connection state. |
21 | Protocol error - Application. |
22 | Protocol error - Parameters. |
23 | Protocol error - Confirmed error. |
24 | Protocol error - Rejected. |
25 | Protocol error - No data read. |
26 | Deprecated error code. |
27 | Data access error - Object-invalidated ISO 9506-2). |
28 | Data access error - Hardware-fault (ISO 9506-2). |
29 | Data access error - Temporarily-unavailable (ISO 9506-2). |
30 | Data access error - Object-access-denied (ISO 9506-2). |
31 | Data access error - Object-undefined (ISO 9506-2). |
32 | Data access error - Invalid-address (ISO 9506-2). |
33 | Data access error - Type-unsupported (ISO 9506-2). |
34 | Data access error - Type-inconsistent (ISO 9506-2). |
35 | Data access error - Object-attribute-inconsistent (ISO 9506-2). |
36 | Data access error - Object-access-unsupported (ISO 9506-2). |
37 | Data access error - Object-non-existent (ISO 9506-2). |
38 | Data access error - Object-value-invalid (ISO 9506-2). |
39 | Variable does not exist. |
40 | The producer station could not be reached. |
41 | A control is already in progress. |
42 | Internal error - No parent communication object. |
43 | The object is not a valid controllable object. |
44 | Reserved. |
45 | Configuration inconsistent. |
46 | The controlled object was not subject of a Select. |
47 | Data type is not supported. |
48 | The Control-model could not be found. |
49 | Request not accepted by the device. |
50 | Internal error - Bad MMS scope. |
51 | Internal error - Send by the device. |
52 | Value out of bounds. |
53 | Command failed - AddCause Unknown. |
54 | Command failed - AddCause Server-reserved. |
55 | Command failed - AddCause Service-error. |
56 | Command failed - AddCause Blocked-by-switching-hierarchy. |
57 |
Command failed - AddCause Select-failed. |
58 | Command failed - AddCause Invalid-position. |
59 | Command failed - AddCause Position-reached. |
60 | Command failed - AddCause Parameter-change-in-execution. |
61 | Command failed - AddCause Step-limit. |
62 | Command failed - AddCause Blocked-by-mode. |
63 | Command failed - AddCause Blocked-by-process. |
64 | Command failed - AddCause Blocked-by-interlocking. |
65 | Command failed - AddCause Blocked-by-synchrocheck. |
66 | Command failed - AddCause Command already-in-execution. |
67 | Command failed - AddCause Blocked-by-health. |
68 | Command failed - AddCause 1-of-n-control. |
69 | Command failed - AddCause Abortion-by-cancel. |
70 | Command failed - AddCause Time-limit-over. |
71 | Command failed - AddCause Abortion-by-trip. |
72 | Command failed - AddCause Object-not-selected. |