999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MFC的單片機上下位機通信控制系統設計

2019-04-25 01:56:58吳雨川李紅軍
武漢紡織大學學報 2019年2期
關鍵詞:單片機計算機設計

江 維,吳雨川,李紅軍

?

基于MFC的單片機上下位機通信控制系統設計

江 維,吳雨川,李紅軍

(武漢紡織大學 機械工程與自動化學院,湖北 武漢 430200)

隨著現代信息技術的發展以及計算機的廣泛應用,計算機與計算機、計算機與微處理器(MCU)等之間串口通信在數據采集、數據通信、故障檢測、工業監控、實時控制系統等方面得到了廣泛應用。本文以單片機為下位機,PC為上位機,利用可視化編程軟件Visual C++6.0 MFC設計了友好的人機交互界面實現了PC與單片機之間的數據通信,其編程模塊化、易于擴展、通用性強,適用于一般的工業控制系統。

MFC(微軟基礎類);單片機;上位機;通信控制

上位機[1-4]是指人可以直接發出操控命令的計算機,一般是PC,屏幕上顯示各種信號變化(液壓,水位,溫度等)。下位機是直接控制設備獲取設備狀況的計算機,一般是PLC/單片機之類的。上位機發出的命令首先給下位機,下位機再根據此命令解釋成相應時序信號直接控制相應設備。下位機不時讀取設備狀態數據(一般為模擬量),轉換成數字信號反饋給上位機。這種以上位機控制下位機的控制系統為計算機遠程控制提供了技術基礎,是目前計算機通信控制的一個重要方面。

1 上位機開發方案論證和選取

1.1 基于Matlab設計的調試平臺

Matlab是Mathworks公司開發的面向理論分析研究和工程設計的一套具有強大功能的軟件系統。Matlab不僅能解決控制系統中存在的大量數值計算和矩陣運算,其編程也簡單并集圖像、顯示、處理等于一身。從Matlab6.0版本開始,其軟件增加了設備控制箱(instrument control toolbox),提供了對串口通信的支持。利用該工具箱的serial類能可靠地進行串口通信。可利用單片機和Matlab的優點,利用Matlab GUI圖形用戶界面和設計友好的可視化上位機平臺實現與PC串行通信及數據實時處理的方法。對數據的處理采用Matlab也能更好反映測試的性能,減少勞動強度,測試的結果十分明顯,是有效的實時數據采集和處理方法。

1.2 基于LabVIEW開發調試平臺

LabVIEW是一種程序開發環境,由美國國家儀器(NI)公司研制開發的,類似于C和BASIC開發環境,但是LabVIEW與其他計算機語言的顯著區別是:其他計算機語言都是采用基于文本的語言產生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產生的程序是框圖的形式。LabVIEW應用于數據采集與控制、信號分析等方面,它為不熟悉文本語言編程的非計算機專業從業人員在測控領域建立計算機儀器系統——虛擬儀器,提供了一個便捷、輕松的圖形化設計環境。由于其靈活、簡單易用、開發效率高等特點,正逐漸成為科技工作者進行儀器應用與開發的得力工具。如果采用單片機作為前端數據采集,通過串口進行與LabVIEW的數據通信,就可實現低成本、靈活方便、接口簡單的數據采集系統。這對于許多信號頻率不是太高的場合,此方案無疑非常便利。利用LabVIEW對單片機的數據進行分析處理,并通過串口實現二者之間的數據交換、經濟實用的數據采集及分析系統。

1.3 基于VC++開發的調試平臺

Visual C++是一種由微軟公司開發的包含協助開發環境的事件驅動編程語言,VC擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,程序員可以輕松的使用VC提供的組件快速建立一個應用程序。MSComm是Windows下串行通信編程控件,它為應用程序提供了通過串行接口收發數據的簡便方法。MSComm控件[5-6]在串口編程時非常方便。開發人員不必花時間去了解較為復雜的API函數,而且在Visual C++等語言中經常使用。

1.4 方案選擇和論證

用Matlab設計調試平臺,所編寫的軟件不能脫離Matlab編程環境在Windows平臺下直接運行,對上位機(PC機)的配置要求比較高,代碼執行效率較低,界面編寫功能簡單,不能達到某些用戶的需求。LabVIEW使用的是圖形化環境,對數據文檔的顯示及處理方面效率不高,而且對上位機(PC機)的配置要求比較高,以及考慮到現階段知識的儲備情況,所以不選擇這種方案。綜合上面三種方案,本課題選擇的是第三種方案,即基于VC++(Visual C++)開發的調試平臺,它界面明晰、操作方便,同時對于后期的擴展推廣也很容易實現。

2 下位機串口通信設計

以單片機為下位機設計串口接收上位機發送來的數據,其中單片機P1口接LED,串行通信波特率設定為9600BPS,在KEILC中編寫的C語言程序如下:

#include

unsigned char flag;

unsigned char w,i;

unsigned int j;

void main()

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

TR1=1;

SCON=0x50;

PCON=0x00;

EA=1;

ES=1;

while(1);

}

void ser() interrupt 4

{

RI=0;

flag=SBUF;

if(flag=='1')

{

w=0xfe;

for(i=0;i<8;i++)

{

w=~((~w)<

P1=w;

for(j=0;j<10000;j++);

}

}

else if(flag=='2')

{

w=0x7f;

for(i=0;i<8;i++)

{

w=~((~w)>>i);

P1=w;

for(j=0;j<10000;j++);

}

}

else if(flag=='3')

{

P1=0xff;

for(j=0;j<10000;j++);

P1=0x00;

for(j=0;j<10000;j++);

}

}

圖1 基于VC++設計的通信控制界面

3 上、下位機通信的實現

(1)在Visual C++6.0中新建工程添加串口通信控件設計上位機通信控制界面如圖1所示:

(2)添加串口初始化代碼:

if(m_ctrlComm.GetPortOpen())

m_ctrlComm.SetPortOpen(FALSE);

m_ctrlComm.SetCommPort(2); //選擇com2

if( !m_ctrlComm.GetPortOpen())

m_ctrlComm.SetPortOpen(TRUE);//打開串口

else

AfxMessageBox("cannot open serial port");

m_ctrlComm.SetSettings("9600,n,8,1"); //波特率9600,無校驗,8個數據位,1個停止位

m_ctrlComm.SetInputMode(1); //1:表示以二進制方式檢取數據

m_ctrlComm.SetRThreshold(1); //參數1表示每當串口接收緩沖區中有多于或等于1個字符時將引發一個接收數據的OnComm事件

m_ctrlComm.SetInputLen(0); //設置當前接收區數據長度為0

m_ctrlComm.GetInput();//先預讀緩沖區以清除殘留數據

(3)分別為信號1和信號2兩個按鈕控件添加事件處理函數:

char i= '1';

CString str;

str.Format("%c",i);

m_ctrlComm.SetOutput(COleVariant(str));

char i= '2';

CString str;

str.Format("%c",i);

m_ctrlComm.SetOutput(COleVariant(str));

(4)聯機調試現象:將單片機通過串口線和PC相連,把下位機串口通信程序下載到單片機中,用鼠標在PC上分別點擊界面上的信號1信號2兩個按鈕控件,可以觀察到單片機P1口上的8個LED順序流水燈、反序流水燈現象,編輯框可以接收下位機發過來的數據,清空接收區按鈕可以將接收區的數據清空,點擊退去系統按鈕控件可以退出控制界面。

4 結語

針對本文的設計要求,較好的完成了方案的選擇和任務,有效的實現了上位機和下位機的通信,設計出了友好的可視化界面和上位機下位機編程模塊,通用性強,推廣價值高,可運用于實際的工業控制系統之中。

[1] 樊新乾,潘存海.基于Modbus/TCP協議臺達PLC與上位機VB軟件之間的通信[J].制造業自動化,2012,34(20):33-35.

[2] 陸嘉,孟文,李常輝.基于VB的PLC與上位機通信軟件的設計[J].自動化技術與應用,2007,26(9):79-81.

[3] 李志宏,杜娟,張平.基于VB的PLC和上位機通信的實現方法[J].控制工程,2002,9(1):35-37.

[4] 胡昊,劉建華,侯云輝.基于冗余S7-400H的通信系統在熱媒爐項目中的應用[J].化工自動化及儀表,2017,44(8):774-777.

[5] 張素萍,李朝強.基于MSComm和隊列技術的LabVIEW數據采集系統設計[J].國外電子測量技術,2016,35(6):86-91.

[6] 龔建偉.VisualC++/TurboC串口通信編程實踐(第2版)[M].北京:電子工業出版社,2007.9.

Design of Communication Control System for Upper and Lower SCM based on MFC

JIANG Wei, WU Yu-chuan, LI Hong-jun

(School of Mechanical Engineering and Automation, Wuhan Textile University, Wuhan Hubei 430200, China)

With the development of modern information technology and the wide application of computers, serial communication between computers and computers and computers and microprocessors (MCUs) have been used widely in data acquisition, data communication, fault detection, industrial monitoring, real-time control systems, etc. In this paper, the single-chip microcomputer is used as the lower computer, and the PC is the upper computer. The visual programming software Visual C++6.0 MFC is used to design a friendly human-computer interaction interface to realize the data communication between the PC and the single-chip microcomputer. The soft programme is modular, easy to be expanded and strong universal, which is suitable for general industrial control systems.

Microsoft Foundation Class; SCM; Host computer; Communication control

江維(1983-),男,講師,博士,研究方向:智能控制與嵌入式系統.

2018年武漢紡織大學教學研究項目(2018JY019).

TP273

A

2095-414X(2019)02-0077-04

猜你喜歡
單片機計算機設計
計算機操作系統
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: a天堂视频| 嫩草在线视频| 国产精品无码在线看| 一级爱做片免费观看久久| 国内精品久久人妻无码大片高| 久久99国产综合精品1| 国产精品污视频| 国产精品欧美亚洲韩国日本不卡| 国产精品手机在线观看你懂的| 91福利免费| 久久香蕉国产线看精品| 久久精品丝袜| 国产成人综合久久精品尤物| 无码高潮喷水专区久久| 伊人久久福利中文字幕| 国产精品妖精视频| 日韩黄色大片免费看| 国内精品91| 国产精品视频久| 天天综合色网| 国产天天色| 午夜福利网址| 国产白浆视频| 欧美激情视频一区| 国产视频 第一页| 呦女亚洲一区精品| 99精品在线视频观看| 国产日韩精品一区在线不卡| V一区无码内射国产| 国产免费福利网站| 日韩第九页| AV不卡国产在线观看| 最近最新中文字幕在线第一页| 欧美日韩中文国产| 波多野结衣无码AV在线| 亚洲第一色网站| 亚洲伦理一区二区| 日韩a级片视频| 欧美一级99在线观看国产| 国产欧美日韩免费| 亚洲一区二区三区麻豆| 久久精品亚洲专区| 在线视频亚洲色图| 色天天综合久久久久综合片| 久久久久免费精品国产| 91在线激情在线观看| 狠狠做深爱婷婷综合一区| 国产麻豆精品手机在线观看| a毛片基地免费大全| 老司机午夜精品视频你懂的| 国产精品无码AV片在线观看播放| 国产国产人免费视频成18| 性69交片免费看| 亚洲国产欧洲精品路线久久| 国产福利不卡视频| 成人av专区精品无码国产| 试看120秒男女啪啪免费| 精品1区2区3区| 国产乱子伦视频在线播放| 国产又爽又黄无遮挡免费观看| 国产黄色爱视频| 亚洲日韩每日更新| 在线一级毛片| 99视频在线免费| 伊人成色综合网| 女人18毛片一级毛片在线 | 男人天堂伊人网| 欧美第一页在线| 中文字幕在线看| 亚洲精品无码久久毛片波多野吉| www.亚洲国产| 天天干伊人| 在线亚洲小视频| 白丝美女办公室高潮喷水视频| 国产在线97| 蜜桃臀无码内射一区二区三区| 国产亚洲欧美日本一二三本道| 免费人成网站在线高清| 最新国产高清在线| 亚洲AV无码精品无码久久蜜桃| 亚洲中文精品人人永久免费| 九九线精品视频在线观看|