厦门莫格电气自动化有限公司销售
Honeywell霍尼韦尔620-0083 620-0083C
您迈开询价的一小步,我还您成功的一大步。
620-0083 620-0083C
620-0083 620-0083C
620-0083 620-0083C
在基于英创工控主板的智能整机设备的开发过程中,客户应用程序的开发通常都是***为关键性的工作,其工作量往往也是***大的。一个高质量的应用程序,首先表现在较少的现场维护,不仅大幅度降低了设备开发费用,同时也为客户赢得后续的市场声誉。因此如何在设备出厂之前就能确定应用程序的基本质量,就变得至关重要了。
基于我们十多年长期不断地对客户应用程序的技术支持的经验,一般来说,如果一个应用程序在完成基本的应用功能的基础上,整个应用进程(包括进程的所有活动线程)的CPU负载率保持在一个合理的水平,比如低于70%,那么我们就可以认为运行于英创工控主板上的这个应用程序其质量是有基本保证的。为了方便客户随时了解应用程序的运行状况,我们计划在主板中嵌入一款称为应用程序助手(AppHelper)的监测程序。AppHelper仅使用很少的CPU资源,就可为客户提供系统各个进程的CPU开销情况,对客户的应用进程,还将提供进程中各个活动线程的运行状况。客户根据这些信息及可方便及时的了解程序运行的总体情况,快速确定程序代码需要优化的地方。
本文的后续部分主要介绍AppHelper的使用方法及信息输出的格式。
AppHelper的输出接口
CE应用程序助手AppHelper的主要功能是提供系统运行状况的基本信息。这些基本信息可支持多种通讯接口输出,这些接口包括调试串口、USB OTG接口、应用串口COM2 – CO***、以太网接口。客户可根据自身设备的特点,方便地选择输出接口。调试串口是AppHelper的缺省输出接口。
AppHelper输出信息的基本格式都是标准的ASCII码字符串,客户通过PC上的一款串口终端窗口程序(推荐使用开源的Tara Term),就可看到输出的信息。
若客户希望使用USB或应用串口来观察AppHelper的输出信息,需要通过执行主板上的AppHelperConfig进行端口配置:
\> AppHelperConfig p1 [p2]
上式中p1 = 1, 2, .. 9;其中 = 1表示使用COM1端口,在英创主板中COM1端口是基于USB OTG的虚拟串口,英创公司的EM335x产品线和E***28x产品线的所有产品均支持USB OTG虚拟串口功能,虚拟串口的使用方法与实际物理串口完全一致。参数p1 = 2 – 9分别对应物理串口COM2 – CO***。注意在选择物理串口时,应避免使用低速串口。参数p2为串口的波特率,缺省配置为115200bps。除非特别的需求,一般不设置该参数,即推荐使用115200波特率。
用户只需在输出串口上输入3个以上的字符(键盘连按3次以上),就会***AppHelper。AppHelper将按2秒间隔输出系统运行状态信息。
若用户希望通过以太网口来观察AppHelper的输出信息,则可通过telnet登录系统后,直接运行SysInfo.exe,就可在CMD窗口看到系统的运行信息。SysInfo可带一个输入参数,来确定输出信息的时间,缺省的时间为10s。AppHelper每2秒输出一次系统运行参数。
AppHelper信息输出格式
AppHelper的输出格式如下:
AppHelper v0.1 Oct 18 2015 17:36:33 Emtronix(c)
CPU:2% FreeMemory=148.59MiB FreeNand=123.99MiB
….
***行是AppHelper的版本信息,第二行是系统总的CPU负载、程序内存的剩余空间,以及NandFlash的剩余空间。之后的每一行是一个进程或线程的CPU占用率。其中每个进程的名称就是对应的exe文件名,而对线程来说,系统只提供有线程ID。客户一般说来很难根据线程ID来辨识具体是应用程序中哪个线程,例如串口接收线程。
应用线程命名
为了客户更容易识别应用线程,AppHelper为应用程序提供了2个API函数。应用程序在创建线程后,通过API函数来为该线程注册一个希望字符串名;当线程退出时,则通过API函数注销该字符串。AppHelper提供的这两个API函数为:
BOOL RegisterThreadName(DWORD dwThreadID, TCHAR* sThreadName);
OPTEK 10344 REV C *USED*
KLASCHKA YAL 32/A4-2.31 CARD BOA*** *USED*
SC021/A BOARD *USED*
SC021/A BOARD *USED*
VISHAY ELECTRONIC 550-19726062095 BOARD *USED*
PANALARM 090-0062-5-03 REV.18 BOARD *USED*
KEP 201-291-0500 *USED*
PANALARM 871 *USED*
YARWAY 731 THERMODYNAMIC STEAM TRAP *USED*
KOLLMORGEN C-78530-2 *USED*
BAKER INSTRUMENT CO. 80-544 AIO LEAKAGE COMP. *USED*
MAGNETEK GPD205-B0P7 *USED*
IMO INDUSTRIES CS-800 *USED*
80030060 BOARD *USED*
ALLEN BRADLEY 50347-001 *USED*
WUFTEC UNIVERSAL BOARD VERSION 1 *USED*
JOHNSTONE PUMP P2400 *USED*
CROUZET PB-24M BOARD *USED*
SCHNEIDER ELECTRIC TSXPSY5500 *USED*
PROLOG PWB 110494-005 TTL I/O CARD *USED*
ORIENTAL MOTOR 5RK40RGN-C *USED*
AUTOMATED PACKAGING 70639-G PC BOARD *USED*
UNIVERSAL DYNAMIC DWB1182C PC BOARD *USED*
AUTOMATED PACKAGING 71028-E1 BOARD *USED*
CKD AB3X-5829-3H *USED*
RODIX INC. 24-221 REV.B PC BOARD *USED*
METTLER TOLEDO 9321 *USED*
CHROMALOX TEMPERATURE CONTROLLER PROPORTIONAL *USED*
WATLOW J9A35 FIREROD CARTRIDGE HEATER *USED*
PECO MODULAR CONTROL MODEL MM C3006-0192 *USED*
PECO MODULAR CONTROL MODEL MM C3006-4938 *USED*
PECO MODULAR CONTROL MODEL MM C-3006-247 *USED*
044KB990-01 REV.P BOARD *USED*
UNIVERSAL STRIP GUIDE AMPLIFIER 472-12-061-86 *USED*
M.E.A. INC LE205 EDGE DETECTOR *USED*
HENGSTLER H02-462-1333 *USED*
APOLLO 7B-808-31 2' *USED*
DES-CASE DC-DS6 DISPOSABLE STEEL BREATHER *USED*
UNDERWRITERS LABORATORIES F-4395 *USED*
NCC DNC-T2020-B10 *USED*
HONEYWELL MPD6HD W/MPV14HD *USED*
FANUC A13B-0100-B001 CASSETTE ADAPTER *USED*
AEROTECH INC. 690 D1234 *USED*
WATSON MCDANIEL 3/4" WD-600 *USED*
SENSORTRONICS 60040-25-0103 *USED*
DREXELBROOK 406-6200-F31 UNIVERSAL TRAN***ITTER *USED*
EAGLE SIGNAL CONTROL ***4A621 *USED*
HEIDENHAIN 30977810 *USED*
STECK SCBA1TTM-06 *USED*
PARKER R2PH PRESSURE CONTROL VALVE *USED*
SPERRY VICKERS EM-D-20 AMPLIFIER MODULE *USED*
LEDEX INC 190095-001 BOARD *USED*
HUMPHREY 310 39 R C *USED*
HONEYWELL MHP-DR33Q *USED*
BOSCH 3 842 520 0055 BALANCER *USED*
KOMATSU 969-92-42110 JUNCTION UNIT *USED*
INDUSTRIAL CONTROL TA-2-81210 *USED*
LADISH CO. 5270-0607-05B *USED*
APPLETON ACP3034BC *USED*
GENERIC 405332 PC BOARD ASSEMBLY *USED*
RUSTRAK POD252 *USED*
LEESON M1125006.00 GEAR MOTOR *USED*
MAGNETROL B75-1B20-K0E *USE*
OMRON K3TX-VD21A *NEW IN A BOX*
ALLEN BRADLEY 1497-A-AXSX-1-N SER.A *USED*
ACTION PAK 4580-161S *USED*
SCHMERSAL TZG01.103 *USED*
PLC DIRECT D4-DCM *USED*
ORIENTAL MOTOR MSP302N SPEED CONTROLLER *USED*
ABL SURSUM MA1.6U *USED*
SNAP-TITE 2421V-8NB-AKG1 *USED*
SIEMENS 6ES5 430-8MC11 *USED*
BALLUFF BES 516-207-BO-E *NICE*
BALLUFF BES 516-360-S4-C *USED*
MAC 711C-12-PI-611B?A *USED*
OMRON G2A-432A * USED*
ROSS 1523 C 3002 *USED*
WIE***N N12-60368 *NEW IN A BOX*
EFECTOR IGA3005-ANKG *USED*
POTTER & BRUMFIELD KUP-5D55-24 *USED*
OMRON MY3-02 *USED*
TURCK VBRS4.4-2RK4T-1?/1 *USED*
MICRO SWITCH LSZ3K *USED*