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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

6、型),COM0-COM2支持 RS-232(G,TX,RX)通訊格式,COM3 支持 RS-232(G,TX,RX)/485(A,B)通訊格式。CAN-BUS口一一支持通用 CAN-BUS、議,也可以外接我司的擴展設備如:電源控制器,調兀而十USB接口 -用于用戶編寫程序的下載,暫時只支持USB下載方式。不支持網絡下載。ETHERNE 接口 -最大 8 個連接,支持 TCP/UD 梏協(xié)議。第二章、軟件說明1 iControl 1.0編程軟件iControl 1.0是針對CIMTE第三代可編程中控主機(CP3)開發(fā)的編程軟件, 中控編程采用C、C+祁言編寫。采用面向對象的編程方式。支持自定義模塊

7、導 入。整個編程軟件界面簡潔易上手。1.1iControl 1.0安裝本軟件為綠色軟件,無需安裝,只需把iControl目錄的文件拷貝到電腦硬 盤,然后雙擊i Control .exe即可運行iControl編輯軟件。安裝過程比較簡單, 這里不作重點描述,需注意的是:本軟件是基丁java平臺,必須先安裝JDW能正常運行。1.2iControl 1.0軟件介紹輸出顯示項口標題欄上傳源代碼編輯窗口菜單欄2.結構說明2.1引用第三方白定義宏CP3采用的是面向對像的編程方式,我們可以把宏封裝成對像,對像有屆性和 方法。屆性描述對象。屆性通過變量、常量和結構實現(xiàn)。方法是對象執(zhí)行的動作。通過使用#incl

8、ude來引用第三方自定義宏的頭部文件2.2 seutp()在CP3中程序運行時將首先調用setup()函數。用丁初始化對像屆性、設備對像如:#include等。每次CP3上電或重啟后,setup函數只運行一次。YES動行事件處理器示例: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 ;/網卡 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()函數中初始化后, 然后執(zhí)行 start()主線函數。主線是 CP 井央控制器連續(xù)執(zhí)行的程序部分。start()包含被稱為主線的代碼,只要控制器接電,主線就

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

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

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

13、向通訊的。1 1、觸屏對像初如化:TouchPand對像名=TouchPand(TPID,socke)參數:對像名:可任意符合C語言變量命名方式的變量名。如:ipad1.pad等TPID:觸屏對像的ID,可在Xpanel CP3中設置。Socket: CP3主機的網卡最大支持8個socket,范圍是(0-7)例子:定義一個名叫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、觸屏對像事件回調:當點擊觸屏上的控件,如按下按鈕或拖動進度條時,CP3主機會調用事件回調,用戶可以事件回調函數中編寫想要的功能。把對像名加入到事件回調:touchpanel_start(TouchPan&虧像名);監(jiān)聽事件回調:Void getlisten();按鈕事件回調函數(不要修改函數名及參數名) )void keypadEvent(int id,int jion, KeyState state)按鈕回調函數,當點擊觸屏上的按鈕,會自動調用該函數。按鈕事件BUTTON_EVENT(TP,jion)參數: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 /長按重復事件REPEATC /長按重復事件進度條事件回調函數(不要修改函數名及參數名)void keypadLevelEvent(int id,int jion ,int key)進度條事件,當拖動觸屏上的進度條會自

16、動調用該函數例子: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的進度條值a1=key;時鐘校正回調函數(不要修改函數名及參數名)void settimeEvent(int year,int month,int date,int hour,int min,int sec,int dow)用觸屏的時鐘校正cp3中控主機的時間例子:void settimeEvent(

17、int year,int month,int date,int hour,int min,int sec,intdow)( rtc.setDOW(dow);設置星期幾rtc.setTime(hour, min, sec);設置時,分,秒rtc.setDate(date, month, year);般置日,月,年狀態(tài)更新回調函數(不要修改函數名及參數名)void updataEvent(int tpid)當觸屏待機后,喚醒觸屏后,會自動調用該函數,并更新觸屏的狀態(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)+%); /設置文字的值pad1.send_level(1,a1)設置進度條的值3.觸屏方法VoidVoid send_button(intsend_button(int jion,booleanjion,boolean f);f);設置觸屏按鈕的值參數:Jion:觸屏按鈕的jion No.f:當為真按鈕顯示按下,當為假按鈕顯示彈起例子:Pad1.send_butto

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

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

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

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

溫馨提示

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

評論

0/150

提交評論