鄒劍峰
摘 要:介紹了S7-200PLC通過(guò)Modbus RTU協(xié)議作為從站與PC主站通訊的方法,通過(guò)S7-200PLC對(duì)S7-300PLC的信號(hào)中轉(zhuǎn),用VB6.0編寫的料斗秤計(jì)量軟件實(shí)現(xiàn)了對(duì)S7-200PLC及S7-300PLC的信號(hào)交換,開(kāi)發(fā)了船舶大宗原料料斗秤檢斤計(jì)量系統(tǒng)并得到有效應(yīng)用。
關(guān)鍵詞:S7-200PLC;料斗秤;Modbus RTU協(xié)議
引言
目前,鋼鐵企業(yè)船舶運(yùn)輸?shù)拇笞谠牧隙际遣捎脵z尺的方式進(jìn)行計(jì)量,但由于種種原因,經(jīng)常導(dǎo)致檢尺計(jì)量數(shù)據(jù)偏差大,買賣雙方矛盾重重。為了解決上述問(wèn)題,采用將原料通過(guò)卸料皮帶運(yùn)至陸域后采用靜態(tài)料斗計(jì)量,實(shí)現(xiàn)檢斤計(jì)量,準(zhǔn)確計(jì)量后,通過(guò)皮帶轉(zhuǎn)運(yùn)至原料堆場(chǎng)。計(jì)量數(shù)據(jù)及時(shí)傳給公司計(jì)量管理系統(tǒng),為公司原料管理部門提供實(shí)時(shí)、準(zhǔn)確、完整的船運(yùn)原料計(jì)量數(shù)據(jù)。
1 系統(tǒng)功能
船運(yùn)大宗原料通過(guò)201膠帶機(jī)、202膠帶機(jī)、203膠帶機(jī)、204膠帶機(jī)、205膠帶機(jī)、206-1膠帶機(jī)、206-2膠帶機(jī)、布料器將原料轉(zhuǎn)運(yùn)進(jìn)計(jì)量料倉(cāng)A,當(dāng)倉(cāng)A達(dá)到預(yù)設(shè)稱量條件,系統(tǒng)驅(qū)動(dòng)布料器移動(dòng)到B計(jì)量倉(cāng)上裝料,此時(shí),A計(jì)量倉(cāng)計(jì)量,A倉(cāng)計(jì)量完畢,打開(kāi)液壓閘門,原料通過(guò)206-3膠帶機(jī)、206-4膠帶機(jī)、207膠帶機(jī)轉(zhuǎn)運(yùn)至后方堆場(chǎng),A計(jì)量倉(cāng)卸料完畢,關(guān)閉液壓閘門;當(dāng)倉(cāng)B達(dá)到預(yù)設(shè)稱量條件,系統(tǒng)驅(qū)動(dòng)布料器移動(dòng)到A計(jì)量倉(cāng)裝料,此時(shí),B計(jì)量倉(cāng)計(jì)量,B倉(cāng)計(jì)量完畢,打開(kāi)液壓閘門放料,原料通過(guò)206-3膠帶機(jī)、206-4膠帶機(jī)、207膠帶機(jī)轉(zhuǎn)運(yùn)至后方堆場(chǎng),B計(jì)量倉(cāng)卸料完畢,關(guān)閉液壓閘門。如此循環(huán),實(shí)現(xiàn)船運(yùn)大宗原料的檢斤計(jì)量,同時(shí)保證碼頭船運(yùn)大宗原料的有序卸載。計(jì)量工藝流程如圖1所示。
圖1 碼頭船運(yùn)原料卸載計(jì)量工藝流程
2 系統(tǒng)結(jié)構(gòu)
根據(jù)碼頭卸載工藝需求以及料斗秤計(jì)量需求,碼頭基礎(chǔ)控制系統(tǒng)使用西門子S7-300PLC控制器,控制碼頭卸料料線的啟停、布料器在計(jì)量倉(cāng)上的位置檢測(cè)等。料線啟停等操作由基礎(chǔ)自動(dòng)化操作站完成。S7-300PLC檢測(cè)信號(hào)(如卸料小車位置檢測(cè)、料線運(yùn)行狀態(tài)等)實(shí)時(shí)通過(guò)Profibus-DP網(wǎng)絡(luò)傳給S7-200PLC系統(tǒng)。S7-200PLC、稱重儀表A、稱重儀表B、串口服務(wù)器等組成RS485總線計(jì)量網(wǎng)絡(luò),計(jì)量操作站中的上位機(jī)軟件不斷讀取稱重儀表A、稱重儀表B、S7-200PLC中的數(shù)據(jù),通過(guò)邏輯判斷完成稱量,S7-200PLC驅(qū)動(dòng)計(jì)量倉(cāng)下液壓閘門的打開(kāi)或關(guān)閉,將計(jì)量倉(cāng)中的原料排出,同時(shí)將計(jì)量信息(如料倉(cāng)內(nèi)物料重量、料倉(cāng)是否具備裝料條件等)通過(guò)S7-200PLC傳給S7-300PLC系統(tǒng),通過(guò)邏輯判斷實(shí)現(xiàn)S7-300PLC對(duì)布料器的驅(qū)動(dòng)控制。計(jì)量料倉(cāng)A和計(jì)量料倉(cāng)B的靜態(tài)稱量由計(jì)量操作站完成。
S7-200PLC支持Modbus RTU 協(xié)議,稱重儀表A和稱重儀表B支持RS485接口通訊,計(jì)量軟件采用VB6.0開(kāi)發(fā),主要借助VB開(kāi)發(fā)平臺(tái)下的MSComm、Timer控件來(lái)實(shí)現(xiàn)與S7-200PLC、稱重儀表A、重儀表B 的串行通訊。使用串口服務(wù)器完成RS485/RS232的轉(zhuǎn)換,同時(shí)在上位機(jī)中完成端口映射,計(jì)量操作站中實(shí)際使用了COM1、COM2、COM3三個(gè)串口,分別與S7-200PLC、稱重儀表A、稱重儀表B通訊。
計(jì)量操作站一用一備,計(jì)量數(shù)據(jù)保存在本地服務(wù)器的同時(shí)將數(shù)據(jù)傳給公司計(jì)量管理系統(tǒng),為系統(tǒng)連續(xù)運(yùn)行及數(shù)據(jù)的可靠性提供了保障。系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
3 系統(tǒng)功能的實(shí)現(xiàn)
3.1 S7-300PLC和S7-200PLC通訊
系統(tǒng)中使用S7-300PLC完成基礎(chǔ)自動(dòng)化控制(如卸料料線的啟停、計(jì)量倉(cāng)上布料器的位置檢測(cè)、公輔系統(tǒng)的控制等),其中如料線運(yùn)行狀態(tài)信號(hào)、布料器位置信號(hào)等均要傳給S7-200PLC系統(tǒng);由計(jì)量上位機(jī)發(fā)給S7-200PLC計(jì)量完成信號(hào)、液壓閘門打開(kāi)/關(guān)閉信號(hào)等要傳給S7-300PLC系統(tǒng)。
S7-200PLC系統(tǒng)配置EM277通訊模塊,與S7-300PLC 通過(guò)Profibus-DP網(wǎng)絡(luò)連接,在S7-300PLC編程軟件中安裝EM277 GSD文件,將配有EM277模塊的S7-200PLC組態(tài)在S7-300PLC硬件系統(tǒng)中,完成地址映射,實(shí)現(xiàn)S7-300PLC 和S7-200PLC的通訊。
3.2 計(jì)量上位機(jī)軟件與S7-200PLC、稱重儀表A、稱重儀表B通訊
計(jì)量系統(tǒng)中計(jì)量操作站、S7-200PLC、稱重儀表A、稱重儀表B組成RS485總線網(wǎng)絡(luò),采用Modbus RTU協(xié)議。Modbus RTU協(xié)議采用主從工作方式,允許一臺(tái)主機(jī)和多臺(tái)從機(jī)通信,每臺(tái)從機(jī)地址由用戶設(shè)定,地址范圍為1~255。計(jì)量操作站作為主站,S7-200PLC、稱重儀表A及稱重儀表B作為從站。S7-200 CPU上的通訊口Port0通過(guò)指令庫(kù)支持Modbus RTU 從站模式。
Modbus 通訊協(xié)議規(guī)范:起始符+設(shè)備地址+功能代碼+數(shù)據(jù)+校驗(yàn)和+結(jié)束符。對(duì)S7-200PLC來(lái)說(shuō),其中“功能代碼”表明了該命令要執(zhí)行什么功能,如01碼讀取單個(gè)/多個(gè)線圈(離散量輸出點(diǎn))狀態(tài),03碼讀取單個(gè)/多個(gè)保持寄存器,返回V存儲(chǔ)區(qū)的狀態(tài)等。“校效和”在整個(gè)規(guī)范中非常重要。我們知道,RS232通訊格式里的奇偶校驗(yàn)方式并不能保證每個(gè)字符都正確,所以需要把所有字符的值按照某種規(guī)律計(jì)算,計(jì)算得到的字符(校驗(yàn)和)傳給接收方,接收時(shí)再把接收到的字符的值按照某種規(guī)律計(jì)算,得到的字符與發(fā)送方傳送過(guò)來(lái)的校驗(yàn)和字符比較,如果相等,就算接收正確了。
3.2.1 S7-200PLC作為從站與計(jì)量操作站通訊
S7-200 CPU上的通訊口Port0通過(guò)指令庫(kù)支持Modbus RTU 從站模式。S7-200PLC Modbus RTU
從站協(xié)議是通過(guò)調(diào)用指令庫(kù)中的兩個(gè)功能塊實(shí)現(xiàn)的,兩個(gè)功能塊分別是MBUS_INIT和MBUS_SLAVE。MBUS_INIT功能塊被用于啟用和初始化或禁止Modbus通訊。MBUS_SLAVE功能塊被用于為Modbus主設(shè)備發(fā)出的查詢服務(wù),并且必須在每次掃描時(shí)執(zhí)行,以便允許該指令檢查和響應(yīng)Modbus主設(shè)備查詢。兩個(gè)功能塊圖如圖3。
圖3
在S7-200PLC與計(jì)量操作站通訊之前,根據(jù)主站的通訊參數(shù)進(jìn)行初始化設(shè)置,MBUS_INIT功能塊通訊格式設(shè)置如下:Mode為1,表示為Modbus協(xié)議;Addr從站地址為1;Baud波特率為19200;Parity為2是偶校驗(yàn);MaxIQ表示讀取輸入輸出數(shù)字量的點(diǎn)數(shù);MaxAI表示讀取模擬量的點(diǎn)數(shù);MaxHold和HoldStart結(jié)合使用可以讀取V存儲(chǔ)區(qū)數(shù)據(jù),設(shè)置開(kāi)始讀取地址以及讀取數(shù)量。完成MBUS_INIT功能塊參數(shù)的設(shè)置,然后通過(guò)調(diào)用MBUS_SLAVE功能塊響應(yīng)主機(jī)查詢信息。
3.2.2 計(jì)量操作站作為主站與PLC通訊
計(jì)量軟件采用VB6.0編程,VB6.0與Windows系統(tǒng)有著非常完美的接口,VB6.0提供了一個(gè)非常方便的通信控件MSComm。應(yīng)用程序嵌入MSComm控件,通過(guò)MSComm控件提供的事件驅(qū)動(dòng)或查詢方式來(lái)進(jìn)行串行通信管理。S7-200PLC、稱重儀表A、稱重儀表B分別接入串口服務(wù)器后,實(shí)現(xiàn)RS485/RS232的轉(zhuǎn)換,通過(guò)串口映射,計(jì)算機(jī)中使用COM1、COM2、COM3分別對(duì)應(yīng)S7-200PLC、稱重儀表A、稱重儀表B,分別對(duì)3個(gè)串口進(jìn)行編寫通訊程序。
(1)通訊口初始化編程
使用VB中的MSComm控件通訊時(shí),初始化程序如下:
On Error GoTo Prog_err: '此處作用:如果您選擇了電腦中不存在的通訊口,則'Prog_err'程序段,提示“無(wú)效的通訊口”
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False '串口是打開(kāi)狀態(tài),則關(guān)閉,進(jìn)行串口的設(shè)置工作
MSComm1.CommPort = Combo1.ListIndex + 1 '設(shè)置通訊端口號(hào)
MSComm1.Settings = CStr(Combo3.Text) & “E,8,1” '*設(shè)定通訊格式
MSComm1.InputLen = 0 '*將接收緩沖區(qū)內(nèi)容全部讀回來(lái)
MSComm1.OutBufferCount = 0 '*設(shè)置并返回發(fā)送緩沖區(qū)的字節(jié)數(shù),設(shè)為0時(shí)清空發(fā)送緩沖區(qū)
MSComm1.InBufferCount = 0 '*設(shè)置并返回接收緩沖區(qū)的字節(jié)數(shù),設(shè)為0時(shí)清空接收緩沖區(qū)
MSComm1.InputMode = comInputModeBinary '*二進(jìn)制接收
MSComm1.RThreshold = 1 '*產(chǎn)生ON_COMMM事件的字符數(shù)
MSComm1.PortOpen = True '*打開(kāi)串口
Label2.Caption = “串口已打開(kāi)”
Order = 0
Timer1.Enabled = True
Timer2.Enabled = False
RWcomm = False
Exit Sub
Prog_err:
Label3.Caption = “無(wú)此端口”
(2)計(jì)量操作站讀數(shù)及寫數(shù)程序(以讀輸入I點(diǎn)和輸出Q點(diǎn)為例)
使用01功能碼和02功能碼實(shí)現(xiàn)對(duì)輸入I點(diǎn)和輸出Q點(diǎn)的讀數(shù)程序如下:
ReDim SenData(0 To 7) As Byte '*發(fā)送變量
Adree = Right(“0000” + Hex(Val(“&o” + CStr(Val(Text4.Text) * 10 + Combo2.Text))), 4)
'地址要求是兩個(gè)字節(jié),所以前面補(bǔ)零
'西門子輸出是八進(jìn)制,所以先將八進(jìn)制轉(zhuǎn)換為十進(jìn)制
SenData(0) = &H1 '從站站號(hào)
If Option6.Value = True Then '畫面中選擇 Q 點(diǎn)輸出
SenData(1) = &H1 '01碼 讀數(shù)字量輸出位 命令
Else '畫面中選擇 I 點(diǎn)輸入 即如果是對(duì)輸入操作
SenData(1) = &H2 '02碼 讀數(shù)字量輸入位 命令
End If
SenData(2) = Val(“&H” + Mid(Adree, 1, 2)) '寄存器通訊地址高字節(jié)
SenData(3) = Val(“&H” + Mid(Adree, 3, 2)) '寄存器通訊地址低字節(jié)
SenData(4) = &H0 '讀取個(gè)數(shù)高字節(jié)
SenData(5) = &H1 '讀取個(gè)數(shù)低字節(jié)
getData = Chr_crc(SenData) '校驗(yàn)計(jì)算[從SenDataR(0) 到 SenDataR(5) 參加校驗(yàn)和計(jì)算)]
SenData(6) = Val(“&H” + Mid(getData, 1, 2)) '校驗(yàn)高字節(jié)
SenData(7) = Val(“&H” + Right(getData, 2)) '校驗(yàn)低字節(jié)
……
(3)計(jì)量操作站中數(shù)據(jù)處理程序
MSComm控件處理通訊方式有兩種:事件驅(qū)動(dòng)方式和查詢方式。本系統(tǒng)采用事件驅(qū)動(dòng)方式。在串口緩沖區(qū)接受到字符時(shí)觸發(fā)OnComm事件捕獲并處理通信事件。程序通過(guò)Rthreshold屬性值來(lái)實(shí)現(xiàn)觸發(fā)OnComm事件來(lái)處理S7-200PLC發(fā)送來(lái)的從站響應(yīng)信息。部分程序如下。
Private Sub MSComm1_OnComm()
Dim I As Integer '定義整數(shù) I
Dim getData() As Byte '讀取接收緩沖區(qū)變量 定義字節(jié)型數(shù)組變量
Dim getData_len As Long '判斷讀取長(zhǎng)度 定義長(zhǎng)整型數(shù)據(jù)
Dim CrcJ() As Byte '用于校驗(yàn)計(jì)算 定義字節(jié)型數(shù)組變量
Dim j As Integer '定義整數(shù) j
If MSComm1.CommEvent = comEvReceive Then 'CommEvent的屬性返回的值為comEvReceive時(shí)是發(fā)生了接收事件.
getData = MSComm1.Input '讀取接收緩沖區(qū)內(nèi)容 將緩沖區(qū)內(nèi)容賦值給getData數(shù)組變量。
getData_len = UBound(getData) '返回一個(gè) Long 型數(shù)據(jù),其值為指定的數(shù)維組可用的最大下標(biāo)
For j = 0 To getData_len '將讀取的字節(jié)變換為字符
Read = Read & Right(“00” + Hex(getData(j)), 2) '將獲取到的數(shù)組變量依次轉(zhuǎn)換成十六進(jìn)制數(shù),每個(gè)字節(jié)補(bǔ)齊后取2位 組合成一個(gè)十六進(jìn)制數(shù)字符串。
Next j
……
(4)稱重儀表A和稱重儀表B和計(jì)量軟件的通訊
稱重儀表A和稱重儀表B都支持Modbus RTU 協(xié)議,分別對(duì)應(yīng)COM2和COM3串口,編程方式類似對(duì)S7-200PLC的編程,需熟悉稱重儀表的數(shù)據(jù)格式,在此不再贅述。
4 結(jié)束語(yǔ)
本系統(tǒng)碼頭料斗秤計(jì)量軟件通過(guò)Modbus RTU 協(xié)議實(shí)現(xiàn)與S7-200PLC信號(hào)交換,通過(guò)S7-200PLC中轉(zhuǎn)也實(shí)現(xiàn)了與S7-300PLC的信號(hào)交換。通過(guò)信號(hào)的邏輯判斷以及稱重儀表重量數(shù)據(jù)的直接讀取,碼頭船舶大宗原料料斗秤檢斤計(jì)量得到成功實(shí)現(xiàn),有效解決了買賣雙方之間的矛盾。
S7-200PLC 作為現(xiàn)場(chǎng)控制設(shè)備,通過(guò)Modbus協(xié)議,不僅可以作為與PC 機(jī)通訊的從站,也可以作為主站,在現(xiàn)代工業(yè)控制中使用相當(dāng)廣泛。利用Modbus協(xié)議開(kāi)發(fā)通訊程序,不僅能保證系統(tǒng)的可靠性,而且有效降低了開(kāi)發(fā)成本。
參考文獻(xiàn)
[1]西門子公司SIMATIC S7-200可編程控制器手冊(cè)[M].北京國(guó)防工業(yè)出版社,2000.
[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[D].清華大學(xué)出版社,2002
[3]劉瑞新,李樹(shù)東,萬(wàn)朝陽(yáng).Visual Basic 程序設(shè)計(jì)教程[M].電子工業(yè)出版社,2000.
[4]祝木田,師勇.Modbus 協(xié)議通訊的應(yīng)用[J].微計(jì)算機(jī)信息,2003
Private Sub MSComm1_OnComm()
Dim I As Integer '定義整數(shù) I
Dim getData() As Byte '讀取接收緩沖區(qū)變量 定義字節(jié)型數(shù)組變量
Dim getData_len As Long '判斷讀取長(zhǎng)度 定義長(zhǎng)整型數(shù)據(jù)
Dim CrcJ() As Byte '用于校驗(yàn)計(jì)算 定義字節(jié)型數(shù)組變量
Dim j As Integer '定義整數(shù) j
If MSComm1.CommEvent = comEvReceive Then 'CommEvent的屬性返回的值為comEvReceive時(shí)是發(fā)生了接收事件.
getData = MSComm1.Input '讀取接收緩沖區(qū)內(nèi)容 將緩沖區(qū)內(nèi)容賦值給getData數(shù)組變量。
getData_len = UBound(getData) '返回一個(gè) Long 型數(shù)據(jù),其值為指定的數(shù)維組可用的最大下標(biāo)
For j = 0 To getData_len '將讀取的字節(jié)變換為字符
Read = Read & Right(“00” + Hex(getData(j)), 2) '將獲取到的數(shù)組變量依次轉(zhuǎn)換成十六進(jìn)制數(shù),每個(gè)字節(jié)補(bǔ)齊后取2位 組合成一個(gè)十六進(jìn)制數(shù)字符串。
Next j
……
(4)稱重儀表A和稱重儀表B和計(jì)量軟件的通訊
稱重儀表A和稱重儀表B都支持Modbus RTU 協(xié)議,分別對(duì)應(yīng)COM2和COM3串口,編程方式類似對(duì)S7-200PLC的編程,需熟悉稱重儀表的數(shù)據(jù)格式,在此不再贅述。
4 結(jié)束語(yǔ)
本系統(tǒng)碼頭料斗秤計(jì)量軟件通過(guò)Modbus RTU 協(xié)議實(shí)現(xiàn)與S7-200PLC信號(hào)交換,通過(guò)S7-200PLC中轉(zhuǎn)也實(shí)現(xiàn)了與S7-300PLC的信號(hào)交換。通過(guò)信號(hào)的邏輯判斷以及稱重儀表重量數(shù)據(jù)的直接讀取,碼頭船舶大宗原料料斗秤檢斤計(jì)量得到成功實(shí)現(xiàn),有效解決了買賣雙方之間的矛盾。
S7-200PLC 作為現(xiàn)場(chǎng)控制設(shè)備,通過(guò)Modbus協(xié)議,不僅可以作為與PC 機(jī)通訊的從站,也可以作為主站,在現(xiàn)代工業(yè)控制中使用相當(dāng)廣泛。利用Modbus協(xié)議開(kāi)發(fā)通訊程序,不僅能保證系統(tǒng)的可靠性,而且有效降低了開(kāi)發(fā)成本。
參考文獻(xiàn)
[1]西門子公司SIMATIC S7-200可編程控制器手冊(cè)[M].北京國(guó)防工業(yè)出版社,2000.
[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[D].清華大學(xué)出版社,2002
[3]劉瑞新,李樹(shù)東,萬(wàn)朝陽(yáng).Visual Basic 程序設(shè)計(jì)教程[M].電子工業(yè)出版社,2000.
[4]祝木田,師勇.Modbus 協(xié)議通訊的應(yīng)用[J].微計(jì)算機(jī)信息,2003
Private Sub MSComm1_OnComm()
Dim I As Integer '定義整數(shù) I
Dim getData() As Byte '讀取接收緩沖區(qū)變量 定義字節(jié)型數(shù)組變量
Dim getData_len As Long '判斷讀取長(zhǎng)度 定義長(zhǎng)整型數(shù)據(jù)
Dim CrcJ() As Byte '用于校驗(yàn)計(jì)算 定義字節(jié)型數(shù)組變量
Dim j As Integer '定義整數(shù) j
If MSComm1.CommEvent = comEvReceive Then 'CommEvent的屬性返回的值為comEvReceive時(shí)是發(fā)生了接收事件.
getData = MSComm1.Input '讀取接收緩沖區(qū)內(nèi)容 將緩沖區(qū)內(nèi)容賦值給getData數(shù)組變量。
getData_len = UBound(getData) '返回一個(gè) Long 型數(shù)據(jù),其值為指定的數(shù)維組可用的最大下標(biāo)
For j = 0 To getData_len '將讀取的字節(jié)變換為字符
Read = Read & Right(“00” + Hex(getData(j)), 2) '將獲取到的數(shù)組變量依次轉(zhuǎn)換成十六進(jìn)制數(shù),每個(gè)字節(jié)補(bǔ)齊后取2位 組合成一個(gè)十六進(jìn)制數(shù)字符串。
Next j
……
(4)稱重儀表A和稱重儀表B和計(jì)量軟件的通訊
稱重儀表A和稱重儀表B都支持Modbus RTU 協(xié)議,分別對(duì)應(yīng)COM2和COM3串口,編程方式類似對(duì)S7-200PLC的編程,需熟悉稱重儀表的數(shù)據(jù)格式,在此不再贅述。
4 結(jié)束語(yǔ)
本系統(tǒng)碼頭料斗秤計(jì)量軟件通過(guò)Modbus RTU 協(xié)議實(shí)現(xiàn)與S7-200PLC信號(hào)交換,通過(guò)S7-200PLC中轉(zhuǎn)也實(shí)現(xiàn)了與S7-300PLC的信號(hào)交換。通過(guò)信號(hào)的邏輯判斷以及稱重儀表重量數(shù)據(jù)的直接讀取,碼頭船舶大宗原料料斗秤檢斤計(jì)量得到成功實(shí)現(xiàn),有效解決了買賣雙方之間的矛盾。
S7-200PLC 作為現(xiàn)場(chǎng)控制設(shè)備,通過(guò)Modbus協(xié)議,不僅可以作為與PC 機(jī)通訊的從站,也可以作為主站,在現(xiàn)代工業(yè)控制中使用相當(dāng)廣泛。利用Modbus協(xié)議開(kāi)發(fā)通訊程序,不僅能保證系統(tǒng)的可靠性,而且有效降低了開(kāi)發(fā)成本。
參考文獻(xiàn)
[1]西門子公司SIMATIC S7-200可編程控制器手冊(cè)[M].北京國(guó)防工業(yè)出版社,2000.
[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[D].清華大學(xué)出版社,2002
[3]劉瑞新,李樹(shù)東,萬(wàn)朝陽(yáng).Visual Basic 程序設(shè)計(jì)教程[M].電子工業(yè)出版社,2000.
[4]祝木田,師勇.Modbus 協(xié)議通訊的應(yīng)用[J].微計(jì)算機(jī)信息,2003