CP.TwinCATRx 1.3.1

dotnet add package CP.TwinCATRx --version 1.3.1                
NuGet\Install-Package CP.TwinCATRx -Version 1.3.1                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="CP.TwinCATRx" Version="1.3.1" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add CP.TwinCATRx --version 1.3.1                
#r "nuget: CP.TwinCATRx, 1.3.1"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此内容复制到交互式工具或脚本的源代码中以引用包。
// Install CP.TwinCATRx as a Cake Addin
#addin nuget:?package=CP.TwinCATRx&version=1.3.1

// Install CP.TwinCATRx as a Cake Tool
#tool nuget:?package=CP.TwinCATRx&version=1.3.1                

TwinCATRx

License Build Nuget NuGet

针对 TwinCAT ADS 的响应式实现

这是 TwinCAT ADS 的响应式实现。它基于来自 Beckhoff 的 TwinCAT ADS 库。它是对 TwinCAT ADS 库的包装,允许您以响应式方式使用 TwinCAT ADS 库。它基于响应式扩展 (Rx) 库。

目前它不支持以下功能

  • 字符串数组
  • 结构中的字符串数组
    // Create Client
    var client = new RxTcAdsClient();
    var settings = new Settings { AdsAddress = "5.35.59.10.1.1", Port = 801, SettingsId = "Default" };

    // Add notification variables
    // Structures
    settings.AddNotification(".Tag1");
    settings.AddNotification(".Tag2");
    settings.AddNotification(".Tag3");
    settings.AddNotification(".AString", arraySize: 80);
    settings.AddNotification(".ABool");
    settings.AddNotification(".AByte");
    settings.AddNotification(".AInt");
    settings.AddNotification(".ADInt");
    settings.AddNotification(".AReal");
    settings.AddNotification(".ALReal");

    // Add Write variables, these can be read too using client.Read("TagName")
    // NOT SUPPORTED: arrays of string
    ////settings.AddWriteVariable(".ArrString", 11));
    settings.AddWriteVariable(".ArrBool", 11);
    settings.AddWriteVariable(".ArrByte", 11);
    settings.AddWriteVariable(".ArrInt", 11);
    settings.AddWriteVariable(".ArrDInt", 11);
    settings.AddWriteVariable(".ArrReal", 11);
    settings.AddWriteVariable(".ArrLReal", 11);
    client.Connect(settings);

    // Observe notification tags simple types
    client.Observe<string>(".AString").Subscribe(data => Console.WriteLine(data));
    client.Observe<bool>(".ABool").Subscribe(data => Console.WriteLine(data));
    client.Observe<byte>(".AByte").Subscribe(data => Console.WriteLine(data));
    client.Observe<short>(".AInt").Subscribe(data => Console.WriteLine(data));
    client.Observe<int>(".ADInt").Subscribe(data => Console.WriteLine(data));
    client.Observe<float>(".AReal").Subscribe(data => Console.WriteLine(data));
    client.Observe<double>(".ALReal").Subscribe(data => Console.WriteLine(data));

    // Observe Write variables these will execute when tag is read.
    client.Observe<bool[]>(".ArrBool").Subscribe(data => Console.WriteLine(data));
    client.Observe<byte[]>(".ArrByte").Subscribe(data => Console.WriteLine(data));
    client.Observe<short[]>(".ArrInt").Subscribe(data => Console.WriteLine(data));
    client.Observe<int[]>(".ArrDInt").Subscribe(data => Console.WriteLine(data));
    client.Observe<float[]>(".ArrReal").Subscribe(data => Console.WriteLine(data));
    client.Observe<double[]>(".ArrLReal").Subscribe(data => Console.WriteLine(data));

    // Read tags of a simple type
    client.Read(".ArrBool");
    client.Read(".ArrByte");
    client.Read(".ArrInt");
    client.Read(".ArrDInt");
    client.Read(".ArrReal");
    client.Read(".ArrLReal");

    // Write a value
    client.Write(".ABool", true);

    // Create structure to store data
    var tag1 = client.CreateStruct(".Tag1", true);
    tag1.StructureReady().Subscribe(data =>
    {
        // read from structure as stream
        data.Observe<bool>("ABool").Subscribe(value => Console.WriteLine(value));
        data.Observe<short>("AInt").Subscribe(value => Console.WriteLine(value));
        data.Observe<string>("AString").Subscribe(value => Console.WriteLine(value));

        // read from structure as one time read from the first level.
        var tag = data.Value<short>("AInt");

        data.WriteValues(ht =>
        {
            // write values to structure
            ht.Value("AInt", (short)(tag + 10));
            ht.Value("AString", $"Int Value {tag + 10}");
            
            // Values are written from the structure to the PLC upon return.
        });
    });
产物 兼容和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net6.0-windows10.0.17763 兼容。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net7.0-windows10.0.17763 兼容。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 net8.0-windows10.0.17763 兼容。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.0 兼容。 netstandard2.1 已计算。
.NET Framework net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet 包 (1)

显示依赖 CP.TwinCATRx 的前 1 个 NuGet 包

下载
MQTTnet.Rx.TwinCAT

MQTTnet Broker 的反应性扩展

GitHub 仓库

此包不被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
1.3.1 68 8/6/2024
1.3.0 112 6/5/2024
1.2.1 118 3/22/2024
1.2.0 216 12/27/2023
1.1.0 465 7/7/2023
1.0.1 217 4/15/2023
1.0.0 449 2/14/2023
0.9.0 277 2/2/2023
0.8.1 267 2/2/2023
0.8.0 249 2/1/2023
0.7.0 410 1/27/2023
0.6.0 414 1/24/2023
0.5.0 270 1/24/2023
0.4.0 431 1/22/2023
0.3.0 294 1/5/2023
0.2.0 300 1/4/2023

与 Net 6、Net 7 和 netstandard2.0 的兼容性