s7.net 写数据到plc_三个C#读写西门子PLC的类库
生活随笔
收集整理的這篇文章主要介紹了
s7.net 写数据到plc_三个C#读写西门子PLC的类库
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
HslCommunication
dathlin/HslCommunication?github.com這個功能是最豐富的,M,Q,I,DB塊隨便讀寫,而且不僅是西門子,各家PLC都有,還附帶各種demo和一些其他功能,
//讀取一段數(shù)據(jù),然后取其中一部分 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;可以實現(xiàn)讀取一整塊然后對零碎地址的讀取
也可以一個一個零碎讀取
支持async await
s7netplus
S7NetPlus/s7netplus?github.com從s7net演化而來,讀寫DB塊
S7.Net.Plc plc = new S7.Net.Plc(S7.Net.CpuType.S71200, ip, 0, 2); PlcData data = plc.ReadClassAsync<PlcData>(1);讀取DB1 一整塊到類
適合非常規(guī)整的DB塊讀寫
支持async await
sharp7
fbarresi/Sharp7?github.com比較適合零碎地址的DB數(shù)據(jù)讀寫
這三個都是純C#實現(xiàn)的,都可以在nuget上直接獲取,同時支持.net framework和.net standard,意味著可以在任何平臺的.net程序里使用他們,也是.net程序最適合的類庫形態(tài),而不必去使用COM組件或者c++組件。
有了這些類庫完全可以擺脫傳統(tǒng)上位機軟件束縛,自己實現(xiàn)各種功能,用C#開發(fā)更加大型的系統(tǒng)。
總結(jié)
以上是生活随笔為你收集整理的s7.net 写数据到plc_三个C#读写西门子PLC的类库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬件设计——RS485/232协议
- 下一篇: C#显示及隐藏任务栏