Using OpcCmd Utility as OPC A&E Client: Difference between revisions
No edit summary |
|||
Line 10: | Line 10: | ||
# At the {{Style=label|OpcCmd>}} prompt, enter {{Style=keyboard|aeClient}}, or shortened: {{Style=keyboard|aec}}.<br/>The program responds with a list of technologies supported ("Com").<br/><br/>All following commands are entered at the {{Style=label|aeClient>}} prompt. You can enter <code>-?</code>, <code>-h</code> or <code>--help</code> (possibly preceded by the command name) at any time to obtain help for this prompt (or its commands).<br/><br/> | # At the {{Style=label|OpcCmd>}} prompt, enter {{Style=keyboard|aeClient}}, or shortened: {{Style=keyboard|aec}}.<br/>The program responds with a list of technologies supported ("Com").<br/><br/>All following commands are entered at the {{Style=label|aeClient>}} prompt. You can enter <code>-?</code>, <code>-h</code> or <code>--help</code> (possibly preceded by the command name) at any time to obtain help for this prompt (or its commands).<br/><br/> | ||
# In order to obtain a list of OPC A&E servers registered on your computer, enter {{Style=keyboard|browseServers}} (<code>browseServers</code> can be shortened to <code>bs</code>).<br/>The command displays a table of available servers and their descriptions. The "URL String" columns contains URLs that start with "opcae:", and the first part of the URL path is a ProgID of the server (ProgID is a symbolic name given to the OPC A&E server, and OPC clients use it to connect to the server). Here is an example output from the command:<br>[[File:Opccmd-aeclient-browseservers.png|1011px|Command output of: OpcCmd aeClient browseServers]]<br/>In this example, "OPCLabs.KitEventServer.2" is the ProgID of the (Alarms&Events part of the) OPC Kit Server. The remaining part of the URL path contains server's CLSID. The CLSID can also be used to establish a connection to the server, but ProgIDs are more "user friendly".<br/><br/> | # In order to obtain a list of OPC A&E servers registered on your computer, enter {{Style=keyboard|browseServers}} (<code>browseServers</code> can be shortened to <code>bs</code>).<br/>The command displays a table of available servers and their descriptions. The "URL String" columns contains URLs that start with "opcae:", and the first part of the URL path is a ProgID of the server (ProgID is a symbolic name given to the OPC A&E server, and OPC clients use it to connect to the server). Here is an example output from the command:<br>[[File:Opccmd-aeclient-browseservers.png|1011px|Command output of: OpcCmd aeClient browseServers]]<br/>In this example, "OPCLabs.KitEventServer.2" is the ProgID of the (Alarms&Events part of the) OPC Kit Server. The remaining part of the URL path contains server's CLSID. The CLSID can also be used to establish a connection to the server, but ProgIDs are more "user friendly".<br/><br/> | ||
# Display the areas and sources inside the OPC A&E Server by entering {{Style=keyboard|browseNodes OPCLabs.KitEventServer.2 --tree}} (shortened: {{Style=keyboard|bn OPCLabs.KitEventServer.2 -t}}). Here is an example output from the command:<br>[[File:Opccmd-aeclient-browsenodes-tree.png]]<br/> | # Display the areas and sources inside the OPC A&E Server by entering {{Style=keyboard|browseNodes OPCLabs.KitEventServer.2 --tree}} (shortened: {{Style=keyboard|bn OPCLabs.KitEventServer.2 -t}}). Here is an example output from the command:<br>[[File:Opccmd-aeclient-browsenodes-tree.png]]<br/><br/> | ||
# In order to query the server for the event categories it supports, enter {{Style=keyboard|queryEventCategories OPCLabs.KitEventServer.2}} (<code>queryEventCategories</code> can be shortened to <code>qec</code>). Here is an example output from the command:<br>[[File:Opccmd-aeclient-queryeventcategories.png]]<br/><br/> | |||
= Commands, Arguments and Options = | = Commands, Arguments and Options = |
Revision as of 15:59, 10 March 2021
For general information about the OpcCmd tool, see Category:OpcCmd Utility.
Tutorial
If you execute the commands listed in the tutorial below, you will get an overview of basic OPC A&E client operations.
This tutorial works with the OPC Kit Server, which is installed with QuickOPC, or available for download from the Tool Downloads page. You should be able to use the same tutorial with your own OPC A&E Server, by modifying the server ProgID and in the commands.
- Start the OpcCmd utility in interactive mode. The interactive mode is always in effect e.g. when you use ClickOnce, or when running the utility from QuickOPC Launcher/Start menu. In other cases, you need to use the
-i
(or--interactive
) option on the command line. - At the OpcCmd> prompt, enter aeClient, or shortened: aec.
The program responds with a list of technologies supported ("Com").
All following commands are entered at the aeClient> prompt. You can enter-?
,-h
or--help
(possibly preceded by the command name) at any time to obtain help for this prompt (or its commands). - In order to obtain a list of OPC A&E servers registered on your computer, enter browseServers (
browseServers
can be shortened tobs
).
The command displays a table of available servers and their descriptions. The "URL String" columns contains URLs that start with "opcae:", and the first part of the URL path is a ProgID of the server (ProgID is a symbolic name given to the OPC A&E server, and OPC clients use it to connect to the server). Here is an example output from the command:
In this example, "OPCLabs.KitEventServer.2" is the ProgID of the (Alarms&Events part of the) OPC Kit Server. The remaining part of the URL path contains server's CLSID. The CLSID can also be used to establish a connection to the server, but ProgIDs are more "user friendly". - Display the areas and sources inside the OPC A&E Server by entering browseNodes OPCLabs.KitEventServer.2 --tree (shortened: bn OPCLabs.KitEventServer.2 -t). Here is an example output from the command:
- In order to query the server for the event categories it supports, enter queryEventCategories OPCLabs.KitEventServer.2 (
queryEventCategories
can be shortened toqec
). Here is an example output from the command:
Commands, Arguments and Options
Command: aeClient subscribeEvents
Example:
OpcCmd -i aeclient subscribeEvents OPCLabs.KitEventServer.2
Command: aeClient acknowledgeCondition
The acknowledgeCondition
command (can be shortened to ac
) acknowledges a condition in the events server.
Acknowledging a condition requires an event to be identified by a precise combination of several pieces of information. In order to make the acknowledging easier, the acknowledgeCondition command allows you to pick the event from those collected during previous event subscriptions. Using the --eventIndex
option (can be shortened to -ei
), you specify the index of the event you want to acknowledge.
When event output is on, the event indexes appear in front of every displayed event in angle brackets, such as "[2]". You can also use the events?
command (ev?
) to display the events previously collected.
Example:
OpcCmd -i aeclient subscribeEvents OPCLabs.KitEventServer.2 -sqn Simulation.ConditionState1 events? acknowledgeCondition --eventIndex 2
In order to trigger an acknowledgeable event for the previous example, you can start a second instance of the OpcCmd utility and pass it a corresponding command, like this:
OpcCmd daClient writeItem OPCLabs.KitServer.2 SimulateEvents.ConditionState1.Activate [Boolean]True
Other commands
Other commands at the aeClient> prompt, not individually described or used in the tutorial, include:
getConditionState
querySourceConditions
Using OPC NET API implementation
If you want to use the OPC NET API implementation instead of the native implementation (in OpcCmd for .NET Framework), you can do it interactively as in the following example:
OpcCmd -i aeclient --property InstanceParameters.EnableNativeClient=[Boolean]false subscribeEvents subscribeEvents OPCLabs.KitEventServer.2
If you want to use such setting permanently, you can modify one of the OpcCmd Intrinsic Component Configuration files (JSON, INI or XML). For example, with the JSON format, put the following into the appsettings.json or appsettings.production.json file:
{
"OpcLabs.EasyOpc.AlarmsAndEvents.EasyAEClient": {
"InstanceParameters": {
"EnableNativeClient": false
}
}
}