WinCC中變量的數(shù)據(jù)類型可能會不同于自動化系統(tǒng)中所使用的數(shù)據(jù)類型。因此,當(dāng)組態(tài)外部變量時,除了要定義該變量的數(shù)據(jù)類型,還必須對所有數(shù)字型數(shù)據(jù)類型執(zhí)行類型轉(zhuǎn)換。類型轉(zhuǎn)換定義如何從WinCC格式轉(zhuǎn)換到AS格式,該定義適用于雙向傳送。
下表顯示哪些WinCC數(shù)據(jù)類型支持類型轉(zhuǎn)換:
| 數(shù)據(jù)類型 | 類型轉(zhuǎn)換 |
| 二進(jìn)制變量 | 否 |
| 無符號8位數(shù) | 是 |
| 有符號8位數(shù) | 是 |
| 無符號16位數(shù) | 是 |
| 有符號16位數(shù) | 是 |
| 無符號32位數(shù) | 是 |
| 有符號32位數(shù) | 是 |
| 浮點數(shù)32位IEEE 754 | 是 |
| 浮點數(shù)64位IEEE 754 | 是 |
| 文本變量8位字符集 | 否 |
| 文本變量16位字符集 | 否 |
| 原始數(shù)據(jù)類型 | 否 |
有關(guān)類型轉(zhuǎn)換的詳細(xì)信息,您可在WinCC信息系統(tǒng)中的“通訊”>“過程通訊”>“WinCC過程通訊”>“外部變量”中找到。
下面我們分別說明如何利用WinCC的類型轉(zhuǎn)換功能來實現(xiàn)在WinCC項目中監(jiān)控300/400PLC中的TIME,S5TIME數(shù)據(jù)類型變量及定時器和計數(shù)器的值。
1.在WinCC項目中監(jiān)控S7 300/400 PLC中的TIME類型變量
1.1關(guān)于TIME數(shù)據(jù)類型
TIME為帶符號的32位IEC時間數(shù)據(jù)類型,時間增量為1ms,取值范圍為T#-24D_20H_31M_23S_648MS至T#24D_20H_31M_23S_647MS。
1.2具體步驟
(1) 在Step中創(chuàng)建PLC站的DB1,并在DB中創(chuàng)建TIME類型的變量T,如下圖所示:

圖 1.2.1
(2) 在WinCC項目中創(chuàng)建變量Time1,數(shù)據(jù)類型為“有符號32位數(shù)”, 調(diào)整格式為“LongToSignedDword”。選擇對應(yīng)PLC變量的地址DB1,DD0。此時的變量單位為毫秒,為了使該變量對應(yīng)單位為分鐘,設(shè)置相應(yīng)線性轉(zhuǎn)換參數(shù),如下圖所示:

圖 1.2.2
(3) 在WinCC畫面中創(chuàng)建用于訪問該變量的I/O域,設(shè)置如下圖所示:

圖 1.2.3
(4) 運行效果如下圖所示:


圖 1.2.4
(5) 如果需要在WinCC項目中以浮點數(shù)格式來監(jiān)控PLC中的TIME類型變量,則在創(chuàng)建WinCC變量時應(yīng)選擇“浮點數(shù)32位IEEE754”,調(diào)整格式為“FloatToSignedDword”, 選擇對應(yīng)PLC變量的地址DB1.DD0。具體設(shè)置如下圖所示:

圖 1.2.5
在WinCC畫面中創(chuàng)建用于訪問該變量的I/O域,設(shè)置如下圖所示:

圖 1.2.6
運行效果如下圖所示:

圖 1.2.7
2. 在WinCC項目中監(jiān)控300/400PLC中的S5TIME類型變量
2.1 關(guān)于S5TIME數(shù)據(jù)類型
S5TIME為無符號16位S5時間數(shù)據(jù)類型,由3位BCD碼時間值(0-999)和時基組成,如下圖所示:

圖 2.1.1
時間基準(zhǔn)定義將時間值遞減一個單位所用的時間間隔。最小的時間基準(zhǔn)是10毫秒;最大的時間基準(zhǔn)是10秒。如下表所示:

用于S5TIME的通用格式對范圍和分辨率的限制如下:

2.2 具體步驟
(1) 在Step中創(chuàng)建PLC站的DB1,并在DB中創(chuàng)建S5TIME類型的變量ST,如下圖所示:

圖 2.2.1
(2) 在WinCC項目中創(chuàng)建變量S5time,數(shù)據(jù)類型為“無符號32位數(shù)”, 調(diào)整格式為“DwordToSimaticBCDTimer”。選擇對應(yīng)PLC變量的地址DB1,DW4。此時的變量單位為毫秒,為了使該變量對應(yīng)單位為秒,設(shè)置相應(yīng)線性轉(zhuǎn)換參數(shù),如下圖所示:

圖 2.2.2
(3) 在WinCC畫面中創(chuàng)建用于訪問該變量的I/O域,設(shè)置如下圖所示:

圖 2.2.3
(4) 運行效果:

圖 2.2.4
(5) 如果需要在WinCC項目中以浮點數(shù)格式來監(jiān)控PLC中的S5TIME類型變量,則在創(chuàng)建WinCC變量時應(yīng)選擇“浮點數(shù)32位IEEE754”,調(diào)整格式為“FloatToSimaticBCDTimer”, 選擇對應(yīng)PLC變量的地址DB1,DW4。具體設(shè)置如下圖所示:

圖 2.2.5
在WinCC畫面中創(chuàng)建用于訪問該變量的I/O域,設(shè)置如下圖所示:

圖 2.2.6
運行效果為:

圖 2.2.7
2.3定時器的監(jiān)控
S7 300/400 PLC為定時器保留了一片存儲區(qū)域。每個定時器由一個16位的字和一個二進(jìn)制位組成,定時器的字使用的是S5TIME類型,用來存放當(dāng)前的定時時間值,定時器的位狀態(tài)用于存放觸點的狀態(tài)。
用定時器地址(T和定時器號,例如T10)存取它的時間值和定時器位,PLC中使用帶位操作數(shù)的指令存取定時器位,使用帶字操作數(shù)的指令存取定時器的時間值。在WinCC中我們可以定義變量來監(jiān)控定時器的當(dāng)前值,其方法同監(jiān)控S5TIME類型變量相同:

圖 2.3.1
3.在WinCC項目中監(jiān)控S7 300/400 PLC中的計數(shù)器值
3.1 關(guān)于計數(shù)器
S7 300/400 PLC為計數(shù)器保留了一片存儲區(qū)域。每個計數(shù)器由一個16位的字和一個二進(jìn)制位組成,計數(shù)器的字用來存放它當(dāng)前的計數(shù)值,計數(shù)器的位狀態(tài)用于存放觸點的狀態(tài)。
用計數(shù)器地址(C和計數(shù)器號,例如C10)存取當(dāng)前的計數(shù)值和計數(shù)器位,PLC中使用帶位操作數(shù)的指令存取計數(shù)器位,使用帶字操作數(shù)的指令存取計數(shù)器的計數(shù)值。在WinCC中我們可以定義變量來監(jiān)控計數(shù)器的當(dāng)前值。
計數(shù)字的0-11位是計數(shù)值的BCD碼,計數(shù)值的范圍為0-999。二進(jìn)制格式的計數(shù)值只占用計數(shù)器值的0-9位,如下圖所示:

圖?。?1.1
3.2 具體步驟
(1) 在WinCC項目中創(chuàng)建變量Counter1,數(shù)據(jù)類型為“無符號16位數(shù)”, 調(diào)整 格式為“WordToSimaticBCDCounter”, 選擇對應(yīng)PLC變量的地址C8(顯示為Z8)。如下圖所示:

圖 3.2.1
(2) 在WinCC畫面中創(chuàng)建用于訪問該變量的I/O域,設(shè)置如下圖所示:

圖 3.2.2
(3) 運行效果:

圖?。?2.3










