响应为
函数流程图如下:
除此之外,我们还可以扩展其他功能,比如利用读文件记录0x20,写文件记录0x21两个功能码来存储系统的相关信息,如故障记录,使用过的规准查询,各设备使用情况等。
3.3 校验码的生成
根据传输模式的不同,系统需要产生不同的校验码(check sum),ASCII模式采用LRC校验(Longitudinal Redundancy Check)而RTU采用CRC校验(Cyclical Redundancy Check),实现这两种方法的函数均可以在相关资料中找到。下面是用C语言设计的CRC校验,其中Unsigned char* data 为指向讯息缓冲区(buffer)之指针 Unsigned char length 为讯息缓冲区中位元组数目,而产生的返回值reg-crc即为回传之校验码。[2]
unsigned int crc_chk(unsigned char *data, unsigned char length)
{
int j;
unsigned int reg_crc=0xFFFF;
while(length——)
{
reg_crc︿=*data++;
for(j=0;j<8;j++)
{
if(reg_crc&0x01)
{
reg_crc=(reg_crc>>1)︿0xA001;
}
else
{
reg_crc=reg_crc>>1;
}
}
}
return reg_crc;
}
4. 总结
通过上述系统,希望能与先进控制设备实现对接,从而提高系统的改进速度,使机床整体性能得到提升。
本文作者创新点:将modbus这项广泛应用的协议用于电火花加工机床,并在加工中取得了很好的加工效果,提高了整体机床的自动化程度。
上一篇:新型CAN智能电动执行器的设计