- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于USB移动存储的钢丝绳探伤报警系统设计
录入:edatop.com 点击:
Command/Response消息用于在用户系统或MemMaster系统将要发出的Command或Response及相应数据准备好后,通过对方(MemMaster或用户系统)Command或Response已经准备完毕,可以开始执行的消息。该消息通过向双口RAM的0xFFFE或0xFFFF地址写/读数据来完成。该消息通过中断方式来实现,即:对用户系统而言,当向0xFFFE写入数据时,即为通知MemMaster有命令待执行。当系统进入中断程序确定时,说明MemMaster端已经完成了命令,并将响应准备好,可以进入下一步操作。这时,从0xFFFF即清除了该中断。目前系统定义,向0xFFFE写入和从0xFFFF读出的值都是0x01。参考代码如下[6]:
#define DPRAMRInt ((char*)0xFFFF)
#define DPRAMLInt ((char*)0xFFFE)
#define SEND_SYSCMD *DPRAMLInt = 0x01
void service_int1() interrupt 0 /*外部中断0*/
{
bRecvResp = *DPRAMRInt;
}
下面给出文件创建函数来说明用户系统与MemMaster系统是如何实现Command消息传送的(Response消息类似)。
void CreateFile(unsigned char nm) /*nm用于判断文件是否存在*/
{
CreateFileCmdPkg* crCmdPkg;
/* CreateFileCmdPkg为创建命令包,包括创建命令的各个属性*/
crCmdPkg=(CreateFileCmdPkg*)Command;
MemSet((char*)crCmdPkg,0,64);
MemSet(crCmdPkg->FileName,0x20,8);
crCmdPkg->CommandCode=SYS_CREATE_FILE;
/* SYS_CREATE_FILE为创建命令码*/
crCmdPkg->FileName[0]=’T’;
crCmdPkg->FileName[1]='A'+nm;
/* FileName为文件名*/
crCmdPkg->ExtensionName[0]='S';
crCmdPkg->ExtensionName[1]='H';
crCmdPkg->ExtensionName[2]='J';
/* ExtensionName为后缀名*/
crCmdPkg->FileAttr=0x20;
crCmdPkg->CreateTime[0]=min;
crCmdPkg->CreateTime[1]=hour;
/* CreateTime为创建时间*/
crCmdPkg->CreateDate[0]=date;
crCmdPkg->CreateDate[1]=year;
/* CreateDate为创建日期*/
/* min、hour、date、year是由DS1302提供的数据计算而得*/
crCmdPkg->Option=0x00;
bRecvResp = 0;
SEND_SYSCMD; /*发送Command消息*/
cs_ram=1; /*取消双口RAM片选*/
Delayms(10);
while(!bRecvResp); /*判断双口RAM是否收到消息*/
cs_ram=0; /*片选*/
}
5 实验结果分析
钢丝绳检测系统是通过对被测钢丝绳进行磁化,用敏感元件检测钢丝绳断丝处的泄漏磁场,以此判断有无断丝,再通过计算机以及相应的软件,对此漏磁场的波形进行分析,进一步判断断丝的数量,并通过光电编码器确定相应断丝的位置。在实验中选取一根 24(6 7)结构的钢丝绳样绳,并在指定位置做出断丝,实验分两组,每组50次,用该套系统进行测定,实验分析结果如表1所示。
通过表1(负号表示漏判,正号表示错判)的分析计算表明:当要求无错判时(错检断丝根数为0),断丝定量准判率为95%;当允许错判1根时(错检断丝根数为-1,0,1),断丝定量准判率为100%,因此,符合工况要求。同时,报警系统也对断丝进行了实时报警。
6 结论
钢丝绳检测系统要求的检测速度为每秒0~2000个数据,本套装置完全可以胜任,同时保证了测量的精度。该装置可以按指定的格式存入数据,并且动态的检测移动存储器中是否有同名的文件,并自动添加文件,可以在无人工干预的情况下实现多次检测,使用起来极为方便。同时,报警系统可以对断丝进行实时报警,方便了实时处理。
该装置把USB标准应用到了钢丝绳检测体系中去,适应了计算机的发展潮流,具有携带方便、操作快捷、成本低廉、存储容量大等优点,效果良好,应用前景广阔。
#define DPRAMRInt ((char*)0xFFFF)
#define DPRAMLInt ((char*)0xFFFE)
#define SEND_SYSCMD *DPRAMLInt = 0x01
void service_int1() interrupt 0 /*外部中断0*/
{
bRecvResp = *DPRAMRInt;
}
下面给出文件创建函数来说明用户系统与MemMaster系统是如何实现Command消息传送的(Response消息类似)。
void CreateFile(unsigned char nm) /*nm用于判断文件是否存在*/
{
CreateFileCmdPkg* crCmdPkg;
/* CreateFileCmdPkg为创建命令包,包括创建命令的各个属性*/
crCmdPkg=(CreateFileCmdPkg*)Command;
MemSet((char*)crCmdPkg,0,64);
MemSet(crCmdPkg->FileName,0x20,8);
crCmdPkg->CommandCode=SYS_CREATE_FILE;
/* SYS_CREATE_FILE为创建命令码*/
crCmdPkg->FileName[0]=’T’;
crCmdPkg->FileName[1]='A'+nm;
/* FileName为文件名*/
crCmdPkg->ExtensionName[0]='S';
crCmdPkg->ExtensionName[1]='H';
crCmdPkg->ExtensionName[2]='J';
/* ExtensionName为后缀名*/
crCmdPkg->FileAttr=0x20;
crCmdPkg->CreateTime[0]=min;
crCmdPkg->CreateTime[1]=hour;
/* CreateTime为创建时间*/
crCmdPkg->CreateDate[0]=date;
crCmdPkg->CreateDate[1]=year;
/* CreateDate为创建日期*/
/* min、hour、date、year是由DS1302提供的数据计算而得*/
crCmdPkg->Option=0x00;
bRecvResp = 0;
SEND_SYSCMD; /*发送Command消息*/
cs_ram=1; /*取消双口RAM片选*/
Delayms(10);
while(!bRecvResp); /*判断双口RAM是否收到消息*/
cs_ram=0; /*片选*/
}
5 实验结果分析
钢丝绳检测系统是通过对被测钢丝绳进行磁化,用敏感元件检测钢丝绳断丝处的泄漏磁场,以此判断有无断丝,再通过计算机以及相应的软件,对此漏磁场的波形进行分析,进一步判断断丝的数量,并通过光电编码器确定相应断丝的位置。在实验中选取一根 24(6 7)结构的钢丝绳样绳,并在指定位置做出断丝,实验分两组,每组50次,用该套系统进行测定,实验分析结果如表1所示。
通过表1(负号表示漏判,正号表示错判)的分析计算表明:当要求无错判时(错检断丝根数为0),断丝定量准判率为95%;当允许错判1根时(错检断丝根数为-1,0,1),断丝定量准判率为100%,因此,符合工况要求。同时,报警系统也对断丝进行了实时报警。
6 结论
钢丝绳检测系统要求的检测速度为每秒0~2000个数据,本套装置完全可以胜任,同时保证了测量的精度。该装置可以按指定的格式存入数据,并且动态的检测移动存储器中是否有同名的文件,并自动添加文件,可以在无人工干预的情况下实现多次检测,使用起来极为方便。同时,报警系统可以对断丝进行实时报警,方便了实时处理。
该装置把USB标准应用到了钢丝绳检测体系中去,适应了计算机的发展潮流,具有携带方便、操作快捷、成本低廉、存储容量大等优点,效果良好,应用前景广阔。
上一篇:存储分析
如何解决虚拟环境I/O瓶颈问题
下一篇:移动互联网的技术引擎