Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
OPC Server Properties
Unless the server implemetation is screwed up, you should be able to obtain the individual pieces. Some of them are defined by OPC A&E, some of them might be server-specific, so-called attributes.
Read:
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...ts.AEEventData_properties.html (shows which info is available with each event)
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...%20an%20event%20attribute.html (shows how to browse for the attributes)
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...ieve%20attribute%20values.html (shows how to specify which additional attributes should be delivered with the events)
---
Please start a new topic on the forums when you have a new question. Do not put more and more unrelated questions to a topic that was started for something else.
Please Log in or Create an account to join the conversation.
- Jannie@Moore
- Topic Author
- Offline
- Elite Member
- Posts: 22
- Thank you received: 0
here is an example of the value in OPC Explorer.
1234 Overview\093LSD1083/1 2016-09-15 06:51:44.267 AM Oil Lvl High High Alarm at 78.00 4 -2147483648 64 Level Warning High 192 Yes 2016-09-15 06:51:44.267 AM 704843766 129 3 IEVENT ACTIVE TIME =15/09/2016 06:51:44 IEVENT UNIQUE EVENT ID =633043064636781,5889 IEVENT COMMENT = IEVENT SUBCONDITION NAME =Warning High IEVENT CONDITION NAME =Level IEVENT CATEGORY DESCRIPTION =Level IEVENT CATEGORY ID =-2147483648 IEVENT SEVERITY =64 IEVENT TYPE =32 CLASSNAME =Warning TYPENAME =Warning High FORECOLOR =255 BACKCOLOR =16777215 FLASHCOLOR =16777215 FLAGS =13631557 TEXT01 =043LST1003/1 TEXT02 =TS Oil Overview TEXT03 = Oil Lvl High High Alarm at 78.00 TEXT04 = TEXT05 = TEXT06 = TEXT07 = TEXT08 = TEXT09 = TEXT10 = PROCESSVALUE01 =78 PROCESSVALUE02 =0 PROCESSVALUE03 =0 PROCESSVALUE04 =29 PROCESSVALUE05 = PROCESSVALUE06 = PROCESSVALUE07 = PROCESSVALUE08 = PROCESSVALUE09 = PROCESSVALUE10 = STATETEXT =C INFOTEXT = LOOPINALARM =704843766 CLASSID =2 TYPEID =19 MODIFYSTATE =65537 AGNR =0 CPUNR =0 DURATION =0 COUNTER =2257 QUITSTATETEXT =QS QUITCOUNT =1523 PARAMETER =1166 BLOCKINFO = ALARMCOUNT =2222 LOCKCOUNT =0 PRIORITY =1 APPLICATION = COMPUTER = USER = COMMENT = HIDDEN-COUNT =0 BIG COUNTER =633043064636781,5889 OS-HIDDEN =False OS EVENTID =704843766 OPCSTATE ENABLED=true ACTIVE=true ACKED=false OPCCHANGED ACTIVE_STATE=true ACK_STATE=false ENABLE_STATE=false QUALITY=false SEVERITY=false SUBCONDITION=false MESSAGE=false ATTRIBUTE=true
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
- Jannie@Moore
- Topic Author
- Offline
- Elite Member
- Posts: 22
- Thank you received: 0
Event type
Severity
Category
Area
Code
Using QuickOPC is it possible to filter this attribute from the string. if so please provide an example.
Please Log in or Create an account to join the conversation.
- Jannie@Moore
- Topic Author
- Offline
- Elite Member
- Posts: 22
- Thank you received: 0
Please Log in or Create an account to join the conversation.
// This example shows how to read the build information of the server.
// See also: https://reference.opcfoundation.org/Core/Part5/v105/docs/7.7 and
// https://reference.opcfoundation.org/Core/Part5/v104/docs/12.4 .
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
// OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp .
// Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
// a commercial license in order to use Online Forums, and we reply to every post.
using System;
using OpcLabs.BaseLib.OperationModel;
using OpcLabs.EasyOpc.UA;
using OpcLabs.EasyOpc.UA.AddressSpace.Standard;
using OpcLabs.EasyOpc.UA.OperationModel;
namespace UADocExamples.InformationModel
{
partial class BuildInfoType
{
public static void Main1()
{
UAEndpointDescriptor endpointDescriptor =
"opc.tcp://opcua.demo-this.com:51210/UA/SampleServer";
// or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported)
// or "https://opcua.demo-this.com:51212/UA/SampleServer/"
// Instantiate the client object.
var client = new EasyUAClient();
// Obtain values. By default, the Value attributes of the nodes will be read.
var readArgumentsArray = new[]
{
new UAReadArguments(endpointDescriptor, UAVariableIds.ServerStatusType_BuildInfo_BuildDate),
new UAReadArguments(endpointDescriptor, UAVariableIds.ServerStatusType_BuildInfo_BuildNumber),
new UAReadArguments(endpointDescriptor, UAVariableIds.ServerStatusType_BuildInfo_ManufacturerName),
new UAReadArguments(endpointDescriptor, UAVariableIds.ServerStatusType_BuildInfo_ProductName),
new UAReadArguments(endpointDescriptor, UAVariableIds.ServerStatusType_BuildInfo_ProductUri),
new UAReadArguments(endpointDescriptor, UAVariableIds.ServerStatusType_BuildInfo_SoftwareVersion),
};
ValueResult[] valueResultArray = client.ReadMultipleValues(readArgumentsArray);
// Display results.
for (int i = 0; i < valueResultArray.Length; i++)
{
UAReadArguments readArguments = readArgumentsArray[i];
ValueResult valueResult = valueResultArray[i];
if (valueResult.Succeeded)
Console.WriteLine($"{readArguments.NodeDescriptor.NodeId}: {valueResult.Value}");
else
Console.WriteLine($"{readArguments.NodeDescriptor.NodeId}: *** Failure: {valueResult.ErrorMessageBrief}");
}
// Note that as of time of writing this code, the public sample server does not have the build information
// filled in, and the displayed information is thus largely empty (but correct). The example gives better
// results with servers that provide meaningful build information.
}
}
}
Please Log in or Create an account to join the conversation.
- Jannie@Moore
- Topic Author
- Offline
- Elite Member
- Posts: 22
- Thank you received: 0
Please Log in or Create an account to join the conversation.
OPC Classic Alarms&Events, and OPC UA Alarms&Conditions are supported:
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...for%20OPC%20Classic%20A&E.html
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...20Alarms%20&%20Conditions.html
In OPC UA, every OPC server exposes information about itself in nodes in the Address Space, that can be read as any other nodes.
Best regards
Please Log in or Create an account to join the conversation.
- Jannie@Moore
- Topic Author
- Offline
- Elite Member
- Posts: 22
- Thank you received: 0
Please Log in or Create an account to join the conversation.
I suppose this question is about OPC Classic (COM/DCOM) servers, as the category says. If not (and it is OPC UA), let me know, because the answer will be somewhat different.
For OPC Classic, most of the information you mentioned can be obtained from the server using the OPCServer::GetStatus call. However, QuickOPC does not provide this to your code. Some server may also expose it through OPC items, that would work but will be vendor-specific.
Regards
Please Log in or Create an account to join the conversation.