W
wildhorsetlj
Unregistered / Unconfirmed
GUEST, unregistred user!
以前采用SPCOM进行数据发送和接收,问题不大,但现在的项目遇到一个问题,不知道该怎么解决,请各位Delphi的XDJM予以指点。
问题如下:
计算机向控制器发送数据包:ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
控制器接收到上述数据包后返回n条数据:
例:
FF 08 01 01 03 00 00 01 01 06 06 1A 09 14 01 AD
FF 08 01 02 03 00 00 01 01 06 06 1A 09 14 01 AC
FF 08 01 03 03 00 00 01 01 06 06 1A 09 14 01 AB
FF 08 01 04 03 00 00 01 01 06 06 1A 09 14 01 AA
FF 08 01 05 03 00 00 01 01 06 06 1A 09 14 01 A9
FF 08 01 06 03 00 00 01 01 06 06 1A 09 14 01 A8
FF 08 01 07 03 00 00 01 01 06 06 1A 09 14 01 A7
FF 08 01 08 03 00 00 01 01 06 06 1A 09 14 01 A6
SPCOM接收完上述数据后再重复发送数据包,形成循检功能。
现在的问题是:
1、采用SPCOM/mscomm重复发送数据包时如何判断数据是否接收完毕?(n=接收数据包的第二个字节值,如上述情况n=8),如何延时?
2、接收到的数据如何临时存储并读取进行二次转换,要求将接收到的数据帧转换成常规的数据段:如总个数 地址1 地址2 状态 等等?
说明:我当时采用了*.log文件形式缓存接收到的字符串,并用另一个TTimer控件定时读取log文件的行信息,进行分解转换,但总出现异常,或报告不能为read或write,每查找到原因;后来改用TMemo控件缓存和读取数据,但在窗体变化或者meme滚动条认为变更时出现数据丢失,或者读取数据失败?
3、针对大批量数据查询和曲线分析,如何处理能够更简洁?可否提供实例?
4、当天的通讯数据保存到数据库好还是txt文本文档形式?一天的通讯记录有120万条左右,而且,要求24小时开机监控,至少不断电持续时间为6-7天时间。
个人邮箱:wildhorsetlj@163.com
上述问题还请各位Delphi的XDJM不吝赐教一二!分不够,可开贴另加!
问题如下:
计算机向控制器发送数据包:ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
控制器接收到上述数据包后返回n条数据:
例:
FF 08 01 01 03 00 00 01 01 06 06 1A 09 14 01 AD
FF 08 01 02 03 00 00 01 01 06 06 1A 09 14 01 AC
FF 08 01 03 03 00 00 01 01 06 06 1A 09 14 01 AB
FF 08 01 04 03 00 00 01 01 06 06 1A 09 14 01 AA
FF 08 01 05 03 00 00 01 01 06 06 1A 09 14 01 A9
FF 08 01 06 03 00 00 01 01 06 06 1A 09 14 01 A8
FF 08 01 07 03 00 00 01 01 06 06 1A 09 14 01 A7
FF 08 01 08 03 00 00 01 01 06 06 1A 09 14 01 A6
SPCOM接收完上述数据后再重复发送数据包,形成循检功能。
现在的问题是:
1、采用SPCOM/mscomm重复发送数据包时如何判断数据是否接收完毕?(n=接收数据包的第二个字节值,如上述情况n=8),如何延时?
2、接收到的数据如何临时存储并读取进行二次转换,要求将接收到的数据帧转换成常规的数据段:如总个数 地址1 地址2 状态 等等?
说明:我当时采用了*.log文件形式缓存接收到的字符串,并用另一个TTimer控件定时读取log文件的行信息,进行分解转换,但总出现异常,或报告不能为read或write,每查找到原因;后来改用TMemo控件缓存和读取数据,但在窗体变化或者meme滚动条认为变更时出现数据丢失,或者读取数据失败?
3、针对大批量数据查询和曲线分析,如何处理能够更简洁?可否提供实例?
4、当天的通讯数据保存到数据库好还是txt文本文档形式?一天的通讯记录有120万条左右,而且,要求24小时开机监控,至少不断电持续时间为6-7天时间。
个人邮箱:wildhorsetlj@163.com
上述问题还请各位Delphi的XDJM不吝赐教一二!分不够,可开贴另加!