在上小节介绍威纶的排程元件时,
我们知道排程的时间可以是固定的,也就是常数形式,
也可以是可以更改的,也就是通过寄存器来设置时间。
在通过寄存器来设置时间时,会有一些使用规则要注意。
如下图为勾选了<地址>的界面。
在选择使用地址后,我们可以设置时间设置地址,例如为触摸屏的LW10.
那么此后的11个寄存器地址都会被用于排程的操作。
也就是会用到LW10到LW20,共11个寄存器。
这些寄存器可以设置元件的时间相关属性,如单一日期指定模式等。
一般属性的设置,仍可以通过一般属性选项卡进行设置。
这里我们设置了时间设置地址为LW10,
来看下每个地址使用时的功能与注意事项。
地址偏移时都是一样,如果设置了其他地址,使用上也一样。
1.LW10,也就是设置地址偏移量为0,
可以设置为1,读取时间数据,设置到排程元件使用。
也就是读取LW12到LW20的数据,进行排程元件的设置。
如果设置为0,则可以再次设置排程时间数据,并会复位上次排程设置的结果状态。
排程设置是否出错是通过LW11来指示的,LW10设置为0可以复位LW11.
2.LW11,也就是设置地址偏移量为1,
读取时间数据是否完成,读取时间数据是否出错,可以通过这个寄存器来查询。
我们知道一个字由16个二进制位组成。
这里会使用到LW11的第0,第1个二进制位来指示设置完成信息,设置出错信息。
如果读取完成,则第0位为1,
如果读取出错,则第1位为1.
3.LW12,也就是设置地址偏移量为2,
它的二进制位,第0位用来设定是否使用结束时间。
它的二进制位,第1位用来设定是否使用单一日期模式。
其他位弃用。
结束时间,单一日期模式使用规则参考时间为常用的使用规则,
使用不当,设置会失败。
这也是这个元件最为繁琐的部分。
没有必要一般都不使用这个功能。
4.剩下的就是星期与时间的设置了,
时,分,秒大家都比较熟悉了,使用上应该都不会设置出错,
比如时间不会有25,分钟不会有61,等等,数值有误,设置也会出错。
开始时间对应是LW13,LW14,LW15,LW16.
也就是设置地址偏移时为3,4,5,6.
结束时间对应是LW17,LW18,LW19,LW20.
也就是设置地址偏移时为7,8,9,10.
开始,结束星期由LW13,LW17设置。
也是使用二进制位来表示设置星期几。
从二进制位0,1,2,3,4,5,6。
分别对应星期日,1,2,3,4,5,6.
例如传递1,表示星期日。
传递2,表示星期一。
传递2,表示星期二。
传递8,表示星期三。
传递16,表示星期四。
传递32,表示星期五。
传递64,表示星期六。
如下图,例程添加了对应排程控制的数据显示元件。
我们就可以通过LW12传递数值,来设置是否启用单一日期,是否启用结束时间。
设置为3表示启动单一日期,结束时间必须使用。
设置为1表示不使用单一日期,使用结束时间等等。
LW13,LW17用于设置开始,结束的星期,规则参考如上。
时间都设置好后,
可以在LW10传递1,生效设备。
如果设置都无误,则LW11显示1.
有误则显示3.
要复位,则设置LW10为0.
例程下载地址:
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
|