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

?

基于VB的原料混合裝置網(wǎng)絡(luò)控制系統(tǒng)

2017-06-26 01:49劉衛(wèi)生周慶貴張?jiān)?/span>劉騰堯顧俊

劉衛(wèi)生+周慶貴+張?jiān)?劉騰堯+顧俊

【摘 要】論文以稱(chēng)重儀表和PLC為下位機(jī)、PC為上位機(jī),實(shí)現(xiàn)了計(jì)算機(jī)和PLC與儀表之間的RS485通訊,開(kāi)發(fā)出的上位機(jī)監(jiān)控軟件可以實(shí)現(xiàn)流程控制、數(shù)據(jù)輸入/輸出和參數(shù)在線設(shè)置等功能。實(shí)驗(yàn)結(jié)果表明監(jiān)控軟件界面友好、可操作性強(qiáng)、性能可靠、簡(jiǎn)單實(shí)用。

【Abstract】The paper uses the weighing instrument and PLC as the lower machine, PC as the host computer, realizes the RS485 communication between the computer and PLC instrument, and then develops a PC monitoring software that can realize the process control, data input/output and parameter settings and other functions. The experimental results show that the monitoring software has the characters of friendly interface, strong operability, performance reliable, simple and practical.

【關(guān)鍵詞】FX2NPLC;VB;RS485通信

【Keywords】FX2N PLC;VB;RS485 communication

【中圖分類(lèi)號(hào)】TP274.2;TP311.1 【文獻(xiàn)標(biāo)志碼】A 【文章編號(hào)】1673-1069(2017)06-0178-04

1 引言

在葉片制造過(guò)程中,膠的配比對(duì)產(chǎn)品質(zhì)量有著重要影響。為保證產(chǎn)品質(zhì)量,原料的配比要嚴(yán)格按照工藝要求進(jìn)行。自動(dòng)配料稱(chēng)重控制系統(tǒng)是將兩種以上的配料按一定重量配比要求自動(dòng)加入混合機(jī)內(nèi)形成混合物料,供下一工序使用。本文介紹了基于VB語(yǔ)言開(kāi)發(fā)的打膠機(jī)網(wǎng)絡(luò)控制系統(tǒng)的工作原理、硬件構(gòu)成與程序設(shè)計(jì)流程,并具體給出了串口通信的流程和代碼。

2 稱(chēng)重系統(tǒng)構(gòu)成及主要功能

2.1 系統(tǒng)組成原理

系統(tǒng)由型號(hào)為FX2N-32MT的PLC和IND245的稱(chēng)重儀表構(gòu)成,PLC利用485BD模塊和接口轉(zhuǎn)換器與PC鏈接,稱(chēng)重儀表和工控機(jī)485串口相連。圖1為控制系統(tǒng)的組成示意圖。

2.2 主要控制功能

系統(tǒng)具有配方數(shù)據(jù)存儲(chǔ)和實(shí)際配料數(shù)據(jù)存儲(chǔ)功能,能夠按照時(shí)間、產(chǎn)品型號(hào)、打膠人、配料型號(hào)、組分等信息生成記錄進(jìn)行遠(yuǎn)程錄入。對(duì)現(xiàn)場(chǎng)的生產(chǎn)工藝過(guò)程進(jìn)行監(jiān)控,通過(guò)PLC控制混合設(shè)備和實(shí)時(shí)顯示現(xiàn)場(chǎng)的生產(chǎn)情況[1]??刂葡到y(tǒng)具有不同的工作方式,根據(jù)工藝要求,按照不同方式完成混合配料工作。主控制界面如圖2所示。

3 數(shù)據(jù)讀取

3.1 稱(chēng)重儀表的數(shù)據(jù)格式

IND245的連續(xù)輸出模板能夠向遠(yuǎn)程設(shè)備(如PC或顯示器)傳輸稱(chēng)量數(shù)據(jù)和秤的信息。連續(xù)模板可以使用串口1,串口2或以太網(wǎng)。連續(xù)輸出格式的校驗(yàn)和可選。

表1中顯示了18個(gè)字節(jié)的數(shù)據(jù)。

連續(xù)輸出格式說(shuō)明:

A.數(shù)據(jù)輸出以十六進(jìn)制02開(kāi)始;

B.狀態(tài)字,詳情請(qǐng)參照表2,3,4;

C.重量顯示值,六位字節(jié),沒(méi)有符號(hào)和小數(shù)點(diǎn)。前導(dǎo)零用空格代替;

D.皮重,六位字節(jié),沒(méi)有小數(shù)點(diǎn);

E.ASCII回車(chē)符(0D hex);

F.校驗(yàn)和僅設(shè)置為有效時(shí)進(jìn)行傳輸,校驗(yàn)和用于檢查傳輸數(shù)據(jù)中的錯(cuò)誤。

3.2 MSComm控件

本設(shè)計(jì)中,利用VB的通信控件MScomm實(shí)現(xiàn)串口通信[2],它是一種簡(jiǎn)單易用的串口通信控件。可通過(guò)該控件設(shè)置串口狀態(tài)和通信信息協(xié)議和格式。

通過(guò)以下五種屬性可設(shè)置串口的基本設(shè)置和操作。

①Setting是字符型,用于設(shè)定通信的信息格式。

②Output用于寫(xiě)入發(fā)送緩沖區(qū)的字符。

③PortOpen是布爾型且是開(kāi)關(guān)通信口。

④Input用于讀取接收緩沖區(qū)的字符。

⑤CommPort用于設(shè)置并返回通信口號(hào)并設(shè)置通信控件MScomm為哪個(gè)串口提供通信服務(wù)。

以下三種屬性描述如何利用VB所擁有事件驅(qū)動(dòng)機(jī)制來(lái)進(jìn)行通信。

①RThreshold用于設(shè)置并返回不觸發(fā)OnComm事件時(shí)接收緩沖區(qū)被允許的最多字符數(shù)。

②SThreshold用于設(shè)置并返回不觸發(fā)OnComm事件時(shí)發(fā)送緩沖區(qū)被允許的最少字符數(shù)。

③CommEvent用于返回通信過(guò)程中產(chǎn)生的錯(cuò)誤信息和事件,反映通信狀況。

上位機(jī)采用的通信格式為:MSComm1.Settings = "9600,N,7,1"表示波特率是9600bit/s,沒(méi)有奇偶校驗(yàn)位,7位數(shù)據(jù)位,1位停止位。

3.3 數(shù)據(jù)包提取

根據(jù)儀表的前述協(xié)議格式,要從緩沖區(qū)提取出數(shù)據(jù)首先要找到數(shù)據(jù)的尾字節(jié),因?yàn)橥ㄓ嵖丶袛?shù)據(jù)設(shè)置為8位,所以回車(chē)符值為128+13=141H,起始符值為128+2=130H。

因?yàn)閿?shù)據(jù)采用連續(xù)發(fā)送方式,設(shè)置接收控件數(shù)據(jù)長(zhǎng)度為36,數(shù)據(jù)為8位,只要找到其中數(shù)據(jù)的起始符,再看后面是否有回車(chē)符,如果有的話就是一個(gè)可以接收的數(shù)據(jù)包。

在托利多的電子秤上所顯示的重量數(shù)據(jù)在數(shù)據(jù)包中處于5到10位,有6個(gè)字節(jié),每個(gè)字節(jié)對(duì)應(yīng)電子秤上所顯示的一個(gè)數(shù)值。所以以字符串的形式將重量值從變量中取出,再判斷小數(shù)點(diǎn)的位置,這樣就能準(zhǔn)確地析取出重量數(shù)據(jù)[3]。

部分程序代碼

Private Sub Form_Load()

MScomm1.CommPort = 8 ' 設(shè)置端口號(hào)

MScomm1.InputLen=36 '設(shè)置接收字符串長(zhǎng)度

End Sub

Private Sub Timer2_Timer()

On Error GoTo Sexit '打開(kāi)數(shù)據(jù)端口

If MScomm1.PortOpen = True Then GoTo dexit

MScomm1.PortOpen = True

dexit:

fexit = "ok"

sexit:

If fexit = "ok" Then

On Error GoTo ition

weight1 = Mscomm1.Input

dition = "ok"

ition:

If dition = "ok" Then

Else

MsgBox "鏈接中斷", 0 + 16, "警告": Label18.Caption = "未連接": Timer2.Enabled = False: comm.PortOpen = False: Exit Sub

End If

Label18.Caption = "已連接"

Dim i As Long

For i = 1 To 36

If Mid(weight1, i, 1) = Chr(2) Then weight1 = Mid(weight1, i, 18): Exit For

'檢測(cè)數(shù)據(jù)

Next i

weight2 = Val(Mid(weight1, 5, 6))

weight2 = weight2 / 1000

Text6.Text = Format(weight2, "0.000")

Mscomm1.InBufferCount = 0

Else

Label18.Caption = "未連接"

End If

End Sub

4 數(shù)據(jù)庫(kù)操作

Ado Data控件使用ActiveX數(shù)據(jù)對(duì)象(ADO)來(lái)快速建立數(shù)據(jù)綁定和數(shù)據(jù)提供者之間的連接。數(shù)據(jù)綁定控件是任何具有“數(shù)據(jù)源”屬性的控件,數(shù)據(jù)提供者可以是任何符合OLE DB規(guī)范的數(shù)據(jù)源。連接數(shù)據(jù)庫(kù):將Ado Data控件與數(shù)據(jù)庫(kù)進(jìn)行連接,主要是對(duì)Ado Data控件的ConnectionString屬性、CommandType屬性、RecordSource屬性進(jìn)行設(shè)置。

下面是配方數(shù)據(jù)遠(yuǎn)程錄入的部分程序代碼:

Private Sub Inputdata()

Set cnn = New ADODB.Connection cnn.Open "Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;

User ID=adc;Initial Catalog=質(zhì)量記錄_new;DataSource=192.*.*.1" '訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)

cnn.Execute "insert into data1" & _

"(A樹(shù)脂型號(hào),A樹(shù)脂批號(hào),A樹(shù)脂重量,B固化劑型號(hào),B固化劑批號(hào),B固化劑重量,[實(shí)際混合比B/A],機(jī)器編號(hào),葉片編號(hào),打膠人,生產(chǎn)日期,合計(jì)重量,打膠開(kāi)始時(shí)間,打膠結(jié)束時(shí)間,校核報(bào)警記錄)" & _

"values ('" & Combo1.Text & "','" & Combo2.Text & "','" & Text1.Text & "','" & Combo3.Text & "','" & Combo4.Text & "'" & _

",'" & Text2.Text & "','" & Text3.Text & "','" & Combo8.Text & "','" & Combo6.Text & "'" & _

",'" & Combo9.Text & "'" & _

",'" & time & "','" & Text6.Text & "','" & Text7.Text & "','" & Text8.Text & "','" & "超出質(zhì)量標(biāo)準(zhǔn)" + Label22.Caption & "')"

Sleep 200

Set rst = New ADODB.Recordset

rst.Open "select 打膠人 from 質(zhì)量記錄_new.dbo.data1 where 生產(chǎn)日期='" & time & "'", cnn

If Combo9.Text = rst.Fields("打膠人") Then

MsgBox "數(shù)據(jù)錄入成功", 0 + 64, "提示"

Else: MsgBox "請(qǐng)重新輸入數(shù)據(jù)", 0 + 48, 數(shù)據(jù)錄入失?。?cnn.Execute "delete from 質(zhì)量記錄_new.dbo.data1 where 生產(chǎn)日期 ='" & time & "'"

End If

End Sub

5 應(yīng)用情況

該程序已經(jīng)在某葉片制造企業(yè)的混料配比稱(chēng)重系統(tǒng)中得到應(yīng)用,經(jīng)過(guò)一年多的運(yùn)行情況表明,系統(tǒng)運(yùn)行穩(wěn)定,操作方便,配比質(zhì)量控制得到了較好保證,并實(shí)現(xiàn)了控制參數(shù)的遠(yuǎn)程控制和設(shè)備運(yùn)行情況(包括人員信息、打膠時(shí)間、配比、重量等)數(shù)據(jù)保存和遠(yuǎn)程監(jiān)控。實(shí)現(xiàn)了混料配比工藝過(guò)程的網(wǎng)絡(luò)化管理。

【參考文獻(xiàn)】

【1】朱金平,楊明.基于VB環(huán)境下開(kāi)發(fā)的配料稱(chēng)重系統(tǒng)[J].微計(jì)算機(jī)信息,2003,19(1):36-38.

【2】辛文舉.基于VB的標(biāo)簽打印機(jī)軟件和托利多電子稱(chēng)之間的串口通信[J].自動(dòng)化技術(shù)與應(yīng)用,2012,31(7):96-98.

【3】周慶貴.基于VB編程環(huán)境數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].測(cè)控技術(shù),2008,27(4):62-65.

大方县| 太湖县| 防城港市| 独山县| 扶绥县| 依安县| 克拉玛依市| 巍山| 易门县| 辉南县| 犍为县| 浑源县| 怀宁县| 保靖县| 疏附县| 邢台市| 青冈县| 睢宁县| 吴江市| 枣阳市| 长汀县| 彭泽县| 临泉县| 和林格尔县| 奉贤区| 新闻| 万盛区| 大安市| 正宁县| 扶沟县| 密云县| 莒南县| 加查县| 遵化市| 浏阳市| 华亭县| 崇礼县| 清河县| 那曲县| 都匀市| 天全县|