《S7-1200-PLC應(yīng)用教程第2版》課件第6章_第1頁(yè)
《S7-1200-PLC應(yīng)用教程第2版》課件第6章_第2頁(yè)
《S7-1200-PLC應(yīng)用教程第2版》課件第6章_第3頁(yè)
《S7-1200-PLC應(yīng)用教程第2版》課件第6章_第4頁(yè)
《S7-1200-PLC應(yīng)用教程第2版》課件第6章_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

6.5網(wǎng)絡(luò)通信基礎(chǔ)6.5.1串行通信的基本概念

1.串行通信與異步通信串行數(shù)據(jù)通信是以二進(jìn)制的位為單位的數(shù)據(jù)傳輸方式,每次只傳送一位。串行通信最少只需要兩根線就可以連接多臺(tái)設(shè)備,組成控制網(wǎng)絡(luò),可用于距離較遠(yuǎn)的場(chǎng)合。

接收方和發(fā)送方的傳輸速率的微小差異產(chǎn)生的積累誤差,可能使發(fā)送和接收的數(shù)據(jù)錯(cuò)位。異步通信采用字符同步方式,通信雙方需要對(duì)采用的信息格式和數(shù)據(jù)的傳輸速率作相同的約定。接收方將停止位和起始位之間的下降沿作為接收的起始點(diǎn),在每一位的中點(diǎn)接收信息。

奇偶校驗(yàn)用硬件保證發(fā)送方發(fā)送的每一個(gè)字符的數(shù)據(jù)位和奇偶校驗(yàn)位中“1”的個(gè)數(shù)為偶數(shù)或奇數(shù)。接收方用硬件對(duì)接收到的每一個(gè)字符的奇偶性進(jìn)行校驗(yàn),可以檢驗(yàn)出傳送過(guò)程中的錯(cuò)誤。可以設(shè)置為無(wú)奇偶校驗(yàn)。

傳輸速率單位為bit/s或bps,即每秒傳送的二進(jìn)制位數(shù)。第6章

S7-1200的通信與故障診斷2.串行通信的接口標(biāo)準(zhǔn)

(1)RS-232RS-232的最大通信距離為15m,最高傳輸速率為20kbit/s,只能進(jìn)行一對(duì)一的通信。(2)RS-422RS-422A采用平衡驅(qū)動(dòng)、差分接收電路,因?yàn)榻邮掌魇遣罘州斎耄瑑筛€上的共模干擾信號(hào)互相抵消。在最大傳輸速率10Mbit/s時(shí),最大通信距離為12m。傳輸速率為100kbit/s時(shí),通信距離為1200m,最多支持32個(gè)節(jié)點(diǎn)。RS-422是全雙工,用4根導(dǎo)線傳送數(shù)據(jù),可以同時(shí)發(fā)送和接收。

(3)RS-485RS-485是RS-422的變形,RS-485為半雙工,對(duì)外只有一對(duì)平衡差分信號(hào)線,通信的雙方在同一時(shí)刻只能發(fā)送數(shù)據(jù)或只能接收數(shù)據(jù)。使用RS-485通信接口和雙絞線可以組成串行通信網(wǎng)絡(luò)。6.1.2SIMATIC通信網(wǎng)絡(luò)1.SIMATICNET西門子的工業(yè)自動(dòng)化通信網(wǎng)絡(luò)SIMATICNET的頂層為工業(yè)以太網(wǎng),可以集成到互聯(lián)網(wǎng)。PROFIBUS用于少量和中等數(shù)量數(shù)據(jù)的高速傳送。AS-i是底層的低成本網(wǎng)絡(luò)。通用總線系統(tǒng)KNX用于樓宇自動(dòng)控制。IWLAN是工業(yè)無(wú)線局域網(wǎng)。各個(gè)網(wǎng)絡(luò)之間用鏈接器或有路由器功能的PLC連接。

MPI(多點(diǎn)接口)是SIMATIC產(chǎn)品使用的內(nèi)部通信協(xié)議,可以建立傳送少量數(shù)據(jù)的低成本網(wǎng)絡(luò)。PPI(點(diǎn)對(duì)點(diǎn)接口)是用于S7-200和S7-200SMART的通信協(xié)議。點(diǎn)對(duì)點(diǎn)(PtP)通信用于特殊協(xié)議的串行通信。2.PROFINETPROFINET是基于工業(yè)以太網(wǎng)的開(kāi)放的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)。使用PROFINETIO,現(xiàn)場(chǎng)設(shè)備可以直接連接到以太網(wǎng)。通過(guò)代理服務(wù)器,PROFINET可以透明地集成現(xiàn)有的PROFIBUS設(shè)備。PROFINET的實(shí)時(shí)(RT)通信功能典型的更新循環(huán)時(shí)間為1~10ms。同步實(shí)時(shí)(IRT)功能用于高性能的同步運(yùn)動(dòng)控制,響應(yīng)時(shí)間為0.25~1ms。IRT通信需要特殊的交換機(jī)的支持。PROFINET同時(shí)用一條工業(yè)以太網(wǎng)電纜實(shí)現(xiàn)IT集成化領(lǐng)域、實(shí)時(shí)自動(dòng)化領(lǐng)域和同步實(shí)時(shí)通信。PROFINET支持故障安全通信的標(biāo)準(zhǔn)行規(guī)PROFIsafe和驅(qū)動(dòng)器配置行規(guī)PROFIdrive。

3.PROFIBUSPROFIBUS是開(kāi)放式的現(xiàn)場(chǎng)總線,傳輸速率最高12Mbit/s,最多可以接127個(gè)從站。PROFIBUS提供了下列3種通信服務(wù):1)PROFIBUS-DP(分布式外部設(shè)備)用于PLC與分布式I/O(例如ET200)的通信。主站之間的通信為令牌方式,主站與從站之間為主從方式。2)PROFIBUS-PA(過(guò)程自動(dòng)化)用于過(guò)程自動(dòng)化的現(xiàn)場(chǎng)傳感器和執(zhí)行器的低速數(shù)據(jù)傳輸,可以用于防爆區(qū)域的設(shè)備與PLC的通信。使用屏蔽雙絞線電纜,由總線提供電源。

3)PROFIBUS-FMS(現(xiàn)場(chǎng)總線報(bào)文規(guī)范)已被以太網(wǎng)代替,很少使用。此外還有用于運(yùn)動(dòng)控制的總線驅(qū)動(dòng)技術(shù)PROFIdrive和故障安全通信技術(shù)PROFIsafe。6.2PROFINETIO系統(tǒng)組態(tài)PROFINET屬于主從通信,只需要組態(tài),就能實(shí)現(xiàn)IO控制器和IO設(shè)備之間的周期性通信。6.2.1S7-1200做IO控制器

1.PROFINET網(wǎng)絡(luò)的組態(tài)S7-1200最多可以帶16個(gè)IO設(shè)備,最多256個(gè)子模塊。在項(xiàng)目“1200做IO控制器”中,打開(kāi)網(wǎng)絡(luò)視圖,將ET200SPN的接口模塊IM151-3PN拖拽到網(wǎng)絡(luò)視圖,生成IO設(shè)備ET200SPN。將電源模塊、DI、2DQ和和2AQ模塊插入1~4號(hào)槽。采用默認(rèn)的IP地址,設(shè)備編號(hào)為1。

IO控制器通過(guò)設(shè)備名稱對(duì)IO設(shè)備尋址。選中IM151-3PN的以太網(wǎng)接口,再選中巡視窗口中的“以太網(wǎng)地址”,設(shè)置IO設(shè)備的名稱為et200spn1。右鍵單擊網(wǎng)絡(luò)視圖中CPU的PN接口,執(zhí)行菜單命令“添加IO系統(tǒng)”。單擊ET200SPN上藍(lán)色的“未分配”,將它分配給該IO控制器。在ET200SPN的設(shè)備視圖中,打開(kāi)它的設(shè)備概覽??梢钥吹椒峙浣o它的信號(hào)模塊的

I、Q地址。用這些地址直接讀、寫ET200S的模塊。用同樣的方法生成第二臺(tái)IO設(shè)備ET200SPN,將它分配給IO控制器CPU1215C。插入電源模塊和信號(hào)模塊。采用默認(rèn)的IP地址,設(shè)備編號(hào)為2。將它的設(shè)備名稱改為et200spn2。

2.分配設(shè)備名稱如果IO設(shè)備中的設(shè)備名稱與組態(tài)的設(shè)備名稱不一致,連接IO控制器和IO設(shè)備后,它們的故障LED亮。右鍵單擊網(wǎng)絡(luò)視圖中的1號(hào)設(shè)備,執(zhí)行快捷菜單命令“分配設(shè)備名稱”。單擊“更新列表”按鈕,“網(wǎng)絡(luò)中的可訪問(wèn)節(jié)點(diǎn)”列表中出現(xiàn)網(wǎng)絡(luò)上的兩臺(tái)ET200SPN原有的設(shè)備名稱。用“PROFINET設(shè)備名稱”選擇框選中組態(tài)的1號(hào)設(shè)備的名稱。選中IP地址為的可訪問(wèn)節(jié)點(diǎn),單擊“分配名稱”按鈕,組態(tài)的設(shè)備名稱被分配和下載給1號(hào)設(shè)備。分配好后,IO設(shè)備和IO控制器上的ERRORLED熄滅。為了驗(yàn)證通信是否正常,在OB1中編寫簡(jiǎn)單的程序,觀察是否能用IO設(shè)備的輸入點(diǎn)控制它的輸出點(diǎn)。6.4.2S7-1200做智能IO設(shè)備1.生成IO控制器和IO設(shè)備項(xiàng)目“1200做1500的IO設(shè)備”的PLC_1(CPU1511-1PN)為IO控制器。CPU1215C是智能IO設(shè)備。右鍵單擊網(wǎng)絡(luò)視圖中CPU1511-1PN的PN接口,執(zhí)行快捷菜單命令“添加IO系統(tǒng)”,生成PROFINETIO系統(tǒng)。選中網(wǎng)絡(luò)視圖中PLC_2的PN接口,再選中巡視窗口中的的“屬性

>常規(guī)

>操作模式”,勾選復(fù)選框“IO設(shè)備”,CPU1215C做智能IO設(shè)備。用“已分配的IO控制器”選擇框?qū)O設(shè)備分配給IO控制器PLC_1的PN接口。

2.組態(tài)智能設(shè)備通信的傳輸區(qū)

IO設(shè)備的傳輸區(qū)(I、Q地址區(qū))是IO控制器與智能IO設(shè)備的用戶程序之間的通信接口。IO控制器與智能IO設(shè)備之間通過(guò)傳輸區(qū)自動(dòng)地周期性地進(jìn)行數(shù)據(jù)交換。通信雙方用組態(tài)的Q區(qū)發(fā)送數(shù)據(jù),用組態(tài)的I區(qū)接收數(shù)據(jù)。選中網(wǎng)絡(luò)視圖中PLC_2的PN接口,然后選中巡視窗口的“屬性

>常規(guī)

>操作模式

>智能設(shè)備通信”,雙擊右邊窗口“傳輸區(qū)”列表中的<新增>,在第一行生成“傳輸區(qū)_1”。選中左邊窗口中的“傳輸區(qū)_1”,在右邊窗口定義IO控制器(伙伴)發(fā)送數(shù)據(jù)、智能設(shè)備(本地)接收數(shù)據(jù)的I、Q地址區(qū)。組態(tài)的傳輸區(qū)不能與硬件使用的地址區(qū)重疊。用同樣的方法生成“傳輸區(qū)_2”,與傳輸區(qū)_1相比,只是交換了地址的I、Q類型,其他參數(shù)與圖6-9的相同。圖6-8組態(tài)好的智能設(shè)備通信的傳輸區(qū)

3.編寫驗(yàn)證通信的程序與通信實(shí)驗(yàn)在PLC_1的OB100中,給QW130和QW158設(shè)置初始值16#1511,將IW130和IW158清0。在PLC_1的OB1中,用時(shí)鐘存儲(chǔ)器位M0.3的上升沿,每500ms將要發(fā)送的第一個(gè)字QW128加1。PLC_2與PLC_1的程序基本上相同,其區(qū)別在于給QW130和QW158設(shè)置的初始值為16#1215。分別選中PLC_1和PLC_2,下載它們的組態(tài)信息和程序。做好在線操作的準(zhǔn)備工作后,右鍵單擊網(wǎng)絡(luò)視圖中的PN總線,執(zhí)行“分配設(shè)備名稱”命令。用出現(xiàn)的對(duì)話框分配IO設(shè)備的名稱。用以太網(wǎng)電纜連接主站和從站的PN接口,在運(yùn)行時(shí)用監(jiān)控表監(jiān)控雙方接收到IW128、IW130和IW158,檢查通信是否正常。6.3基于以太網(wǎng)的開(kāi)放式用戶通信S7-1200/1500的CPU集成的PROFINET接口是10M/100Mbit/s的RJ45以太網(wǎng)口,可以使用標(biāo)準(zhǔn)的或交叉的以太網(wǎng)電纜。支持TCP、ISO-on-TCP、UDP和S7通信。

1.開(kāi)放式用戶通信基于CPU集成的PN接口的開(kāi)放式用戶通信用函數(shù)塊建立和斷開(kāi)通信連接,發(fā)送和接收數(shù)據(jù)。TSEND_C和TRCV_C同時(shí)具有建立、斷開(kāi)連接和發(fā)送、接收數(shù)據(jù)的功能。

2.組態(tài)CPU的硬件生成項(xiàng)目“1200_1200ISO_C”,兩臺(tái)PLC為CPU1215C,PN接口的IP地址為和,子網(wǎng)掩碼為默認(rèn)的。啟用MB0做它們的時(shí)鐘存儲(chǔ)器字節(jié)。

3.組態(tài)CPU之間的通信連接打開(kāi)網(wǎng)絡(luò)視圖,用“拖拽”的方法連接PLC_1和PLC_2的以太網(wǎng)接口,出現(xiàn)綠色的以太網(wǎng)線和名稱為“PN/IE_1”的連接。

4.驗(yàn)證通信是否實(shí)現(xiàn)的典型程序結(jié)構(gòu)雙方生成保存發(fā)送和接收數(shù)據(jù)的數(shù)據(jù)塊DB1(SendData)和DB2(RcvData),去掉“優(yōu)化的塊訪問(wèn)”屬性。在數(shù)據(jù)塊中生成有100個(gè)整數(shù)元素的數(shù)組。在OB100中用指令FILL_BLK將雙方DB1中要發(fā)送的100個(gè)整數(shù)初始化為16#1111和16#2222,將保存接收數(shù)據(jù)的DB2的100個(gè)整數(shù)清零。

在OB1中用周期為0.5s的時(shí)鐘存儲(chǔ)器位M0.3的上升沿,將要發(fā)送的第一個(gè)字DB1.DBW0加1。圖6-11數(shù)據(jù)塊SendData與OB100中的程序

5.調(diào)用TSEND_C和TRCV_C在OB1中調(diào)用TSEND_C指令發(fā)送數(shù)據(jù),調(diào)用TRCV_C指令接收數(shù)據(jù),自動(dòng)生成它們的背景數(shù)據(jù)塊。

6.組態(tài)連接參數(shù)選中指令TSEND_C,然后選中下面的巡視窗口的“屬性

>組態(tài)

>連接參數(shù)”,伙伴的“端點(diǎn)”設(shè)為PLC_2,連接類型為ISO-on-TCP。選中“本地”的“連接數(shù)據(jù)”下拉式列表中的“<新建>”,自動(dòng)生成連接描述數(shù)據(jù)塊“PLC_1_Send_DB”(DB5)。用同樣的方法生成PLC_2的接描述數(shù)據(jù)塊“PLC_2_Send_DB”(DB5)。

用單選框設(shè)置PLC_1主動(dòng)建立連接。采用默認(rèn)的傳輸服務(wù)訪問(wèn)點(diǎn)TSAP。雙方組態(tài)“連接參數(shù)”的對(duì)話框的結(jié)構(gòu)相同。

7.TSEND_C和TRCV_C的參數(shù)

TSEND_C的參數(shù)的意義如下:在請(qǐng)求信號(hào)REQ的上升沿,根據(jù)DB5中的連接描述,發(fā)送數(shù)據(jù)。發(fā)送成功后,DONE在一個(gè)掃描周期內(nèi)為1。CONT為1時(shí)建立和保持連接,為0時(shí)斷開(kāi)連接。LEN為默認(rèn)值0時(shí),發(fā)送DATA定義的所有的數(shù)據(jù)。COM_RST為1時(shí),斷開(kāi)現(xiàn)有的通信連接,新的連接被建立。BUSY為1時(shí)任務(wù)尚未完成。ERROR為1時(shí)出錯(cuò),STATUS中是錯(cuò)誤的詳細(xì)信息。指令TRCV_C的EN_R為1時(shí)準(zhǔn)備好接收數(shù)據(jù),CONT和EN_R均為1時(shí)連續(xù)接收數(shù)據(jù)。RCVD_LEN是實(shí)際接收的數(shù)據(jù)的字節(jié)數(shù)。圖6-13

8.硬件通信實(shí)驗(yàn)的典型方法通過(guò)交換機(jī)或路由器連接計(jì)算機(jī)和兩塊CPU的以太網(wǎng)接口,下載程序后令兩塊CPU為RUN模式。用監(jiān)控表監(jiān)視兩塊CPU的DB2中接收到的部分?jǐn)?shù)據(jù)。將兩塊CPU的TSEND_C和TRCV_C的參數(shù)CONT(M10.1和M11.1)均置位為1,建立起通信連接。雙方的DB2.DBW0應(yīng)動(dòng)態(tài)變化。通信正常時(shí)令M10.1或M11.1為0,建立的連接被斷開(kāi),CPU將停止發(fā)送或接收數(shù)據(jù)。接收方的DB2.DBW0停止變化。

9.仿真實(shí)驗(yàn)選中PLC_1,單擊工具欄上的“開(kāi)始仿真”按鈕

,出現(xiàn)S7-1200的仿真軟件,下載程序后仿真PLC進(jìn)入RUN模式。用同樣的方法將PLC_2的程序下載到另一臺(tái)仿真PLC。調(diào)試程序的方法與硬件PLC相同。將項(xiàng)目另存為名為“1200_1200TCP_C”的項(xiàng)目。將“連接類型”改為TCP,“伙伴端口”為默認(rèn)的2000,用戶程序和組態(tài)數(shù)據(jù)不變。兩個(gè)項(xiàng)目的實(shí)驗(yàn)方法和實(shí)驗(yàn)結(jié)果相同。

10.其他開(kāi)放式用戶通信S7-300/400/1200/1500可以使用TSEND/TRCV指令和TCP、ISO-on-TCP協(xié)議進(jìn)行通信,使用TUSEND和TURCV指令和UDP協(xié)議進(jìn)行通信,通信雙方在OB1中用指令TCON建立連接,用指令TDISCON斷開(kāi)連接。S7-1200之間使用TSEND/TRCV指令的通信可以仿真。6.4S7協(xié)議通信

1.S7協(xié)議S7協(xié)議是專為西門子控制產(chǎn)品優(yōu)化設(shè)計(jì)的通信協(xié)議,它是面向連接的協(xié)議。連接是指兩個(gè)通信伙伴之間為了執(zhí)行通信服務(wù)建立的邏輯鏈路。S7連接是需要組態(tài)的靜態(tài)連接,靜態(tài)連接要占用CPU的連接資源。S7-1200僅支持

S7單向連接。單向連接中的客戶機(jī)(Client)是向服務(wù)器(Server)請(qǐng)求服務(wù)的設(shè)備,客戶機(jī)調(diào)用GET/PUT指令讀、寫服務(wù)器的存儲(chǔ)區(qū)。服務(wù)器是通信中的被動(dòng)方,用戶不用編寫服務(wù)器的S7通信程序,S7通信是由服務(wù)器的操作系統(tǒng)完成的。

2.創(chuàng)建S7連接在名為“1200_1200IE_S7”的項(xiàng)目中,PLC_1為客戶機(jī),PLC_2為服務(wù)器。采用默認(rèn)的IP地址和子網(wǎng)掩碼。組態(tài)時(shí)啟用MB0為時(shí)鐘存儲(chǔ)器字節(jié)。打開(kāi)網(wǎng)絡(luò)視圖,單擊按下“連接”按鈕,設(shè)置連接類型為S7連接。用“拖拽”的方法建立兩個(gè)CPU的PN接口之間的名為“S7_連接_1”的連接。單擊網(wǎng)絡(luò)視圖右邊豎條上向左的小三角形按鈕,打開(kāi)彈出的視圖中的“連接”選項(xiàng)卡,可以看到生成的S7連接的詳細(xì)信息。連接ID為16#100。選中“S7_連接_1”,再選中巡視窗口的“特殊連接屬性”,勾選復(fù)選框“主動(dòng)建立連接”。選中“地址詳細(xì)信息”,可以看到通信雙方默認(rèn)的TSAP(傳輸服務(wù)訪問(wèn)點(diǎn))。使用固件版本為V4.0及以上的S7-1200CPU作為S7通信的服務(wù)器,需要選中服務(wù)器設(shè)備視圖中的CPU,再選中巡視窗口中的“屬性>常規(guī)>防護(hù)與安全>連接機(jī)制”,勾選“允許來(lái)自遠(yuǎn)程對(duì)象的PUT/GET通信訪問(wèn)”復(fù)選框。

3.編寫程序?yàn)镻LC_1生成DB1和DB2,為PLC_2生成DB3和DB4,在這些數(shù)據(jù)塊中生成由100個(gè)整數(shù)組成的數(shù)組。不要啟用數(shù)據(jù)塊屬性中的“優(yōu)化的塊訪問(wèn)”功能。在時(shí)鐘脈沖M0.5的上升沿,GET指令每1s讀取PLC_2的DB3中的100個(gè)整數(shù),用本機(jī)的DB2保存。PUT指令每1s將本機(jī)的DB1中的100個(gè)整數(shù)寫入PLC_2的DB4??蛻魴C(jī)最多可以分別讀取和改寫服務(wù)器的4個(gè)數(shù)據(jù)區(qū)。PLC_2在S7通信中作服務(wù)器,不用編寫調(diào)用指令GET和PUT的程序。在雙方的OB100中,給DB1和DB3中要發(fā)送的100個(gè)字賦初值,將保存接收到的數(shù)據(jù)的DB2和DB4中的100個(gè)字清0。在雙方的OB1中,用周期為0.5s的時(shí)鐘脈沖M0.3的上升沿,將要發(fā)送的第1個(gè)字加1。

5.仿真實(shí)驗(yàn)選中項(xiàng)目樹(shù)中的PLC_1,單擊工具欄上的“開(kāi)始仿真”按鈕,將程序和組態(tài)數(shù)據(jù)下載到仿真PLC。選中PLC_2,單擊工具欄上的“開(kāi)始仿真”按鈕

,將程序和組態(tài)數(shù)據(jù)下載到仿真PLC,二者被切換到RUN模式后,用兩臺(tái)PLC的監(jiān)控表監(jiān)控接收到的數(shù)據(jù)。

S7-1200集成的以太網(wǎng)接口可以與S7-300/400/1500和S7-200SMART集成的以太網(wǎng)接口進(jìn)行單向S7通信,S7-1200在通信中可以做客戶機(jī)和服務(wù)器。圖6-17客戶端讀寫服務(wù)器數(shù)據(jù)的程序6.5ModbusRTU協(xié)議通信6.5.1ModbusRTU主站的編程

1.Modbus協(xié)議Modbus串行鏈路協(xié)議是主-從協(xié)議,采用請(qǐng)求-響應(yīng)方式。有一個(gè)主站,1~247個(gè)子站。RTU模式用循環(huán)冗余校驗(yàn)(CRC)進(jìn)行錯(cuò)誤檢查,報(bào)文最長(zhǎng)256B。使用通信模塊CM1241(RS485)作主站時(shí),最多可以與32個(gè)從站通信。

2.組態(tài)硬件生成一個(gè)名為“ModbusRTU通信”的項(xiàng)目,主站PLC_1和從站PLC_2的CPU均為CPU1214C。啟用它們默認(rèn)的時(shí)鐘存儲(chǔ)器字節(jié)MB0。打開(kāi)主站PLC_1的設(shè)備視圖,將CM1241(RS485)模塊拖放到101號(hào)槽。選中它的RS-485接口,再選中巡視窗口的“屬性>常規(guī)>IO-Link”,按圖6-19設(shè)置通信接口的參數(shù)。

3.調(diào)用Modbus_Comm_Load指令必須在OB100中,對(duì)每個(gè)通信模塊調(diào)用一次Modbus_Comm_Load指令,來(lái)組態(tài)它的通信接口。參數(shù)REQ為請(qǐng)求信號(hào),

PORT是通信端口的硬件標(biāo)識(shí)符,

BAUD(波特率)為38400bps,PARITY(奇偶校驗(yàn)位)為0,不使用奇偶校驗(yàn)校驗(yàn)。響應(yīng)超時(shí)時(shí)間RESP_TO為1000ms,MB_DB的實(shí)參是函數(shù)塊Modbus_Master的背景數(shù)據(jù)塊中的靜態(tài)變量MB_DB,DONE為1表示指令執(zhí)行完且沒(méi)有出錯(cuò)。ERROR為1表示檢測(cè)到錯(cuò)誤,參數(shù)STATUS中是錯(cuò)誤代碼。圖6-20主站OB100中的程序生成DB1和DB2,在它們中間分別生成有10個(gè)字元素的數(shù)組。在OB100中給要發(fā)送的DB1中的10個(gè)字賦初值16#1111,將保存接收到的數(shù)據(jù)的DB2中的10個(gè)字清零。在OB1中用周期為0.5s的時(shí)鐘存儲(chǔ)器位M0.3的上升沿,將要發(fā)送的第一個(gè)字加1。

4.調(diào)用Modbus_Master指令

該指令用于Modbus主站與指定的從站進(jìn)行通信。主站可以訪問(wèn)一個(gè)或多個(gè)從站。在OB1中兩次調(diào)用該指令,讀取1號(hào)從站中Modbus地址從40001開(kāi)始的10個(gè)字中的數(shù)據(jù),保存到主站的DB2中;將主站DB1中的10個(gè)字的數(shù)據(jù)寫入從站的Modbus地址從40011開(kāi)始的10個(gè)字中。同一個(gè)Modbus端口的所有Modbus_Master指令必須使用同一個(gè)Modbus_Master背景數(shù)據(jù)塊。圖6-21OB1中的Modbus_Master指令

5.Modbus_Master指令的輸入、輸出參數(shù)在輸入?yún)?shù)REQ的上升沿,請(qǐng)求向Modbus從站發(fā)送數(shù)據(jù)。MB_ADDR是從站地址(0~247)。MODE用于選擇Modbus功能的類型(見(jiàn)表6-1),DATA_ADDR是要訪問(wèn)的從站中數(shù)據(jù)的Modbus起始地址。Modbus_Master指令根據(jù)這兩個(gè)參數(shù)確定Modbus報(bào)文中的功能代碼(見(jiàn)表6-1)。DATA_LEN是要訪問(wèn)的數(shù)據(jù)長(zhǎng)度(位數(shù)或字?jǐn)?shù))。DATA_PTR指針指向CPU的數(shù)據(jù)塊或位存儲(chǔ)器地址,從該位置讀取數(shù)據(jù)或向它寫入數(shù)據(jù)。DONE為1表示指令已完成對(duì)Modbus從站的操作。

BUSY為1表示正在處理任務(wù)。

ERROR為1狀態(tài)表示檢測(cè)到錯(cuò)誤,參數(shù)STATUS提供的錯(cuò)誤代碼有效。6.5.2ModbusRTU從站的編程與實(shí)驗(yàn)

1.組態(tài)從站的RS-485模塊打開(kāi)從站PLC_2的設(shè)備視圖,將RS-485模塊拖放到CPU左邊的101號(hào)槽。

2.初始化程序在OB100中調(diào)用Modbus_Comm_Load指令,來(lái)組態(tài)串行通信接口的參數(shù)。其輸入?yún)?shù)PORT的值為267,參數(shù)MB_DB的實(shí)參為“Modbus_Slave_DB”.MB_DB。生成DB1,不要激活“僅符號(hào)地址”屬性。在它中間生成有20個(gè)字元素的數(shù)組DATA。在OB100中給數(shù)組DATA要發(fā)送的前10個(gè)元素賦初值16#2222,將保存接收到的數(shù)據(jù)的數(shù)組DATA的后10個(gè)元素清零。

3.Modbus_Slave指令在OB1中調(diào)用Modbus_Slave指令,它用于為Modbus主站發(fā)出的請(qǐng)求服務(wù)。開(kāi)機(jī)時(shí)執(zhí)行OB100中的Modbus_Comm_Load指令,通信接口被初始化。從站接收到ModbusRTU主站發(fā)送的請(qǐng)求時(shí),通過(guò)執(zhí)行Modbus_Slave指令來(lái)響應(yīng)。它的輸入/輸出參數(shù)的意義如下:MB_ADDR是從站地址(1~247)。MB_HOLD_REG是指向Modbus保持寄存器數(shù)據(jù)塊的指針,其實(shí)參為DB1中的數(shù)組DATA,該數(shù)組用來(lái)保存供主站讀寫的數(shù)據(jù)值。DB1.DBW0對(duì)應(yīng)于Modbus地址40001。NDR為1表示主站已寫入新數(shù)據(jù),DR為1表示主站已讀取數(shù)據(jù),ERROR為1狀態(tài)表示檢測(cè)到錯(cuò)誤,參數(shù)STATUS中的錯(cuò)誤代碼有效。在OB1中用周期為0.5s的時(shí)鐘存儲(chǔ)器位M0.3的上升沿,將要發(fā)送的第一個(gè)字“DATA[1]”的值加1。圖6-22Modbus_Slave指令

4.Modbus通信實(shí)驗(yàn)硬件接線圖見(jiàn)圖6-23。用監(jiān)控表監(jiān)控主站的DB2的DBW0、DBW2和DBW18,以及從站的DB1的DBW20、DBW22和DBW38。用外接的小開(kāi)關(guān)產(chǎn)生請(qǐng)求信號(hào)I0.0的脈沖,啟動(dòng)主站讀取從站的數(shù)據(jù)。用主站的監(jiān)控表觀察DB2中主站的DBW2和DBW18讀取到的數(shù)值是否與從站在OB100中預(yù)置的值相同。多次發(fā)出請(qǐng)求信號(hào),觀察DB2.DBW0的值是否增大。用外接的小開(kāi)關(guān)產(chǎn)生請(qǐng)求信號(hào)I0.1的上升沿,啟動(dòng)主站改寫從站的數(shù)據(jù)。用從站的監(jiān)控表觀察DB1中改寫的結(jié)果。多次發(fā)出請(qǐng)求信號(hào),觀察DBW20的值是否增大。6.6故障診斷6.6.1與故障診斷有關(guān)的中斷組織塊

1.診斷中斷組織塊OB82具有診斷功能的模塊啟用了診斷中斷,在故障出現(xiàn)或有組件要求維護(hù)(事件到達(dá)),故障消失或沒(méi)有組件需要維護(hù)(事件離去),操作系統(tǒng)將會(huì)分別調(diào)用一次OB82。2.機(jī)架故障組織塊OB86如果檢測(cè)到DP主站系統(tǒng)或PROFINETIO系統(tǒng)發(fā)生故障、DP從站或IO設(shè)備發(fā)生故障,故障出現(xiàn)和故障消失時(shí),操作系統(tǒng)將分別調(diào)用一次OB86。ROFINET智能設(shè)備的部分子模塊發(fā)生故障時(shí),操作系統(tǒng)也會(huì)調(diào)用OB86。

3.拔出/插入組織塊OB83如果拔出或插入已組態(tài)且未禁用的分布式I/O(PROFIBUS、PROFINET和AS-i)模塊或子模塊,操作系統(tǒng)將調(diào)用拔出/插入中斷組織塊OB83。拔出或插入中央模塊將導(dǎo)致CPU進(jìn)入STOP模式。4.CPU對(duì)故障的反應(yīng)出現(xiàn)與OB82、OB83和OB86有關(guān)的故障時(shí),無(wú)論是否已對(duì)上述OB編程,CPU都將保持在RUN模式??梢栽谏鲜鼋M織塊中,編寫記錄、處理和顯示故障的程序。中斷組織塊的局部變量提供了故障信息。在設(shè)備運(yùn)行過(guò)程中,如果出現(xiàn)CPU與分布式I/O之間的通信短暫中斷(俗稱“閃斷”),網(wǎng)絡(luò)控制系統(tǒng)不會(huì)停機(jī)??梢栽趯?duì)應(yīng)的中斷組織塊中加入STP指令,使CPU進(jìn)入STOP模式。6.6.2S7-1200的故障診斷

1.打開(kāi)在線和診斷視圖打開(kāi)例程“電動(dòng)機(jī)控制”的設(shè)備視圖,組態(tài)一個(gè)并不存在的8DI模塊。生成診斷中斷組織塊OB82,在其中編寫將MW20加1的程序。將組態(tài)信息下載到CPU,切換到RUN模式,ERRORLED閃爍。打開(kāi)“在線和診斷”視圖,切換到在線模式。選中工作區(qū)左邊窗口的“診斷狀態(tài)”,右邊窗口顯示故障信息。

6.6.2S7-1200的故障診斷

1.打開(kāi)在線和診斷視圖打開(kāi)例程“電動(dòng)機(jī)控制”的設(shè)備視圖,組態(tài)一個(gè)并不存在的8DI模塊。生成診斷中斷組織塊OB82,在其中編寫將MW20加1的程序。將組態(tài)信息下載到CPU,切換到RUN模式,ERRORLED閃爍。打開(kāi)“在線和診斷”視圖,切換到在線模式。選中工作區(qū)左邊窗口的“診斷狀態(tài)”,右邊窗口顯示故障信息。

2.用診斷緩沖區(qū)診斷故障打開(kāi)診斷緩沖區(qū),緩沖區(qū)中的條目按事件出現(xiàn)的順序排列,最上面的是最后發(fā)生的事件。啟動(dòng)時(shí)CPU找不到8DI模塊,因此出現(xiàn)事件“硬件組件已移除或缺失”和“過(guò)程映像更新過(guò)程中發(fā)生新的I/O訪問(wèn)錯(cuò)誤”。令CPU模擬量輸入通道0的輸入電壓大于上限10V,出現(xiàn)事件“超出上限”,事件右邊的圖標(biāo)表示事件當(dāng)前的狀態(tài)為故障和“到達(dá)事件”。令通道0的輸入電壓小于上限10V,出現(xiàn)事件“超出上限”。該事件右邊的圖標(biāo)

表示狀態(tài)正常和“離去事件”。選中某個(gè)事件,下面是它的詳細(xì)信息。由監(jiān)控表1可知,在事件“超出上限”出現(xiàn)和消失時(shí),分別調(diào)用了一次OB82,MW20分別加1。單擊“在編輯器中打開(kāi)”按鈕,將打開(kāi)與選中的事件有關(guān)的模塊的設(shè)備視圖或引起錯(cuò)誤的指令所在的離線的塊。單擊“另存為”按鈕,診斷緩沖區(qū)各事件的詳細(xì)信息被保存為文本文件。圖6-24“在線和診斷”視圖3.用設(shè)備視圖診斷故障打開(kāi)設(shè)備視圖,切換到在線模式。CPU上面綠色背景的圖標(biāo)表示CPU處于RUN模式,橘紅色背景的圖標(biāo)表示CPU的下位模塊有故障。8DI模塊上的圖標(biāo)表示不能訪問(wèn)該模塊。設(shè)備概覽中AI2_1左邊的圖標(biāo)表示該組件有故障。4.在線和診斷的其他功能“在線和診斷”視圖工作區(qū)右邊的任務(wù)卡顯示“在線工具”?!癈PU操作面板”顯示出CPU上3個(gè)LED的狀態(tài)。用該面板中的按鈕可以切換CPU的操作模式?!癕RES”是存儲(chǔ)器復(fù)位按鈕?!爸芷跁r(shí)間”窗格顯示了CPU的掃描循環(huán)時(shí)間。“存儲(chǔ)器”窗格顯示未使用的各種存儲(chǔ)器所占的百分比。選中工作區(qū)左邊窗口的“設(shè)置時(shí)間”,可以在右邊窗口設(shè)置PLC的實(shí)時(shí)時(shí)鐘。6.6.3網(wǎng)絡(luò)控制系統(tǒng)的故障診斷1.設(shè)置模塊的診斷功能打開(kāi)項(xiàng)目“1200作IO控制器”,啟用ET

200SPN各模塊的診斷功能。出現(xiàn)診斷故障時(shí),CPU將會(huì)調(diào)用OB82。2.程序設(shè)計(jì)

生成OB82、OB83和OB86。在上述OB中編程,用INC指令分別將MW20~MW24加1。在監(jiān)控表中監(jiān)控MW20~MW24。用以太網(wǎng)電纜和交換機(jī)(或路由器)連接計(jì)算機(jī)、CPU和兩臺(tái)IO設(shè)備的以太網(wǎng)接口。圖6-29~圖6-34來(lái)源于TIA博途V13SP1。3.用診斷緩沖區(qū)診斷故障在OB1中編寫程序,用I2.0的常開(kāi)觸點(diǎn)控制1號(hào)IO設(shè)備的DQ模塊的Q2.0。在Q2.0外部負(fù)載通電時(shí)用串接的開(kāi)關(guān)將它斷路,出現(xiàn)診斷緩沖區(qū)中的到達(dá)事件“斷路”。監(jiān)控表中MW20的值加1,表示調(diào)用了一次OB82。接通Q2.0的外部負(fù)載,出現(xiàn)診斷緩沖區(qū)中離去事件“斷路”,CPU又調(diào)用一次OB82。事件列表中的6號(hào)和5號(hào)事件分別是移除和插入2號(hào)IO設(shè)備的DI模塊,這兩個(gè)事件出現(xiàn)時(shí)分別調(diào)用一次OB83。用監(jiān)控表給地址為QW68的1號(hào)IO設(shè)備電壓輸出的AQ模塊的0號(hào)通道寫入一個(gè)數(shù)值,用該通道輸出

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論