欧美自拍偷拍视频_在线播放免费av福利片_免费国产一区二区_国产欧美韩国高清_日韩中文字幕色综合网_一级毛片日韩女主播_极品av在线播放_欧美熟妇肉体销魂视频R_91精品一区中文字幕在线观看_明星乱亚洲合成图

?
如何用PC和PLC組建監(jiān)控系統(tǒng)
發(fā)布者:管理員   發(fā)布時(shí)間:2013-01-05 20:07:59 瀏覽次數(shù):

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

2 串行通訊協(xié)議

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

如何用PC監(jiān)控PLC
 
 fcs(frame checksum)表示報(bào)頭開(kāi)始到報(bào)文結(jié)束間所有數(shù)據(jù)執(zhí)行邏輯加操作所得的結(jié)果。

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

3 串行通信口初始化

  3.1 計(jì)算機(jī)串行通信口初始化

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

  mscomm控件的主要屬性如表1

如何用PC監(jiān)控PLC
 
計(jì)算機(jī)串口初始化程序段如下:

  with mscomm1

  .portopen = false

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

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

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

  .portopen=true file://打開(kāi)通信端口

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

  end with

 3.2 plc串行通信口初始化

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

如何用PC監(jiān)控PLC
 
 plc串口初始化程序如下:

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

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

  file://8位數(shù)據(jù),無(wú)校驗(yàn)

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

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

  movb 16#24,smb88 file://信息字符開(kāi)始

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

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

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

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

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

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

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

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

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

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


如何用PC監(jiān)控PLC
 
4.2 plc實(shí)時(shí)數(shù)據(jù)處理

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

  file://映像區(qū)

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

  file://存儲(chǔ)區(qū)

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

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

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

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

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

  file://儲(chǔ)區(qū)

  movw vw401,aqw0 file://數(shù)據(jù)存儲(chǔ)區(qū)寫(xiě)數(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ā)出