I、D需要的是TIME值,我们在画面中输入的是整数,需要转换一下。以前我迷茫的地方是怎么把整数转化为S5TIME值,因为FC33能把S5T转换为TIME值。也许很多象我这样的新手也是在这糊涂的。今天看了一下别人的程序,才知道把整数转换为BCD码后,再把时基写进去,直接就可以用FC33了。程序如下: NETWORK1: L MW100 //连到画面的值 ITB L W#16#2000 //时基为1S OW T MW102 NETWORK2: CALL "S5TI_TIM" IN :=MW102 RET_VAL:=MD104 //连到I或D的值
从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。