參考價(jià): | 面議 |
- 6ES7 416-2FN05-0 產(chǎn)品型號(hào)
- 西門子/SIEMENS 品牌
- 經(jīng)銷商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):546更新時(shí)間:2018-04-16 13:52:53
SIMATIC S7-400,CPU 414-3 PN/DP*處理單元,帶:2.8 MB 工作內(nèi)存(1.4 MB KB代碼,1.4 MB數(shù)據(jù)),接口:
西門子福州代理商6ES7 416-2FN05-0AB0
西門子福州代理商6ES7 416-2FN05-0AB0
SIEMENS西門子上海朕鋅電氣設(shè)備有限公司
:鐘濤
24小時(shí)銷售及:
:
手 機(jī):
: 1824547528
地址:上海市金山區(qū)楓灣路500號(hào)
WinCC flexible 中的設(shè)置
作為一個(gè)選項(xiàng),您也可以將 WinCC flexible 項(xiàng)目集成至 STEP 7 項(xiàng)目。此處有兩種可能的版本,在下面的表格中將分別進(jìn)行說明。
說明: 為了對(duì)文本文件進(jìn)行保存或讀取信息的操作,必須能夠訪問 Windows CE 的文件系統(tǒng)。通過的對(duì)象變量進(jìn)行這種訪問。
使用VB腳本可以存儲(chǔ)任何數(shù)據(jù)到操作面板或USB可移動(dòng)介質(zhì)。該FAQ解釋如何編寫相應(yīng)的腳本。
描述:
為了對(duì)文本文件進(jìn)行保存或讀取信息的操作,必須能夠訪問 Windows CE 的文件系統(tǒng)。通過的對(duì)象變量進(jìn)行這種訪問。注意:
- 只有當(dāng)WinCC的標(biāo)準(zhǔn)機(jī)制(存儲(chǔ)數(shù)據(jù)歸檔)不能滿足應(yīng)用需求時(shí),才會(huì)考慮使用腳本保存數(shù)據(jù)。
- 下面涉及到的方法,依賴于操作面板的操作系統(tǒng)和使用的組態(tài)軟件。關(guān)于處理其它配置的信息,請(qǐng)參考本文末尾的注釋。
目錄:
- 將信息保存到文本文件或 csv 文件的示例
- 從文本文件或 csv 文件讀取信息的示例
- 下載源代碼和示例工程
在 WinCC flexible 中關(guān)于 VBScript 命令的文檔
關(guān)于 VBScript 的相關(guān)信息可以參見 WinCC flexible 幫助系統(tǒng),位于“目錄” 頁面下“WinCC flexible 信息系統(tǒng) > 使用 WinCC flexible > 參考”。
圖 01將信息保存到文本文件或 csv 文件的示例
下面的表格說明如何在 WinCC flexible 中,將信息保存到文本文件或 csv 文件。
序號(hào) 操作過程 1 創(chuàng)建一個(gè)新項(xiàng)目 通過單擊“項(xiàng)目 > 新建...”,并選擇“Multi Panels > MP 370 12" Touch”操作面板,創(chuàng)建新項(xiàng)目。
圖 022 創(chuàng)建變量 - 通過“項(xiàng)目 > Operator panel_1 > 通訊 > 變量”打開變量編輯器。
- 按如下名稱,添加 4 個(gè)內(nèi)部變量:
表 01 - 變量序號(hào)
變量 數(shù)據(jù)類型
1 bExtension Bool 2 szMaterial String 3 nPressure Int 4 nTemperature Int
圖 03注意:
示例中僅使用了內(nèi)部變量??梢允褂眠B接控制器的變量。3 添加對(duì)象 - 添加兩個(gè)矩形。
- 組合一個(gè)符號(hào) IO 域和三個(gè)普通 IO 域。
- 擴(kuò)大 WinCC flexible 畫面,添加 1 個(gè)按鈕和 9 個(gè)文本域。
- 如圖 04 所示布局所有對(duì)象,并輸入如下文字:
“Process values”
“Pressure:”
“Temperature:”
“Material:”
“Text file:”
“mbar”
“°C”
"Settings"
“ Extension:”- 創(chuàng)建一個(gè)文本列表,命名為“Extension”,并包含如下條目:
0 => “.txt”
1 => “.csv”
圖 044 建立腳本、文本列表和變量間的關(guān)聯(lián) - 創(chuàng)建一個(gè)腳本,名稱為“Write_data”。為此在項(xiàng)目樹中單擊“腳本 > 添加腳本”。
- 連接如下的變量和新創(chuàng)建的腳本到相關(guān)對(duì)象上:
表 02 - 鏈接到不同對(duì)象變量/腳本 對(duì)象 對(duì)象用于... nPressure IO field Pressure nTemperature IO field Temperature szString_1 IO field Material bExtension Symbolic IO field Extension Write_data Button Save file
- 將文本列表“Extension”連接到符號(hào) IO 域。
圖 055 創(chuàng)建腳本 - *步 - 添加示例代碼到“Write_data”腳本中。
注意:
關(guān)于不同 VBScript 命令的更多信息,請(qǐng)參見 WinCC flexible 幫助。
源代碼的說明:
在 <行 10> 中聲明的變量只在腳本內(nèi)部有效。在 <行 12> 中的變量“bExtension”是一個(gè)全局變量,可以在整個(gè) WinCC flexible 項(xiàng)目中使用。使用該變量,可以通過符號(hào) IO 域選擇包含文件名稱和擴(kuò)展名的路徑。如果腳本發(fā)生運(yùn)行時(shí)錯(cuò)誤,那么“On Error Resume Next”語句是必需的。只要發(fā)生這種錯(cuò)誤,該錯(cuò)誤程序的下一條語句能自動(dòng)執(zhí)行。
在 <行 24> 中的語句將訪問 Windows 文件系統(tǒng)的對(duì)象傳送到對(duì)象變量“f”。如下源代碼包含運(yùn)行時(shí)錯(cuò)誤處理程序。如果運(yùn)行時(shí)發(fā)生錯(cuò)誤,將會(huì)在消息窗口中輸出錯(cuò)誤消息并終止腳本的運(yùn)行。注意:
如果使用“FileCtl.File”,將不能訪問 Windows CE 文件系統(tǒng)。如果在使用其它操作系統(tǒng)的面板上運(yùn)行該腳本,將會(huì)出現(xiàn)運(yùn)行時(shí)錯(cuò)誤。
圖 066 注意事項(xiàng)
使用創(chuàng)建的“f”對(duì)象的“Open”方法,打開由“path”(路徑名稱)參數(shù)的文件。如果相關(guān)的文件不存在,則如上提到的錯(cuò)誤處理程序?qū)?zhí)行。- file.Open Path name, Mode, [access], [lock], [reclength]
如果文件或路徑名稱不存在,則如上提到的錯(cuò)誤處理程序?qū)?zhí)行。
的字符串將被“f”對(duì)象的“LinePrint”方法寫入已打開的文件中。在此,變量值也被傳送和保存。
注意:
如果欲為文本字符串保存時(shí)間戳,可以使用 Now 函數(shù)。
示例:
f.LinePrint( Now & "; material; " & szMaterial & ";")然后使用“Close”方法關(guān)閉該文件。關(guān)鍵字“Nothing” 用于分離對(duì)象變量,該變量由“Set”命令分配給該對(duì)象。
zui后一條語句傳輸用戶自定義的系統(tǒng)消息到 HMI 消息系統(tǒng)。
圖 077 啟動(dòng)運(yùn)行 - 將 WinCC flexible 工程傳輸?shù)讲僮髅姘宀?dòng)運(yùn)行。
注意:
為了調(diào)試腳本,啟動(dòng)帶腳本調(diào)試器的 WinCC flexible 運(yùn)行系統(tǒng)。
- 預(yù)設(shè)不同的數(shù)值并輸入期望的材料名稱。
- 然后單擊“Save data”按鈕。
- 在符號(hào) IO 域選擇“.csv”并再次點(diǎn)擊按鈕。
- 終止操作面板的運(yùn)行。
圖 088 打開文本文件
如果將兩種文本文件都存到存儲(chǔ)卡上,那么可以在 PC 上使用讀卡器看到這些文件,并使用適當(dāng)?shù)某绦虼蜷_。- 打開擴(kuò)展名為“.txt”的文本文件。
- 然后關(guān)閉文件。
圖 09- 可以使用 Microsoft Excel 打開擴(kuò)展名為“.csv”的文件。
- 關(guān)閉 Excel 程序。
圖 10從文本文件或 csv 文件讀取信息的示例
如下表格說明如何從文本文件或 csv 文件中讀出信息并在 WinCC flexible 中顯示。該示例基于先前的示例。先前示例中的配置在該示例中不是必須的。但是用到的組件仍然適用。
序號(hào) 操作過程 1 創(chuàng)建一個(gè)新項(xiàng)目 - 可選項(xiàng)
如果使用先前的工程,那么直接進(jìn)入 步驟 2。- 通過單擊“項(xiàng)目 > 新建...”,并選擇“Multi Panels > MP 370 12" Touch”操作面板,創(chuàng)建新項(xiàng)目。
2 連接變量 - 通過“項(xiàng)目 > Operator Panel_1 > 通訊 > 變量”打開變量編輯器。
- 添加如下名稱的3個(gè)內(nèi)部變量:
表 03 - 變量序號(hào)
變量 數(shù)據(jù)類型
1 szString_1 String 2 nValue_1 Int 3 nValue_2 Int
注意:
如果不使用先前的項(xiàng)目,需要添加一個(gè)“Bool”變量“bExtension”。
圖 113 添加對(duì)象 - 添加一個(gè)矩形 - 見圖 12。
- 如果沒有,放置一個(gè)符號(hào) IO 域和三個(gè)普通 IO 域。
- 擴(kuò)大 WinCC flexible 畫面,添加 1 個(gè)按鈕和 4 個(gè)文本域。
- 如圖 12 所示布局所有對(duì)象并輸入如下文字:
“Value_1:”
“Value_2:”
“String_1:”
“Text file:”
“Settings” (如果沒有)
“Extension:” (如果沒有) - 若尚未創(chuàng)建文本列表,則創(chuàng)建一個(gè)文本列表,命名為“Extension”,并含有如下條目:
0 => “.txt”
1 => “.csv”
圖 124 建立腳本、文本列表和變量間的關(guān)聯(lián) - 創(chuàng)建一個(gè)腳本,名稱為“Read_data”。為此在項(xiàng)目樹中單擊“腳本 > 添加腳本”。
- 鏈接如下變量和新創(chuàng)建的腳本到相關(guān)的對(duì)象上:
表 04 - 鏈接到不同對(duì)象變量/腳本 對(duì)象 對(duì)象用于... nValue_1 IO field Value_1 nValue_2 IO field Value_2 szString_1 IO field String_1 bExtension*) Symbolic IO field Extension Read_data Button Read data
*)這些鏈接僅當(dāng)沒有為存儲(chǔ)文件做過配置時(shí)是必需的。
- 將文本列表“Extension”連接到符號(hào) IO 域,若尚未作此操作(也可參見圖 05)。
圖 135 創(chuàng)建腳本 - *步 - 添加示例代碼到“Read_data”腳本中。
注意:
關(guān)于不同 VBScript 命令的更多信息,請(qǐng)參見 WinCC flexible 幫助。
源代碼的說明:
腳本中聲明的所有變量只在腳本內(nèi)部有效。使用符號(hào) IO 域,通過在腳本 <行 17> 中的變量“bExtension”,可以選擇包含文件名稱和擴(kuò)展名的路徑。
如果腳本發(fā)生運(yùn)行時(shí)錯(cuò)誤,那么“On Error Resume Next”語句是必需的。只要發(fā)生這種錯(cuò)誤,只要發(fā)生這種錯(cuò)誤,該錯(cuò)誤程序的下一條語句能自動(dòng)執(zhí)行。在 <行 24> 中的語句將訪問 Windows 文件系統(tǒng)的對(duì)象傳送到對(duì)象變量“f”。如下源代碼包含運(yùn)行時(shí)錯(cuò)誤處理程序。如果運(yùn)行時(shí)發(fā)生錯(cuò)誤,將會(huì)在消息窗口中輸出錯(cuò)誤消息并終止腳本的運(yùn)行。
注意:
如果使用“FileCtl.File”,將不能訪問 Windows CE 文件系統(tǒng)。如果在使用其它操作系統(tǒng)的面板上運(yùn)行該腳本,將會(huì)出現(xiàn)運(yùn)行時(shí)錯(cuò)誤。
圖 146 創(chuàng)建腳本 - 第二步
使用創(chuàng)建的“f”對(duì)象的“Open”方法,打開由“path”(路徑名稱)參數(shù)的文件。如果相關(guān)的文件不存在,則如上提到的錯(cuò)誤處理程序?qū)?zhí)行。- file.Open Path name, Mode, [access], [lock], [reclength]
如果文件無法打開,則如上提到的錯(cuò)誤處理程序?qū)?zhí)行,從而安全地終止腳本運(yùn)行。
使用“Do-While-Loop”語句,通過對(duì)象變量“f”的“LineInputString”方法,當(dāng)循環(huán)執(zhí)行時(shí),可以一行一行地讀出文本文件中的內(nèi)容。一旦到達(dá)文本文件末尾循環(huán)就被終止。
函數(shù)“Split”以分隔符來分離從文件中讀取的文本行(expression),該分隔符作為第二個(gè)可選參數(shù)。分離后的內(nèi)容被傳送到一個(gè)一維數(shù)組。本例中沒有使用zui后兩個(gè)參數(shù)。
- Split(Expression[,delimiter[,Number[,compare]]])
因?yàn)楫?dāng)保存時(shí),可能包含空字符串(例如,參見圖 09),這些字符串通過“Replace”函數(shù)來刪除。因此,前三個(gè)參數(shù)必須。*個(gè)參數(shù)包含字符串 (expression) ,對(duì)該字符串執(zhí)行搜索(SearchCS) ,搜索到的字符被替換為由參數(shù)“ReplaceWith”的字符。
- Replace(Expression, find, replace with [,Start[,Number[,Compare]]])
圖 157 創(chuàng)建腳本 - 第三步
為了保持?jǐn)?shù)據(jù)結(jié)構(gòu),所有數(shù)據(jù)被傳入一個(gè)二維數(shù)組“HiField”。因此并非該數(shù)組中所有的數(shù)據(jù)都是必需的,所以僅將數(shù)組中相關(guān)的數(shù)據(jù)傳送到 WinCC flexible 全局變量中。示例 - HiField (a, b)的結(jié)構(gòu)和內(nèi)容:
表 05 - 二維數(shù)組內(nèi)容實(shí)例數(shù)組
b 0 1 2 a 0 "material" "Steel" "" 1 "pressure" "12" "mbar" 2 "temperature" "56" "°C" 打開的文件在 <行 62> 被關(guān)閉。關(guān)鍵字“Nothing” 用于分離對(duì)象變量,該變量由“Set”命令分配給該對(duì)象。
zui后一條語句傳輸用戶自定義的系統(tǒng)消息到 HMI 消息系統(tǒng)。
圖 168 啟動(dòng)運(yùn)行 - 將 WinCC flexible 項(xiàng)目傳送到操作面板并啟動(dòng)運(yùn)行。
注意:
為了調(diào)試腳本,啟動(dòng)帶腳本調(diào)試器的 WinCC flexible 運(yùn)行系統(tǒng)。
- 然后點(diǎn)擊“Read data”按鈕。
- 在符號(hào) IO 域中選擇“.csv”并再次點(diǎn)擊按鈕。
- 中止操作面板的運(yùn)行。