尊敬的各位:,
由于我们在管道模式下运行程序,而不是在顺序模式下切换温度/湿度/气压计的电源,因此传感器工作不正常:
数据记录器是CR1000,程序在管道模式下运行,我们不能在顺序模式下运行。
慢速序列
扫描(5,秒,4,0)
PortSet(9,1)'开关接通电源SW12
延迟(0600,mSec)'测量前的短延迟
电压S(u_analog_sensors_std,3,mV5000,9,1,0,_50Hz,0.001,-0)
PortSet(9,0)'关闭传感器电源
造成问题的是测量前的延迟-SW12被切换到高电平约20ms,也就是我们的传感器加热的缩写。不同的延迟选项(延迟(1600,毫秒))似乎对痴迷的行为没有影响…)。
在执行测量之前,我们可以做些什么来将SW12切换到500毫秒以上的高电平??
如果有人能给我们一个提示,我们将非常高兴。。。
提前感谢您,
约翰内斯
目的:延迟足够的时间使传感器正确预热
慢速序列
Const timerID=1'标识计时器资源
Const DelaymSecs=1250'延迟1.250秒
公用时间为浮点时间
公用u_analog_sensors_std(3)为浮点
公用子扫描计数器为长
公用主扫描计数器一样长
扫描(5,秒,4,0)
'If Flag(1)Then'如果您想控制代码运行的确切时间,请取消对此行的注释。。。(很明显,你需要把flag(1)调高才能跑)
标志(1)=错误
MainScanCounter=0'仅用于验证(可以删除)
SubScanCounter=0'仅用于验证(可以删除)
elapsedTime=0'重置变量
计时器(timerID,mSec,2)'重置/启动计时器
PortSet(9,1)'开关接通电源SW12
“重要提示:慢速序列中的子扫描必须将间隔设置为零,这意味着
'(1)子扫描中的代码将以最快的速度运行。。。不受任何间隔控制
'(2)退出子扫描的唯一方法是当达到计数时。
' (3) ... 更改子扫描计数,以便有适当的时间等待传感器预热
' (4) ... 监视变量“elapsedTime”,该变量将准确指示在子扫描内花费的时间量(以毫秒为单位)
子扫描(0,毫秒,200)
elapsedTime=计时器(timerID,mSec,4)'读取已用时间
'ISSUE:下面的行不能用于退出SubScan。。。。如果未注释,将退出主扫描并不关闭sW12
'如果经过时间>;=DelaymSecs然后退出扫描'此行当前不工作
SubScanCounter=SubScanCounter+1'计数器,用于验证子扫描内的迭代次数
下一个子扫描
“延迟(0600,mSec)”测量前的短延迟
电压S(u_analog_sensors_std(),3,mv5000,9,1,0,_50Hz,0.001,-0)
PortSet(9,0)'关闭传感器电源
MainScanCounter=MainScanCounter+1'验证代码执行的计数器到达这里。。。
计时器(timerID,mSec,1)'停止计时器/释放资源
'结束条件
下一次扫描