我要做的是一个生产控制系统,终端上有十个单片机(下位机)来控制机器,由电脑向每个单片机发命令
并向单片机读取状态,判断该发什么命令
命令格式是:以#开头,以回车结尾命令长度为13个字符
我想做的是,由电脑向单片机发一个开始生产的命令然或所有单片机开始工作,电脑从单片机上采集数据
并判断其状态再发命令控制生产,在整个过程中只有第一个命令是人发的后面的由电脑完成
我用的是touber power 的控件ApdComPort我的流程是:当点击开始生产时发一个开始计量命令,顺便发一个读命令(紧跟前一个命令),
读取单片机的工作状态看是否都在正常计量,这时应该激发控件的onTrigger事件,
判断命令是否正确,正确则接受,然后判断是否正常计量
若不是则重发计量命令,顺便发一个读命令,这是又会激发onTrigger事件,继续判断…
直到所有的都正常计量,再发一个读命令看是否计量完,若没有则继续发读命令直到所有的都计量完为止
然或开始执行下一个动作……
现在的问题是,第一个点按钮发送的计量命令是成功的,后面的都停下来了,没有按照预想的执行下去
我觉得是不是每次都从串口缓冲区读命令太快读到的是不完整的命令(我遇到过),我判断命令是否正确
是以字符串是否以#开头,以回车结尾长度是否是13,若是则接受,不是则放弃。
谁有什么好的办法不妨说说谢了
解决方案 »
- 如何判断网页内指定框架是否打开?
- delphi 集合类型
- 我用的fastreport3.0的报表 ,原来这个打印是可以打印的,但是现在不可以了,我也没有修改什么啊,急急
- 文件打包安装后,运行出现古怪提示!(毕业设计,急!!!)
- 關於三賤的申請支持斑竹貼回復回的手軟,開個貼支持下!
- insert语法错误,帮忙解决一下??
- 用Delphi开发ASP分页组件,调用时出了错???
- 这个界面该怎么实现?[对我来说超难]
- ■■高分求够delphi相关电子书籍下载网站■■
- 十万火急,关于拖动控件时的闪烁问题
- ****100分———换一个PP号。2000分求“潘多拉之盒”这款游戏的稳定下载地址!
- PC机使用SPCOMM与下位单片机通讯的问题
作单片机的人,就在我旁边,我单发命令是没错,让程序自动检测单片机的状态自动
控制生产就坏了只执行第一个命令我现在不想用控件了,直接用api用轮询方式,100毫秒询问一遍
若命令正确,就修改全局变量(在全局变量里记录每个单片机的状态)正在试,不过我觉得论询的方式不太好
谁有什么更好的办法?
这次还是,hiflower(花) fjyhs(辉辉) 比较准.