Contains optimization parameters that reduce the load on the OPC server by keeping the connections open should they be soon needed again.
Object Model
Syntax
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.DataAccess.Engine.ComTypes._EasyDAClientHoldPeriods)]
[ComVisible(true)]
[Guid("D4F970F7-2E42-4883-996D-928390E5DA13")]
[TypeConverter(System.ComponentModel.ExpandableObjectConverter)]
[ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.82.174.1, Culture=neutral, PublicKeyToken=6faddca41dacb409",
DefaultReadWrite=false,
Export=true,
PageId=10001)]
[Serializable()]
public sealed class EasyDAClientHoldPeriods : OpcLabs.BaseLib.Parameters, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.BaseLib.ComTypes._Parameters, OpcLabs.EasyOpc.DataAccess.Engine.ComTypes._EasyDAClientHoldPeriods, System.ComponentModel.INotifyPropertyChanged, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.DataAccess.Engine.ComTypes._EasyDAClientHoldPeriods)]
[ComVisible(true)]
[Guid("D4F970F7-2E42-4883-996D-928390E5DA13")]
[TypeConverter(System.ComponentModel.ExpandableObjectConverter)]
[ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.82.174.1, Culture=neutral, PublicKeyToken=6faddca41dacb409",
DefaultReadWrite=false,
Export=true,
PageId=10001)]
[Serializable()]
public ref class EasyDAClientHoldPeriods sealed : public OpcLabs.BaseLib.Parameters, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.BaseLib.ComTypes._Parameters, OpcLabs.EasyOpc.DataAccess.Engine.ComTypes._EasyDAClientHoldPeriods, System.ComponentModel.INotifyPropertyChanged, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
'Declaration
<CLSCompliantAttribute(True)>
<ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.DataAccess.Engine.ComTypes._EasyDAClientHoldPeriods)>
<ComVisibleAttribute(True)>
<GuidAttribute("D4F970F7-2E42-4883-996D-928390E5DA13")>
<TypeConverterAttribute(System.ComponentModel.ExpandableObjectConverter)>
<ValueControlAttribute("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.82.174.1, Culture=neutral, PublicKeyToken=6faddca41dacb409",
DefaultReadWrite=False,
Export=True,
PageId=10001)>
<SerializableAttribute()>
Public NotInheritable Class EasyDAClientHoldPeriods
Inherits OpcLabs.BaseLib.Parameters
Implements LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.BaseLib.ComTypes._Parameters, OpcLabs.EasyOpc.DataAccess.Engine.ComTypes._EasyDAClientHoldPeriods, System.ComponentModel.INotifyPropertyChanged, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
'Usage
Dim instance As EasyDAClientHoldPeriods
Example
// This example shows how the OPC server can quickly be disconnected after writing a value into one of its OPC items.
//
// 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.EasyOpc.DataAccess;
using OpcLabs.EasyOpc.OperationModel;
namespace DocExamples.DataAccess._EasyDAClientHoldPeriods
{
class TopicWrite
{
public static void Main1()
{
// Instantiate the client object.
var client = new EasyDAClient();
client.InstanceParameters.HoldPeriods.TopicWrite = 100; // in milliseconds
try
{
client.WriteItemValue("", "OPCLabs.KitServer.2", "Simulation.Register_I4", 12345);
}
catch (OpcException opcException)
{
Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message);
}
}
}
}
' This example shows how the OPC server can quickly be disconnected after writing a value into one of its OPC items.
'
' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET .
' 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.
Imports OpcLabs.EasyOpc.DataAccess
Imports OpcLabs.EasyOpc.OperationModel
Namespace DataAccess._EasyDAClientHoldPeriods
Friend Class TopicWrite
Public Shared Sub Main1()
Dim client = New EasyDAClient()
client.InstanceParameters.HoldPeriods.TopicWrite = 100 ' in milliseconds
Try
client.WriteItemValue("", "OPCLabs.KitServer.2", "Simulation.Register_I4", 12345)
Catch opcException As OpcException
Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message)
End Try
End Sub
End Class
End Namespace
# This example shows how the OPC server can quickly be disconnected after writing a value into one of its OPC items.
#
# Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
# OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python .
# 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.
# The QuickOPC package is needed. Install it using "pip install opclabs_quickopc".
import opclabs_quickopc
# Import .NET namespaces.
from OpcLabs.EasyOpc.DataAccess import *
from OpcLabs.EasyOpc.OperationModel import *
# Instantiate the client object.
client = EasyDAClient()
client.InstanceParameters.HoldPeriods.TopicWrite = 100 # in milliseconds
# Perform the operation
try:
IEasyDAClientExtension.WriteItemValue(client, '', 'OPCLabs.KitServer.2', 'Simulation.Register_I4', 12345)
except OpcException as opcException:
print('*** Failure: ' + opcException.GetBaseException().Message)
exit()
print('Finished.')
Inheritance Hierarchy
Requirements
Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows
See Also