CP.TwinCATRx.Core 1.3.1
dotnet add package CP.TwinCATRx.Core --version 1.3.1
NuGet\Install-Package CP.TwinCATRx.Core -Version 1.3.1
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="CP.TwinCATRx.Core" Version="1.3.1" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中,以引用此包。
paket add CP.TwinCATRx.Core --version 1.3.1
NuGet 团队不提供对此客户端的支持。请联系其 管理员 以获取支持。
#r "nuget: CP.TwinCATRx.Core, 1.3.1"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中,以引用此包。
// Install CP.TwinCATRx.Core as a Cake Addin #addin nuget:?package=CP.TwinCATRx.Core&version=1.3.1 // Install CP.TwinCATRx.Core as a Cake Tool #tool nuget:?package=CP.TwinCATRx.Core&version=1.3.1
NuGet 团队不提供对此客户端的支持。请联系其 管理员 以获取支持。
TwinCATRx
A Reactive implementation of TwinCAT ADS
这是一个 TwinCAT ADS 的响应式实现。它基于贝克霍夫的 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 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.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 已计算。 |
-
.NETStandard 2.0
- Beckhoff.TwinCAT.Ads (>= 6.1.260)
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.10.0)
- Mono.Cecil (>= 0.11.5)
- System.CodeDom (>= 8.0.0)
-
net6.0
- Beckhoff.TwinCAT.Ads (>= 6.1.260)
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.10.0)
- Mono.Cecil (>= 0.11.5)
- System.CodeDom (>= 8.0.0)
-
net7.0
- Beckhoff.TwinCAT.Ads (>= 6.1.260)
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.10.0)
- Mono.Cecil (>= 0.11.5)
- System.CodeDom (>= 8.0.0)
-
net8.0
- Beckhoff.TwinCAT.Ads (>= 6.1.260)
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.10.0)
- Mono.Cecil (>= 0.11.5)
- System.CodeDom (>= 8.0.0)
NuGet包 (1)
显示依赖CP.TwinCATRx.Core的前1个NuGet包
包 | 下载 |
---|---|
CP.TwinCATRx
Reactive TwinCAT PLC 库 |
GitHub仓库
此包未用于任何流行的GitHub仓库。
与Net 6、Net 7和netstandard2.0的兼容性