1.在WinCC項目中監控S7 300/400 PLC中的TIME類型變量
1.1關於TIME數據類型
TIME為帶符號的32位IEC時間數據類型,時間增量為1ms,取值範圍為T#-24D_20H_31M_23S_648MS至T#24D_20H_31M_23S_647MS。
1.2具體步驟
(1) 在Step中創建PLC站的DB1,並在DB中創建TIME類型的變量T,如下圖所示:
圖 1.2.1
(2) 在WinCC項目中創建變量Time1,數據類型為“有符號32位數”, 調整格式為“LongToSignedDword”。選擇對應PLC變量的地址DB1,DD0。此時的變量單位為毫秒,為了使該變量對應單位為分鐘,設置相應線性轉換參數,如下圖所示:
圖 1.2.2
(3) 在WinCC畫面中創建用於訪問該變量的I/O域,設置如下圖所示:
圖 1.2.3
(4) 運行效果如下圖所示:
圖 1.2.4
(5) 如果需要在WinCC項目中以浮點數格式來監控PLC中的TIME類型變量,則在創建WinCC變量時應選擇“浮點數32位IEEE754”,調整格式為“FloatToSignedDword”, 選擇對應PLC變量的地址DB1.DD0。具體設置如下圖所示:
圖 1.2.5
在WinCC畫面中創建用於訪問該變量的I/O域,設置如下圖所示:
圖 1.2.6
運行效果如下圖所示:
圖 1.2.7
2. 在WinCC項目中監控300/400PLC中的S5TIME類型變量
2.1 關於S5TIME數據類型
S5TIME為無符號16位S5時間數據類型,由3位BCD碼時間值(0-999)和時基組成,如下圖所示:
圖 2.1.1
時間基準定義將時間值遞減一個單位所用的時間間隔。最小的時間基準是10毫秒;最大的時間基準是10秒。如下表所示:
用於S5TIME的通用格式對範圍和分辨率的限制如下:
2.2 具體步驟
(1) 在Step中創建PLC站的DB1,並在DB中創建S5TIME類型的變量ST,如下圖所示:
圖 2.2.1
(2) 在WinCC項目中創建變量S5time,數據類型為“無符號32位數”, 調整格式為“DwordToSimaticBCDTimer”。選擇對應PLC變量的地址DB1,DW4。此時的變量單位為毫秒,為了使該變量對應單位為秒,設置相應線性轉換參數,如下圖所示:
圖 2.2.2
(3) 在WinCC畫面中創建用於訪問該變量的I/O域,設置如下圖所示:
圖 2.2.3
(4) 運行效果:
圖 2.2.4
(5) 如果需要在WinCC項目中以浮點數格式來監控PLC中的S5TIME類型變量,則在創建WinCC變量時應選擇“浮點數32位IEEE754”,調整格式為“FloatToSimaticBCDTimer”, 選擇對應PLC變量的地址DB1,DW4。具體設置如下圖所示:
圖 2.2.5
在WinCC畫面中創建用於訪問該變量的I/O域,設置如下圖所示:
圖 2.2.6
運行效果為:
圖 2.2.7
2.3定時器的監控
S7 300/400 PLC為定時器保留了一片存儲區域。每個定時器由一個16位的字和一個二進制位組成,定時器的字使用的是S5TIME類型,用來存放當前的定時時間值,定時器的位狀態用於存放觸點的狀態。
用定時器地址(T和定時器號,例如T10)存取它的時間值和定時器位,PLC中使用帶位操作數的指令存取定時器位,使用帶字操作數的指令存取定時器的時間值。在WinCC中我們可以定義變量來監控定時器的當前值,其方法同監控S5TIME類型變量相同:
圖 2.3.1
3.在WinCC項目中監控S7 300/400 PLC中的計數器值
3.1 關於計數器
S7 300/400 PLC為計數器保留了一片存儲區域。每個計數器由一個16位的字和一個二進制位組成,計數器的字用來存放它當前的計數值,計數器的位狀態用於存放觸點的狀態。
用計數器地址(C和計數器號,例如C10)存取當前的計數值和計數器位,PLC中使用帶位操作數的指令存取計數器位,使用帶字操作數的指令存取計數器的計數值。在WinCC中我們可以定義變量來監控計數器的當前值。
計數字的0-11位是計數值的BCD碼,計數值的範圍為0-999。二進制格式的計數值只佔用計數器值的0-9位,如下圖所示:
圖 3.1.1
3.2 具體步驟
(1) 在WinCC項目中創建變量Counter1,數據類型為“無符號16位數”, 調整 格式為“WordToSimaticBCDCounter”, 選擇對應PLC變量的地址C8(顯示為Z8)。如下圖所示:
圖 3.2.1
(2) 在WinCC畫面中創建用於訪問該變量的I/O域,設置如下圖所示:
圖 3.2.2
(3) 運行效果:
圖 3.2.3
閱讀更多 會發光的太陽 的文章