任意的數據類型的常數裝入S7-300的累加器1后,它的數據類型的屬性就消失了,剩下的只有0和1。這樣的數據傳送到定義了數據類型的變量中,該變量的數據類型當然不會變,符號表管著它的,除非修改符號表。
符號表是管不住它的,只有編程者可以。
如果是全局變量,數據類型在符號表中定義,當然是符號表直接管它。
除了符號表,FB、FC的局部變量表和數據塊中的變量都定義了數據類型。編程者必須通過這些東西來管數據類型。
我說過Word是多義詞,它用來作數據類型的名稱,也可以用來作量詞,表示存儲器是16位的。16位存儲器(Word)地址(例如MW0、LW0)沒有定義數據類型時,它就沒有數據類型。
OB40的參數OB40_MDL_ADDR的數據類型為WORD,不能直接用于要求數據類型為INT的整數比較指令。用MOVE指令把OB40_MDL_ADDR的值傳送給MW10以后,MW10就可以用于比較指令了。MW10并沒有因此自動獲得數據類型INT,只是CPU“認為”MW10中的數據類型是INT。
數據類型是什么?我講過數據類型是人為規定的數據一個屬性。再打個比喻:有不良小販把白色的小雞染成五顏六色來騙小孩。放到水里一洗就變白了。如果把小雞看成數據,染的顏色就是數據類型。把定義了數據類型的數據裝入絕對地址MW10或累加器(累加器也是一個特殊的絕對地址),數據類型的屬性就被剝去了,只剩下赤裸裸的數據了,就像小雞的顏色被水洗掉了一樣。這時可以把數據當作規定了長度的各種數據類型來用。
























粵公網安備 44030402000745號