王秀麗,蘇文哲 ,薛漭潮,盧慧超 ,史恒瑞,王泓靜
(山西大學, 山西 太原 030013)
?
基于Visual Studio的公共自行車系統(tǒng)軟件設(shè)計
王秀麗,蘇文哲 ,薛漭潮,盧慧超 ,史恒瑞,王泓靜
(山西大學, 山西 太原 030013)
摘要:公共自行車系統(tǒng),簡稱PBS,在城市交通當中發(fā)揮著重要的作用。文中以此為研究內(nèi)容提出一種通信設(shè)計方案,其上位機程序在Visual Studio2013軟件中編寫,采用Modbus-RTU 標準協(xié)議,并運用Microsofr.Net Framework中的Serial Port類,實現(xiàn)了PBS中上位監(jiān)控機與公共自行車各站點下位機的通信功能。通過搭建實際系統(tǒng)并調(diào)試后,達到預(yù)期目的,驗證了該方案是簡單可行的。
關(guān)鍵詞:Visual Studio;通信;公共自行車;租賃系統(tǒng);軟件設(shè)計
公共自行車是環(huán)保出行的一種交通工具,它方便快捷、綠色低碳,越來越受到人們的關(guān)注。人們可以通過各站點的下位機查詢到一些相關(guān)信息,同時本站點的各種信息(如空余車位、故障車輛等)可由主控的上位機予以監(jiān)控。本文以此為基礎(chǔ),提出一種上位機與下位機之間新的軟件設(shè)計,即基于Microsofr.Net Framework中的Serial Port類實現(xiàn)的一種通信方式。
本系統(tǒng)的上位機用C#編寫,使用Visual Studio 2013軟件編程,采用Microsoft.NET Framework平臺中的串口控件Serial Port和定時器(Timer)定時對站點內(nèi)的儲存自行車狀態(tài)的寄存器進行詢問,最后由可視化控件(例如TextBox)進行狀態(tài)的顯示。
整體來說,軟件除了具有車站自行車狀態(tài)顯示的基本功能外(車站狀態(tài)選項卡),另外加入了通用的Modbus調(diào)試功能(Modbus調(diào)試選項卡),提高了軟件的通用性,也可以應(yīng)用于其他使用Modbus協(xié)議進行通信的場合。軟件在系統(tǒng)出現(xiàn)問題時可提供幫助。為了使用戶得到滿意的通訊效果,軟件加入了一些文本提示(說明選項卡)。
啟動程序后,首先在Modbus中設(shè)置好串口通信的參數(shù),與單片機建立通信后的程序流程圖如圖1所示。
圖1 程序流程圖
“車站狀態(tài)選項卡”實現(xiàn)了站點的實時顯示,即對站點的車位容量(車位總數(shù))、已經(jīng)被租賃自行車的數(shù)量(外借車數(shù))、被查詢站點車位空余的數(shù)目(車站空位)等數(shù)據(jù)進行實時掃描并以文本顯示出來。為了方便地顯示出通信狀態(tài),成功通信時狀態(tài)指示燈會從灰色變成綠色,同時為了方便地進行站點調(diào)試,也針對站點提供了聯(lián)級數(shù)、設(shè)備地址等編輯功能。設(shè)計好的界面如圖2所示。
圖2 車站狀態(tài)選項卡
“Modbus調(diào)試選項卡”中基本包含了軟件中所有的設(shè)置、調(diào)試功能。進入軟件后首先要遍歷串口以供用戶確定并選擇哪些串口是設(shè)備串口進而與單片機建立通信,然后需先后設(shè)置串口通信參數(shù)(例如串口波特率、數(shù)據(jù)位、校驗位、停止位等)和Modbus通信參數(shù)(例如設(shè)備地址、讀寄存器地址、讀寄存器數(shù)量等),設(shè)置完串口通信參數(shù)后就可以單擊“打開串口”按鈕來實現(xiàn)打開串口的操作和相關(guān)通信參數(shù)的應(yīng)用了。在打開串口后可以進行一些簡單的Modbus調(diào)試來檢測硬件是否正常使用(例如發(fā)送、接收數(shù)據(jù)等),同時使用車站狀態(tài)選項卡中的“激活”按鈕,就可以激活軟件與相關(guān)站點單片機的通信。設(shè)計好的界面如圖3所示。
圖3 Modbus調(diào)試選項卡
“說明選項卡”中聲明了調(diào)試中的一些方法技巧和軟件的功能限制。
本文采用串行通信方式,通訊協(xié)議采用Modbus-RTU標準協(xié)議,波特率為9600,1個起始位,8個數(shù)據(jù)位,低位先發(fā)送,采用CRC16校驗。
在RTU模式中,新的信息總是以至少3.5個字符的靜默時間開始,緊接著傳送第一個域:設(shè)備地址。整幀的信息必須以一個連續(xù)的數(shù)據(jù)流進行傳輸,如果信息結(jié)束前存在超過1.5個字符以上的間隔時間,則出錯。
一幀信息的標準結(jié)構(gòu)如表1。
地址域:從機(目標地址)的有效地址范圍為0~247,0為廣播地址。
功能域:有效編碼為1~255。
數(shù)據(jù)域:高字節(jié)在前,低字節(jié)在后;數(shù)據(jù)域由多組這樣的數(shù)據(jù)構(gòu)成——兩個十六進制數(shù)為一組,范圍在00~FF之間。
CRC校驗:CRC生成后,高字節(jié)在前,低字節(jié)在后。
表1 一幀信息的標準結(jié)構(gòu)
(n是由功能碼確定的)
本設(shè)計中的具體一幀數(shù)據(jù)(讀保持寄存器(0x03))如表2、表3。
表2 一幀數(shù)據(jù)的請求
說明:設(shè)備地址分別對應(yīng)四個分站單片機的設(shè)備地址,在硬件編程時采用一個常量表示;功能碼是0x03,在Modbus協(xié)議中表示讀保持寄存器;起始地址是指單片機內(nèi)寄存器的起始地址,在硬件編程中,使用數(shù)組模擬物理上的寄存器,并由本設(shè)計的硬件決定了寄存器的數(shù)量應(yīng)當不少于8;讀寄存器數(shù)量可以根據(jù)實際級聯(lián)情況進行改變;CRC校驗生成后,高字節(jié)在前,低字節(jié)在后。
說明:字節(jié)數(shù)是指目標讀取的寄存器的總字節(jié)數(shù);N是指請求中指定的讀寄存器數(shù)量。
(1)Modbus數(shù)據(jù)發(fā)送幀的計算程序
Modbus數(shù)據(jù)發(fā)送幀的計算程序如下:
{
case 0:
if (EnableFlag[0])
{
SiteBuffer[0] = (byte)Convert.ToInt16(textBox_SiteAddress1.Text);//
修改設(shè)備地址
SiteBuffer[5] = (byte)Convert.ToInt16(comboBox_Count1.Text);//
修改聯(lián)級數(shù)量,進而確定讀寄存器的數(shù)量
SiteCRC16 = crc16(SiteBuffer);//計算CRC校驗的高低字節(jié)
SiteBuffer[6] = SiteCRC16[0];
SiteBuffer[7] = SiteCRC16[1];
SendFrames(SiteBuffer);
}
break;
default:
SiteIndex = 0;
break;
}
}
(2)Modbus調(diào)試
設(shè)置好Modbus參數(shù)后,可以選擇發(fā)送一幀命令,也可以持續(xù)發(fā)送命令達到實時監(jiān)測的效果。
發(fā)送一幀命令效果如圖4所示。
圖4 發(fā)送一幀命令顯示圖
(3)車站狀態(tài)的巡檢
單擊車站狀態(tài)選項卡,單擊“激活”按鈕,車站巡檢開始,效果如圖5所示,即車站總數(shù)為16,目前車站空位有13個,可外借的剩余車數(shù)為3。
圖5 車站狀態(tài)的巡檢顯示圖
實際情況如圖6所示,與實際相符。
圖6 實際車站狀態(tài)圖
經(jīng)設(shè)計后的公共自行車軟件通信系統(tǒng),在調(diào)試后可驗證出該設(shè)計方案有效可行,符合預(yù)計的設(shè)計要求。下一步將會把該通信方式做到無線通信,即用戶可利用手機與相應(yīng)的短信平臺互發(fā)信息后實現(xiàn)用戶方便查詢各站點自行車的相關(guān)信息,如是否有空余車位、離用戶最近站點在哪里等。
參考文獻:
[1]易曉林.掃描開關(guān)檢測方法探討[J].宇航計測技術(shù),2006,26(4):68-72.
[2]陳柏金.通過串行口訪問Modbus現(xiàn)場控制網(wǎng)絡(luò)[J].微計算機信息,2003,19(1):52-54.
[3]吳桂林,鄭建勇.RS485上下位機多機通信網(wǎng)絡(luò)系統(tǒng)設(shè)計[J].微計算機信息,2008,24(36):112-126.
設(shè)計應(yīng)用
Design of PBS(Public Bicycle System) Software Based on Visual Studio
WANG Xiu-li ,SU Wen-ze,XUE Mang-chao,LU Hui-chao,SHI Heng-rui, WANG Hong-jing
(Shanxi University,Taiyuan 030013,China)
Abstract:Public bicycle system, referred to as PBS, who plays an important role in urban traffic. This paper put forward a design scheme of communication as the research content, among of them, the host computer program was written in Visual Studio2013 software, so as to realize the communication function of PBS in PC and lower machine of public bicycle each site, the standard Modbus-RTU protocol was used, and was implemented by Serial Port class of Microsofr.Net Framework. After building a real system and debugging,we had achieved the desired objectives, and resulted show that the scheme was simple and feasible.
Key words:Visual Studio; communication; public bicycle; rental system; software design
中圖分類號:TP393
文獻標識碼:A
文章編號:1009-3664(2015)02-0071-03
作者簡介:王秀麗(1978-),女,山西長治人,講師,碩士,主要從事電氣控制研究。
收稿日期:2015-01-20