技術(shù)頻道

      如何用PC監(jiān)控PLC

        1 引言

        由于plc結(jié)構(gòu)緊湊、可靠性高、靈活性強,因而廣泛應(yīng)用于各種自動化系統(tǒng)?,F(xiàn)在普遍采用觸摸屏加plc的方法來監(jiān)控設(shè)備,但觸摸屏視角窄、不適應(yīng)惡劣環(huán)境,且plc的數(shù)據(jù)存儲能力相當(dāng)有限、不易實現(xiàn)大規(guī)模網(wǎng)絡(luò)互聯(lián)。有鑒于此,我們采用優(yōu)秀的可視化軟件visual basic,由計算機加plc組建監(jiān)控系統(tǒng)。該系統(tǒng)既克服了由觸摸屏加plc組建的監(jiān)控系統(tǒng)的不足,又可完成對設(shè)備的實時監(jiān)控。

        2 串行通訊協(xié)議

        計算機與plc通訊時,一般由計算機發(fā)命令給plc,啟動通信,plc收到命令后自動發(fā)回應(yīng)答。下面給出了命令幀、應(yīng)答幀以及幀檢查的結(jié)構(gòu)。

        fcs(frame checksum)表示報頭開始到報文結(jié)束間所有數(shù)據(jù)執(zhí)行邏輯加操作所得的結(jié)果。

        它由兩位ascii碼字符組成,每次plc接收到計算機發(fā)送過來的一幀數(shù)據(jù),即計算其校驗和,結(jié)果記為fcs2,將fcs2與幀中所包含的fcs1比較,可檢查該幀是否有數(shù)據(jù)錯誤。如果有數(shù)據(jù)錯誤,plc立即發(fā)送錯誤信息給計算機,利用這一機制,有效防止了數(shù)據(jù)傳輸錯誤。

        3 串行通信口初始化

        3.1 計算機串行通信口初始化

        vb的mscomm控件通過串行端口傳送和接收數(shù)據(jù)。因此,可通過對visual basic的mscomm控件的相關(guān)屬性的設(shè)置來對串口進行初始化。

        mscomm控件的主要屬性如表1

        計算機串口初始化程序段如下:

        with mscomm1

        .portopen = false

        .commport = 1 file://設(shè)置通信端口號為1

        .settings=“9600,n,8,1” file://波特率為9600,不作

        file://字符校驗,8位數(shù)據(jù)位,1位停止位

        .portopen=true file://打開通信端口

        .inputmode=cominputmodebinary file://以字節(jié)方式接收數(shù)據(jù)

        end with

        3.2 plc串行通信口初始化

        西門子s7-200可以采用用戶定義通信協(xié)議(自由口)模式實現(xiàn)計算機與plc、plc與plc的通信。自由口通信是通過用戶程序控制s7-200 cpu串行通信口的操作模式。利用自由口模式可實現(xiàn)用戶定義通信協(xié)議連接多種智能設(shè)備。s7-200 cpu自由口的控制字節(jié)描述如表2。

        plc串口初始化程序如下:

        ld sm0.1 file://首次掃描閉合

        movb 16#09,smb30 file://初始化自由口,9600波特率,

        file://8位數(shù)據(jù),無校驗

        movb 16#e0,smb87 file://初始化接收控制信息,檢測信

        file://息結(jié)束符、空閑線信息條件

        movb 16#24,smb88 file://信息字符開始

        movb 16#2a,smb89 file://信息字符結(jié)束

        movb +5,smw90 file://設(shè)置空閑線超時時間

        movb 200,smb94 file://設(shè)置最大允許接收字符數(shù)

        atch int_0,23 file://設(shè)置接收完成中斷

        atch int_1,9 file://設(shè)置發(fā)送完成中斷

        eni file://設(shè)置用戶中斷允許

        4 實時數(shù)據(jù)傳輸處理

        因為各種原因,使得系統(tǒng)參數(shù)發(fā)生了變化,因此,監(jiān)控系統(tǒng)必須具備實時性要求,也就是說,只要設(shè)備狀態(tài)一改變,監(jiān)控系統(tǒng)就將信息采集并傳送到計算機,以便監(jiān)控人員及時了解現(xiàn)場,對現(xiàn)場情況作出判斷、進行相應(yīng)的操作。實時性包括計算機與plc實時通信以及plc實時監(jiān)控所聯(lián)設(shè)備狀態(tài)兩方面內(nèi)容。

        4.1 計算機實時數(shù)據(jù)處理

        該部分由vb的timer控件完成。通過引發(fā)timer事件(timer事件是vb模擬實時計時器的事件),timer控件可以定時執(zhí)行規(guī)定的操作,使得plc所連接的設(shè)備狀態(tài)信息及時傳送到計算機。

        timer控件主要屬性如表3,該部分的程序框圖如圖1所示。

        4.2 plc實時數(shù)據(jù)處理

        由于s7-200系列plc在自由口模式下,通信協(xié)議完全由梯形圖程序控制。s7-200cpu連續(xù)掃描用戶程序、執(zhí)行用戶任務(wù)。plc在程序執(zhí)行過程中,基于穩(wěn)定、快速、靈活等方面考慮,cpu每個掃描周期都通過輸入輸出映像寄存器來執(zhí)行實際輸入輸出操作,即讀實際輸入點值到映像寄存器、寫映像寄存器值到實際輸出點。由于在中斷中不能順利進行數(shù)據(jù)讀寫操作,因此,可通過編程,利用plc循環(huán)掃描執(zhí)行程序的特點,使得在程序掃描期間實現(xiàn)數(shù)據(jù)存儲區(qū)與輸入輸出映像寄存器區(qū)交換數(shù)據(jù),也就是說,計算機只要通過與數(shù)據(jù)存儲區(qū)實時完成通信就可達到實時監(jiān)控實際輸入輸出點的效果。

        該部分的程序段如下:

        主程序部分:

        ld sm0.1 file://首次掃描閉合

        call subr_0 file://調(diào)用子程序0

        movb 1,vb0 file://vb0.0置1

        ld vb0.0 file://設(shè)置數(shù)據(jù)存儲區(qū)與映像區(qū)交換數(shù)據(jù)條件

        call subr_1 file://調(diào)用子程序1

        ┇

        end file://主程序結(jié)束

        子程序1部分程序如下:

        ld sm0.0 file://始終閉合

        movd vd101,id0 file://數(shù)據(jù)存儲區(qū)寫數(shù)據(jù)到數(shù)字量輸入

        file://映像區(qū)

        movd id0,vd101 file://讀數(shù)字量輸入映像區(qū)數(shù)據(jù)到數(shù)據(jù)

        file://存儲區(qū)

        movd vd201,qd0 file://數(shù)據(jù)存儲區(qū)寫數(shù)據(jù)到數(shù)字量輸

        file://出映像區(qū)

        movd qd0,vd201 file://讀數(shù)字量輸出映像區(qū)數(shù)據(jù)到數(shù)

        file://據(jù)存儲區(qū)

        movw aiw0,vw301 file://讀模擬量輸入映像區(qū)到數(shù)據(jù)存

        file://儲區(qū)

        movw vw401,aqw0 file://數(shù)據(jù)存儲區(qū)寫數(shù)據(jù)到模擬量輸

        file://出映像區(qū)

        ┇

        cret file://子程序返回

        發(fā)送、接收部分:

        rcv vb500,0 file://從端口0接收數(shù)據(jù)存于vb500單元

        file://起始的連續(xù)單元

        xmt vb55,0 file://將vb55單元后的指定數(shù)據(jù)從端口0

        file://連續(xù)發(fā)出

        5 結(jié)束語

        從以上敘述,可以看到,由計算機與plc組建實時監(jiān)控系統(tǒng)關(guān)鍵在于解決計算機與plc實時通信、plc對設(shè)備狀態(tài)實時監(jiān)控問題。計算機與plc組建的實時監(jiān)控系統(tǒng)開發(fā)成本低、實時性好、操作簡便、通用性強,利用計算機易組網(wǎng)功能,既可以做到工廠內(nèi)部網(wǎng)絡(luò)互聯(lián)、信息共享,又可通過調(diào)制解調(diào)器連接因特網(wǎng),使異地信息共享、遠程監(jiān)控變?yōu)楝F(xiàn)實。實際工程中,該系統(tǒng)在惡劣的工業(yè)環(huán)境下工作穩(wěn)定、可靠,具有一定的應(yīng)用推廣價值。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 台湾无码AV一区二区三区| 无码夜色一区二区三区| 国产一区二区三区电影| 福利视频一区二区牛牛| 一区二区三区影院| 免费看无码自慰一区二区 | 国产一区二区在线观看app| 日韩一区二区三区在线精品| 亚洲一区二区三区香蕉| 尤物精品视频一区二区三区| 一区二区视频在线| 国产一区二区三区在线视頻| 无码人妻AⅤ一区二区三区水密桃 无码欧精品亚洲日韩一区夜夜嗨 无码毛片一区二区三区中文字幕 无码毛片一区二区三区视频免费播放 | 蜜桃视频一区二区三区在线观看| 国产伦精品一区二区| 好吊妞视频一区二区| 精品国产一区二区三区在线| 性盈盈影院免费视频观看在线一区| 一区二区免费视频| 久久久久人妻精品一区| 无码人妻品一区二区三区精99 | 成人国内精品久久久久一区| 国产人妖视频一区在线观看| 国产精品一区不卡| 无码AV一区二区三区无码| 精品一区二区三区在线观看l| 老熟妇仑乱一区二区视頻| 91精品一区二区三区久久久久| 人妻AV一区二区三区精品| AV无码精品一区二区三区| 好爽毛片一区二区三区四无码三飞 | 日本中文字幕在线视频一区| 日本在线视频一区| 日本大香伊一区二区三区| 国产在线精品一区二区三区不卡| 精品日产一区二区三区手机| 亚洲国产精品自在线一区二区| 国产吧一区在线视频| 日本一区中文字幕日本一二三区视频| 成人精品一区久久久久| 97精品国产福利一区二区三区|