Professional OPC
Development Tools

logos

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.

× If you are developing in .NET, but are using the OPC-UA (OPC Unified Architecture), please post in the QuickOPC-UA category instead.

Migrating from EasyOPC.NET 5.2 to OPC Studio 2024.1

More
22 Feb 2024 10:10 #12581 by support
Hello,
thanks for the good news.

The actual numerical code for a Quality with WaitingForInitialData is 32.

Best regards

Please Log in or Create an account to join the conversation.

More
21 Feb 2024 16:48 #12580 by tlaford
Thank you for the quick reply.

I made the changes you suggested and I replaced DAQualities.WaitingForInitialData with 0, all the compile errors are gone, and the updated program seems to run fine.

Please Log in or Create an account to join the conversation.

More
21 Feb 2024 16:28 #12579 by support
Hello.

Re 2. In newer QuickOPC versions, you cannot reference the assemblies directly and individually. You need to reference the NuGet package.

- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...NuGet%20Packages%20(.NET).html
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...es%20in%20Visual%20Studio.html

Re 3. DAQualities.WaitingForInitialData

Re 4. Instead of "If (e.ErrorCode <> 0) Then", use "If (Not e.Succeeded) Then"

Re 1. The auto-subscribing has been reworked, and there is no direct equivalent for UpdateRates.ReadAutomatic / WriteAutomatic. Most likely you can leave this part out completely. More info:
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...6e-3005-433e-b390-db063ef54d51
- opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...cribingParameters_members.html

Best regards

Please Log in or Create an account to join the conversation.

More
21 Feb 2024 16:12 #12578 by tlaford
I am trying to migrate my code from an antique 2012 version (EasyOPC.NET 5.2) to the modern version (OPC Studio 2024.1) and I could use a little help.

My project is written using Visual Studio 2017 in Visual Basic with .Net Framework 4.7.2. It subscribes to a number of tags on multiple machines and when a tag changes value the program receives a EasyDAItemChangedEvent

I have removed the reference to the old OpcLabs.EasyOpcClassic and added references to the following libraries:
  • OpcLabs.BaseLib
  • OpcLabs.EasyOpcClassic
  • OpcLabs.EasyOpcClassicComponents
  • OpcLabs.EasyOpcClassicCore

I have changed the OpcLabs.EasyOpc.DataAccess.EasyDAItemChangedEventArgs to OpcLabs.EasyOpc.DataAccess.OperationModel.EasyDAItemChangedEventArgs

I updated Timeouts and HoldPeriods from EasyDaClient to EasyDaClient.InstanceParameters

I updated State and ItemDescriptor from EasyDAItemChangedEventArgs to EasyDAItemChangedEventArgs.Arguments

But the following errors still remain:
  1. UpdateRates is not a member of EasyDaClient
  2. Reference required to assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=6.0.0.0, ...' containing the type 'IConfiguration'.
  3. WaitingForInitialData is not a member of DAQuality
  4. ErrorCode is not a member of EasyDAItemChangedEventArgs

Here are some code snippets where the errors occur:
        Me.OpcConnection = New OpcLabs.EasyOpc.DataAccess.EasyDAClient(Me.components)
 
        Me.OpcConnection.UpdateRates.ReadAutomatic = 10000
        Me.OpcConnection.UpdateRates.WriteAutomatic = -1
 
...
 
        Private Quality_ As DAQuality
 
        Quality_ = DAQuality.WaitingForInitialData
 
...
 
Private Sub ProcessItemChanged(ByVal e As OpcLabs.EasyOpc.DataAccess.OperationModel.EasyDAItemChangedEventArgs)
    ' Display any errors
    If (e.ErrorCode <> 0) Then
        EventLog("OPC ERROR: " & e.Arguments.State.ToString() & " - " &
                 e.Arguments.ItemDescriptor.ItemId & " " &
                 e.ErrorMessage)
        Return
    End If

Could someone offer any insight into how to handle these remaining compile errors?

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.052 seconds