quote:以下是引用n次看你的背影在2012-07-01 17:19:14的发言:
是的,A兄!我们都站在各自的环境中去表达了,其实这个环境是讨论的基础。
如果在FC、FB中定义变量、或者在符号表中定义变量、或者在数据块中定义变量,这些环境下,确实是可以将变量定义成Word、DWord数据类型的。
如果16位存储器(Word)变量、32位存储器(DWord)变量没有被定义数据类型,采用自由编程的话,存储器里面的数据类型,还是需要根据数据来源确定类型的。我是这样理解的。
我在一楼就说过Word是多义词,它用来作数据类型的名称,也可以用来作量词,表示存储器是16位的。16位存储器(Word)变量(例如MW0、LW0)没有定义数据类型时,它就没有数据类型。数据类型就好像是一个人的政治身份,例如某政党的党员。但是也有无党派人士。
OB40的参数OB40_MDL_ADDR的数据类型为WORD,不能直接用于要求数据类型为INT的整数比较指令。用MOVE指令把OB40_MDL_ADDR的值传送给MW10以后,MW10就可以用于比较指令了。这证明了MW10并没有因此自动获得数据类型WORD。但是此时MW10的数据类型也不是INT,装着同样的数据,MW10也可以用于要求数据类型为WORD的指令。WORD就是一个“无党派人士“!
有的问题需要通过辩论甚至打口水仗,才能理解得更深刻些。我没有在论坛”讲学“,我在论坛学到很多东西,我们都是同学。