很多朋友在剛使用西門子300PLC的時候,感覺定時器特别難用,定時時間輸入數值特别麻煩,總是忘記輸入的格式,如S5T1000MS。在STL代碼的解讀過程中,發現很多定時時間是直接構造的一個字,用來表示定時器時間,我們掌握這種格式後對STL代碼的解讀會很有幫助。
S5TIME有16位的存儲空間,不同位置的值代表不同的含義。
S5TIME數據結構
(1)0-11為BCD碼時間值,每4個位代表一個10進制數,取值範圍為0-999。
(2)12-15位為時間單位(時基),14和15位沒有實際意義。12和13位組合一共有4種可能,分别代表:
定時器時基
定時時間由時間值和時基構成:定時時間=時間值*時基(時間單位)。時間單位有4種:分别為10ms、100ms、1s、10s四中類型。我們以1秒鐘的定時時間進行分析:
(1)定時器中的值為0100H:時基為10ms時,時間值為BCD#100。
時間單位:12位和13位為00,所以時間單位就是10ms;
時間值:隻有百位有1,所以時間值為BCD#100;
定時時間:100*10ms=1000ms。
(2)定時器中的值為1010H:時基為100ms時,時間值為BCD#10。
時間單位:12位和13位為01,所以時間單位就是100ms;
時間值:隻有十位有1,所以時間值為BCD#10;
定時時間:10*100ms=1000ms。
(3)定時器中的值為2001H:時基為1s時,時間值為BCD#1。
時間單位:12位和13位為10,所以時間單位就是1s;
時間值:隻有個位有1,所以時間值為BCD#1;
定時時間:1*1s=1s。
明白數據類型之後,定時器對于用戶程序來說定時器時異步更新的,跟我們建立的程序的掃描周期是無關的,PLC系統會以固定的時間間隔(時基)更新定時器的當前值,定時器的當前值為0時,定時器接通。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!