西门子PLC模块中国授权代理商 西门子PLC模块中国授权代理商
西门子PLC模块6ES7340-1CH02-0AE0
为保证系统稳定运行,系统CPU应避免长时间满负荷运作,应用程序CPU占用不宜过高。客户需要在调试阶段监测应用程序各个进程线程占用情况,对占用过高的进程线程进行优化。因CE自身不带进程线程系统占用查看工具,我们增加了AppHelper助手工具方便客户使用。
在之前的技术文章《CE应用程序助手简介》中简单介绍过英创AppHelper应用程序助手,本文将详细介绍AppHelper的使用方法。
AppHelper查看方法
客户在自制底板上只要引出了网络,USBOTG,DEBUG调试串口,或板子其它串口任意之一便可以查看AppHelper信息。
网络方式
通过telnet登录上板子,运行命令sysinfo,即可获得AppHelper打印的进程线程信息
PID表示为process进程。TID表示为上面进程下的thread线程。
ID号
即进程ID值或线程ID值。
占用情况
显示格式为 K n% U m% total%
n值为该进程或线程在Kernel系统层的占用
m值为该进程或线程在User用户层的占用
total值为总占用,它应当等于n+m的和
进程下各个线程total占用和应当等于进程的total占用
名称
进程名即EXE的名称,线程默认没**称,下一节会介绍如何给线程命名,从而能在AppHelper中显示出来。
进程及线程监视说明
AppHelper会打印系统下所有的进程的CPU占用信息。
只有在NandFlash目录下的exe生成的进程会额外打印出它下面所有线程的CPU占用信息。
默认情况下,生成的线程只有ID号,没**称,如果线程较多会不便于查看。我们可以通过简单代码给线程命名。
以光盘里的串口例程SPT_HEX为例:
添加一个结构体的定义
typedef struct _THREAD_INDEX
{
DWORDdwSize;
DWORDdwThreadID;
TCHARszThreadName[32];
_THREAD_INDEX*pNext;
}THREAD_INDEX;
在创建线程后给线程命名
这里把串口接收线程命名为"CommRecvTread"
hRecvThread = CreateThread(0, 0, CommRecvTread, this, 0, &m_dwTID);
HANDLE hHLP;
DWORD dwLen;
hHLP = CreateFile(L"HLP1:", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
THREAD_INDEXthreadIndex;
wsprintf(threadIndex.szThreadName, L"CommRecvTread");
threadIndex.dwThreadID = m_dwTID;
threadIndex.dwSize = sizeof(THREAD_INDEX);
WriteFile(hHLP, &threadIndex, sizeof(THREAD_INDEX), &dwLen, NULL);
CloseHandle(hHLP);
在结束线程后取消命名
线程结束后应当手动将命名取消掉,避免不必要的显示错误,设置线程名为空,即可取消原命名。
wsprintf(threadIndex.szThreadName, L"");
命名线程后再使用AppHelper查看,启动接收线程后,就可以看到CommRecvTread这个线程,另外个没有命名的线程为SerialPort程序的主线程
传统的现场级与车间级自动化监控及信息集成系统
1.1.4 系统主要缺点
(1)信息集成能力不强: 控制器与现场设备之间靠I/O连线连接,传送4-20mA模拟量信号或24VDC等开关量信号,并以此监控现场设备。这样,控制器获取信息量有限,大量的数据如设备参数、故障及故障纪录等数据很难得到。底层数据不全、信息集成能力不强,不能*CIMS系统对底层数据的要求。
(2)系统不开放、可集成性差、性不强:除现场设备均靠标准4-20mA/24VDC连接,系统其它软、硬件通常只能使用一家产品。不同厂家产品之间缺乏互操纵性、互换性,因此可集成性差。这种系统很少留出接口,答应其它厂商将自己专长的控制技术,如控制算法、工艺流程、配方等集成到通用系统中往,因此,面向行业的监控系统很少。
(3)可靠性不易保:对于大范围的分布式系统,大量的I/O电缆及敷设施工,不仅增加本钱,也增加了系统的不可靠性。
(4)可维护性不高:由于现场级设备信息不全,现场级设备的在线故障诊断、报警、记录功能不强。另一方面也很难完成现场设备的远程参数设定、修改等参数化功能,影响了系统的可维护性。
1.1.5 现场设备的串行通讯接口是现场总线技术的原形
由于大规模集成电路的发展,很多传感器、执行机构、驱动装置等现场设备智能化,即内置CPU控制器,完成诸如线性化、量程转换、数字滤波甚至回路调节等功能。因此,对于这些智能现场设备增加一个串行数据接口(如RS-232/485)是非常方便的。有了这样的接口,控制器就可以按其规定协议,通过串行通讯方式(而不是I/O方式)完成对现场设备的监控。假如设想全部或大部分现场设备都具有串行通讯接口并具有同一的通讯协议,控制器只需一根通讯电缆就可将分散的现场设备连接,完成对所有现场设备的监控,这就是现场总线技术的初始想法。
1.2.4 现场总线技术的产生
基于以上初始想法,使用一根通讯电缆,将所有具有同一的通讯协议通讯接口的现场设备连接,这样,在设备层传递的不再是I/O(4-20mA/24VDC)信号,而是基于现场总线的数字化通讯,由数字化通讯网络构成现场级与车间级自动化监控及信息集成系统。1.2 现场总线技术概念
1.2.1 现场总线技术
目前,公认的现场总线技术概念描述如下:现场总线是安装在生产过程区域的现场设备/仪表与控制室内的自动控制装置/系统之间的一种串行、数字式、多点通讯的数据总线。其中,“生产过程”包括断续生产过程和连续生产过程两类。
或者,现场总线是以单个分散的、数字化、智能化的丈量和控制设备作为网络节点,用总线相连接,实现相互交换信息,共同完成自动控制功能的网络系统与控制系统。
1.2.2 现场总线技术产生的意义
(1)现场总线(Fieldbus)技术是实现现场级控制设备数字化通讯的一种产业现场层网络通讯技术;是一次产业现场级设备通讯的数字化。现场总线技术可使用一条通讯电缆将现场设备(智能化、带有通讯接口)连接,用数字化通讯代替4-20mA/24VDC信号,完成现场设备控制、监测、远程参数化等功能。
(2)传统的现场级自动化监控系统采用一对一连线的、4-20mA/24VDC信号,信息量有限,难以实现设备之间及系统与外界之间的信息交换,使自控系统成为工厂中的“信息孤岛”,严重制约了企业信息集成及企业综合自动化的实现。
(3)基于现场总线的自动化监控系统采用计算机数字化通讯技术,使自控系统与设备加进工厂信息网络, 构成企业信息网络底层,使企业信息沟通的覆盖范围一直延伸到生产现场。在CIMS系统中,现场总线是工厂计算机网络到现场级设备的延伸,是支撑现场级与车间级信息集成的技术基础