S7以太網協議介紹


關於OPC的相關內容以后再說,我又給自己挖了個坑,,,,,

關於S7和Simulink的連接可以看我CSDN的Matlab的更新,,,,過幾天就寫,,,

想學C#的可以百度個教程,當然這個篇教程只是配置與介紹,,具體應用后面慢慢更。

具體介紹內容看以下這篇博客:

http://gmiru.com/article/s7comm/

西門子通信場景

西門子設備使用多種不同現場總線協議,例如:MPI、Profibus、IE 、Profinet 等。Profinet用於將PLC連接到IO模塊,而不是設備的管理協議。S7以太網通信協議,主要用於將PLC連接到(i)pc站(PG/PC - PLC 通信)。大多數情況下,西門子通信遵循傳統的主從模式(master-slave)或者CS模式(client-server )。其中PC(master/client)將S7請求發送到現場設備(slave/server)。這些請求用於從設備查詢或向設備發送數據或發出某些命令。當PCL作為通信主站時(master)有一些例外,通過FB14/FB15設備可以向其他設備發起GETPUT請求。在S400系列中,實現了所謂的循環數據I/O功能,這類似於傳統的發布者 - 訂閱模型。PC可以訂閱某些事件,而不是PLC 定期推送所請求的數據送到網絡。還有一個合作伙伴(Partner )點對點模型,當一個活動的合作伙伴請求連接並調用阻止發送(Block Send),與此同時被動合作伙伴調用阻止接收(Block Receive)方法。

簡言之,西門子的S7的PLC基本通訊方式有兩種第一種是:開放式的TCP\IP,可以用於連接PLC與其他非西門子硬件,第二種是西門子自己開發的S7 Protocol以太網通訊協議,用於西門子內部硬件通訊,這兩者的傳輸報文是不一樣的,如下圖(引子官方):

PLC數存儲到二進制時方式是大端模式(BIG-Endian),而普通電腦端常常為小端模式(Liitle-Endian)。大端模式是指數據的低位保存在內存的高地址中,而數據的高位保存在內存的低地址中, 小端模式是指數據的低位保存在內存的低地址中,而數據的高位保存在內存的高地址中。

幾種常用通信庫的對比介紹:

                                

 

通信庫

是否收費

拓展性

備注

1

Prodave

加密性高但是應用性並不高,

對S7系列的PLC兼容性極高,

對其他PLC的兼容性不好

西門子的版權方,目前依舊應用

2

S7.Net

可以個人開發使用,兼容性好,

支持性高

目前停止更新,在GIT上有相關源碼

3

S7.NetPlus

應用性極高,支持多種語言,對C#支持良好

S7.Net的升級版本

4

Sharp7

Snap7的C#實現,調用簡單

在GIT上有相關源碼

5

Snap7

應用性極高,支持多種語言,兼容多系統,幾乎適用於所有常見系統和硬件,包括樹莓派,Jetson,甚至可以在F767上進行搭載。

 在GIT上有相關源碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM