发布于 2008-08-28 22:35:02
0楼
我最近正要搞这个东西,下个星期看有没有时间,搞好了把结果告诉你,你的程序我觉得有些问题。
FC40是把TIME格式转成S5TIME格式,我觉得你在MD14510里放上时间的整数,不要加上时基,将DB20.DBW0的数乘以一个系数化成MS,再转成双整数,然后放到数据类型为TIME的变量里,再送给FC40去转换才可以。
如果用时基,那么先在MD14510里放上不带时基的值,然后将DB20.DBW20做整数转BCD,结果与时基或运算,或的结果我认为可以直接给定时器了,也有可能需要到S5TIME类型的变量里去转一下变成S5TIME再给定时器。
还有就是整数转换BCD或双整数是有大小限制的,要注意溢出。
实际上你把写好的加上时基的数如你说的1100用计算器从16进制转到10进制,得到4352,把4532放到MD14510里,然后定时器直接读DB20.DBW0,定时值就是100MS了,这说明定时器要求的数据类型和你想的不一样。
或许你先试,那请把你的结果发上来,我试好了会来说一下的。