如果用C#編寫程序讀寫西門子PLC?


工控課堂

工控課堂【www.gkket.com】工程師必備網站

添加微信:gkket123 加入500人工控微信群

電氣工控自動化-超萬元免費資料

點我免費下載

(DownLoad)


S7.NET介紹:

S7.NET是一個C#編寫的,以太網連接西門子帶有Profinet接口CPU的dll驅動庫,官方文件介紹可連接S7-200、S7-300、S7-400、S7-1200、S7-1500。(經本人測試,也可連接S7200 SMART)




S7.NET使用問題說明: (本人踩過的坑,寫給大家借鑒一下)

1、連接S7200 SMART需使用S71200、S71500驅動都可以。

2、讀寫S7200或S7200 SMART的V區數據時,DB塊號需設置為1。


3、使用中發現下面兩個bug:

public object Read(DataType dataType, int db, int startByteAdr, VarType varType, int varCount)

public ErrorCode Write(DataType dataType, int db, int startByteAdr, object value)

上述兩個函數無法完成位操作,請使用其他函數代替。


public object Read(DataType dataType, int db, int startByteAdr, VarType varType, int varCount)

該函數在讀取DInt(32位有符號整型)數據時出現問題,讀取不了負數,負數時,值始終為-2147483648。


4、本程序中一次僅讀取1個數據,實際應用中請按照S7.NET文檔修改!




測試環境說明:

1、連接S7200 SMART:

測試硬件:CPU SR20,自帶以太網接口


2、連接S7-200:(因該系列CPU無以太網接口,需外接模塊,如:西門子CP243-1,大連德嘉CP243u、ETH-ibus等)

測試硬件:S7-200 CPU226 CN + 大連德嘉CP243u模塊(西門子CP243-1設置太麻煩,這里用CP243u代替,協議都一樣)。


3、連接S7-300:(該系列PLC也多數不帶以太網口,需外接模塊,如CP343-1、大連德嘉ETH-MPI(Plus)等)

測試硬件1:CPU 314 + ETH-MPI(Plus) (同上,CP343-1設置同樣麻煩,這里用ETH-MPI(Plus)代替,協議一樣)

測試硬件2:CPU315-2PN/DP,自帶以太網接口


4、連接S7-1200:

測試硬件:CPU 1214C AC/DC/Rly


5、連接S7-1500:

測試硬件:CPU 1511-1PN


6、連接S7-400:未經測試,鄙人手上無S7-400 CPU,如有哪位幫忙測試,請告知結果(請給出詳細硬件說明)。




下面是PLC建立連接部分代碼片段:

建立連接:

如果用C#編寫程序讀寫西門子PLC?的圖1


讀函數:

如果用C#編寫程序讀寫西門子PLC?的圖2
如果用C#編寫程序讀寫西門子PLC?的圖3

如果用C#編寫程序讀寫西門子PLC?的圖4


寫函數:

如果用C#編寫程序讀寫西門子PLC?的圖5

如果用C#編寫程序讀寫西門子PLC?的圖6


這里有一條非常重要的設置,之前忘記了,現在補上:如下圖,1500或者1200編程的時候下圖兩個地方需要注意:

如果用C#編寫程序讀寫西門子PLC?的圖7


讀寫DB塊的話下面這兩個地方需要設置一下:

如果用C#編寫程序讀寫西門子PLC?的圖8 如果用C#編寫程序讀寫西門子PLC?的圖9

轉發是最大的鼓勵!謝謝您的支持!

重要通知

想加入工控PLC學習技術交流群

請添加班長為好友

并備注:地區-行業-姓名昵稱獲取進群資格。

如果用C#編寫程序讀寫西門子PLC?的圖10

工控PLC學習
專業專注分享

      

分享到朋友圈,和朋友們一起分享吧

——————————————————————

? 來源:工控課堂www.gkket.com,侵刪!

? 聲明:我們尊重原創。文字圖片視頻素材,版權屬于原作者。部分文章推送時因種種原因未能與原作者聯系上,若涉及版權問題,敬請原作者聯系我們刪除處理(聯系17621634088-微信同號),我們只做分享之用,不用于商業。


如果用C#編寫程序讀寫西門子PLC?的圖11

她們都關注了,你還等什么?

如果用C#編寫程序讀寫西門子PLC?的圖12 如果用C#編寫程序讀寫西門子PLC?的圖13 如果用C#編寫程序讀寫西門子PLC?的圖14 如果用C#編寫程序讀寫西門子PLC?的圖15 如果用C#編寫程序讀寫西門子PLC?的圖16 如果用C#編寫程序讀寫西門子PLC?的圖17 如果用C#編寫程序讀寫西門子PLC?的圖18

如果用C#編寫程序讀寫西門子PLC?的圖19

如果用C#編寫程序讀寫西門子PLC?的圖20
猛戳閱讀原文,開啟電氣工控自動化之路
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

7