中控編程教程_第1頁
中控編程教程_第2頁
中控編程教程_第3頁
中控編程教程_第4頁
中控編程教程_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第一章、硬件說明CM-CP3是 CIMATE 自主研發(fā)的采用網(wǎng)絡(luò)通訊型的中央控制主機(jī),采用低耗、高性能嵌入式微處理器,運(yùn)行速度快、簡單易用。CM-CP舸絡(luò)通訊型的中央控制主機(jī)提供了開放式結(jié)構(gòu),支持各種協(xié)議(如:CAN、TCP/IP、PWM及多種控制協(xié)議端口,含 IR (紅外)、I/O (數(shù)字輸入/輸出,模擬輸入)、 COM 口 等。采用先進(jìn)可靠的集成技術(shù),提供高速準(zhǔn)確的集中控制環(huán)境;開放式+模塊化的用戶編程界面,可輕易的完成各種復(fù)雜的控制接口編程。1.1功能特點(diǎn)采用低耗、高性能嵌入式微處理器,運(yùn)行速度快、簡單易用。4 路獨(dú)立可編程 RS-232控制接口,其中一路可選擇 485控制接口。用戶可編

2、程設(shè)置多種 控制協(xié)議和代碼;8 路獨(dú)立可編程 RS-232控制接口,只支持發(fā)送,不支持接收;8 路獨(dú)立可編程的紅外發(fā)射接口,支持控制多臺相同或不同的紅外設(shè)備;8 路數(shù)字輸入/輸出 IO接口;8 路模擬輸入 IO接口 ;USB2.0編程通訊接口;紅外載波全頻段兼容、支持獨(dú)立,驗(yàn)證紅外學(xué)習(xí)支持本地及遠(yuǎn)程多種控制方式;采用低耗能 DV 5V-24電源輸入;1.2主機(jī)安裝CM-CP阿編程網(wǎng)絡(luò)控制主機(jī)可以安裝在標(biāo)準(zhǔn)19英寸機(jī)柜上,主機(jī)標(biāo)配附件含一對機(jī)柜安裝支架,裝配方式見下圖。第二章、系統(tǒng)主機(jī)說明2.1面板功能說明CM-CP3前面板SERIES趴mutlsftMO 0 o oADVANCED CONTR

3、OL P R 0 C E SSOKoOCPSoi) G2)1)狀態(tài)指示燈 復(fù)位按鍵等。2)紅外學(xué)習(xí)窗口一一 用于紅外學(xué)習(xí)3)8 路單向輸出 232接口 -只有發(fā)送4)ANALOG I -一模擬信號輸入接口。提 供 8路可由軟件編程的模擬信號輸入控制接 口,可接收 0-5v (10mA載電流)的信號輸 入。5)DIGITAL I/O I/O (輸入輸出)接口 一提供 8 路可由軟件編程的 I/O輸入輸出 控制接口,可提供 5V/10mA 負(fù)載輸出或接收 05V (10m頗載電流)的信號輸入6)PW 冊一 8路 0-5V脈沖高低電平信號輸 出。(10m頗載電流)7)IR OUT紅外控制接口包含 8

4、 路獨(dú)立可編程紅外控制接口(38KHE載波,以控制多種相同或不同設(shè)備,如 DVD VCRMD等的播放、暫停、停止、進(jìn)出倉等。8)CO 麟口 一一包含 4 路可編程雙向串行通 訊接口 ( 3 芯鳳凰接口類型),COM0-COM2 支持RS-232(G,TX,RX)通訊格式,COM 孩持RS-232(G,TX,RX)/485(A,B)通訊格式。9)CAN-BU 弦口一一電源控制器,調(diào)光器等10) US 晦口一一用于程序下載.11) ETHERNET 一以太網(wǎng)接口用于連接 外部網(wǎng)絡(luò)實(shí)現(xiàn)與無線(WiFi)觸摸屏的 通訊或以太網(wǎng)遠(yuǎn)程控制。12) DC 5V-24V (2A) 系統(tǒng)電源。系統(tǒng)電源輸入,DC

5、 5V (2A)CM-CP3 后面板:689101112457包括電源燈,狀態(tài)燈、2.2接口參數(shù)紅外學(xué)習(xí)窗口 -支持 38KHE 載波的紅外碼。8 路單向發(fā)送 RS-232接口- 可發(fā)送 RS232代碼。沒有接收功能。IO接口 CP3 共有 20個(gè) IO接口,其中 8個(gè)數(shù)字 IO, 8 個(gè)模擬 IO, 4 個(gè) PWM其中模擬 IO和 PW 血可以做數(shù)字 IO使用。實(shí)現(xiàn) 20路的數(shù)字 IO接口。IO接口可提供 5V/10mA 負(fù)載輸出或接收 05V的信號輸入。(不能超過5V,否則會(huì)燒壞主機(jī))紅外輸出-8 路獨(dú)立可編程紅外控制接口。COM口 - 包含 4 路可編程雙向串行通訊接口(3 芯鳳凰接口類

6、型),COM0-COM2支持 RS-232(G,TX,RX)通訊格式,COM3 支持 RS-232(G,TX,RX)/485(A,B)通訊格式。CAN-BUS口一一支持通用 CAN-BUS、議,也可以外接我司的擴(kuò)展設(shè)備如:電源控制器,調(diào)兀而十USB接口 -用于用戶編寫程序的下載,暫時(shí)只支持USB下載方式。不支持網(wǎng)絡(luò)下載。ETHERNE 接口 -最大 8 個(gè)連接,支持 TCP/UD 梏協(xié)議。第二章、軟件說明1 iControl 1.0編程軟件iControl 1.0是針對CIMTE第三代可編程中控主機(jī)(CP3)開發(fā)的編程軟件, 中控編程采用C、C+祁言編寫。采用面向?qū)ο蟮木幊谭绞健VС肿远x模塊

7、導(dǎo) 入。整個(gè)編程軟件界面簡潔易上手。1.1iControl 1.0安裝本軟件為綠色軟件,無需安裝,只需把iControl目錄的文件拷貝到電腦硬 盤,然后雙擊i Control .exe即可運(yùn)行iControl編輯軟件。安裝過程比較簡單, 這里不作重點(diǎn)描述,需注意的是:本軟件是基丁java平臺,必須先安裝JDW能正常運(yùn)行。1.2iControl 1.0軟件介紹輸出顯示項(xiàng)口標(biāo)題欄上傳源代碼編輯窗口菜單欄2.結(jié)構(gòu)說明2.1引用第三方白定義宏CP3采用的是面向?qū)ο竦木幊谭绞剑覀兛梢园押攴庋b成對像,對像有屆性和 方法。屆性描述對象。屆性通過變量、常量和結(jié)構(gòu)實(shí)現(xiàn)。方法是對象執(zhí)行的動(dòng)作。通過使用#incl

8、ude來引用第三方自定義宏的頭部文件2.2 seutp()在CP3中程序運(yùn)行時(shí)將首先調(diào)用setup()函數(shù)。用丁初始化對像屆性、設(shè)備對像如:#include等。每次CP3上電或重啟后,setup函數(shù)只運(yùn)行一次。YES動(dòng)行事件處理器示例:TouchPad padl = TouchPad(1000,0); /定義觸摸屏TouchPad pad2= TouchPad(1001,1);TouchPad pad3= TouchPad(1002,2);TouchPad pad4= TouchPad(1003,3);vpad vpad1=vpad(2000,0); / 定義虛擬觸摸屏byte mac = (

9、0 xDE, 0 xAD, 0 xBE, 0 xEF, 0 xFE, 0 xED ;/網(wǎng)卡 mac地址IPAddress ip(192,168,1,177);/CP3 的 ip 地址void setup() (Ethernet.begin(mac, ip);/ 初始化 CP3的 ip 地址和 mac 地址DEFINE_COMBINE4(vpad1,pad1,pad2,pad3,pad4);/綁定虛擬觸屏2.3 start()在 setup()函數(shù)中初始化后, 然后執(zhí)行 start()主線函數(shù)。主線是 CP 井央控制器連續(xù)執(zhí)行的程序部分。start()包含被稱為主線的代碼,只要控制器接電,主線就

10、會(huì)被連續(xù)循環(huán) 執(zhí)行。2.4事件處理器外部設(shè)備和主機(jī)處理器之間的所有交互都由主線代碼處理。處理器運(yùn)行主線代碼、維護(hù) 等待和脈沖隊(duì)列,并檢查總線上設(shè)備狀態(tài)的變更。這些交互或狀態(tài)變更就是事件(Event )。CP3 維護(hù)一個(gè)已定義的事件處理器表,當(dāng)一個(gè)新事件進(jìn)入到 CP3處理隊(duì)列中時(shí),CP3 將其與表中的事件進(jìn)行比較。如果表中有該事件,則只有事件定義的代碼被賦值和被執(zhí)行,而繞過主線部分。如果事件處理器未被定義,則運(yùn)行主線,通過主線代碼賦值事件。這種機(jī)制可以更高效地處理事件,因?yàn)椴恍枰骶€來處理單一的I/O請求。如果沒有等待中的事件,則運(yùn)行主線。主線成了一個(gè)空閑時(shí)段進(jìn)程。事件的處理步驟3.面向?qū)ο竦木?/p>

11、程面向?qū)ο缶幊?Object OrientedProgramming ,OOP 面向?qū)ο蟪绦蛟O(shè)計(jì))是一種計(jì)算 機(jī)編程架構(gòu)。OOP的一條基本原則是計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或?qū)ο?組合而成。OOP 達(dá)到了軟件工程的三個(gè)主要目標(biāo):重用性、靈活性和擴(kuò)展性。為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)對象都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息。CP3 封裝了一些常用的對像,如網(wǎng)口,串口,觸屏, IO等 API, CP3 支持自定義模塊.1 API說明1、CP3主機(jī)ip地址設(shè)置。(cp3采用的是編程設(shè)置主機(jī)IP地址方式)byte mac = 0 xDE, 0 xAD, 0 xBE, 0 xEF, 0 x

12、FE, 0 xED; /設(shè)置mac地址IPAddress ip(192,168,1, 177);設(shè)置ip地址IPAddress gateway(192,168,1, 1);般置網(wǎng)關(guān)地址IPAddress subnet(255, 255, 255, 0);潑置子網(wǎng)掩碼void setup() /Ethernet.begin(mac, ip, gateway, subnet);2、觸屏對像。Xpanel CP3是一款人機(jī)交互的APP,使用TCP協(xié)議與CP3主機(jī)通訊,具有斷 線通知功能。 用戶通過Xpanel CP3發(fā)送控制命令給CP3主機(jī),CP3主機(jī)執(zhí)行后 把狀態(tài)發(fā)回給XpanelCP3,兩者是相

13、向通訊的。1 1、觸屏對像初如化:TouchPand對像名=TouchPand(TPID,socke)參數(shù):對像名:可任意符合C語言變量命名方式的變量名。如:ipad1.pad等TPID:觸屏對像的ID,可在Xpanel CP3中設(shè)置。Socket: CP3主機(jī)的網(wǎng)卡最大支持8個(gè)socket,范圍是(0-7)例子:定義一個(gè)名叫pad1的觸屏對像,它的TPID是1000,使用的socket是0TouchPad pad1 = TouchPad(1000,0);TouchPad pad2= TouchPad(1001,1);TouchPad pad3= TouchPad(1002,2);TouchP

14、ad pad4= TouchPad(1003,3);2 2、觸屏對像事件回調(diào):當(dāng)點(diǎn)擊觸屏上的控件,如按下按鈕或拖動(dòng)進(jìn)度條時(shí),CP3主機(jī)會(huì)調(diào)用事件回調(diào),用戶可以事件回調(diào)函數(shù)中編寫想要的功能。把對像名加入到事件回調(diào):touchpanel_start(TouchPan&虧像名);監(jiān)聽事件回調(diào):Void getlisten();按鈕事件回調(diào)函數(shù)(不要修改函數(shù)名及參數(shù)名) )void keypadEvent(int id,int jion, KeyState state)按鈕回調(diào)函數(shù),當(dāng)點(diǎn)擊觸屏上的按鈕,會(huì)自動(dòng)調(diào)用該函數(shù)。按鈕事件BUTTON_EVENT(TP,jion)參數(shù):TP:觸屏對像;J

15、ion:觸屏jion No.例子:BUTTON_EVENT(pad1,jion) BUTTON_EVENT(pad1,104) PUSH 按下事件PUSH 按下事件if(jion100&jion100&jion104)n=jion-100;n=jion-100;RELEASE 彈起事件RELEASE 彈起事件HOLD /長按事件HOLD /長按事件REPEATC /長按重復(fù)事件REPEATC /長按重復(fù)事件進(jìn)度條事件回調(diào)函數(shù)(不要修改函數(shù)名及參數(shù)名)void keypadLevelEvent(int id,int jion ,int key)進(jìn)度條事件,當(dāng)拖動(dòng)觸屏上的進(jìn)度條會(huì)自

16、動(dòng)調(diào)用該函數(shù)例子:void keypadLevelEvent(int id,int jion ,int key)(pad1.send_Txt(10,String(key)+%); /padl觸屏jion=10的文字顯示 值pad1.send_level(1,key);般置pad 1觸屏jion=1的進(jìn)度條值a1=key;時(shí)鐘校正回調(diào)函數(shù)(不要修改函數(shù)名及參數(shù)名)void settimeEvent(int year,int month,int date,int hour,int min,int sec,int dow)用觸屏的時(shí)鐘校正cp3中控主機(jī)的時(shí)間例子:void settimeEvent(

17、int year,int month,int date,int hour,int min,int sec,intdow)( rtc.setDOW(dow);設(shè)置星期幾rtc.setTime(hour, min, sec);設(shè)置時(shí),分,秒rtc.setDate(date, month, year);般置日,月,年?duì)顟B(tài)更新回調(diào)函數(shù)(不要修改函數(shù)名及參數(shù)名)void updataEvent(int tpid)當(dāng)觸屏待機(jī)后,喚醒觸屏后,會(huì)自動(dòng)調(diào)用該函數(shù),并更新觸屏的狀態(tài) 例子:void updataEvent(int tpid)(pad1.updata_button(101,n=1); /K鈕互鎖pa

18、d1.updata_button(102,n=2);pad1.updata_button(103,n=3);pad1.updata_button(104,token);敬鈕自鎖pad1.send_Txt(10,String(a1)+%); /設(shè)置文字的值pad1.send_level(1,a1)設(shè)置進(jìn)度條的值3.觸屏方法VoidVoid send_button(intsend_button(int jion,booleanjion,boolean f);f);設(shè)置觸屏按鈕的值參數(shù):Jion:觸屏按鈕的jion No.f:當(dāng)為真按鈕顯示按下,當(dāng)為假按鈕顯示彈起例子:Pad1.send_butto

19、n(101,n=1);/S n=1時(shí)按鈕按下,否則彈起Pad1.send_button(102,n=2);Pad1.send_button(103,n=3);Pad1.send_button(104,token);餡token= true按鈕顯示按下,當(dāng)token= false彈起對像名.updata_button.updata_button (int(int jion,booleanjion,boolean f);f);此方法功能跟send_button(int jion, boolean f);方法一樣,updata_button常用于updataEvent回調(diào)事件里,send_butto

20、n常用于start主函數(shù)里.VoidVoid send_level(intsend_level(int jion,intjion,int Value);Value);設(shè)置解屏進(jìn)度條,滑動(dòng)條的值參數(shù):Jion:觸屏進(jìn)度條、滑動(dòng)條的jion No.Value:范圍0-100例子:Pad1. send_level(1,50)send_level(1,50)/設(shè)置jion No.為1的進(jìn)度條的值為50%Pad1. send_level(1,98)send_level(1,98)VoidVoid send_Txt(intsend_Txt(int jion,Stringjion,String string

21、);string);設(shè)置觸屏文本顯示框的字符申參數(shù):Jion:觸屏文本顯示框的jion No.string:要顯示的字符申例子:Pad1. send_Txt (1,HolleWord”);/jion No.為1的文本框顯示HolleWrodvoidvoid setHoldTime(unsignedsetHoldTime(unsigned intint time);time);設(shè)置觸屏按鈕觸發(fā)HOLDHOLD事件的時(shí)間; ;參數(shù):Time:單位毫秒。例子:Pad1. setHoldTime (1000);般置長按事件的觸發(fā)時(shí)間為1秒voidvoid setRepeatTime(unsigneds

22、etRepeatTime(unsigned intint time);time);設(shè)置觸屏按鈕觸發(fā)REPEATCREPEATC事件的時(shí)間. .參數(shù):Time:單位毫秒。例子:Pad1.setRepeatTimesetRepeatTime(1000);/設(shè)置REPEATC事件的觸發(fā)時(shí)間為1秒3、虛擬觸屏對像該模塊只要是針對多觸摸屏的情況。如實(shí)際中需要多個(gè)觸屏屏設(shè)備,該模塊 可以很好的匹配。初始化虛擬觸屏對像vpad對像名=vpad (ID,socke)參數(shù):對像名:可任意符合C語言變量命名方式的變量名。如:ipadl.pad等TPID:虛擬觸屏對像的ID。范圍1-3000;Socket:范圍是(0-255)綁定觸屏DEFINE_COMBINEx(.)X:X:的范圍(1-8),(1-8),最多同時(shí)綁定8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論