技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 單片機(jī)與工業(yè)觸摸屏人機(jī)界面通訊的最簡(jiǎn)單方法

單片機(jī)與工業(yè)觸摸屏人機(jī)界面通訊的最簡(jiǎn)單方法

時(shí)間:2011-10-26 16:11:53來(lái)源:caijuan

導(dǎo)語(yǔ):?本文詳細(xì)講解了人機(jī)界面與單片機(jī)組合使用的方法,使用了2種協(xié)議

  很多時(shí)候,工業(yè)控制或者產(chǎn)品設(shè)計(jì)方面受到PLC這種功能確定,擴(kuò)展麻煩,成本昂貴等方面的制約因素,需要獨(dú)立開(kāi)發(fā)一種特殊功能,但是又需要連接觸摸屏通訊,工程師在這個(gè)方面往往需要花費(fèi)很大功夫,現(xiàn)在我要幫大家解決的問(wèn)題就是單片機(jī)與人機(jī)界面觸摸屏通訊的最簡(jiǎn)單,最有效的2種方法,其實(shí)就是分為2種通訊協(xié)議,即工業(yè)標(biāo)準(zhǔn)的ModbusRTU協(xié)議和工程師自己定義的自由協(xié)議。

單片機(jī)與工業(yè)觸摸屏人機(jī)界面通訊的最簡(jiǎn)單方法

  本實(shí)例采用廣州市微嵌計(jì)算機(jī)科技有限公司(公司網(wǎng)站:

  http://www.wqlcd.com)的人機(jī)界面作為參考,因?yàn)楣咎峁┮幌盗械募夹g(shù)支持和公布單片機(jī)源代碼,加上公司的人機(jī)界面支持自由協(xié)議等等先天優(yōu)勢(shì),開(kāi)發(fā)工程方便有效。

  方案比較:

  方案一modbus—rtu協(xié)議:

  優(yōu)點(diǎn):工業(yè)標(biāo)準(zhǔn)通訊協(xié)議,具有通用性,,傳輸數(shù)據(jù)量大

  缺點(diǎn):需要時(shí)間去了解協(xié)議的格式和以及按照規(guī)定編寫(xiě)通訊程序(我們提供MODBUS-RTU源代碼,客戶直接移植就可以,不必費(fèi)心)

  方案二自由協(xié)議:

  優(yōu)點(diǎn):數(shù)據(jù)格式客戶自己定義,靈活多變,定制性強(qiáng),可以模擬任何已知報(bào)文的通訊協(xié)議

  缺點(diǎn):傳輸數(shù)據(jù)量不大,通用性不強(qiáng),移植不方便

  工程師可以根據(jù)以上兩種通訊協(xié)議的優(yōu)缺點(diǎn)來(lái)選擇理想的方案;

  實(shí)現(xiàn)方法:首先下載公司的人機(jī)界面組態(tài)軟件(下載地址

  http://dl.dbank.com/c0c85mpr86用戶名:wqlcd_911@163.com密碼:123456)

  方案一:

  1.工程屬性選用MODBUS-RTU協(xié)議;

  2.先了解MODBUS-RTU協(xié)議,基本的0103050616的功能碼需要了解,其他可以不去深究;提供相關(guān)的資料

  3.使用我們提供的MODBUS-RTU協(xié)議(C語(yǔ)言)開(kāi)發(fā)源代碼,把主要的0103050616函數(shù)移植到單片機(jī)通訊上,大大節(jié)省了開(kāi)發(fā)時(shí)間;

單片機(jī)與工業(yè)觸摸屏人機(jī)界面通訊的最簡(jiǎn)單方法

  方案二:

  1.工程屬性選用FreeProtocol協(xié)議;

單片機(jī)與工業(yè)觸摸屏人機(jī)界面通訊的最簡(jiǎn)單方法

  3.打開(kāi)控制令編輯器(設(shè)定—>宏指令—>宏指令編輯器)或者直接按F8;

  4.新增宏指令,在宏指令里面使用到Output()、Input()、SetWordData()、GetWordData()這四個(gè)函數(shù);注:可以參考附一

  5.Output()函數(shù),把設(shè)定好的字符串發(fā)送到相應(yīng)的串口輸出;Input()函數(shù),從設(shè)定好的串口讀取需要的字符串;

  6.采集顯示:

  SetWordData()函數(shù),把Input()函數(shù)接收回來(lái)的數(shù)據(jù),發(fā)送給HIM用戶自定義寄存器里,然后在顯示控件里填上已經(jīng)有數(shù)據(jù)的HIM寄存器,即可顯示單片機(jī)采集上來(lái)的數(shù)據(jù);

  7.改寫(xiě)發(fā)送:

  在顯示控件了把需要改寫(xiě)的數(shù)據(jù)綁定HIM寄存器,使用GetWordData()獲得修改后的數(shù)據(jù),通過(guò)output()發(fā)送把數(shù)據(jù)發(fā)送到單片機(jī);

  【描述】

  第一個(gè)參數(shù)channel表示通道,如果通道為com1,則channel=1;如果通道為com2,則channel=2,數(shù)據(jù)類(lèi)型為int。

  第二個(gè)參數(shù)pString表示從通道輸出的字符串的地址,數(shù)據(jù)類(lèi)型為unsignedchar*。

  第三個(gè)參數(shù)count表示字符串中的字符個(gè)數(shù),數(shù)據(jù)類(lèi)型為int。

  第四個(gè)參數(shù)result表示Output函數(shù)運(yùn)行后返回的結(jié)果,如果result大于0,則表示讀寫(xiě)有效,數(shù)據(jù)類(lèi)型為int。

  注意:此函數(shù)只能用在freeprotocol(自由協(xié)議通道)中。

  【用法】

  Output(channel,pString,count,result);

  【舉例】

  charsrt[9];

  intresult;

  Output(1,str[0],9,result);

  Input();

  【描述】

  第一個(gè)參數(shù)channel表示通道,如果通道為com1,則channel=1;如果通道為com2,則channel=2,數(shù)據(jù)類(lèi)型為int。

  第二個(gè)參數(shù)pString表示寫(xiě)入通道的字符串的地址,數(shù)據(jù)類(lèi)型為unsignedchar*。

  第三個(gè)參數(shù)count表示字符串中的字符個(gè)數(shù),數(shù)據(jù)類(lèi)型為int。

  第四個(gè)參數(shù)result表示Output函數(shù)運(yùn)行后返回的結(jié)果,如果result大于0,則表示讀寫(xiě)有效,數(shù)據(jù)類(lèi)型為int。

  注意:此函數(shù)只能用在freeprotocol(自由協(xié)議通道)中。

  【用法】

  Input(channel,pString,count,result);

  【舉例】

  charsrt[9];

  intresult;

  Input(1,str[0],9,result);

  GetWordData();

  【描述】

  函數(shù)功能:從通道中讀取Word數(shù)據(jù)。

  第一個(gè)參數(shù)channel表示通道,數(shù)據(jù)類(lèi)型為unsignedchar。

  第二個(gè)參數(shù)slaveID表示從機(jī)號(hào),數(shù)據(jù)類(lèi)型為unsignedchar。

  第三個(gè)參數(shù)address表示系統(tǒng)通道地址,數(shù)據(jù)類(lèi)型為unsignedshort。

  第四個(gè)參數(shù)count表示要讀出的字的個(gè)數(shù),數(shù)據(jù)類(lèi)型為unsignedshort。

  第五個(gè)參數(shù)表示命令號(hào),數(shù)據(jù)類(lèi)型為unsignedchar。

  第六個(gè)參數(shù)pvalue用來(lái)保存從系統(tǒng)通道讀出的count個(gè)字,數(shù)據(jù)類(lèi)型為unsignedshort*。

  【用法】

  GetWordData(channel,slaveID,address,count,cmd,pvalue);

  【舉例】

  unsignedshortwordData[10];

  GetWordData(0,1,8000,10,0,wordData);

  從系統(tǒng)通道8000地址中讀取10個(gè)數(shù)據(jù)到wordData

  SetWordData();

  【描述】

  函數(shù)功能:從通道中寫(xiě)入一個(gè)Word數(shù)據(jù)。

  第一個(gè)參數(shù)channel表示通道,數(shù)據(jù)類(lèi)型為unsignedchar。

  第二個(gè)參數(shù)slaveID表示從機(jī)號(hào),數(shù)據(jù)類(lèi)型為unsignedchar。

  第三個(gè)參數(shù)address表示系統(tǒng)通道地址,數(shù)據(jù)類(lèi)型為unsignedshort。

  第四個(gè)參數(shù)cmd表示命令號(hào),數(shù)據(jù)類(lèi)型為unsignedchar。

  第五個(gè)參數(shù)pvalue用來(lái)保存寫(xiě)入系統(tǒng)通道的字,數(shù)據(jù)類(lèi)型為unsignedshort。

  【用法】

  SetWordData(channel,slaveID,address,cmd,source);

  【舉例】

  unsignedshortwordData=1;

  SetWordData(0,1,1000,0,wordData);

  把wordData中的Word數(shù)據(jù)寫(xiě)到系統(tǒng)通道1000地址處

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于組態(tài)監(jiān)控軟件變電站電能...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)