我正在开发我的第一个CR1000程序,只需要一点输入即可确保我在应用程序中使用了正确的方法。
我将以慢速频率监测两组仪器。第一组使用振弦技术,每两小时读取一次读数。第二组是气动读数的自动序列,每天4次或每6小时一次。这是一个非常缓慢的过程,每次阅读需要3-5分钟,总时间约为一小时。我需要控制的另一个过程是蜂窝调制解调器的电源管理。我想每天打开两次,打开两个30分钟的窗口。
下面是我在中玩过的非常不完整的代码大纲,它使用更短的时间间隔工作。我只是想确保我使用的是最好的方法,如果能提供意见,我将不胜感激。代码大纲以BeginProg开头。。。
开始进度
扫描(1,最小,0,0)
用于监视IfTime和打开/关闭调制解调器的代码
下一次扫描
慢速序列
数据表(表1,1,-1)
…
床头柜
扫描(2小时,3.0)
对于i=1到xxx
读取仪器的代码(i)。。。
调用表表1
下一个i
下一次扫描
慢速序列
数据表(表2,1,-1)
...
床头柜
扫描(6,小时,0,0)
对于i=1到xxx
气动控制代码。。。(非常慢3-5分钟)
准备好后要读取的代码。。。
调用表表2
下一个i
下一次扫描
结束程序
还有几个问题:
您可以在不使用SlowSequence命令的情况下进行多次扫描吗?第二次扫描并不是一个真正的慢序列,但我在编程手册中找不到,除了使用慢序列之外,你可以进行多次扫描。
我将上面的表声明为DataTable(Name,1,-1),这是每次使用CallTable时写入数据的正确方法吗?无论表的存储间隔如何。
提前感谢您的投入,祝您度过美好的一天!
我认为你的方法应该不错。
您可以在不使用SlowSequence命令的情况下进行多次扫描吗?第二次扫描并不是一个真正的慢序列,但我在编程手册中找不到,除了使用慢序列之外,你可以进行多次扫描。
您可以进行多次扫描,但首先声明的扫描需要有有限数量的循环或退出方式,否则您永远不会离开该扫描。我认为进行两次扫描是很少使用的。
我将上面的表声明为DataTable(Name,1,-1),这是每次使用CallTable时写入数据的正确方法吗?无论表的存储间隔如何。
CallTable将使数据记录器执行表格代码。但是,可以在不进行数据存储的情况下调用表。DataTable指令中的TriggerVariable或表中的DataEvent或DataInterval将决定数据是否实际存储,即使代码可能会被执行。
当做
Dana公司