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)換 |
| 二進制變量 | 否 |
| 無符號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/400中的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)整格式為“l(fā)ongtosigneddword”。選擇對應(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位的字和一個二進制位組成,定時器的字使用的是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位的字和一個二進制位組成,計數(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。二進制格式的計數(shù)值只占用計數(shù)器值的0-9位,如下圖所示:

圖 3.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) 運行效果:

圖 3.2.3










