詳細(xì)介紹
ABB 3BSE020514R1
廈門莫格電氣自動化有限公司
本公司擁有所有產(chǎn)品專業(yè)檢測平臺,產(chǎn)品質(zhì)量嚴(yán)格把關(guān)
具體詢價咨詢-雷琳
: (同號)
采購單比同行低10個點您拿單子,追求共贏!
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
{優(yōu)勢品牌和型號}
l 、BENTLY NEVADA本特利3500監(jiān)測系統(tǒng): 3500/22M 3500/53 3500/45 3500/15 3500/25 3500/20 3500/42M 3500/33 3500/32 3500/50 3500/50M
2 、GE (通用電氣):IC693/IC697/IC698/IS200/DS200/IS215模塊、卡件、驅(qū)動器等各類備件。
3 、ABB S800模塊AI810.CI830.DI810.DO810.AO810.DO820.DI821.TU831V1 DCS系統(tǒng) AC800F控制器 EI803F.FI830F.FI810F.PM856K01.PM802F.PM802F.PM825.
4 、Invensys Triconex: 3700A/3805E/4351B/3503E/3625/3008/4119A/8312/3703E/3511/冗余容錯控制系統(tǒng)、基于三重模件冗余(TMR)結(jié)構(gòu)的zui現(xiàn)代化的容錯控制器
5、羅克韋爾AB 1756.1747.1746.1785系列PLC模塊
6、福克斯波羅FCP270 FB201 FBM202 FBM204 FBM237 FBM242 FBMSVH FBMSSW模塊,配套端子線纜
7、西屋Ovation系統(tǒng)|西屋艾默生DCS過程控制條件
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
配置和初始化觸摸屏ABB 3BSE020514R1 ABB
電阻式觸摸屏在嵌入式系統(tǒng)中用的較多,電阻式觸摸屏可分為四線、五線、七線等幾種。由于使用WinCE觸摸屏比較廣泛,所以我們自己偶爾也會碰到這樣或者那么樣的問題。要是只是小問題,可能我們自己動一下手就可以處理,這又何樂而不為呢?
那如何配置和初始化觸摸屏?觸摸屏驅(qū)動在初始化過程會調(diào)用TouchPanelEnable函數(shù),該函數(shù)調(diào)用的DDSI函數(shù)為DdsiTouchPanelEnable和 DdsiTouchPanelDisable。這兩個DDSI接口函數(shù)是驅(qū)動實現(xiàn)的關(guān)鍵所在,分別用于打開和關(guān)閉觸摸屏硬件。但是為了降低功耗,這兩個函數(shù)其實可以不真正操作硬件,而只是實現(xiàn)軟件上的控制。
同時,在初始化時還需要進(jìn)行這幾個配置和初始化:一是創(chuàng)建事件hTouchPanelEvent和
hCalibrationSampleAvailable,前者是在正常狀態(tài)下當(dāng)有觸摸筆按下或者按下后需要定時采集數(shù)據(jù)時被觸
發(fā);而后者是在校準(zhǔn)狀態(tài)下當(dāng)有校準(zhǔn)數(shù)據(jù)輸入時被觸發(fā)。二是檢查初始化所需的中斷gIntrTouch(觸摸屏中斷)和gIntrTouchChanged(定時器中斷),并將這兩個中斷關(guān)聯(lián)到事件hTouchPanelEvent。 三是創(chuàng)建一個ISR線程TouchPanelpISR,用于等待和處理觸摸屏事件hTouchPanelEvent,它也是整個驅(qū)動程序中*的事件源。
判斷屏幕是否被觸摸
電阻式觸摸屏在嵌入式系統(tǒng)中用的較多,電阻式觸摸屏可分為四線、五線、七線等幾種。由于使用WinCE觸摸屏比較廣泛,所以我們自己偶爾也會碰到這樣或者那么樣的問題。要是只是小問題,可能我們自己動一下手就可以處理,這又何樂而不為呢?
那如何判斷屏幕是否被觸摸?一旦完成了觸摸屏硬件設(shè)置、初始化和基準(zhǔn)參數(shù)校準(zhǔn)后,接下來就需要用一種可靠的方法來判斷屏幕是否被觸摸了。WinCE提供了屏幕是否被觸摸的檢測機(jī)制,而且當(dāng)觸摸事件發(fā)生時還可選擇是否中斷主處理器。判斷屏幕是否被觸摸的驅(qū)動程序的函數(shù)名叫WaitForTouchState()。當(dāng)屏幕被初次觸摸時喚醒主機(jī)的中斷,稱為PEN_DOWN中斷。這樣做可以讓驅(qū)動程序在屏幕沒有被觸摸時中斷自己的執(zhí)行,而不消耗任何CPU資源,而一旦用戶觸摸屏幕,驅(qū)動程序就被喚醒并進(jìn)入轉(zhuǎn)換模式。 當(dāng)被喚醒后就有一組模數(shù)數(shù)據(jù)等待轉(zhuǎn)換并產(chǎn)生中斷信號。中斷是硬件與軟件打交道的重要方法,所以大多數(shù)驅(qū)動程序都涉及到中斷處理。就中斷處理而言, WinCE采用了一種*的方法。它將中斷處理分為兩步:中斷服務(wù)例程(ISR)和中斷服務(wù)線程(IST)。具體來講就是把每個硬件的設(shè)備中斷請求 (IRQ) 和一個ISR 起來,當(dāng)一個中斷發(fā)生并未被屏蔽時,內(nèi)核調(diào)用該中斷注冊的ISR。因為ISR 運行于內(nèi)核模式,所以應(yīng)該被設(shè)計得盡可能的短,ISR 的基本職責(zé)是引導(dǎo)內(nèi)核調(diào)度和啟動合適的IST。IST 在設(shè)備驅(qū)動程序軟件模塊中編寫,它從硬件獲取或向硬件發(fā)送數(shù)據(jù)和控制代碼,并進(jìn)一步處理設(shè)備中斷。
WinCE觸摸屏驅(qū)動程序是采用中斷方式對觸摸筆的按下狀態(tài)進(jìn)行檢測,當(dāng)檢測到觸摸筆按下時產(chǎn)生的中斷,就會觸發(fā)一個事件通知一個工作線程開始采集數(shù)據(jù)。同時,驅(qū)動將打開一個硬件定時器,只要檢測到觸摸筆仍然在按下狀態(tài),將定時觸發(fā)同一個事件通知這個工作線程繼續(xù)采集數(shù)據(jù),直到觸摸筆抬起后關(guān)閉該定時器。簡單的說,就是驅(qū)動程序會同時采用觸摸屏中斷和定時器中斷這兩個中斷源。目的在于不僅可以監(jiān)控觸摸筆按下和抬起狀態(tài),而且可以檢測觸摸筆按下時的拖動軌跡。觸摸屏中斷的兩個邏輯中斷分別是:SYSINTR_TOUCH是用于觸摸筆點擊觸摸屏?xí)r產(chǎn)生相應(yīng)的中斷;SYSINTR_TOUCH_CHANGE 則用于觸摸筆離開時產(chǎn)生相應(yīng)的中斷。
在理想情況下,校正觸摸屏基準(zhǔn)只需兩組原始數(shù)據(jù),即在屏幕對角讀取的zui小和zui大值。但在實際應(yīng)用中,因為許多電阻式觸摸屏存在明顯的非線性,如果只在zui小和zui大值之間簡單的插入位置數(shù)值會導(dǎo)致驅(qū)動程序非常的不精確。因此,在WinCE中需要獲取多個校準(zhǔn)點,常用的校準(zhǔn)點數(shù)量為5個。 方法是:①首動程序在函數(shù)DdsiTouchPanelGetDeviceCaps 中設(shè)置校準(zhǔn)點的個數(shù);②是系統(tǒng)在 TouchDriverCalibrationPointGet中獲取每個校準(zhǔn)點的屏幕坐標(biāo);③是在屏幕界面的校準(zhǔn)點坐標(biāo)處顯示一個位置符號,用戶需要精確地在位置符號按下觸摸屏;④驅(qū)動程序通過TouchPanelReadCalibrationPoint函數(shù)讀取相應(yīng)的觸摸屏坐標(biāo)值;⑤然后再開始下一個校準(zhǔn)點,直到循環(huán)設(shè)定的次數(shù)后將采集到的觸摸屏坐標(biāo)值和校準(zhǔn)點屏幕坐標(biāo)送到TouchPanelSetCalibration函數(shù)中進(jìn)行處理,該函數(shù)將產(chǎn)生校準(zhǔn)基準(zhǔn)參數(shù)。校準(zhǔn)完成之后,觸摸屏便可以開始正常的操作了。
PEB02
PEB03
PGM01
LL02
LL03
LM01
LM21
LT02
LZ01
LZ02
MA01
MA02
MA03
MA12
MB01
MB02
MB11
MB12
MB21
MR01
MS01
MT01
MV01
MV03
MZ01
MZ03
DPW02
DRA02
EP07
HA01
HA02
HH01
HH03
HH04
HH11
HM01
HM11
HM21
HP01
HP03
HP21
HS01
HS11
HV01
HV12
HW81
HW91
LL01
AV02
AV05
AV06
AV08
AV31
AV41
AV42
AV43
AV97
AV98
AW01
AW02
AW03
AW05
DAI01
DAI04
DAI05
DAO01
DCO01
DCP02
PAA02
PAB02
PAR01
DDO02
XN05
XN06
XP01
XU01
XU02
XU03
XU04
XU12
XU13
XU14
XX02
SS25
SS41
SV01
TET106
TET106-EX.D
TEU315-EX.B
TEU320
TEU325-EX.B
TEU411
TEU421
TEU310
TZF12
TZIF3
TZN124-EX
VE93
VV01
VV03
VV11
XB01
XI01
XI91
XK11
XK12
XK15
XK16
XM01
XM02
XM03
XN01
XN03
PGM03
PGM09
PGM35
PGM48
PMK24
DFC01
DFE01
DFI01
DFM11
DFP01
DLM01
DPW01
DCP10
DDI01
DDO01
07KR264dR1
07KR220dR1
07KR228d
07KR240R2
IV0790
07SK90R1 GJR5250200R0001
GJR5251600R0202 07AI91C
GJR5253200R1161
23WT90RTU510
07KR51 07KR51-U3.6
07 KR 51-P30; 07 KR 51-F12
07KT51 07KT51-U3.6
07KR51-A3.6
07CR41-c12
ICMK14F1-H08
XI16E1-b10 XI16E1-E4.0, XI16E1-D02
XO08R1 XOO8R1-B04
XK08F1 XK08F1-A3.0 XK08F1-A30
XO16N1-b20 XO16N1-C3.0
XC32L1 XC32L1-B4.0
ICMK14F1 ICMK14F1-I09
LM012 LM012-CXE18RAC
492897301
492897601************************************************************
492897801
492897701
492898801