版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第6章 S7-1200的通信與故障診斷6.1 網絡通信基礎6.1.1 計算機通信的國際標準 1開放系統互連模型 開放系統互連模型詳細描述了通信功能的7個層次,某些現場總線只使用第1、2、7層。物理層的下面是物理媒體,例如雙絞線和光纖等。物理層定義了傳輸媒體端口的機械、電氣功能和規(guī)程的特性。 數據鏈路層的數據以幀為單位傳送,每一幀包含數據和同步信息、地址信息和流量控制信息等。通過校驗、確認和要求重發(fā)等方法實現差錯控制。 應用層為用戶的應用服務提供信息交換,為應用接口提供操作標準。第6章 S7-1200的通信與故障診斷6.1 網絡通信基 2. IEEE 802通信標準 (1)CSMA/CD (帶沖
2、突檢測的載波偵聽多路訪問 )的基礎是以太網。 每個站都是平等的,為了防止沖突,采用“先聽后講”和“邊聽邊講”的發(fā)送方法。其控制策略是競爭發(fā)送、廣播式傳送、載體監(jiān)聽、沖突檢測、沖突后退和再試發(fā)送。以太網越來越多地在底層網絡使用。 (2)令牌總線 令牌繞邏輯環(huán)周而復始地傳送。要發(fā)送報文的站等到令牌傳給自己,判斷為空令牌時才能發(fā)送報文。令牌沿環(huán)網循環(huán)一周后返回發(fā)送站時,如果報文已被接收站復制,發(fā)送站將令牌置為“空”,送上環(huán)網繼續(xù)傳送,以供其他站使用。 (3)主從通信方式 主從通信網絡有一個主站和若干個從站。主站向某個從站發(fā)送請求幀,該從站接收到后才能向主站返回響應幀。主站按事先設置好的輪詢表的排列順
3、序對從站進行周期性的查詢。 3現場總線及其國際標準 IEC對現場總線的定義是“安裝在制造和過程區(qū)域的現場裝置與控制室內的自動控制裝置之間的數字式、串行、多點通信的數據總線”。 2. IEEE 802通信標準 IEC 61158第4版采納了經過市場考驗的20種現場總線。其中約一半是實時以太網。西門子公司支持類型3(PROFIBUS)和類型10(PROFINET)。 IEC 62026是供低壓開關設備與控制設備使用的控制器電氣接口標準。西門子公司支持執(zhí)行器傳感器接口(AS-i)。6.1.2 SIMATIC通信網絡 1SIMATIC NET 西門子的工業(yè)自動化通信網絡SIMATIC NET的頂層為工
4、業(yè)以太網,可以集成到互聯網。 PROFIBUS用于少量和中等數量數據的高速傳送。AS-i是底層的低成本網絡。 通用總線系統KNX用于樓宇自動控制。IWLAN是工業(yè)無線局域網。各個網絡之間用鏈接器或有路由器功能的PLC連接。 MPI(多點接口)是SIMATIC產品使用的內部通信協議,可以建立傳送少量數據的低成本網絡。PPI(點對點接口)是用于S7-200和S7-200 SMART的通信協議。點對點(PtP)通信用于特殊協議的串行通信。 2PROFINET PROFINET是基于工業(yè)以太網的開放的現場總線標準。使用PROFINET IO,現場設備可以直接連接到以太網。通過代理服務器,PROFINE
5、T可以透明地集成現有的PROFIBUS設備。 IEC 61158第4版采納了經過市場考驗的20種現 PROFINET的實時(RT)通信功能典型的更新循環(huán)時間為110ms。同步實時(IRT)功能用于高性能的同步運動控制,響應時間為0.251ms。IRT通信需要特殊的交換機的支持。PROFINET同時用一條工業(yè)以太網電纜實現IT集成化領域、實時自動化領域和同步實時通信。 PROFINET支持故障安全通信的標準行規(guī)PROFIsafe和驅動器配置行規(guī)PROFIdrive。 3PROFIBUS PROFIBUS是是基于RS-485的上一代的現場總線,傳輸速率最高12Mbit/s,最多可以接127個從站。
6、PROFIBUS提供了下列3種通信服務: 1) PROFIBUS-DP (分布式外部設備)用于PLC與分布式I/O(例如ET 200)的通信。主站之間的通信為令牌方式,主站與從站之間為主從方式。 2)PROFIBUS-PA(過程自動化)用于過程自動化的現場傳感器和執(zhí)行器的低速數據傳輸,可以用于防爆區(qū)域的設備與PLC的通信。使用屏蔽雙絞線電纜,由總線提供電源。 3)PROFIBUS-FMS (現場總線報文規(guī)范) 已被以太網代替,用得很少。 此外還有用于運動控制的總線驅動技術PROFIdrive和故障安全通信技術PROFIsafe。 PROFINET的實時(RT)通信功能典型的更新循環(huán)6.2 基于
7、以太網的開放式用戶通信 S7-1200/1500的CPU集成的PROFINET接口是10M/100Mbit/s的RJ45以太網口,可以使用標準的或交叉的以太網電纜。支持PROFINET、開放式用戶通信和S7通信。6.2.1 S7-1200之間的ISO-on-TCP和TCP協議通信 1開放式用戶通信 基于CPU集成的PN接口的開放式用戶通信用功能塊建立和斷開通信連接,發(fā)送和接收數據。TSEND_C和TRCV_C同時具有建立、斷開連接和發(fā)送、接收數據的功能。 2組態(tài)CPU的硬件 生成項目“1200_1200ISO_C”,兩臺PLC為CPU 1215C,PN接口的IP地址為默認的和,子網掩碼為默認的
8、。啟用MB0做它們的時鐘存儲器字節(jié)。 3組態(tài)CPU之間的通信連接 打開網絡視圖,用“拖拽”的方法連接PLC_1和 PLC_2的以太網接口,出現綠色的以太網線和名稱為“PN/IE_1”的連接。6.2 基于以太網的開放式用戶通信 4驗證通信是否實現的典型程序結構 雙方生成保存發(fā)送和接收數據的數據塊DB1(SendData)和DB2(RcvData),去掉“優(yōu)化的塊訪問”屬性。在數據塊中生成有100個整數元素的數組。 在OB100中用指令FILL_BLK將雙方DB1中要發(fā)送的100個整數初始化為16#1111和16#2222,將保存接收到的數據的DB2的100個整數清零。 在OB1中用周期為0.5s
9、的時鐘存儲器位M0.3的上升沿,將要發(fā)送的第一個字DB1.DBW0加1。圖6-3 數據塊SendData與OB100中的程序 4驗證通信是否實現的典型程序結構圖6-3 數據塊 5調用TSEND_C和TRCV_C 在OB1中調用TSEND_C指令發(fā)送數據,調用TRCV_C指令接收數據,自動生成它們的背景數據塊。 6組態(tài)連接參數 選中指令TSEND_C,然后選中下面的巡視窗口的“屬性 組態(tài) 連接參數”,伙伴的“端點”設為PLC_2,連接類型為ISO-on-TCP。 單擊“本地”的“連接數據”下拉式列表中的“”,自動生成連接描述數據塊“PLC_1_Send_DB”(DB5)。用同樣的方法生成PLC_
10、2的接描述數據塊“PLC_2_Send_DB”(DB5)。 用單選框設置PLC_1主動建立連接。采用默認的傳輸服務訪問點TSAP。PLC_2組態(tài)“連接參數”的對話框與圖6-6的結構相同。 5調用TSEND_C和TRCV_C 7TSEND_C和TRCV_C的參數 TSEND_C的參數的意義如下:在請求信號REQ的上升沿,根據DB5中的連接描述發(fā)送數據。發(fā)送成功后,DONE在一個掃描周期內為1。CONT為1時建立和保持連接,為0時斷開連接。LEN為默認值0時,發(fā)送DATA定義的所有的數據。COM_RST為1時,斷開現有的通信連接,新的連接被建立。BUSY為1時任務尚未完成。ERROR為1時出錯,S
11、TATUS中是錯誤的詳細信息。 指令TRCV_C的EN_R為1時準備好接收數據,CONT和EN_R均為1時連續(xù)接收數據。RCVD_LEN是實際接收的數據的字節(jié)數。圖6-5 TSEND_C和TRCV_C指令 7TSEND_C和TRCV_C的參數圖6-5 T 8硬件通信實驗的典型方法 通過交換機或路由器連接計算機和兩塊CPU的以太網接口,下載程序后令兩塊CPU為RUN模式。用監(jiān)控表監(jiān)視兩塊CPU的DB2中接收到的部分數據。 將兩塊CPU的TSEND_C和TRCV_C的參數CONT(M10.1和M11.1)均置位為1,建立起通信連接。雙方的DB2.DBW0應不斷增大。 通信正常時令M10.1或M11
12、.1為0,建立的連接被斷開,CPU將停止發(fā)送或接收數據。接收方的DB2.DBW0停止變化。 9仿真實驗 選中PLC_1,單擊工具欄上的“開始仿真”按鈕 ,出現S7-1200的仿真軟件,下載程序后仿真PLC進入RUN模式。用同樣的方法將PLC_2的程序下載到另一臺仿真PLC。調試程序的方法與硬件PLC相同。 使用TCP協議的通信: 將項目另存為名為“1200_1200TCP_C”的項目。將“連接類型”改為TCP,“伙伴端口”為默認的2000,用戶程序和組態(tài)數據不變。兩個項目的實驗方法和實驗結果相同。 8硬件通信實驗的典型方法 6.2.2 S7-1200之間的UDP通信 1組態(tài)連接參數 項目“12
13、00_1200UDP”的硬件結構與上一節(jié)的相同。通信雙方在OB1中用指令TCON建立連接,用指令TDISCON斷開連接。 選中TCON,然后選中巡視窗口的“屬性 組態(tài) 連接參數”,設置通信伙伴為“未指定”,連接類型為UDP。不能設置“主動建立連接”單選框。 單擊“連接數據”下拉式列表中的“”,自動生成連接描述數據塊“PLC_1 _ Connection _DB”(DB4)。本地端口號采用默認的2000。 雙方組態(tài)“連接參數”的對話框的結構相同。6.2.2 S7-1200之間的UDP通信 2生成定義UDP連接參數的數據塊 在“添加新塊”對話框生成類型為TADDR_Param的全局數據塊DB7,將
14、它的名稱修改為“接口參數”。UDP連接需要用DB7來設置遠程通信伙伴的IP地址和端口號,雙方的本地端口號應相同。在程序運行過程中修改DB7中通信伙伴的IP地址和端口號,可以和不同的伙伴通信。 3編寫發(fā)送與接收數據的程序 在OB1中調用TUSEND和TURCV指令。在M0.3的上升沿,每0.5s TUSEND發(fā)送一次DB1中的數據。TURCV的接收使能輸入EN_R為TRUE,準備好接收數據,接收的數據用DB2保存。LEN為默認值0時,發(fā)送或接收用參數DATA定義的所有的數據。RCVD_LEN是實際接收的數據字節(jié)數。參數ADDR的實參為DB7。其他參數的意義與TSEND_C和TRCV_C的同名參數
15、相同。圖6-10 發(fā)送與接收數據的程序 2生成定義UDP連接參數的數據塊 圖6-10 發(fā) 4通信實驗 UDP通信不能仿真。用以太網電纜連接計算機和兩塊CPU的以太網接口,將用戶程序和組態(tài)信息分別下載到兩塊CPU,令它們處于運行模式。 用雙方的監(jiān)控表分別監(jiān)控兩塊CPU的TCON和TDISCON指令的REQ輸入M10.0和M10.4,以及DB2中接收到的DBW0、DBW2和DBW198。 用DB7設置遠程通信伙伴的IP地址和端口號,運行時用監(jiān)控表令雙方的TDISCON的REQ為0,在TCON的REQ(M10.0)的上升沿,建立起通信連接,開始傳輸數據??梢杂肨DISCON指令的請求信號M10.4的
16、上升沿斷開連接,停止數據傳輸。 4通信實驗6.2.3 S7-1200與S7-300/400之間的開放式用戶通信 1S7-1200與S7-300/400的以太網通信概述 S7-1200與S7-300/400集成的PN接口之間的開放式用戶通信可以使用ISO-on-TCP、TCP和UDP協議??梢杂肧TEP 7 V5.5對S7-300/400編程。本節(jié)主要介紹S7-300/400基于博途的開放式用戶通信。 2S7-300/400的組態(tài)與編程 項目“300_1200ISO_C”的PLC_1為CPU 314-2PN/DP,PLC_2為CPU 1215C。它們的IP地址分別為和。啟用雙方的MB0為時鐘存儲
17、器字節(jié)。為PLC_1生成DB1和DB2,在數據塊中分別生成有100個整數元素的數組。不啟用“優(yōu)化的塊訪問”屬性。在OB100中預置DB1中要發(fā)送的數據區(qū),將DB2中保存接收到的數據的數據區(qū)清0。6.2.3 S7-1200與S7-300/400之間的開放 在循環(huán)周期為0.5s的OB33中,用ADD指令將要發(fā)送的第一個字DB1.DBW0加1。在OB1中調用指令TCON建立連接,調用TDISCON斷開連接。DB3是組態(tài)連接時生成的連接描述數據塊。選中TCON,然后選中下面的巡視窗口的“屬性 組態(tài) 連接參數”。設置通信伙伴的“端點”為“未指定”,IP地址為。連接類型為TCP,由S7-300主動建立連接
18、,本地端口號采用默認的2000。 在OB1中調用TSEND,每0.5s發(fā)送一次DB1中的100個整數;調用TRCV接收數據,將接收到的100個整數保存到DB2。LEN是發(fā)送或接收的最大字節(jié)數,RCVD_LEN是實際接收到的字節(jié)數。 3S7-1200的組態(tài)與編程 PLC_2的OB1中調用TSEND_C和TRCV_C的程序與圖6-5中的基本上相同。組態(tài)“連接參數”的對話框與圖6-12的結構相同,只是“本地”與“伙伴”列的內容相互交換,由伙伴主動建立連接。 在循環(huán)周期為0.5s的OB33中,用ADD指令將要發(fā) 4通信實驗 通信實驗的方法和結果與項目“1200_1200 ISO_C”的基本上相同。用監(jiān)
19、控表監(jiān)控雙方數據的收、發(fā),和DB2中接收到的數據。 5使用TCP連接的通信 項目“300_1200ISO_C”與“300_1200TCP_C”基本上相同。將連接類型改為“TCP”,采用默認的伙伴端口2000。 S7-1200和S7-300/400之間也可以使用UDP協議通信。 4通信實驗6.3 S7協議通信6.3.1 S7-1200之間的單向S7協議通信 1S7協議 S7協議是專為西門子控制產品優(yōu)化設計的通信協議,它是面向連接的協議。連接是指兩個通信伙伴之間為了執(zhí)行通信服務建立的邏輯鏈路。S7連接是需要組態(tài)的靜態(tài)連接,靜態(tài)連接要占用CPU的連接資源。S7-1200 僅支持 S7 單向連接。 單
20、向連接中的客戶機(Client)是向服務器(Server)請求服務的設備,客戶機調用GET/PUT指令讀、寫服務器的存儲區(qū)。服務器是通信中的被動方,用戶不用編寫服務器的S7通信程序,S7通信是由服務器的操作系統完成的。 2創(chuàng)建S7連接 在名為“1200_1200IE_S7”的項目中,PLC_1為客戶機,PLC_2為服務器。采用默認的IP地址和子網掩碼。組態(tài)時啟用MB0為時鐘存儲器字節(jié)。6.3 S7協議通信 打開網絡視圖,單擊按下“連接”按鈕,設置連接類型為S7連接。用“拖拽”的方法建立兩個CPU的PN接口之間的名為“S7_連接_1”的連接。 單擊網絡視圖右邊豎條上向左的小三角形按鈕,打開彈出的
21、視圖中的“連接”選項卡,可以看到生成的S7連接的詳細信息。連接ID為16#100。 選中“S7_連接_1”,再選中巡視窗口的“特殊連接屬性”,勾選復選框“主動建立連接”。選中“地址詳細信息”,可以看到通信雙方默認的TSAP(傳輸服務訪問點)。 如果使用固件版本為V4.0及以上的CPU作為S7通信的服務器,需要選中服務器設備視圖中的CPU,再選中巡視窗口中的“屬性 常規(guī) 防護與安全 連接機制”,勾選“允許來自遠程對象的PUT/GET通信訪問”復選框。 3編寫程序 為PLC_1生成DB1和DB2,為PLC_2生成DB3和DB4,在這些數據塊中生成由100個整數組成的數組。不要啟用數據塊屬性中的“優(yōu)
22、化的塊訪問”功能。 在時鐘脈沖M0.5的上升沿,GET指令每1s讀取PLC_2的DB3中的100個整數,用本機的DB2保存。PUT指令每1s將本機的DB1中的100個整數寫入PLC_2的DB4??蛻魴C最多可以分別讀取和改寫服務器的4個數據區(qū)。 打開網絡視圖,單擊按下“連接”按鈕,設置連接類型為S PLC_2在S7通信中作服務器,不用為它編寫調用指令GET和PUT的程序。 在雙方的OB100中,預置DB1和DB3中要發(fā)送的100個字,將保存接收到的數據的DB2和DB4中的100個字清0。在雙方的OB1中,用周期為0.5s的時鐘脈沖M0.3的上升沿,將要發(fā)送的第1個字加1。 5仿真實驗 選中項目樹
23、中的PLC_1,單擊工具欄上的“開始仿真”按鈕 ,將程序和組態(tài)數據下載到仿真PLC。選中PLC_2,單擊工具欄上的“開始仿真”按鈕,將程序和組態(tài)數據下載到仿真PLC,二者被切換到RUN模式后,用兩臺PLC的監(jiān)控表監(jiān)控接收到的數據。 PLC_2在S7通信中作服務器,不用為它編寫調用指令6.3.2 S7-1200與其他S7 PLC之間的S7通信 1S7-300作客戶機的S7通信 項目名稱為“300_1200IE_S7”,PLC_1為CPU 314-2PN/DP,PLC_2為CPU 1215C。啟用雙方的MB0為時鐘存儲器字節(jié)。 在網絡視圖中創(chuàng)建S7連接,PLC_1的通信伙伴為“未知”。選中S7連接
24、后選中巡視窗口中的“常規(guī)”,設置伙伴的IP地址為。連接的本地ID為1,為單向連接,由本地站點主動建立連接。本地和伙伴的TSAP分別為10.02和03.00。 為PLC_1生成DB1和DB2,為PLC_2生成DB3和DB4,在這些數據塊中生成由100個整數組成的數組。不要啟用數據塊屬性中的“優(yōu)化的塊訪問”功能。PLC_1做S7通信的客戶機。在它的OB1中調用 GET和PUT指令。 通信的實驗方法與例程“1200_1200IE_S7”相同。不能仿真。 6.3.2 S7-1200與其他S7 PLC之間的S7通信 2 S7-200 SMART作S7通信的服務器 例程“1200_SMART_S7”中,只
25、有做客戶機的CPU 1215C,啟用MB0為時鐘存儲器字節(jié)。 右鍵單擊網絡視圖中CPU的以太網接口,執(zhí)行“添加子網”命令,生成一個名為“PN/IE_1”的以太網。單擊工具欄上的“連接”,設置連接類型為S7連接。右鍵單擊CPU,執(zhí)行“添加新連接”命令。在“創(chuàng)建新連接”對話框中,采用默認的連接類型“S7連接”,默認的連接伙伴為左邊窗口的“未指定”。多選框“主動建立連接”被自動選中,由S7-1200建立連接。單擊“添加”和“關閉”按鈕,新連接被創(chuàng)建。連接的本地ID為16#100,將在編程中使用。 選中S7連接后選中巡視窗口中的“常規(guī)”,設置伙伴的IP地址為。連接的本地ID為1,為單向連接,由本地站點
26、主動建立連接。本地和伙伴的TSAP分別為10.01和03.01。 為CPU 1215C生成DB3和DB4,在數據塊中生成由100個整數組成的數組。不要啟用“優(yōu)化的塊訪問”屬性。 2 S7-200 SMART作S7通信的服務器 在CPU 1215C的OB1中調用指令GET和PUT。S7-200 SMART的V區(qū)被映射為S7-1200的DB1,要讀取的S7-200 SMART的VB100VB299被映射為P#DB1.DBX100.0 INT 100,要寫入的S7-200 SMART的VB300VB499被映射為P#DB1.DBX300.0 INT 100。分別用DB3和DB4保存S7-1200要要
27、寫入服務器的數據和從服務器讀取到的數據。時鐘脈沖M0.5每秒鐘將發(fā)送的第一個字DB3.DBW0加1。在OB100中初始化DB3中的地址區(qū),將DB4中的各個字清0?!癝MART做服務器.smart”是S7-200 SMART的程序,以太網端口的IP地址為,在OB1中初始化V區(qū)中要發(fā)送的VB100VB299,將保存接收到的數據的VB300VB499清0,每秒鐘將要發(fā)送的第一個字VW100加1。用狀態(tài)圖表監(jiān)控接收到的數據。實驗的方法與項目“1200_1200IE_S7”差不多。 在CPU 1215C的OB1中調用指令GET和PUT6.4 PROFIBUS-DP、PROFINET與AS-i網絡通信 P
28、ROFIBUS-DP與PROFINET屬于主從通信,只需要組態(tài),就能實現IO控制器和IO設備之間、DP主站和從站之間的周期性通信。6.4.1 S7-1200作IO控制器和DP主站 1PROFINET網絡的組態(tài) S7-1200最多可以帶16個IO設備,最多256個子模塊。新建項目“1200作IO控制器”中,打開網絡視圖,將ET 200S PN的接口模塊IM151-3 PN拖拽到網絡視圖,生成IO設備ET 200SP PN。將電源模塊、DI、2DQ和和2AQ模塊插入14號槽。采用默認的IP地址,設備編號為1。 IO控制器通過設備名稱對IO設備尋址。選中IM151-3 PN的以太網接口,再選中巡視窗
29、口中的“以太網地址”,設置IO設備的名稱為et 200s pn 1。 右鍵單擊網絡視圖中CPU 的PN接口,執(zhí)行菜單命令“添加IO系統”。單擊ET 200S PN上藍色的“未分配”,將它分配給IO控制器。 在ET 200S PN的設備視圖中,打開它的設備概覽。可以看到分配給它的信號模塊的 I、Q地址。用這些地址直接讀、寫ET 200S的模塊。 用同樣的方法生成第二臺IO設備ET 200S PN,將它分配給IO控制器CPU 1215C。插入電源模塊和信號模塊。采用默認的IP地址,設備編號為2。將它的設備名稱改為et 200s pn 2。6.4 PROFIBUS-DP、PROFINET與AS-i
30、2分配設備名稱 如果IO設備中的設備名稱與組態(tài)的設備名稱不一致,連接IO控制器和IO設備后,它們的故障LED亮。右鍵單擊網絡視圖中的1號設備,執(zhí)行快捷菜單命令“分配設備名稱”。單擊 “更新列表”按鈕,“網絡中的可訪問節(jié)點”列表中出現網絡上的兩臺ET 200S PN原有的設備名稱。用“PROFINET設備名稱”選擇框選中組態(tài)的1號設備的名稱。選中IP地址為的可訪問節(jié)點,單擊“分配名稱”按鈕,組態(tài)的設備名稱被分配和下載給1號設備。分配好后,IO設備的狀態(tài)變?yōu)椤按_定”。兩臺IO設備的設備名稱都分配好以后, IO設備和IO控制器上的ERROR LED熄滅。 為了驗證通信是否正常,在OB1中編寫簡單的程
31、序,觀察是否能用IO設備的輸入點控制它的輸出點。 2分配設備名稱S7-1200-PLC編程及應用-第4版課件第6章 3S7-1200做DP主站 S7-1200的DP主站模塊為CM 1243-5,傳輸速率960012Mbit/s。 新建項目“1200作DP主站”。PLC_1為CPU 1215C,打開它的設備視圖,將右邊的硬件目錄窗口的CM 1243-5主站模塊拖拽到CPU左側的101號槽。 DP主站地址為默認值2。 打開網絡視圖,將右邊的硬件目錄窗口的ET 200S的IM151-1標準型接口模塊拖拽到網絡視圖。打開ET 200S的設備視圖,插入電源模塊和信號模塊。右鍵單擊DP主站模塊的DP接口,
32、執(zhí)行快捷菜單命令“添加主站系統”,生成DP主站系統。右鍵單擊ET 200S的DP接口,將它連接到DP主站系統。 用同樣的方法生另一個DP從站ET 200S,插入電源模塊和信號模塊。將該從站連接到DP主站系統。 選中主站和從站的DP接口,可用巡視窗口設置PROFIBUS地址。 打開ET 200S的設備視圖,在設備概覽中可以看到分配給它的模塊的S7-1200的I、Q地址。 3S7-1200做DP主站6.4.2 S7-1200作IO設備和DP智能從站 1生成IO控制器和IO設備 項目“1200做1500的IO設備”的PLC_1(CPU 1511-1 PN)為IO控制器。CPU 1215C是智能IO設
33、備。右鍵單擊網絡視圖中CPU 1511-1 PN的PN接口,執(zhí)行快捷菜單命令“添加IO系統”,生成PROFINET IO系統。 選中網絡視圖中PLC_2的PN接口,再選中巡視窗口中的的“屬性 常規(guī) 操作模式”,勾選復選框“IO設備”,CPU 1215C做智能IO設備。用“已分配的IO控制器”選擇框將IO設備分配給IO控制器PLC_1的PN接口。 2組態(tài)智能設備通信的傳輸區(qū) IO設備的傳輸區(qū)(I、Q地址區(qū))是IO控制器與智能IO設備的用戶程序之間的通信接口。IO控制器與智能IO設備之間通過傳輸區(qū)自動地周期性地進行數據交換。通信雙方用組態(tài)的Q區(qū)發(fā)送數據,用組態(tài)的 I 區(qū)接收數據。 選中網絡視圖中P
34、LC_2的PN接口,然后選中巡視窗口的“屬性 常規(guī) 操作模式 智能設備通信”,雙擊右邊窗口“傳輸區(qū)”列表中的,在第一行生成“傳輸區(qū)_1”。6.4.2 S7-1200作IO設備和DP智能從站 選中左邊窗口中的“傳輸區(qū)_1”,在右邊窗口定義IO控制器(伙伴)發(fā)送數據的Q區(qū)和智能設備(本地)接收數據的 I 區(qū)。組態(tài)的傳輸區(qū)不能與硬件使用的地址區(qū)重疊。 用同樣的方法生成“傳輸區(qū)_2”,與傳輸區(qū)_1相比,只是交換了地址的I、Q類型,其他參數與圖6-29的相同。圖6-28 組態(tài)好的智能設備通信的傳輸區(qū) 選中左邊窗口中的“傳輸區(qū)_1”,在右邊窗口定義IO控 3編寫驗證通信的程序與通信實驗 在PLC_1的OB
35、100中,給QW130和QW158設置初始值16#1511,將IW130和IW158清0。在PLC_1的OB1中,用時鐘存儲器位M0.3的上升沿,每500ms將要發(fā)送的第一個字QW128加1。PLC_2與PLC_1的程序基本上相同,其區(qū)別在于給QW130和QW158設置的初始值為16#1215。 分別選中PLC_1和PLC_2,下載它們的組態(tài)信息和程序。做好在線操作的準備工作后,右鍵單擊網絡視圖中的PN總線,執(zhí)行“分配設備名稱”命令,用出現的對話框分配IO設備的名稱。用以太網電纜連接主站和從站的PN接口,運行時用監(jiān)控表監(jiān)控雙方接收到IW128、IW130和IW158,檢查通信是否正常。 4S7
36、-1200作DP智能從站 新建項目“1200做DP從站”,PLC_1是是配有DP主站模塊CM 1243-5的CPU 1214C,PLC_2是配有DP從站模塊CM 1242-5的CPU 1215C。在網絡視圖中用拖拽的方法連接主站和從站的DP接口,自動生成DP主站系統。主站和從站的DP站地址分別為默認的2和3。 選中從站模塊的DP接口,然后選中下面的巡視窗口的“屬性 常規(guī) 操作模式 智能從站通信”,生成主站和從站通信用的傳輸區(qū)的方法與生成IO設備的傳輸區(qū)基本上相同。驗證通信的程序和通信實驗也基本上相同。 AS-i是執(zhí)行器-傳感器接口的縮寫, AS-i通信用得很少。 3編寫驗證通信的程序與通信實驗
37、6.5 點對點通信 6.5.1 串行通信概述 1并行通信與串行通信 并行數據通信是以字節(jié)或字為單位的數據傳輸方式,需要多根數據線和控制線,在工業(yè)通信中很少使用。串行數據通信以二進制的位為單位,每次只傳送一位。最少只需要兩根線就可以連接多臺設備,組成控制網絡,可用于距離較遠的場合。 2異步通信 接收方和發(fā)送方的傳輸速率的微小差異產生的積累誤差,可能使發(fā)送和接收的數據錯位。異步通信采用字符同步方式,通信雙方需要對采用的信息格式和數據的傳輸速率作相同的約定。接收方將停止位和起始位之間的下降沿作為接收的起始點,在每一位的中點接收信息。 奇偶校驗用硬件保證發(fā)送方發(fā)送的每一個字符的數據位和奇偶校驗位中“1
38、”的個數為偶數或奇數。接收方用硬件對接收到的每一個字符的奇偶性進行校驗,可以檢驗出傳送過程中的錯誤。可以設置為無奇偶校驗。 傳輸速率單位為bit/s或bps,即每秒傳送的二進制位數。6.5 點對點通信 3單工與雙工通信 方式 單工通信只能沿單一方向傳輸數據,雙工通信的每一個站既可以發(fā)送數據,也可以接收數據。 全雙工方式通信的雙方都能在同一時刻接收和發(fā)送數據。 半雙工方式通信的雙方在同一時刻只能發(fā)送數據或只能接收數據。通信方向的切換過程需要一定的延遲時間。 4串行通信的接口標準 (1)RS-232 RS-232的最大通信距離為15m,最高傳輸速率為20kbit/s,只能進行一對一的通信。RS-2
39、32使用單端驅動、單端接收電路,容易受到公共地線上的電位差和外部引入的干擾信號的影響。 3單工與雙工通信 方式 (2)RS-422 RS-422采用平衡驅動、差分接收電路,因為接收器是差分輸入,兩根線上的共模干擾信號互相抵消。在最大傳輸速率10Mbit/s時,最大通信距離為12m。傳輸速率為100kbit/s時,最大通信距離為1200m,一臺驅動器可以連接10臺接收器。 (3)RS-485 RS-422是全雙工,用4根導線傳送數據。RS-485是RS-422的變形,為半雙工,使用雙絞線可以組成串行通信網絡,構成分布式系統。圖6-38 RS-422通信接線圖 圖6-39 RS-485網絡 (2)
40、RS-422圖6-38 RS-422通信接線圖 6.5.2 點對點通信的組態(tài)與編程 1點對點通信模塊 S7-1200支持使用自由口協議的點對點通信。點對點通信使用RS-485 CM 1241模塊、RS-485 CB 1241通信板和RS-232 CM 1241模塊。它們支持ASCII、USS驅動、Modbus RTU主站協議和Modbus RTU從站協議。 2組態(tài)通信模塊 生成一個名為“點對點通信”的新項目,PLC_1和PLC_2均為CPU 1214C。打開PLC_1的設備視圖,將RS-485模塊拖放到CPU左邊的101號槽。選中該模塊后,選中下面的巡視窗口的“屬性 常規(guī) RS-485接口 I
41、O-Link”,設置通信接口的參數。除了波特率其他參數均采用默認值。 6.5.2 點對點通信的組態(tài)與編程 3設計用戶程序 PLC_1作主站,PLC_2作從站。在啟動信號M2.0為1狀態(tài)時,主站發(fā)送100個字的數據,從站接收到后返回100個字的數據。以后重復上述過程。 輸入參數PORT為通信接口的標識符,可以在通信接口的屬性對話框中找到它。BUFFER是發(fā)送緩沖區(qū)的起始地址,LENGTH是發(fā)送緩沖區(qū)的長度。發(fā)送結束時輸出位DONE為1狀態(tài)。指令執(zhí)行出錯時輸出位ERROR為1狀態(tài),錯誤代碼在STATUS中。接收完成時Receive_P2P的輸出位NDR為1狀態(tài),LENGTH中是接收到的報文的字節(jié)數
42、。 在主站的DB1和DB2中分別生成有100個字元素的數組。在OB100中給要發(fā)送的數組元素賦初值,將保存接收到的數據的數組的所有元素清零。在OB1中用周期為0.5s的時鐘存儲器位M0.3的上升沿,將要發(fā)送的第一個字的值加1。 3設計用戶程序 下面是主站的輪詢順序: 1)在Send_P2P指令的REQ信號M2.0的上升沿,啟動發(fā)送過程,發(fā)送DB1中的100個整數。在多個掃描周期內繼續(xù)執(zhí)行該指令,完成報文的發(fā)送。 2)Send_P2P的輸出位DONE(M2.1)為1狀態(tài)時,表示發(fā)送完成,將M2.4置位。用M2.4作為Receive_P2P的接收使能信號EN的實參,反復執(zhí)行Receive_P2P。
43、模塊接收到響應報文后,Receive_P2P指令的輸出位NDR(M2.5)為1狀態(tài),表示已接收到新數據。 3)在M2.5的下降沿將M2.7置位,返回第1步,重新啟動發(fā)送過程。同時將接收使能信號M2.4復位。在發(fā)送完成時,將M2.7復位。 下面是主站的輪詢順序: 從站接收和發(fā)送數據的程序見圖6-42,其他程序與PLC_1的基本上相同。從站的輪詢順序如下: 1)在OB1中調用Receive_P2P指令,開始時它的使能信號EN為1狀態(tài)。 2)從站接收到請求報文后,Receive_P2P指令的輸出位NDR(M2.5)變?yōu)?狀態(tài)。在M2.5的下降沿將M2.4置位,啟動Send_P2P指令,將DB1中的響
44、應報文發(fā)送給主站。M2.4的常閉觸點斷開,Receive_P2P指令停止接收數據。 3)在響應報文發(fā)送完成時,Send_P2P的輸出位DONE(M2.1)變?yōu)?狀態(tài),將M2.4復位,停止發(fā)送報文。Receive_P2P的EN輸入變?yōu)?狀態(tài),又開始準備接收主站發(fā)送的報文。圖6-42 從站的OB1中的程序 從站接收和發(fā)送數據的程序見圖6-42,其他程序與PL 4點對點通信的實驗 用監(jiān)控表將M2.0置為1狀態(tài)后馬上置為0狀態(tài),啟動主站向從站發(fā)送數據。觀察雙方接收到的第一個字DB2.DBW0的值是否不斷增大,DB2的DBW2和DBW198的值是否與對方在OB100中預置的值相同。 6.6 Modbus
45、 協議通信6.6.1 Modbus RTU主站的編程 1Modbus協議 Modbus串行鏈路協議是主-從協議,采用請求-響應方式。有一個主站,1247個子站。RTU模式用循環(huán)冗余校驗(CRC)進行錯誤檢查,報文最長256B。使用通信模塊CM 1241(RS485)作主站時,最多可以與32個從站通信。 2組態(tài)硬件 生成一個名為“Modbus RTU通信”的項目,主站PLC_1和從站PLC_2的CPU均為CPU 1214C。啟用它們默認的時鐘存儲器字節(jié)MB0。 打開主站PLC_1的設備視圖,將CM 1241(RS485)模塊插入101號槽。選中該模塊以后,選中巡視窗口的“端口組態(tài)”,按圖6-40
46、設置通信接口的參數。 4點對點通信的實驗6.6 Modbus 協議通信 3調用Modbus_Comm_Load指令 必須在OB100中,對每個通信模塊調用一次Modbus_Comm_Load指令,來組態(tài)它的通信接口。參數REQ為請求信號, PORT是通信端口的硬件標識符, BAUD(波特率)為38400bps,PARITY(奇偶校驗位)為0,不使用奇偶校驗校驗。響應超時時間RESP_TO為1000ms,MB_DB的實參是函數塊Modbus_Master的背景數據塊DB3中的靜態(tài)變量MB_DB,DONE為1表示指令執(zhí)行完且沒有出錯。ERROR為1表示檢測到錯誤,參數STATUS中是錯誤代碼。圖6
47、-44 主站OB100中的程序 3調用Modbus_Comm_Load指令 圖6- 生成DB1和DB2,在它們中間分別生成有10個字元素的數組。在OB100中給要發(fā)送的DB1中的10個字賦初值16#1111,將保存接收到的數據的DB2中的10個字清零。在OB1中用周期為0.5s的時鐘存儲器位M0.3的上升沿,將要發(fā)送的第一個字加1。 4調用Modbus_Master指令 該指令用于Modbus主站與指定的從站進行通信。主站可以訪問一個或多個從站。在OB1中兩次調用該指令,讀取1號從站中Modbus地址從40001開始的10個字中的數據,保存到主站的DB2中;將主站DB1中的10個字的數據寫入從
48、站的Modbus地址從40011開始的10個字中。同一個Modbus端口的所有Modbus_Master指令必須使用同一個Modbus_Master背景數據塊。圖6-45 OB1中的Modbus_Master指令 生成DB1和DB2,在它們中間分別生成有10個字元素 5Modbus_Master指令的輸入、輸出參數 在輸入參數REQ的上升沿,請求向Modbus從站發(fā)送數據。MB_ADDR是從站地址(0247)。MODE用于選擇Modbus功能的類型(見表6-1)。DATA_ADDR是要訪問的從站中數據的Modbus起始地址。Modbus_Master指令根據這兩個參數確定Modbus報文中的功
49、能代碼。 DATA_LEN是要訪問的數據長度(位數或字數)。DATA_PTR指針指向CPU的數據塊或位存儲器地址,從該位置讀取數據或向其寫入數據。DONE為1表示指令已完成對Modbus從站的操作。 BUSY為1表示正在處理任務。 ERROR為1狀態(tài)表示檢測到錯誤,參數STATUS提供的錯誤代碼有效。6.6.2 Modbus RTU從站的編程與通信實驗 1組態(tài)從站的RS-485模塊 打開從站PLC_2的設備視圖,將RS-485模塊拖放到CPU左邊的101號槽。 2初始化程序 在OB100中調用Modbus_Comm_Load指令,來組態(tài)串行通信接口的參數。其輸入參數PORT的值為267,MB_
50、DB的實參為Modbus_Slave_DB.MB_DB。生成DB1,不能激活“僅符號地址”屬性。在它中間生成有20個字元素的數組DATA。在OB100中給數組DATA要發(fā)送的前10個元素賦初值16#1111,將保存接收到的數據的數組DATA的后10個元素清零。 5Modbus_Master指令的輸入、輸出參數 3調用Modbus_Slave指令 在OB1中調用Modbus_Slave指令,它用于為Modbus主站發(fā)出的請求服務。開機時執(zhí)行OB100中的Modbus_Comm_Load指令,通信接口被初始化。從站接收到Modbus RTU主站發(fā)送的請求時,通過執(zhí)行Modbus_Slave指令來響
51、應。 它的輸入/輸出參數的意義如下: MB_ADDR是從站地址(1247)。MB_HOLD_REG是指向Modbus保持寄存器數據塊的指針,其實參為DB1中的數組DATA,該數組用來保存供主站讀寫的數據值。DB1.DBW0對應于Modbus地址40001。 NDR為1表示主站已寫入新數據,DR為1表示主站已讀取數據,ERROR為1狀態(tài)表示檢測到錯誤,參數STATUS中的錯誤代碼有效。在OB1中用周期為0.5s的時鐘存儲器位M0.3的上升沿,將要發(fā)送的第一個字“DATA1”的值加1。 3調用Modbus_Slave指令 4Modbus通信實驗 硬件接線圖見下圖。用監(jiān)控表監(jiān)控主站的DB2的DBW0
52、、DBW2和DBW18,以及從站的DB1的DBW20、DBW22和DBW38。 用外接的小開關產生請求信號I0.0的脈沖,啟動主站讀取從站的數據。用主站的監(jiān)控表觀察DB2中主站的DBW2和DBW18讀取到的數值是否與從站在OB100中預置的值相同。多次發(fā)出請求信號,觀察DB2.DBW0的值是否增大。用外接的小開關產生請求信號I0.1的上升沿,啟動主站改寫從站的數據。用從站的監(jiān)控表觀察DB1中改寫的結果。多次發(fā)出請求信號,觀察DBW20的值是否增大。 4Modbus通信實驗6.7 S7-1200與變頻器的USS協議通信 6.7.1 硬件接線與變頻器參數設置 1USS通信 本節(jié)介紹SINAMICS
53、 V20基本型變頻器與S7-1200的USS通信。 2硬件接線 S7-1200配備CM 1241 RS485通信模塊。每個CPU最多可以連接3個通信模塊,建立3個USS網絡。每個USS網絡最多支持16個變頻器。 接線時兩側的0V端子不能就近連接到保護接地網絡,否則可能因為燒電焊燒毀通信設備。6.7 S7-1200與變頻器的USS協議通信 3設置電動機參數 應使用V20內置的基本操作面板來設置變頻器有關的參數。 4設置連接宏、應用宏和其他參數 V20將變頻器常用的控制方式歸納為12種連接宏和5種應用宏,連接宏類似于配方,給出了完整的解決方案。選中連接宏Cn010(USS控制),適當修改Cn010
54、預設的USS通信的參數(見表6-2)。6.7.2 S7-1200的組態(tài)與編程 1硬件組態(tài) 生成一個名為“USS通信”的項目,打開設備視圖,將CM 1241(RS485)模塊拖放到CPU左邊的101號槽。選中該模塊,選中巡視窗口的“端口組態(tài)”,設置波特率為19.2kbit/s,偶校驗。其余的參數采用默認值。 2USS的程序結構 每臺變頻器需要調用一條USS_Drive_Control指令,來監(jiān)控一臺變頻器。所有的USS_Drive_Control指令共同使用調用第一條USS_Drive_Control指令時生成的背景數據塊,每個USS網絡通過這個背景數據塊進行管理。 每個RS-485通信端口使用
55、一條USS_Port_Scan指令,它通過RS-485通信端口控制CPU與所有變頻器的通信,它有自己的背景數據模塊。 3設置電動機參數 3USS_Drive_Control指令 起動位RUN為1時,以設置的速度運行。OFF2為0狀態(tài),電動機自然停車。OFF3為0狀態(tài),通過制動快速停車。F_ACK是故障確認位。DIR是方向控制位,DRIVE是變頻器的USS地址(116)。PZD_LEN是過程數據PZD的字數。SPEED_SP是百分數表示的頻率設定值。NDR為1表示新的通信數據準備好。ERROR為1表示發(fā)生錯誤,參數STATUS有效,其它輸出在出錯時均為零。STATUS是請求的狀態(tài)值。位變量RUN
56、_EN為1表示變頻器正在運行。D_DIR用來指示變頻器旋轉的方向。 INHIBIT指示變頻器的禁止位的狀態(tài)。 FAULT為1表示變頻器有故障。 SPEED是百分數表示的輸出頻率實際值。圖6-52 USS_Drive_Control指令 3USS_Drive_Control指令圖6-52 4USS_Port_Scan指令 為確保幀通信的響應時間恒定,應在循環(huán)中斷OB中調用該指令。在S7-1200的系統手冊13.4.2節(jié)“使用USS協議的要求”名為“計算時間要求”的表格中可以查到,波特率為19200 bit/s時,調用USS_Port_Scan指令的時間間隔應為68.2 205ms。所以在循環(huán)時間
57、為150ms的循環(huán)中斷組織塊OB33中調用該指令。 參數PORT為PtP通信端口的標識符,雙字BAUD為波特率,單位為bit/s。USS_DB的實參為USS_Drive_Control的背景數據塊中的靜態(tài)變量USS_DB。指令執(zhí)行出錯時,ERROR為1狀態(tài),錯誤代碼在STATUS中。6.7.3 S7-1200與變頻器通信的實驗 1PLC監(jiān)控變頻器的實驗圖6-53 USS_Port_Scan指令 4USS_Port_Scan指令圖6-53 US 按圖連接好變頻器與RS485模塊的接線。設置好變頻器的參數,將程序下載到PLC,令PLC運行在RUN模式,用以太網接口監(jiān)控PLC。接通變頻器的電源,用基
58、本操作面板顯示變頻器的頻率。 打開OB1,啟動程序狀態(tài)監(jiān)控功能。用鼠標右鍵菜單設置參數SPEED_SP的值。令OFF2和OFF3為1狀態(tài),接通I0.0對應的小開關,電動機開始旋轉。頻率由0增大,輸出位RUN_EN為1。令I0.0為0狀態(tài),電動機停車,RUN_EN變?yōu)?狀態(tài)。運行時斷開I0.1對應的小開關,電動機自然停車。運行時斷開I0.2對應的小開關,電動機快速停車。OFF2和OFF3發(fā)出的脈沖使電動機停車后,需要將RUN由1變?yōu)?,然后再變?yōu)?狀態(tài),才能再次起動電動機運行。 可以用方向控制位DIR改變電動機旋轉的方向,輸出位D_DIR的值和輸出參數SPEED的符號隨之而變。改變MD10中速度
59、給定值的大小和符號,也可以改變電動機的速度值和方向。 2讀寫變頻器參數的指令 指令USS_Write_Param用于修改變頻器的參數,USS_Read_Param用于從變頻器讀取數據。 按圖連接好變頻器與RS485模塊的接線。設置好變頻器6.8 控制系統的故障診斷6.8.1 與故障診斷有關的中斷組織塊和診斷指令 1診斷中斷組織塊OB82 具有診斷功能并啟用了診斷中斷的模塊,在故障出現或有組件要求維護(事件到達),故障消失或沒有組件需要維護(事件離去),操作系統將會分別調用一次OB82。 2機架故障組織塊OB86 如果檢測到DP主站系統或PROFINET IO系統發(fā)生故障、DP從站或IO設備發(fā)生
60、故障,故障出現和故障消失時,操作系統將分別調用一次OB86。ROFINET智能設備的部分子模塊發(fā)生故障時,操作系統也會調用OB86。 3拔出/插入組織塊OB83 如果拔出或插入已組態(tài)且未禁用的分布式I/O(PROFIBUS、PROFINET 和AS-i)模塊或子模塊,操作系統將調用拔出/插入中斷組織塊OB83。拔出或插入中央模塊將導致CPU進入STOP模式。6.8 控制系統的故障診斷 4CPU對故障的反應 出現與OB82、OB83和OB86有關的故障時,無論是否已對上述OB編程,CPU都將保持在RUN模式??梢栽谏鲜鼋M織塊中,編寫記錄、處理和顯示故障的程序。中斷組織塊的局部變量提供了故障信息。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北師大版選擇性必修1歷史上冊階段測試試卷含答案
- 2025年人教新課標八年級地理下冊月考試卷
- 2025年粵教版選擇性必修1歷史下冊月考試卷
- 2025年浙科版高二化學下冊階段測試試卷
- 2025年蘇教新版九年級地理下冊月考試卷
- 2025年牛津上海版八年級地理下冊月考試卷含答案
- 二零二五版奶茶店顧客滿意度調查與改進措施合同4篇
- 二零二五年度賭博引發(fā)婚姻破裂的財產分割與子女撫養(yǎng)合同2篇
- 2025年度影視后期制作與剪輯服務合同范本4篇
- 2025年度專業(yè)樹木種植與生態(tài)旅游開發(fā)合同4篇
- 《化工設備機械基礎(第8版)》全套教學課件
- 《帶一本書去讀研:研究生關鍵學術技能快速入門》筆記
- 人教版八年級數學下冊舉一反三專題17.6勾股定理章末八大題型總結(培優(yōu)篇)(學生版+解析)
- 2024屆上海高考語文課內古詩文背誦默寫篇目(精校版)
- DL-T5024-2020電力工程地基處理技術規(guī)程
- 2024年度-美團新騎手入門培訓
- 初中數學要背誦記憶知識點(概念+公式)
- 駕照體檢表完整版本
- 農產品農藥殘留檢測及風險評估
- 農村高中思想政治課時政教育研究的中期報告
- 20100927-宣化上人《愣嚴咒句偈疏解》(簡體全)
評論
0/150
提交評論