嵌對入式智能人機界面與PLC的通訊探討
1、引言
近年來www.cechina.cn,“嵌入式”一詞越來越多的被人們提及,嵌入式產(chǎn)品被應(yīng)用到各行各業(yè)。與嵌入式相關(guān)的技術(shù)如嵌入式產(chǎn)品,嵌入式系統(tǒng)的研究等也被列為“十五” 家發(fā)展的重點方向。
嵌入式系統(tǒng) (bbbbbded System)被定義為:以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。
隨著工業(yè)自動化的發(fā)展,基于PLCwww.cechina.cn,單片機等設(shè)備的自動化系統(tǒng)控制工程網(wǎng)版權(quán)所有,自動化設(shè)備越來越普及,幾乎遍布所有自動化領(lǐng)域,與之相應(yīng)的人機交互系統(tǒng)也應(yīng)運而生,并得到同步發(fā)展?;谇度胧郊夹g(shù)的工業(yè)人機界面是人機交互系統(tǒng)中一顆耀眼的明星。高可靠, 壽命,體積小,高性能,多線程,多任務(wù),強實時等特點使嵌入式工業(yè)人機界面越來越受到自動化系統(tǒng)集成商,自動化設(shè)備制造商的青睞。它能夠理
想,生動地顯示PLCwww.cechina.cn,單片機等工業(yè)設(shè)備上的數(shù)據(jù)信息,功能強大,使用方便。它作為PLC等控制設(shè)備的上端設(shè)備在用戶和機器之間架設(shè)了一條橋梁。該產(chǎn)品目前廣泛應(yīng)用在工業(yè)自動化系統(tǒng),醫(yī)療,金融等行業(yè)的自動化設(shè)備。
隨著越來越多的工程項目采用了嵌入式人機界面,相應(yīng)的,用戶對與嵌入式硬件配套使用的監(jiān)控系統(tǒng)(Supervisory Control and Data Acquisition控制工程網(wǎng)版權(quán)所有,SCADA)等應(yīng)用軟件的需求也在增加。這也正是本文所要討論的問題。這里講的嵌入式監(jiān)控系統(tǒng),其硬件為嵌入式智能人機界面;其軟件為嵌入式操作系統(tǒng),另加自己開發(fā)的應(yīng)用程序。本文后面主要介紹這個監(jiān)控應(yīng)用程序,重點介紹應(yīng)用程序中通訊部分的實現(xiàn)原理。
當今,已發(fā)展有多種嵌入式操作系統(tǒng),如Linux, VxWorks,WinCE.net等,完全可在其上開發(fā)出圖文并茂、界面友好的應(yīng)用,以滿足監(jiān)控系統(tǒng)的種種要求。只是由于嵌入式技術(shù)相對是一門新興的領(lǐng)先技術(shù),涉足的人相對還比較少,所以這樣的應(yīng)用目前還比較少。本文介紹的嵌入式監(jiān)控系統(tǒng)算是一個實例吧。
2、系統(tǒng)組成
我們所開發(fā)的這套嵌入式監(jiān)控系統(tǒng),上位機是沈陽鷺島資訊科技有限公司開發(fā)的嵌入式智能工業(yè)控制人機界面(以下簡稱人機界面)。其嵌入式工業(yè)控制器是以Geode X86為核心處理器控制工程網(wǎng)版權(quán)所有,包括網(wǎng)絡(luò)通訊,數(shù)據(jù)通信,大尺寸觸摸屏及液晶顯示的硬件平臺,在其上運行 WinCE操作系統(tǒng)。提供20個通用IO點供用戶使用,物理層支持ProfiBus等現(xiàn)場總線,支持16位真彩TFT LCD顯示,有64M SDRAM內(nèi)存,64M FLASH閃存,據(jù)有USB接口,10/100M Ethernet網(wǎng)絡(luò)通訊接口,以及串口,并口,VGA口等通用接口。
下位機用日本OMRON公司的PLCwww.cechina.cn,或SIMENS PLCwww.cechina.cn,或施耐德NEZA PLCwww.cechina.cn,或日本三菱公司的 PLCwww.cechina.cn,等等當前比較流行的PLCwww.cechina.cn,當然溫控表,單片機,智能模塊等工業(yè)現(xiàn)場控制設(shè)備也可以。
控制對象(比如鍋爐等)的工作由上述控制設(shè)備(各種PLC等)控制;而控制對象的狀態(tài)則用人機界面及在其上開發(fā)的應(yīng)用程序進行監(jiān)控。
人機界面的操作系統(tǒng)采用了微軟的WinCE.net。WinCE.net是為各種嵌入式系統(tǒng)和產(chǎn)品設(shè)計的一種緊湊,高效,可伸縮的操作系統(tǒng)(OS),主要面向各種嵌入式系統(tǒng)和產(chǎn)品。其多線程、多任務(wù)、完全搶占式的特點是專門針對資源有限而設(shè)計的。OEM開發(fā)商可根據(jù)自己硬件組成的特點對WinCE.net進行選擇裁剪,從而配置出穩(wěn)定高效并且是特有的WinCE.net操作系統(tǒng)和相應(yīng)的SDK開發(fā)包。在應(yīng)用上,WinCE.net支持超過1000個公共Microsoft Win32 API和幾種附加的編程接口,用戶可利用它們來開發(fā)應(yīng)用程序。另外,微軟為開發(fā)WinCE.net應(yīng)用程序的人員提供了與Visual C++類似、支持MFC的Microsoft bbbbbded Visual C++語言。下面我們將介紹一下開發(fā)過程的細節(jié)問題。
3、軟件流程
應(yīng)用程序開發(fā)是在個人計算機上進行的。個人計算機的操作系統(tǒng)為bbbbbbS 2000。應(yīng)用程序的開發(fā)平臺是Microsoft bbbbbded Visual C++集成開發(fā)環(huán)境。
在應(yīng)用程序開發(fā)時
開發(fā)最終生成的可執(zhí)行文件,可使用Microsoft bbbbbded Visual c++開發(fā)環(huán)境提供的下載功能,通過串口或局域網(wǎng),下載給人機界面。
&n
bsp; 工作時,PLC等工控設(shè)備運行它的控制程序,而人機界面則運行這個下載的可執(zhí)行文件。兩者通過串口進行通訊,但通訊的主動方為人機界面。人機界面依監(jiān)控要求
人機界面從PLC上收到應(yīng)答的數(shù)據(jù)后,在觸摸屏上,以圖表、動畫,文字等的界面顯現(xiàn)出來,供用戶觀察。還可把這些數(shù)據(jù)進行存貯、打印,甚至于向ERP等管理信息系統(tǒng)傳送。
如須對PLC或控制對象進行干預(yù),也可在人機界面的觸摸屏上,通過觸摸鍵或觸摸鼠標CONTROL ENGINEERING China版權(quán)所有,向PLC發(fā)送命令或數(shù)據(jù),以實現(xiàn)相應(yīng)的控制。
這個應(yīng)用的執(zhí)行流程框圖為:
主對話框負責初始化串口CONTROL ENGINEERING China版權(quán)所有,打開串口,啟動讀串口線程等;而各子對話框則定時或根據(jù)需要向串口發(fā)送各種命令,通過主對話框的線程讀回命令的應(yīng)答,再在子對話框中以一定的形式提供給用戶,以供監(jiān)控現(xiàn)場作業(yè)。這其中主要的技術(shù)就是串口通訊。下面我們重點講述通訊的實現(xiàn)。
5、通訊實現(xiàn)
人機界面提供的串口是符合通用標準的。WinCE.net下的串口通訊與bbbbbbs下的串口通訊原理相同。都是應(yīng)用程序不直接控制硬件,而是通過操作系統(tǒng)提供的設(shè)備驅(qū)動程序,來進行數(shù)據(jù)傳遞。
WinCE.net 是Win 32編程。串口在Win 32中是作為文件來進行處理的,不是直接對端口進行操作。對于串行通信,Win 32 提供了相應(yīng)的文件I/O函數(shù)與通信函數(shù)。
但是也要注意WinCE.net所能支持的API函數(shù)只是bbbbbb API函數(shù)的子集。bbbbbbs有的,WinCE.net下不一定能使用。同時,WinCE.net字符集類似于bbbbbbs NT而不同于bbbbbbs 9x,它是基于Unicode的。這也是開發(fā)程序過程中從bbbbbbS轉(zhuǎn)到WinCE.net的程序員遇到問題最多的地方。另外在bbbbbbs下常用的一些通訊控件如MSComm等在WinCE.net下就不能正確使用了。
本監(jiān)控系統(tǒng)采用API函數(shù)實現(xiàn)串口通訊。以下分幾個問題介紹串口通訊及整個系統(tǒng)的實現(xiàn)。
5.1 打開串口
首先是打開串口
BOOL CMainDlg::OnInitDialog()
{
......
m_hComm=CreateFile(_T("COM1:"),GENERIC_READ|GENERIC_WRITE,0CONTROL ENGINEERING China版權(quán)所有,NULL,OPEN_EXISTINGCONTROL ENGINEERING China版權(quán)所有,0CONTROL ENGINEERING China版權(quán)所有,0); //打開串口的操作,需要注意
WinCE.net系統(tǒng)與bbbbbbs系統(tǒng)表達方式的細微不同,WinCE.net需要在串口后加上冒號;
SetupComm(m_hComm控制工程網(wǎng)版權(quán)所有,1024,1024); //初始化串口的輸入,輸出緩沖區(qū)參數(shù);
&n
bsp; SetCommState(m_hComm控制工程網(wǎng)版權(quán)所有,&m_dcb) ; //配置串口參數(shù);m_dcb為設(shè)置好的參數(shù)結(jié)構(gòu);
......
SetCommTimeouts(m_hComm控制工程網(wǎng)版權(quán)所有,&timeout); //設(shè)置通訊超時時間參數(shù);
PurgeComm(m_hComm控制工程網(wǎng)版權(quán)所有,PURGE_TXbbbbb|PURGE_RXbbbbb);
//清空輸入,輸出緩沖區(qū)的字符,為開始接受數(shù)據(jù),進入監(jiān)控狀態(tài)做好準備;
......
近年來www.cechina.cn,“嵌入式”一詞越來越多的被人們提及,嵌入式產(chǎn)品被應(yīng)用到各行各業(yè)。與嵌入式相關(guān)的技術(shù)如嵌入式產(chǎn)品,嵌入式系統(tǒng)的研究等也被列為“十五” 家發(fā)展的重點方向。
嵌入式系統(tǒng) (bbbbbded System)被定義為:以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。
隨著工業(yè)自動化的發(fā)展,基于PLCwww.cechina.cn,單片機等設(shè)備的自動化系統(tǒng)控制工程網(wǎng)版權(quán)所有,自動化設(shè)備越來越普及,幾乎遍布所有自動化領(lǐng)域,與之相應(yīng)的人機交互系統(tǒng)也應(yīng)運而生,并得到同步發(fā)展?;谇度胧郊夹g(shù)的工業(yè)人機界面是人機交互系統(tǒng)中一顆耀眼的明星。高可靠, 壽命,體積小,高性能,多線程,多任務(wù),強實時等特點使嵌入式工業(yè)人機界面越來越受到自動化系統(tǒng)集成商,自動化設(shè)備制造商的青睞。它能夠理
隨著越來越多的工程項目采用了嵌入式人機界面,相應(yīng)的,用戶對與嵌入式硬件配套使用的監(jiān)控系統(tǒng)(Supervisory Control and Data Acquisition控制工程網(wǎng)版權(quán)所有,SCADA)等應(yīng)用軟件的需求也在增加。這也正是本文所要討論的問題。這里講的嵌入式監(jiān)控系統(tǒng),其硬件為嵌入式智能人機界面;其軟件為嵌入式操作系統(tǒng),另加自己開發(fā)的應(yīng)用程序。本文后面主要介紹這個監(jiān)控應(yīng)用程序,重點介紹應(yīng)用程序中通訊部分的實現(xiàn)原理。
當今,已發(fā)展有多種嵌入式操作系統(tǒng),如Linux, VxWorks,WinCE.net等,完全可在其上開發(fā)出圖文并茂、界面友好的應(yīng)用,以滿足監(jiān)控系統(tǒng)的種種要求。只是由于嵌入式技術(shù)相對是一門新興的領(lǐng)先技術(shù),涉足的人相對還比較少,所以這樣的應(yīng)用目前還比較少。本文介紹的嵌入式監(jiān)控系統(tǒng)算是一個實例吧。
2、系統(tǒng)組成
我們所開發(fā)的這套嵌入式監(jiān)控系統(tǒng),上位機是沈陽鷺島資訊科技有限公司開發(fā)的嵌入式智能工業(yè)控制人機界面(以下簡稱人機界面)。其嵌入式工業(yè)控制器是以Geode X86為核心處理器控制工程網(wǎng)版權(quán)所有,包括網(wǎng)絡(luò)通訊,數(shù)據(jù)通信,大尺寸觸摸屏及液晶顯示的硬件平臺,在其上運行 WinCE操作系統(tǒng)。提供20個通用IO點供用戶使用,物理層支持ProfiBus等現(xiàn)場總線,支持16位真彩TFT LCD顯示,有64M SDRAM內(nèi)存,64M FLASH閃存,據(jù)有USB接口,10/100M Ethernet網(wǎng)絡(luò)通訊接口,以及串口,并口,VGA口等通用接口。
下位機用日本OMRON公司的PLCwww.cechina.cn,或SIMENS PLCwww.cechina.cn,或施耐德NEZA PLCwww.cechina.cn,或日本三菱公司的 PLCwww.cechina.cn,等等當前比較流行的PLCwww.cechina.cn,當然溫控表,單片機,智能模塊等工業(yè)現(xiàn)場控制設(shè)備也可以。
控制對象(比如鍋爐等)的工作由上述控制設(shè)備(各種PLC等)控制;而控制對象的狀態(tài)則用人機界面及在其上開發(fā)的應(yīng)用程序進行監(jiān)控。
人機界面的操作系統(tǒng)采用了微軟的WinCE.net。WinCE.net是為各種嵌入式系統(tǒng)和產(chǎn)品設(shè)計的一種緊湊,高效,可伸縮的操作系統(tǒng)(OS),主要面向各種嵌入式系統(tǒng)和產(chǎn)品。其多線程、多任務(wù)、完全搶占式的特點是專門針對資源有限而設(shè)計的。OEM開發(fā)商可根據(jù)自己硬件組成的特點對WinCE.net進行選擇裁剪,從而配置出穩(wěn)定高效并且是特有的WinCE.net操作系統(tǒng)和相應(yīng)的SDK開發(fā)包。在應(yīng)用上,WinCE.net支持超過1000個公共Microsoft Win32 API和幾種附加的編程接口,用戶可利用它們來開發(fā)應(yīng)用程序。另外,微軟為開發(fā)WinCE.net應(yīng)用程序的人員提供了與Visual C++類似、支持MFC的Microsoft bbbbbded Visual C++語言。下面我們將介紹一下開發(fā)過程的細節(jié)問題。
3、軟件流程
應(yīng)用程序開發(fā)是在個人計算機上進行的。個人計算機的操作系統(tǒng)為bbbbbbS 2000。應(yīng)用程序的開發(fā)平臺是Microsoft bbbbbded Visual C++集成開發(fā)環(huán)境。
在應(yīng)用程序開發(fā)時
CONTROL ENGINEERING China版權(quán)所有
,還可以利用微軟提供的測試模擬器(Emulator)。有了它可做到,即使沒有人機界面,也可進行程序調(diào)試。 開發(fā)最終生成的可執(zhí)行文件,可使用Microsoft bbbbbded Visual c++開發(fā)環(huán)境提供的下載功能,通過串口或局域網(wǎng),下載給人機界面。
&n
控制工程網(wǎng)版權(quán)所有
,向PLC等發(fā)送通訊命令,PLC則作相應(yīng)的應(yīng)答。 人機界面從PLC上收到應(yīng)答的數(shù)據(jù)后,在觸摸屏上,以圖表、動畫,文字等的界面顯現(xiàn)出來,供用戶觀察。還可把這些數(shù)據(jù)進行存貯、打印,甚至于向ERP等管理信息系統(tǒng)傳送。
如須對PLC或控制對象進行干預(yù),也可在人機界面的觸摸屏上,通過觸摸鍵或觸摸鼠標CONTROL ENGINEERING China版權(quán)所有,向PLC發(fā)送命令或數(shù)據(jù),以實現(xiàn)相應(yīng)的控制。
這個應(yīng)用的執(zhí)行流程框圖為:
圖1 執(zhí)行流程框圖
4、畫面構(gòu)成
一般的工程監(jiān)控畫面有:文字顯示
www.cechina.cn
,生產(chǎn)工藝流程顯示(包括動畫,柱狀圖顯示等),報警,人員操作,趨勢曲線等等。我們的系統(tǒng)架構(gòu)是做一個基于主對話框的程序。再將這些不同的畫面用子對話框表現(xiàn)出來。 主對話框負責初始化串口CONTROL ENGINEERING China版權(quán)所有,打開串口,啟動讀串口線程等;而各子對話框則定時或根據(jù)需要向串口發(fā)送各種命令,通過主對話框的線程讀回命令的應(yīng)答,再在子對話框中以一定的形式提供給用戶,以供監(jiān)控現(xiàn)場作業(yè)。這其中主要的技術(shù)就是串口通訊。下面我們重點講述通訊的實現(xiàn)。
5、通訊實現(xiàn)
人機界面提供的串口是符合通用標準的。WinCE.net下的串口通訊與bbbbbbs下的串口通訊原理相同。都是應(yīng)用程序不直接控制硬件,而是通過操作系統(tǒng)提供的設(shè)備驅(qū)動程序,來進行數(shù)據(jù)傳遞。
WinCE.net 是Win 32編程。串口在Win 32中是作為文件來進行處理的,不是直接對端口進行操作。對于串行通信,Win 32 提供了相應(yīng)的文件I/O函數(shù)與通信函數(shù)。
但是也要注意WinCE.net所能支持的API函數(shù)只是bbbbbb API函數(shù)的子集。bbbbbbs有的,WinCE.net下不一定能使用。同時,WinCE.net字符集類似于bbbbbbs NT而不同于bbbbbbs 9x,它是基于Unicode的。這也是開發(fā)程序過程中從bbbbbbS轉(zhuǎn)到WinCE.net的程序員遇到問題最多的地方。另外在bbbbbbs下常用的一些通訊控件如MSComm等在WinCE.net下就不能正確使用了。
本監(jiān)控系統(tǒng)采用API函數(shù)實現(xiàn)串口通訊。以下分幾個問題介紹串口通訊及整個系統(tǒng)的實現(xiàn)。
5.1 打開串口
首先是打開串口
CONTROL ENGINEERING China版權(quán)所有
,這是串口通訊的第一步。其代碼為: BOOL CMainDlg::OnInitDialog()
{
......
m_hComm=CreateFile(_T("COM1:"),GENERIC_READ|GENERIC_WRITE,0CONTROL ENGINEERING China版權(quán)所有,NULL,OPEN_EXISTINGCONTROL ENGINEERING China版權(quán)所有,0CONTROL ENGINEERING China版權(quán)所有,0); //打開串口的操作,需要注意
WinCE.net系統(tǒng)與bbbbbbs系統(tǒng)表達方式的細微不同,WinCE.net需要在串口后加上冒號;
SetupComm(m_hComm控制工程網(wǎng)版權(quán)所有,1024,1024); //初始化串口的輸入,輸出緩沖區(qū)參數(shù);
&n
......
SetCommTimeouts(m_hComm控制工程網(wǎng)版權(quán)所有,&timeout); //設(shè)置通訊超時時間參數(shù);
PurgeComm(m_hComm控制工程網(wǎng)版權(quán)所有,PURGE_TXbbbbb|PURGE_RXbbbbb);
//清空輸入,輸出緩沖區(qū)的字符,為開始接受數(shù)據(jù),進入監(jiān)控狀態(tài)做好準備;
......
本文標簽:嵌對入式智能人機界面與PLC的通訊探討
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《嵌對入式智能人機界面與PLC的通訊探討》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
關(guān)于“嵌對入式智能人機界面與PLC的通訊探討”的更多資訊










