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