上位机系统:现在数据采集系统通过VB将数据采集到PC上,经数据整合后由MCGS显示数据采集系统变量命名规则:'addr数据命名方法为,XADDRxx下标的第一个数代表区号,第二个数代表NUMBER序号,X代表数据类型,P代表光数据,T代表温度,C表CO2,S表湿度
温室数据采集系统整体运行调试操作流程:系统数据采集思想:由于MCGS通讯属于主从通讯,数据采集系统缺乏灵活性,故本系统通过OLE自动化,以VB为中介将MCGS和下位机建立数据通信联系
系统在实现mcgs和vb交互解决的几个关键问题:1
mcgs按钮按下后,vb检测mcgs按钮按下的信息后向下位发送启动或停止命令
解决方法:当mcgs按钮按下后,触发一个开关量的变化,这个变量的值会通过ole将此变量的值送至vb,vb通过定时器定时扫描变量的变化来执行相应命令
系统所采集数据触发式存盘,如果mcgs采用定时存盘的话,数据的冗余度太大,也没有必要,故现要实现只有当vb收到串口数据后经vb数据提取与处理后,触发相应的存盘命令
同时也存在mcgs和vb数据提取与处理的同步问题解决方法:在vb中设置信号量FLAG,此变量与MCGS中是同一个变量,然后在数据处理完成后,将FLAG置1通过OLE通知MCGS进行数据存盘
而且在Vb数据处理时要添加延时程序,以实现vb数据处理和mcgs数据存盘显示同步
关于MCGS变量设定方式以及节点分布显示过程只有有数据时才能触发MCGS存盘,存盘扫描周期设为400ms,只有flag为1才开始存盘
flag扫描周期的设定要与vb数据处理速度匹配
NUMBER的初始值设为1吧
每次串口数据传送完成后,number量被重新置1
Number的置1由vb发送置1信号量,具体置1由mcgs实现
一个大数据采集周期里将分别进行四个区的数据采集,每个区的number都从1开始,每收到一个