opc

How to make a type safe wrapper around Variant values

柔情痞子 提交于 2019-12-24 18:46:49
问题 I'm working with a OPC Server control that stores data tags as variant types, described by System.Runtime.InteropServices.VarEnum . These types include the following, VT_BSTR (string), VT_I2 (short) and VT_I4 (long). All these values are stored by the server as objects and then I have to cast to the correct value when I fetch them. I know that I can do something like the following: object tagValue = (object)"testing"; //this would be returned from a function rather than created this way!! var

LLVM学习笔记(51)

烂漫一生 提交于 2019-12-23 08:53:23
3.10. X86折叠表的生成( v7.0) 指令折叠是在寄存器分配过程中执行的优化,目的是删除不必要的拷贝指令。例如,这样的一组指令: %EBX = LOAD %mem_address %EAX = COPY %EBX 可以被安全地替换为单条指令: %EAX = LOAD %mem_address 通常,后者较前者更小,更快。 在 X86 中,许多指令有内存形式与寄存器形式,即通过内存或寄存器传递操作数。为了执行指令折叠优化,需要某种方式将这两种形式的同一条指令关联起来。目前 LLVM 维护了几张体量庞大的表用于关联这些指令。 Intel 以色列的雇员 Ayman Musa 开发了这部分的 codegen ,希望能通过 TableGen 自动生成这些表。不过这部分代码目前因为尚有 bug ,没有默认生成。 这里 有关于这个 bug 的描述。 总的来说,这是因为 Musa 的主要假设是同一条指令的这两个形式共享相同的编码信息,除了负责“如何向指令传递参数”的部分,其中一个版本定义其中一个参数是寄存器,另一个版本定义它为内存操作数,而其他参数以相同方式传递。 但实际上,某些指令在寄存器与内存形式间有不同与上面假设的情形,例如 bt (比特测试)指令,其寄存器形式寄存器参数相关比特是第 4 、 5 、 6 比特(依赖于模式与寄存器大小),而内存形式相关比特是第 16 、 32 或 64

OPC-UA client SDK for C#.NET application development [closed]

寵の児 提交于 2019-12-23 04:43:47
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 2 years ago . I have been in process of developing an application in C#.NET which can communicate to PLC through OPC server. I have searched for C#.NET based OPC client libraries for it and found below ones. As I have never used any of these libraries I don’t know which can be a first choice. Price do not matter much here. If

OPC sample application for C# [closed]

。_饼干妹妹 提交于 2019-12-18 11:27:50
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 3 years ago . Does anyone know a C# OPC client sample application? I'm looking for a good opensource one to learn about the protocol. I would prefer it if it uses OPC foundation .net core apis. 回答1: https://fistfulofbytes.com/opc-sample-code I have posted sample code on how to use a dll "Interop.OPCAutomation.dll" enjoy...

Difference Between OPC UA and OPC DA?

风格不统一 提交于 2019-12-12 07:45:15
问题 Please explain what is the Difference Between OPC UA and OPC DA ? In which condition which one should be used, and if any example can be provided for both OPC UA and OPC DA, it would be helpful 回答1: OPC-UA is the successor to OPC-DA. It has many benefits, one of the most prominent being that it is platform agnostic. There are SDKs available in a multitude of languages and OPC-UA can be implemented on anything from a tiny embedded to device running Linux, to a desktop running Windows, or a

Sorting items in OPC Server

我只是一个虾纸丫 提交于 2019-12-12 04:53:40
问题 We are trying to implement an OPC Server, with a specific objects structure, as you can see in the following example: Node X Item 1 Item 2 Item 3 Item 4 Item 5 Item 6 Item 7 ... (till 300) Node Y ... But, for some strange reason, in several OPC clients the items are shown like this: Node X Item 3 Item 11 Item 22 Item 33 Item 44 Item 55 Item 4 ... (till 300) Node Y ... Our main problem is about sorting the items in the list. As you can see in the screenshot the items are not shown sorted in

How to connect remote OPC Server using opcdaauto.dll using C#?

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-12 01:38:40
问题 DLL used : opcdaauto.dll from OPC Foundation OPCServer ObjOPCServer; OPCGroups ObjOPCGroups; OPCGroup ObjOPCGroup; ObjOPCServer = new OPCServer(); string _serverName = "Kepware.KEPServerEX.V5"; //In place of "", I need to give IP address of machine where OPC Server is present ObjOPCServer.Connect(_serverName, ""); Then also I am not able to communicate . Any help highly appreciated. Thanks in advance 回答1: OPCServer ObjOPCServer = new OPCServer(); OPCGroups ObjOPCGroups; OPCGroup ObjOPCGroup;

Connect to kepware OPC DA using Utgard

自古美人都是妖i 提交于 2019-12-11 15:17:01
问题 I am using below code to make the connection from UTGARD to Kepware V6 OPC DA. package com.flutura.openscada.tutorial; import java.util.concurrent.Executors; import java.util.logging.Logger; import org.jinterop.dcom.common.JIException; import org.openscada.opc.lib.common.ConnectionInformation; import org.openscada.opc.lib.da.AccessBase; import org.openscada.opc.lib.da.DataCallback; import org.openscada.opc.lib.da.Item; import org.openscada.opc.lib.da.ItemState; import org.openscada.opc.lib.da

Milo OPC Server tries to connect to wrong URI

喜你入骨 提交于 2019-12-11 14:12:35
问题 I tried to run an example server from Milo OPC repository, and I put as endpoint the ip of the PLC. In the device, the name of the device is "MI_027859". 19:18:36.748 [main] WARN o.e.m.o.stack.core.util.EndpointUtil - Endpoint URL 'Illegal character in hostname at index 12: opc.tcp://MI_027859:12686/MI_027859' is not a valid URI: {} java.net.URISyntaxException: Illegal character in hostname at index 12: opc.tcp://MI_027859:12686/MI_027859 at java.net.URI$Parser.fail(URI.java:2848) at java.net

How do I get a list of tags on a OPC server

99封情书 提交于 2019-12-11 13:24:42
问题 I am trying to get the list of Tags from a OPC server, I am using the EasyDaClient from the QuickOPC. What I'm trying to do is this try { //create the OPC Client object OpcLabs.EasyOpc.DataAccess.EasyDAClient easyDAClient1 = new OpcLabs.EasyOpc.DataAccess.EasyDAClient(); //ServerDescriptor Declration OpcLabs.EasyOpc.ServerDescriptor sd = new OpcLabs.EasyOpc.ServerDescriptor(); sd.MachineName = "W7VM"; sd.ServerClass = "OPC.Siemens.XML.1"; OpcLabs.EasyOpc.DataAccess.DANodeElementCollection