日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

西门子标准报文1常用_基于Snap7使用C#编程访问西门子PLC系列教程(2)-S7协议

發(fā)布時間:2024/9/18 C# 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 西门子标准报文1常用_基于Snap7使用C#编程访问西门子PLC系列教程(2)-S7协议 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文是Snap7軟件包系列教程的第2篇,我們來介紹下S7協(xié)議,包括如下幾個主題:

1、S7協(xié)議簡介
2、S7協(xié)議命令簡介
3、S7協(xié)議通信的角色與模式

1、S7協(xié)議簡介

S7協(xié)議是西門子S7系列PLC通信的核心協(xié)議,它是一種位于傳輸層之上的通信協(xié)議,其物理層/數(shù)據(jù)鏈路層可以是MPI總線、PROFIBUS總線或者工業(yè)以太網。

本教程要介紹的Snap7軟件包支持基于工業(yè)以太網的S7通信協(xié)議,其網絡參考模型如下圖所示:

從上圖可以看出,S7協(xié)議的下層是傳輸層的RFC1006協(xié)議,也就是ISO-On-TCP協(xié)議。這個協(xié)議在之前的文章中有介紹,請參考文章:ISO傳輸協(xié)議、ISO-ON-TCP協(xié)議和TCP協(xié)議有什么不同?
ISO-On-TCP協(xié)議依賴TCP協(xié)議,其下層依賴是網絡層的IP協(xié)議。

S7協(xié)議的報文采用封裝的形式逐層向下傳遞。首先在S7報文的前面加上TPKT和COTP報頭變成ISO-On-TCP協(xié)議報文,然后再添加TCP/IP的報頭變成TCP/IP報文,如此層層向下傳遞最后經過物理層發(fā)送到網絡中。

(圖片來源 : Snap7手冊)

網絡中接收數(shù)據(jù)的設備,以相反的順序依次去掉相應層的報文頭,就得到了S7協(xié)議的報文。
S7協(xié)議的基本傳輸單位稱為:過程數(shù)據(jù)單元(process data unit,PDU)。每個過程數(shù)據(jù)單元(PDU)都包括一條命令或者對命令的回復。可以說S7協(xié)議是一種命令型的協(xié)議,每條命令包括如下幾個部分:

  • 報文頭(header);
  • 參數(shù)(parameters);
  • 參數(shù)數(shù)據(jù)(parameter data);
  • 數(shù)據(jù)塊(data block);

報文頭和參數(shù)是必須有的,參數(shù)數(shù)據(jù)和數(shù)據(jù)塊根據(jù)命令的不同而可選。

比如說:將"數(shù)據(jù)寫入到DB100的起始地址偏移量為4的地方"就是一個命令,在這個命令中:寫入、數(shù)據(jù)、DB100、偏移量4都是該命令的組成部分。2、S7協(xié)議命令簡介
S7協(xié)議的命令有很多,主要包括如下幾個類型:

  • 數(shù)據(jù)讀寫命令;
  • 塊訪問命令;
  • 塊操作命令;
  • 系統(tǒng)信息命令;
  • PLC控制命令;
  • 管理命令;
  • 日期時間命令;
  • 安全命令;

數(shù)據(jù)讀寫命令可以對存儲器(I、Q、M、C、T)的數(shù)據(jù)進行讀寫訪問;
塊訪問命令可以訪問PLC中塊(Block)的詳細信息;
塊操作命令可以對塊進行上傳、下載、刪除等操作;
系統(tǒng)信息命令可以獲取系統(tǒng)相關的信息,比如:系統(tǒng)狀態(tài)列表、CPU信息、序列號等等;
PLC控制命令可以讓CPU執(zhí)行熱啟動、冷啟動、停機、獲取CPU狀態(tài)等等;
管理命令可以創(chuàng)建與CPU的連接、取消連接、設置通信的參數(shù)等;
日期時間命令可以讀寫CPU的日期時間值;
安全命令可以獲取CPU的安全等級、發(fā)送用于連接的密碼、清除當前會話的密碼等;3、S7協(xié)議通信的角色與模式
在S7通信中,有三種角色:客戶端/服務器/伙伴。有兩種通信模式:客戶端/服務器(Client/Server)模式和伙伴/伙伴(Partner/Partner)模式。
在客戶端/服務器模式中,必須由客戶端發(fā)起詢問(query),然后服務器才能應答(reply),服務器端不能主動發(fā)起詢問請求;

在伙伴/伙伴模式中,通信的雙方之間都可以主動發(fā)起詢問,也都可以對伙伴的詢問進行應答;

我們經常使用的模式是客戶端/服務器模式。

這種模式下,我們通常把PLC作為服務器,而把編程電腦、工控機、觸摸屏等作為客戶端,比如下面這張圖:

(圖片來源 : Snap7手冊)

PLC也可以作為另一個PLC的客戶端,這就是我們常說的S7單邊通信,如下圖所示:

(圖片來源 : Snap7手冊)

在客戶端/服務器模式中,所有的配置都在客戶端,服務器不需要任何配置。

在伙伴/伙伴通信模式下,主動與另一方建立連接的稱為主動方(Active Partner),而另一方就稱為被動方(Passive Partner)。一旦建立連接后,通信雙方都可以發(fā)送或接收數(shù)據(jù),如下圖所示:

在伙伴/伙伴通信模式下,雙方都需要進行配置。

好了,關于S7通信協(xié)議就先介紹這么多。

我的新書《西門子S7-200 SMART PLC應用技術——編程、通信、裝調、案例》已經出版,歡迎點擊下面的鏈接查看:

西門子S7-200 SMART PLC應用技術——編程、通信、裝調、案例?www.founderchip.com

總結

以上是生活随笔為你收集整理的西门子标准报文1常用_基于Snap7使用C#编程访问西门子PLC系列教程(2)-S7协议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。