详细介绍
ABB 3BSE020514R1
厦门莫格电气自动化有限公司
本公司拥有所有产品专业检测平台,产品质量严格把关
具体询价咨询-雷琳
: (同号)
采购单比同行低10个点您拿单子,追求共赢!
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
{优势品牌和型号}
l 、BENTLY NEVADA本特利3500监测系统: 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模块、卡件、驱动器等各类备件。
3 、ABB S800模块AI810.CI830.DI810.DO810.AO810.DO820.DI821.TU831V1 DCS系统 AC800F控制器 EI803F.FI830F.FI810F.PM856K01.PM802F.PM802F.PM825.
4 、Invensys Triconex: 3700A/3805E/4351B/3503E/3625/3008/4119A/8312/3703E/3511/冗余容错控制系统、基于三重模件冗余(TMR)结构的zui现代化的容错控制器
5、罗克韦尔AB 1756.1747.1746.1785系列PLC模块
6、福克斯波罗FCP270 FB201 FBM202 FBM204 FBM237 FBM242 FBMSVH FBMSSW模块,配套端子线缆
7、西屋Ovation系统|西屋艾默生DCS过程控制条件
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
配置和初始化触摸屏
ABB 3BSE020514R1
电阻式触摸屏在嵌入式系统中用的较多,电阻式触摸屏可分为四线、五线、七线等几种。由于使用WinCE触摸屏比较广泛,所以我们自己偶尔也会碰到这样或者那么样的问题。要是只是小问题,可能我们自己动一下手就可以处理,这又何乐而不为呢?
那如何配置和初始化触摸屏?触摸屏驱动在初始化过程会调用TouchPanelEnable函数,该函数调用的DDSI函数为DdsiTouchPanelEnable和 DdsiTouchPanelDisable。这两个DDSI接口函数是驱动实现的关键所在,分别用于打开和关闭触摸屏硬件。但是为了降低功耗,这两个函数其实可以不真正操作硬件,而只是实现软件上的控制。
同时,在初始化时还需要进行这几个配置和初始化:一是创建事件hTouchPanelEvent和
hCalibrationSampleAvailable,前者是在正常状态下当有触摸笔按下或者按下后需要定时采集数据时被触
发;而后者是在校准状态下当有校准数据输入时被触发。二是检查初始化所需的中断gIntrTouch(触摸屏中断)和gIntrTouchChanged(定时器中断),并将这两个中断关联到事件hTouchPanelEvent。 三是创建一个ISR线程TouchPanelpISR,用于等待和处理触摸屏事件hTouchPanelEvent,它也是整个驱动程序中*的事件源。
判断屏幕是否被触摸
电阻式触摸屏在嵌入式系统中用的较多,电阻式触摸屏可分为四线、五线、七线等几种。由于使用WinCE触摸屏比较广泛,所以我们自己偶尔也会碰到这样或者那么样的问题。要是只是小问题,可能我们自己动一下手就可以处理,这又何乐而不为呢?
那如何判断屏幕是否被触摸?一旦完成了触摸屏硬件设置、初始化和基准参数校准后,接下来就需要用一种可靠的方法来判断屏幕是否被触摸了。WinCE提供了屏幕是否被触摸的检测机制,而且当触摸事件发生时还可选择是否中断主处理器。判断屏幕是否被触摸的驱动程序的函数名叫WaitForTouchState()。当屏幕被初次触摸时唤醒主机的中断,称为PEN_DOWN中断。这样做可以让驱动程序在屏幕没有被触摸时中断自己的执行,而不消耗任何CPU资源,而一旦用户触摸屏幕,驱动程序就被唤醒并进入转换模式。 当被唤醒后就有一组模数数据等待转换并产生中断信号。中断是硬件与软件打交道的重要方法,所以大多数驱动程序都涉及到中断处理。就中断处理而言, WinCE采用了一种*的方法。它将中断处理分为两步:中断服务例程(ISR)和中断服务线程(IST)。具体来讲就是把每个硬件的设备中断请求 (IRQ) 和一个ISR 起来,当一个中断发生并未被屏蔽时,内核调用该中断注册的ISR。因为ISR 运行于内核模式,所以应该被设计得尽可能的短,ISR 的基本职责是引导内核调度和启动合适的IST。IST 在设备驱动程序软件模块中编写,它从硬件获取或向硬件发送数据和控制代码,并进一步处理设备中断。
WinCE触摸屏驱动程序是采用中断方式对触摸笔的按下状态进行检测,当检测到触摸笔按下时产生的中断,就会触发一个事件通知一个工作线程开始采集数据。同时,驱动将打开一个硬件定时器,只要检测到触摸笔仍然在按下状态,将定时触发同一个事件通知这个工作线程继续采集数据,直到触摸笔抬起后关闭该定时器。简单的说,就是驱动程序会同时采用触摸屏中断和定时器中断这两个中断源。目的在于不仅可以监控触摸笔按下和抬起状态,而且可以检测触摸笔按下时的拖动轨迹。触摸屏中断的两个逻辑中断分别是:SYSINTR_TOUCH是用于触摸笔点击触摸屏时产生相应的中断;SYSINTR_TOUCH_CHANGE 则用于触摸笔离开时产生相应的中断。
在理想情况下,校正触摸屏基准只需两组原始数据,即在屏幕对角读取的zui小和zui大值。但在实际应用中,因为许多电阻式触摸屏存在明显的非线性,如果只在zui小和zui大值之间简单的插入位置数值会导致驱动程序非常的不精确。因此,在WinCE中需要获取多个校准点,常用的校准点数量为5个。 方法是:①首动程序在函数DdsiTouchPanelGetDeviceCaps 中设置校准点的个数;②是系统在 TouchDriverCalibrationPointGet中获取每个校准点的屏幕坐标;③是在屏幕界面的校准点坐标处显示一个位置符号,用户需要精确地在位置符号按下触摸屏;④驱动程序通过TouchPanelReadCalibrationPoint函数读取相应的触摸屏坐标值;⑤然后再开始下一个校准点,直到循环设定的次数后将采集到的触摸屏坐标值和校准点屏幕坐标送到TouchPanelSetCalibration函数中进行处理,该函数将产生校准基准参数。校准完成之后,触摸屏便可以开始正常的操作了。
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