s7.net 写数据到plc_三个C#读写西门子PLC的类库

发布时间:2024-04-24 15:01

HslCommunication

dathlin/HslCommunication​github.com
s7.net 写数据到plc_三个C#读写西门子PLC的类库_第1张图片

这个功能是最丰富的,M,Q,I,DB块随便读写,而且不仅是西门子,各家PLC都有,还附带各种demo和一些其他功能,

//读取一段数据,然后取其中一部分 
var SiemensTcpNet = new SiemensS7Net(SiemensPLCS.S1200, IP);
var  content = await SiemensTcpNet.ReadAsync("Q8.2", 30);//从Q8.2开始读,长度30
aaa = ByteTransform.TransBool(content.Content, 0);
bbb = ByteTransform.TransBool(content.Content, 10);
ccc = ByteTransform.TransBool(content.Content, 22);

//直接读取某个地址
ddd = (await SiemensTcpNet.ReadInt32Async("DB26.8")).Content;

可以实现读取一整块然后对零碎地址的读取

也可以一个一个零碎读取

支持async await

s7netplus

S7NetPlus/s7netplus​github.com
s7.net 写数据到plc_三个C#读写西门子PLC的类库_第2张图片

从s7net演化而来,读写DB块

S7.Net.Plc plc = new S7.Net.Plc(S7.Net.CpuType.S71200, ip, 0, 2);
PlcData data = plc.ReadClassAsync(1);

读取DB1 一整块到类

适合非常规整的DB块读写

支持async await

sharp7

fbarresi/Sharp7​github.com
s7.net 写数据到plc_三个C#读写西门子PLC的类库_第3张图片

比较适合零碎地址的DB数据读写

这三个都是纯C#实现的,都可以在nuget上直接获取,同时支持.net framework和.net standard,意味着可以在任何平台的.net程序里使用他们,也是.net程序最适合的类库形态,而不必去使用COM组件或者c++组件。

有了这些类库完全可以摆脱传统上位机软件束缚,自己实现各种功能,用C#开发更加大型的系统。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号