谁做过多个AI仪表通过485温度采集?

Persistent8813 2007-06-11 05:52:00
我在BCB中开了一个线程来读数据采集卡数据,采用轮循方式。
FOR i=1 TO 10

1.向(i)号表发送读取指令
2.如果成功 CRC验证 写入数据库
3.否则下一个表

但总是存在时间延迟问题
不知道大家是如何解决的,能否指点一下。

我用的是同步读取,异步读取总是不太明白
...全文
304 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhec 2007-07-05
  • 打赏
  • 举报
回复
异步读取,要等事件通知才能读数据
huzhangyou 2007-07-03
  • 打赏
  • 举报
回复
这个 不应该放弃啊
也不是什么很难的

只是线程的问题
ReverseEngineering 2007-07-03
  • 打赏
  • 举报
回复
顶了再看
wanglovec 2007-06-13
  • 打赏
  • 举报
回复
有这样做的成功案例吗?请给点信心吧,我都打算放弃了

>>不要放弃哦,应该可以解决的.

1.为什么不进行时间延迟就会漏掉很多数据
>> 你延迟不就得了 把认为完成先
wanglovec 2007-06-13
  • 打赏
  • 举报
回复
1.为什么不进行时间延迟就会漏掉很多数据

>>他的数据到来时 你没有去读 然后下一批数据 到来把前一批的冲掉了
Persistent8813 2007-06-13
  • 打赏
  • 举报
回复
有这样做的成功案例吗?请给点信心吧,我都打算放弃了
huzhangyou 2007-06-13
  • 打赏
  • 举报
回复
你用的不对啊
用线程应该
while(!Thread->Terminated){
1.向(i)号表发送读取指令
2.如果成功
3.读取(i)号表温度数据
4.如果成功 ,CRC验证后 写入数据库
5.否则下一个表
//适当的sleep(1)
}
i_love_pc 2007-06-12
  • 打赏
  • 举报
回复
发送读取命令之后应该延迟一下再读取数据,总会有一定的响应时间的。
Persistent8813 2007-06-12
  • 打赏
  • 举报
回复
我觉得写文件和写数据库并没有什么太大的时间差别,何况我只是写缓存并没有提交。
我困惑的是:
1.为什么不进行时间延迟就会漏掉很多数据
2.宇电的AI说明书上说的0.2ms的延时是指什么?我想不会是响应时间吧?如果是,那么说一定要在程序中延时了?
3.485转232的过程中有没有时间问题呢?
Persistent8813 2007-06-12
  • 打赏
  • 举报
回复
应该有很多人做过这样的程序吧,闷啊
wanglovec 2007-06-11
  • 打赏
  • 举报
回复
但总是存在时间延迟问题
>> 这个是什么意思??


楼主 困扰的是什么??

来不及处理吗??

那写文件好了 (比写数据库快了N贝)
Persistent8813 2007-06-11
  • 打赏
  • 举报
回复
我用的是宇电的AI—508温控器
http://www.yudian.com/products/1pro_ai.php

FOR i=1 TO 10

1.向(i)号表发送读取指令
2.如果成功
3.读取(i)号表温度数据
4.如果成功 ,CRC验证后 写入数据库
5.否则下一个表


请做过此类应用的朋友给予指点,或者给点有关资料,谢谢!
BenLeak 2007-06-11
  • 打赏
  • 举报
回复
没有明白楼主的主要问题是什么

还有你的目的是什么?串口数据可以没有延时的。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧