编程过程中发现S_ODT定时器的TV不好进行赋值操作。
根据说明输入TV的数据可以是word也可以是s5time类型。
但是word数据写入便提示错误,
以前在step7时可以将word数据直接move成s5time类型,
现在博途的转换指令好像不行了,move以及convert都不行。
-----我该怎么将其他数据类型转换为定时器可接受的数据类型s5time
tep7也不能word直接转s5time啊
在扩展指令的日期时间那里有t_conv可以word直接转s5time
--------------楼主如果用IEC定时器TON 就没有这个烦恼了,在博途下,可以转变下编程思路。
S_ODT TV值可以进行赋值操作的,预置值肯定是可以改变的。
为什么S_ODT TV即可以是WORD或者是S5TIME 因为它们都占用16 bits空间,同时,WORD类型是非数字类型的数据类型。
S5TIME 是以BCD码格式来存储时间的。是以你只要对WORD 或者INT类型,进行相应的转换就行
比如,先用CONVERT转换成BCD码,然后写时基,比如 OR 2#16#2000 就是以1秒为时基(在使用S5time 时,时基是CPU自动分配的)
时基和S5TIME时间格式见下图