2014-10-31 1 views
1

Я хотел бы разработать клиентское приложение для чтения данных с машинного ПЛК. На этой машине есть мостовой компьютер, на котором установлен сервер Kepware, поэтому, если я запустил демонстрационный инструментарий для клиентского программного обеспечения kepware, я могу прочитать значение машины. Поэтому я хотел бы разработать клиент для чтения данных с этой машины.Как читать данные с сервера Kepware

меня найти эту программу в Интернете, но у меня есть проблема с библиотекой, когда я пытаюсь запустить его

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=25229521&lang=en&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=WW

Я вижу Comunication на OPC протокола (OLE для управления процессами).

Можем ли мы мне помочь?

+0

На какой платформе будет ваш клиент запустить - это Windows? Какие инструменты или языки вы можете использовать - действительно ли вы хотите получить данные в Excel, как в примере, на который вы указали, или вы разрабатываете программу, например. в C++, C#, VB.NET? – ZbynekZ

+0

Запуск в Windows. Я могу использовать Excel, C# не имеет значения. Я должен экстрадировать данные. – bircastri

+0

Kepware, предоставляет клиент HDA, который может использоваться для доступа к историческим данным. Их клиент способен напрямую писать в файл excel. Matrikon также имеет инструменты, которые делают это –

ответ

2

Скачать и установить QuickOPC 5,23 (.NET Framework 3.5 или 4.0) или QuickOPC 5.31 (.NET Framework 4.5) из http://opclabs.com/products/quickopc/downloads

Создать VB.NET проекта в VisualStudio.

Добавить ссылку, OpcLabs.EasyOpcClassic.dll к проекту.

enter image description here

Используйте следующий код для чтения данных из Kepware сервера с помощью VB.NET

Imports OpcLabs.EasyOpc 
Imports OpcLabs.EasyOpc.DataAccess 

Public Class Demand 
    Private Sub frm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    ReadPLCvalue() 
    End Sub 

    Private Sub ReadPLCvalue() 
     Dim objClient As New EasyDAClient 
     Dim sValue As Object 

     Try 
      sValue = objClient.ReadItemValue(KepwareServerMachineName, KepwareServerID, PLCTagName) 
     Catch ex As OpcException 

     End Try 

     StoreToDB(sValue) 
    End Sub 

    Private Sub StoreToDB(ByVal source As Object) 
     'Database operations to store the value. 
    End Sub 
End Class