国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

VB與PLC自由口通信模式在斷路器測(cè)試系統(tǒng)的應(yīng)用

2015-01-13 08:30:15李秀芹杜向陽
化工自動(dòng)化及儀表 2015年2期
關(guān)鍵詞:字符字節(jié)中斷

李秀芹 杜向陽

(上海工程技術(shù)大學(xué)機(jī)械工程學(xué)院,上海 201620)

低壓斷路器是一種不僅有手動(dòng)開關(guān)作用,而且能自動(dòng)在電路發(fā)生短路及過載等情況時(shí)切斷電路,保護(hù)用電設(shè)備的電器,所以對(duì)低壓斷路器進(jìn)行過載可靠性等常規(guī)參數(shù)的檢測(cè)非常重要,但手工調(diào)節(jié)斷路器雙金屬片螺釘長(zhǎng)度時(shí)誤差較大。為此筆者提出了下位機(jī)PLC和上位機(jī)相結(jié)合的斷路器自動(dòng)測(cè)試系統(tǒng),下位機(jī)PLC主要完成數(shù)據(jù)的采集與運(yùn)算,上位機(jī)則對(duì)下位機(jī)采集的各工作部件的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控與顯示,并基于VB和PLC自由口實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程通信。

1 斷路器測(cè)試系統(tǒng)總體方案①

筆者根據(jù)GB 14048.5-2008[1]開發(fā)了一套斷路器熱態(tài)在線測(cè)試系統(tǒng)。以三相塑殼式斷路器250H-250A的A相為例,其額定電流為250A,通過給斷路器加載一定的額定負(fù)載,檢測(cè)其在70~90s內(nèi)是否滿足過載可靠性的要求,如果產(chǎn)品性能不達(dá)標(biāo),則利用柔性調(diào)整結(jié)構(gòu)里的一體化組合螺絲刀改變雙金屬片螺釘?shù)拈L(zhǎng)度,使其滿足測(cè)試性能的要求。

斷路器測(cè)試系統(tǒng)的結(jié)構(gòu)如圖1所示,軸向移動(dòng)系統(tǒng)主要由步進(jìn)電機(jī)、磁柵傳感器及絲桿機(jī)構(gòu)等部分組成,完成水平移動(dòng)與換向移動(dòng);柔性機(jī)構(gòu)包括一體化螺絲刀和升降電機(jī),實(shí)現(xiàn)螺釘?shù)恼{(diào)節(jié)與螺母的鎖緊,其定位數(shù)據(jù)及螺釘長(zhǎng)度等參數(shù)需通過自由口通信傳到上位機(jī)進(jìn)行實(shí)時(shí)顯示,同時(shí)其他機(jī)構(gòu)的啟停操作通過上位機(jī)VB下傳到PLC。PLC和計(jì)算機(jī)通過自由口字符中斷方式進(jìn)行通信,實(shí)現(xiàn)二者間數(shù)據(jù)的實(shí)時(shí)遠(yuǎn)程傳送;基于VB與Access2000數(shù)據(jù)庫可動(dòng)態(tài)存儲(chǔ)與查詢測(cè)試數(shù)據(jù),提高了斷路器測(cè)試系統(tǒng)的工作可靠性和效率。

圖1 斷路器測(cè)試系統(tǒng)結(jié)構(gòu)示意圖

2 自由口通信配置

串行通信具有接線少、成本低、適宜遠(yuǎn)距離傳輸及可靠性高等優(yōu)點(diǎn)。筆者設(shè)計(jì)的斷路器熱態(tài)在線測(cè)試系統(tǒng)的上位機(jī)與PLC之間的通信即采用自由口串行通信方式。S7-200 PLC在自由口模式下可以與任何已知協(xié)議的智能設(shè)備通信,允許用戶自定義一些簡(jiǎn)單的基本的通信協(xié)議設(shè)置,如數(shù)據(jù)長(zhǎng)度及奇偶校驗(yàn)等通信協(xié)議完全可由用戶自定義。

2.1 自由口通信工作方式

S7-200 PLC通過特殊的功能寄存器SMB30(Port0)和SMB130(Port1)進(jìn)行自由口工作模式的設(shè)置[2]。自由口通信主要通過發(fā)送接收指令、特殊功能寄存器配置和中斷來實(shí)現(xiàn),其中端口0的常用中斷和通過SMB30設(shè)計(jì)校驗(yàn)方式、波特率及數(shù)據(jù)位長(zhǎng)度等的控制字可參考文獻(xiàn)[3]。

2.2 通信系統(tǒng)硬件連接

S7-200PLC與PC機(jī)進(jìn)行通信時(shí),需要考慮通信雙方的距離問題[4],由于標(biāo)準(zhǔn)的PC/PPI電纜長(zhǎng)度為5m,而實(shí)際系統(tǒng)設(shè)計(jì)時(shí),二者間距可達(dá)幾十甚至上百米,為此制定硬件連接方案,解決通信數(shù)據(jù)失真和抗干擾問題。具體方案如下:

a. RS485總線中,如果傳輸線達(dá)到一定距離,而且處于復(fù)雜的外部環(huán)境時(shí),易受外部環(huán)境的電磁感應(yīng)等干擾。而中繼器中的高效防雷管可以有效抑制閃電和ESD,其傳輸距離可達(dá)1 200m,長(zhǎng)距離通信時(shí)可選用圖2中的方案一,利用PC/PPI電纜與RS485中繼器配合的方式進(jìn)行通信。

b. 如果通信距離不是很長(zhǎng),可采用RS485延長(zhǎng)線來加長(zhǎng)通信距離。

c. 通信設(shè)備距離在5m內(nèi)時(shí),直接用標(biāo)準(zhǔn)PC/PPI電纜進(jìn)行通信連接,但要注意設(shè)置電纜的波特率等參數(shù)。

圖2 自由口通信硬件的3種連接方案

3 下位機(jī)PLC通信

該測(cè)試系統(tǒng)基于CCD攝像機(jī)的視覺定位系統(tǒng)獲取斷路器雙金屬片螺釘螺母的中心坐標(biāo),通過該坐標(biāo)控制軸向移動(dòng)裝置和柔性調(diào)整機(jī)構(gòu)動(dòng)作,進(jìn)行螺釘長(zhǎng)度在線調(diào)整。為了避免通信中各方爭(zhēng)用通信線,測(cè)試系統(tǒng)計(jì)算機(jī)與PLC通信時(shí),大多采用主-從方式,即把計(jì)算機(jī)作為主機(jī)、PLC看作從機(jī),主機(jī)主動(dòng)發(fā)送請(qǐng)求報(bào)文,從機(jī)收到請(qǐng)求后返回響應(yīng)報(bào)文。本設(shè)計(jì)中PC為主站,S7-200 PLC為從站。

3.1 數(shù)據(jù)緩沖區(qū)分配

通信協(xié)議是指PC與PLC通信時(shí)發(fā)出命令和收到應(yīng)答的信息格式,通信協(xié)議包含起始字符、站號(hào)、命令字、數(shù)據(jù)、校驗(yàn)碼和結(jié)束字符[5]。

該系統(tǒng)中采集的數(shù)據(jù)單元共4個(gè),模/數(shù)轉(zhuǎn)換后,兩個(gè)字節(jié)的整數(shù)將轉(zhuǎn)換為4個(gè)字節(jié)的實(shí)數(shù)(即工程值),所以需要發(fā)送給上位機(jī)的數(shù)據(jù)長(zhǎng)度為16個(gè)字節(jié)。發(fā)送緩沖區(qū)數(shù)據(jù)存放區(qū)的劃分:VD220——發(fā)送緩沖區(qū)的指針;VB224——存放PLC發(fā)來的數(shù)據(jù)區(qū)字節(jié)數(shù);VB225——存放計(jì)算機(jī)計(jì)算出的異或校驗(yàn)結(jié)果。

本設(shè)計(jì)采用字符接收中斷方式接收數(shù)據(jù),即根據(jù)收到的字符個(gè)數(shù)來判斷接收是否結(jié)束,所以沒有設(shè)置結(jié)束字符,劃分接收緩沖區(qū)如圖3所示。其中,VD86是接收緩沖區(qū)的指針,PLC計(jì)算出的異或校驗(yàn)值存放在VB90中,計(jì)算機(jī)發(fā)來的數(shù)據(jù)區(qū)字節(jié)數(shù)存放在VB99中。

圖3 數(shù)據(jù)接收緩沖區(qū)分配

3.2 通信流程

S7-200 PLC與上位機(jī)自由口的通信主要分為以下步驟:

a. 通過SMB30.1=1或SM0.7=1方式進(jìn)行自由口通信模式選擇;

b. 串口參數(shù)初始化,將操作數(shù)寫入控制字節(jié),開中斷ENI;

c. 字符接收準(zhǔn)備,若有傳送字符則執(zhí)行字符接收中斷子程序,并將收到的字符存入接收緩沖區(qū);

d. 執(zhí)行發(fā)送指令XMT,將處理好的數(shù)據(jù)發(fā)送給上位機(jī);

e. 完成發(fā)送后,執(zhí)行發(fā)送完中斷程序,等待下一幀數(shù)據(jù),并轉(zhuǎn)至步驟c。

PLC通信程序流程如圖4所示。

圖4 PLC通信程序流程

PLC部分通信程序代碼如下:

/**主程序**/

LD SM0.7//自由口與PPI通信轉(zhuǎn)換

SM0.1//首次上電掃描

CALL SBR_0:SBR0//調(diào)用初始化子程序

/**初始化子程序**/

MOVB16#09,SMB30//9600bit/s,8位數(shù)據(jù)位,無奇偶校驗(yàn)

MOVB 10,SMB34//定時(shí)10ms

ATCH INT_0:INT0,8//字符中斷事件8連接

ATCH INT_1:INT1,9//定時(shí)中斷事件9連接

ENI//開中斷

RCV VB100,0//指向接收緩沖區(qū)首地址

/**部分接收子程序**/

MOVB 0,VB100//清零

MOVD & VB100,VD86//指針VD86指向接收緩沖首地址VB100

MOVB SMB2,VB99//將報(bào)文數(shù)據(jù)區(qū)字節(jié)數(shù)存在VB99

4 上位機(jī)功能開發(fā)

4.1 VB自由口通信設(shè)計(jì)

上位機(jī)設(shè)計(jì)采用VB6.0作為開發(fā)工具對(duì)斷路器中的VB與PLC通信程序進(jìn)行設(shè)計(jì)。串行通信的實(shí)現(xiàn)主要是通過控件MSComm實(shí)現(xiàn)[6,7]。通信控件MSComm的屬性主要包括:CommPort,設(shè)置或返回通信端口號(hào);PortOpen,設(shè)置或返回通信口的狀態(tài);Setings,設(shè)置并返回通信參數(shù);Input,返回并清除接收緩沖區(qū)中數(shù)據(jù);Output,向發(fā)送緩沖區(qū)寫數(shù)據(jù)。

MSComm控件對(duì)通信問題的處理主要有事件驅(qū)動(dòng)方式和查詢方式兩種。事件驅(qū)動(dòng)方式——相當(dāng)于一般程序設(shè)計(jì)中的中斷方式,當(dāng)串口發(fā)生錯(cuò)誤或事件時(shí),MSComm控件將產(chǎn)生OnComm事件,使用戶程序?qū)υ撌录M(jìn)行相應(yīng)的處理,這種方法的優(yōu)點(diǎn)是可靠性高、程序響應(yīng)及時(shí)。查詢方式——在程序的每個(gè)關(guān)鍵功能執(zhí)行后,在用戶程序中設(shè)計(jì)定時(shí)或不定時(shí)查詢,通過檢查CommEvent屬性值來查詢事件和錯(cuò)誤,從而做出相應(yīng)的處理。由于查詢方式占用的CPU時(shí)間太長(zhǎng)。本設(shè)計(jì)中采用的是事件驅(qū)動(dòng)方式。

上位機(jī)通信程序代碼及其注釋如下:

/**串口初始化部分程序**/

With MSComm1

.CommPort=1//選擇通信端口為COM1

.Settings="9600,n,8,1"http://串口通信參數(shù)設(shè)置,波特率為9600b/s,奇校驗(yàn),8個(gè)數(shù)據(jù)位,1個(gè)停止位

.InBufferCount=0//清空接收緩沖區(qū)

.OutBufferCount=0//清空發(fā)送緩沖區(qū)

.RThreshold=1//接收到的字符數(shù)大于等于1就產(chǎn)生接收事件

.PortOpen=True//打開串口

/**上位機(jī)接收數(shù)據(jù)部分程序**/

rcvtemp=MSComm1.Input//讀串口到緩沖區(qū)

For i=LBound(rcvtemp)To UBound(rcvtemp)

rcvlenth=rcvlenth+1

rcv(rcvlenth)=rcvtemp(i)//將接收到的各字節(jié)放入接收字節(jié)數(shù)組

Next i

上位機(jī)發(fā)送數(shù)據(jù)程序。起始字符約定為0,結(jié)束字符約定為&HFF,校驗(yàn)碼約定為報(bào)文中第二個(gè)字節(jié)與數(shù)據(jù)區(qū)內(nèi)各字節(jié)的異或和。程序代碼如下:

nbyte(1)=UBound(sdate)+1//發(fā)送數(shù)據(jù)區(qū)字節(jié)數(shù)

fcs=nbyte(1)//異或校驗(yàn)碼

For i=2 To UBound(sdate)+2

nbyte(i)=sdate(i-2)//待發(fā)送數(shù)據(jù)

MSComm1.Output=nbyte//發(fā)送

4.2 數(shù)據(jù)庫系統(tǒng)開發(fā)

4.2.1數(shù)據(jù)庫基本功能

為方便管理測(cè)試數(shù)據(jù),本設(shè)計(jì)選用Access2000數(shù)據(jù)庫作為平臺(tái),實(shí)現(xiàn)斷路器合格率及測(cè)試時(shí)間等重要參數(shù)的組織、存儲(chǔ)、查詢、瀏覽信息記錄及斷路器合格率的報(bào)表統(tǒng)計(jì)等功能。同時(shí),數(shù)據(jù)表字段顯示測(cè)試時(shí)間、斷路器型號(hào)及規(guī)格參數(shù)等信息。

4.2.2數(shù)據(jù)庫的創(chuàng)建和鏈接

在Access中創(chuàng)建一個(gè)新數(shù)據(jù)庫,命名為“斷路器測(cè)試數(shù)據(jù)庫”,然后創(chuàng)建ODBC數(shù)據(jù)源,這個(gè)數(shù)據(jù)源包括數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及ODBC驅(qū)動(dòng)程序等信息。

ADO是Visual Basic程序中數(shù)據(jù)庫開發(fā)的最新內(nèi)容,用以控件鏈接數(shù)據(jù)庫。ADO可以處理不同的數(shù)據(jù)庫記錄,使應(yīng)用程序具有靈活性和通用性,其中ADO中最主要的對(duì)象是Connection、Recordset和Command。Connection對(duì)象主要用于設(shè)置數(shù)據(jù)源的鏈接;Recordset對(duì)象主要用來接收和管理來自Connection數(shù)據(jù)源的數(shù)據(jù);Command對(duì)象設(shè)置訪問數(shù)據(jù)源所需的命令;在窗體的FormLoad事件中編寫相應(yīng)的VB與Access2000數(shù)據(jù)庫鏈接。

5 通信調(diào)試

考慮到系統(tǒng)工作環(huán)境不理想,周圍光線分布不均勻且工作空間狹小,有可能會(huì)影響通信系統(tǒng)的穩(wěn)定性,所以設(shè)計(jì)外加電磁擾動(dòng)源(如變壓器及變頻器等),測(cè)試系統(tǒng)的穩(wěn)定性并進(jìn)行調(diào)試實(shí)驗(yàn)進(jìn)行對(duì)比分析。測(cè)試時(shí)從VB操作界面發(fā)送字符串16##55 16##EE 16##CC 16##BB …,下位機(jī)通過查看相應(yīng)存儲(chǔ)空間核查發(fā)送數(shù)據(jù)是否正確。經(jīng)調(diào)試分析得出在有變頻器等干擾存在的情況下,通信要加金屬屏蔽套管抗干擾,否則通信數(shù)據(jù)可能會(huì)丟失。用示波器監(jiān)測(cè)到的自由口通信數(shù)據(jù)波形如圖5所示。

圖5 自由口通信數(shù)據(jù)波形

6 結(jié)束語

筆者根據(jù)斷路器測(cè)試系統(tǒng)的控制要求,開發(fā)了基于VB與S7-200 PLC自由口模式下的通信系統(tǒng),實(shí)現(xiàn)了斷路器在線檢測(cè)系統(tǒng)的實(shí)時(shí)通信、數(shù)據(jù)顯示和遠(yuǎn)程控制,有效解決了人工操作產(chǎn)生的誤差。采用Access2000數(shù)據(jù)庫與VB操作界面動(dòng)態(tài)鏈接模式,方便了測(cè)試結(jié)果的查詢和歷史趨勢(shì)分析?,F(xiàn)場(chǎng)調(diào)試和運(yùn)行結(jié)果表明:該方法簡(jiǎn)單、實(shí)時(shí)性好且可靠性高,同時(shí)降低了開發(fā)成本,提高了檢測(cè)的智能程度。

[1] GB 14048.5-2008,低壓開關(guān)設(shè)備和控制設(shè)備[S].北京:中國標(biāo)準(zhǔn)出版社,2008.

[2] 張揚(yáng),蔡春偉,孫明健.S7-200 PLC原理與應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2007:196~202.

[3] 甘宜洋,程武山,李小龍.水下生產(chǎn)測(cè)試系統(tǒng)的數(shù)據(jù)通信[J].化工自動(dòng)化及儀表,2014,41(12):1412~1416.

[4] 程武山.分布式控制技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2008:90~100.

[5] 李如甲,程武山,董林.基于RS-485的智能儀表與PLC串行通信[J].儀表技術(shù)與傳感器,2011,(8):34~36.

[6] 李江全,湯智輝,朱東芹.Visual Basic數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn)[M].北京:人民郵電出版社,2010:143~152.

[7] 董淑冷,茅紅偉.物料自動(dòng)分揀系統(tǒng)中PLC與上位機(jī)的通信[J].計(jì)算機(jī)工程,2007,33(11):267~269.

猜你喜歡
字符字節(jié)中斷
尋找更強(qiáng)的字符映射管理器
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
字符代表幾
一種USB接口字符液晶控制器設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:50
No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
消失的殖民村莊和神秘字符
簡(jiǎn)談MC7字節(jié)碼
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
解放軍健康(2017年5期)2017-08-01 06:27:44
AT89C51與中斷有關(guān)的寄存器功能表解
长丰县| 贡嘎县| 霍林郭勒市| 定安县| 广州市| 舟曲县| 凌云县| 河西区| 汕尾市| 石林| 丰顺县| 宣武区| 阜宁县| 津市市| 沙坪坝区| 娄烦县| 洪泽县| 松原市| 梨树县| 绥滨县| 舒城县| 汾西县| 科技| 通江县| 即墨市| 高碑店市| 当雄县| 霞浦县| 阿巴嘎旗| 砚山县| 海伦市| 思南县| 丰镇市| 修武县| 兰坪| 鄂州市| 延川县| 玉屏| 宜兰县| 伊吾县| 石林|