梁嵩
摘要:本文介紹了PIC單片機(jī)與OMRON觸摸屏的通信方法及實(shí)現(xiàn)過(guò)程。簡(jiǎn)要分析了Modbus通信協(xié)議,給出了PIC單片機(jī)與觸摸屏串行通信的硬件連接圖和軟件主要功能流程圖,對(duì)測(cè)試結(jié)果進(jìn)行了分析。
關(guān)鍵字:觸摸屏、單片機(jī)、Modbus協(xié)議、RS232接口
觸摸屏能夠直觀(guān)、生動(dòng)地顯示系統(tǒng)參數(shù)以及系統(tǒng)狀態(tài),并且面可以直接修改系統(tǒng)運(yùn)行參數(shù),方便人機(jī)交互。單片機(jī)是一種集成電路芯片,包括是中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口、中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能,在工業(yè)控制領(lǐng)域也具有廣泛的應(yīng)用。觸摸屏和單片機(jī)共同構(gòu)建系統(tǒng)并不常見(jiàn),需要觸摸屏和單片機(jī)進(jìn)行合理通信。
1.OMRON觸摸屏
NB系列的觸摸屏,采用長(zhǎng)效LED背光(50,000小時(shí))設(shè)計(jì),顯示顏色超過(guò)65,000色,屏幕數(shù)據(jù)存儲(chǔ)容量高達(dá)120MB;具備串行、USB或Ethernet 連接功能,可與歐姆龍或非歐姆龍產(chǎn)品(如PLC、變頻器等)進(jìn)行連接; 多樣化的密碼保護(hù)功能,可輕松解決客戶(hù)自行開(kāi)發(fā)工程的安全問(wèn)題;此外,還配備寄存器狀態(tài)(位/字)控制選項(xiàng)(用于查看實(shí)際情況與預(yù)定義值的差別)和標(biāo)準(zhǔn)操作確認(rèn)查看選項(xiàng)。NB系列觸摸屏,可滿(mǎn)足小巧型HMI與歐姆龍小型機(jī)器控制器組合需求。HMI和PLC之間的配方數(shù)據(jù)傳輸時(shí)可將數(shù)據(jù)備份至外部存儲(chǔ)器中,配方畫(huà)面還可為自由選擇的格式。
2.P IC單片機(jī)
P IC16系列單片機(jī)集成度高,體積小,可靠性高,芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,內(nèi)部布線(xiàn)很短,其抗工業(yè)噪音性能優(yōu)于一般通用型;P IC16系列控制功能強(qiáng),單片機(jī)的指令系統(tǒng)豐富,非常適用于專(zhuān)門(mén)的控制功能;電壓低,功耗低,便于生產(chǎn)便攜;片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件,外部有許多供擴(kuò)展用的三總線(xiàn)及并行、串行輸入/輸出管腳,很容易進(jìn)行系統(tǒng)擴(kuò)展;使用RISC流水線(xiàn)和DSP等技術(shù),性?xún)r(jià)比極高。單片機(jī)的尋址能力也已突破64KB的限制,有的已可達(dá)到1MB和16MB,片內(nèi)的ROM容量可達(dá)62MB,RAM容量則可達(dá)2MB。
3.通信方式
Modbus協(xié)議是美國(guó)Modicon公司推出的一種支持控制器之間或者控制器經(jīng)通過(guò)網(wǎng)絡(luò)和其它設(shè)備之間的通信協(xié)議。Modbus協(xié)議包括ASCII、RTU、TCP等,其中ASCII、RTU用于控制器之間通信較為常見(jiàn),能夠規(guī)定消息、數(shù)據(jù)的結(jié)構(gòu)、命令和應(yīng)答的方式。
PIC單片機(jī)與OMRON觸摸屏的通信方法可以采用Modbus RTU協(xié)議進(jìn)行。采用Maser/Slave方式,Master端發(fā)出數(shù)據(jù)請(qǐng)求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應(yīng)請(qǐng)求;Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫(xiě)。網(wǎng)絡(luò)中只有一臺(tái)作為主機(jī)(稱(chēng)Master),其它作為從機(jī)(稱(chēng)Slaver);主機(jī)不需站號(hào),從機(jī)必須設(shè)站號(hào)。此協(xié)議支持傳統(tǒng)的RS-232、RS-422、RS-485和以太網(wǎng)設(shè)備。下面以標(biāo)準(zhǔn)的RS-232C兼容串行接口為例,它定義了連接口的針腳、電纜、信號(hào)位、傳輸波特率、奇偶校驗(yàn)。
通信時(shí),主機(jī)首先向從機(jī)發(fā)出請(qǐng)求信息,符合相應(yīng)地址碼的從機(jī)接收通訊命令,并除去地址碼,讀取信息,如果沒(méi)有出錯(cuò),則執(zhí)行相應(yīng)的任務(wù),然后把執(zhí)行結(jié)果返給主機(jī)。若從機(jī)接收到的校驗(yàn)碼與本機(jī)計(jì)算的不同,則說(shuō)明數(shù)據(jù)在通信過(guò)程中出現(xiàn)錯(cuò)誤,從機(jī)把這次請(qǐng)求視為無(wú)效,功能代碼將被修改以用于指出回應(yīng)消息是錯(cuò)誤的,同時(shí)數(shù)據(jù)段包含了描述此錯(cuò)誤信息的代碼。當(dāng)主機(jī)收到這一信息時(shí),會(huì)重新發(fā)送請(qǐng)求信息。校驗(yàn)方式分為CRC校驗(yàn)。
RTU信息幀標(biāo)準(zhǔn)結(jié)構(gòu)為:
初始結(jié)構(gòu) ≥4字節(jié)的時(shí)間
地址碼 1字節(jié)
功能碼 1字節(jié)
數(shù)據(jù)區(qū) N字節(jié)
錯(cuò)誤校驗(yàn) 16位CRC碼
結(jié)束結(jié)構(gòu) ≥4字節(jié)的時(shí)間
信息開(kāi)始至少需要3.5個(gè)字符的靜止時(shí)間,依據(jù)使用的波特率,很容易計(jì)算這個(gè)靜止時(shí)間。發(fā)送完最后一個(gè)字符后,也有一個(gè)至少3.5個(gè)字符的靜止時(shí)間,然后才能發(fā)送一個(gè)新的信息。
NB觸摸屏只支持Bit和Word地址類(lèi)型,觸摸屏畫(huà)面元件讀取地址的設(shè)備類(lèi)型有LW、0x、1x、3x、4x、 RWI、RW等選項(xiàng)。其中,LW表示該元件讀取的是觸摸屏內(nèi)部的地址,如其它元件的地址;0x表示讀取的是控制器的輸出信號(hào);1x表示讀取的控制器的輸入信號(hào);3x和4x指控制器的寄存器地址類(lèi)型,其中4x是可讀可寫(xiě)的,3x是只讀的;RWI、RW都是觸摸屏的內(nèi)部地址,起輔助作用。使用這些讀取地址的設(shè)備類(lèi)型,觸摸屏即可顯示或設(shè)定控制器寄存器或I/O口的數(shù)值。以“數(shù)值輸入”元件為例,通過(guò)“小鍵盤(pán)”輸入數(shù)據(jù)即可設(shè)置單片機(jī)寄存器或I/O口的數(shù)值。如果啟動(dòng)了“觸發(fā)地址”,那么當(dāng)被觸控時(shí),輸入的數(shù)據(jù)就被存放到了指定的單片機(jī)地址中。進(jìn)行觸摸屏與Modbus RTU組態(tài)
4.程序?qū)嵗?/p>
(1)串口程序的初始化
(2)向觸摸屏LW的0地址寫(xiě)入數(shù)據(jù)
(3)從觸摸屏LW的0地址讀取數(shù)據(jù)
5. 結(jié)語(yǔ)
本系統(tǒng)對(duì)于實(shí)現(xiàn)PIC單片機(jī)與OMRON觸摸屏的通信具有連接電路簡(jiǎn)單、組態(tài)靈活、通信可靠性高等特點(diǎn)。由于Modbus通信協(xié)議的開(kāi)放性的特點(diǎn),支持大部分控制器串行通信,因此本文所實(shí)現(xiàn)的采用Modbus協(xié)議的串行通信具有廣泛的應(yīng)用價(jià)值。endprint