小编V P*_*V P的帖子

通过 C# 应用程序使用 TwinCAT.Ads 编写结构数组

我正在使用 TwinCAT.Ads (TwinCAT 3) 通过 c# 应用程序进行 Beckhoff plc 通信。应用程序正在读取和写入少量 plc 变量。我收到一个错误:

“无法封送对象。参数名称:值”

在编写结构变量数组时。但是,应用程序正在读取它而没有任何错误。任何帮助将不胜感激。下面是我的代码示例。

Plc中的结构

TYPE Station :
    STRUCT
        ClusterID   : STRING[10];
        Tech_Type   : USINT;
        Status      : BOOL;
        Reject      : BOOL;
        Rej_Detail  : STRING[50];
        Rej_Catagory : USINT; 
    END_STRUCT
END_TYPE
Run Code Online (Sandbox Code Playgroud)

C#中的类

[StructLayout(LayoutKind.Sequential, Pack = 0)]
public class Station
{
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 11)]
    public string ClusterID;
    public byte Tech_Type;
    [MarshalAs(UnmanagedType.I1)]
    public bool Status;
    [MarshalAs(UnmanagedType.I1)]
    public bool Reject;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)]
    public string Rej_Detail;
    public byte Rej_Catagory;
}
Run Code Online (Sandbox Code Playgroud)

我正在用下面的代码编写,其中handles[0]是变量句柄, …

c# twincat twincat-ads twincat-ads-.net

4
推荐指数
1
解决办法
4037
查看次数

用于 C#.NET 应用程序开发的 OPC-UA 客户端 SDK

我一直在用 C#.NET 开发一个应用程序,它可以通过 OPC 服务器与 PLC 通信。我已经搜索了基于 C#.NET 的 OPC\n客户端库,并找到了以下库。由于我从未使用过这些库,所以我不知道哪个是首选。价格在这里并不重要。如果你们用过其中任何一个或其他任何一个,请告诉我。

\n\n

http://www.opclabs.com/products/quickopc

\n\n

http://advosol.com/pc-54-3-easyua-client-sdk.aspx

\n\n

https://www.plccom.net/products/opc/opc-ua-toolkit.html

\n\n

https://technosoftware.com/opc-ua-client-sdk-net/

\n\n

https://induscial.softing.com/en/products/software/opc-development-toolkits/opc-ua-net-development-toolkit/opc-ua-net-server-client-toolkit-for-windows.html

\n\n

https://www.unified-automation.com/products/client-sdk/net-ua-client-sdk.html

\n

.net c# opc opc-ua

0
推荐指数
1
解决办法
6764
查看次数

标签 统计

c# ×2

.net ×1

opc ×1

opc-ua ×1

twincat ×1

twincat-ads ×1

twincat-ads-.net ×1