wincc的用戶歸檔之前從沒有涉及過,看資料介紹,這一塊可以結合頁面布局做報表和配方管理。結合看的資料,自己也邊學邊記錄用戶歸檔的使用。今天先寫一篇用戶歸檔的創建、和PLC的連接、數據的讀寫方法。
1. 打開simatic manager,插入一個S7 300站點,簡單的做硬件配置。DB1表插入三個變量:Product 字符串表示產品代號;Tempreture 浮點數,表示溫度數值;Pressure 浮點數 ,表示壓力數值。設置“允許操作員監控”。再插入一個PC Station,做硬件配置。把剛才新建的三個變量上載到OS。
2.運行wincc項目管理器,打開用戶歸檔器,新建一個用戶歸檔UA_1。
“歸檔名稱”只能使用字母數字和下划線,第一個字符必須是字母,不能使用中文。如果需要中文標識,把中文寫在別名里。如果這是一個多語言項目,可以勾選“別名(多語言)”,然后在文本庫里面寫上其他語言對此用戶歸檔的描述。
“類型”默認選擇“無限制”,這樣的話不會限制記錄條數,如果選擇“限制”,可以在后續“最大編號”中填寫最大允許的記錄條數。
“通訊類型”選擇“數據管理器變量”(其他兩種類型的使用,本文暫不介紹)。PLCID和變量名稱在此不能設置。讀取權限和寫入權限不設限制,具體的作用和頁面其他控件的用戶權限一樣,針對特定用戶才能發生作用。“域-上一次訪問”表示歸檔自動生成一個字段,記錄上一次訪問的時間,數值不可編輯,若是冗余系統則必須勾選(我覺得叫做字“段-上一次訪問”更好),這里保留空白。
“域-上一個用戶”表示歸檔自動生成一個字段,記錄上一次訪問的用戶名,數值不可編輯,這里保留空白。
“ID”“作業”、“域”、“數值”這四個選項按照官方Wincc V7.3的教程描述應該是會自動生成的,但是我的V7.3並沒有自動生成,懷疑教程不是使用V7.3講解的。我在變量管理器自己建立了四個內部變量。
“ID”對應@UA_UA_1_ID,“作業”對應@UA_UA_1_JOB,“域”對應@UA_UA_1_FIELD數值對應@UA_UA_1_VALUE
3.在用戶歸檔UA_1下面新建三個變量,可以設置別名以及多國語言,將變量名稱鏈接PLC上載來的三個變量,可以設置都寫的用戶權限,可以設置是否允許為空,可以設置默認值,可以設置是否是關鍵字(唯一值)。
4. 新建一個wincc畫面,插入8個輸入輸出域和系列靜態文本,插入一個用戶歸檔控件
將輸入輸出域分別連接各個變量,作業、ID、域、數值幾個輸入輸出域設置為“輸入輸出類型”,用戶歸檔控件“常規”選項卡的屬性“用戶歸檔名稱”連接UA_1,“列”選項卡屬性標簽可以寫入中文名稱便於使用。保存頁面。
5.wincc項目管理器計算機屬性啟動項目勾選“用戶歸檔”,確認軟件已經有WINCC USER ARCHIVES V7.3的授權。由於是模擬器運行,確保變量管理處邏輯設備名稱的是模擬器。
6.運行項目。
1)在用戶歸檔控件輸入產品代號P1,壓力100,溫度200,選中當前行,點擊工具欄上“寫入變量”。
在模擬器上可以看到剛才輸入的值已經寫入PLC了。
2)修改PLC中三個變量數值,在畫面上用戶歸檔選中空白行,然后點擊工具欄上“讀取變量”按鈕,就可以把剛才修改的變量讀取出來了。
3)還可以在用戶歸檔中刪除記錄,選中一行,點擊工具欄上“刪除行”按鈕,就可以刪除一行了。
4)還可以復制粘貼操作,這個和在office中操作類似,不再詳細描述了。
5)在畫面上輸入輸出域控件中輸入product、pressure、tempture的數值,然后在輸入輸出域ID中輸入1,在輸入輸出域JOB中輸入7(如果操作成功,則這個值會回0),就會把畫面上輸入的數字修改歸檔記錄中ID=1這一行的記錄。
上述操作如果ID輸入-1,JOB=6,則會讀取PLC相應數值,在用戶歸檔新增一條記錄。
6)輸入輸出域Product、Pressure、Tempture寫入數據,輸入輸出域ID寫-1,輸入輸出域寫7,則會把輸入輸出域Product、Pressure、Tempture的數值填寫到PLC當中,可以用用戶歸檔控件讀取上來看看。
7)將輸入輸出域ID設置為4,將輸入輸出域JOB設置為8,這回刪除ID編號為4的記錄
8)將輸入輸出域ID設置為2,將輸入輸出域JOB設置為7,則會把用戶記錄中ID=2的記錄寫入到PLC相應變量,可以讀取PLC數據到用戶歸檔控件驗證。
9)將輸入輸出域設置-9,JOB設置6,則會把PLC數據都上來修改用戶歸檔ID最大的那條記錄;如果JOB設置7,則會把用戶歸檔ID最大的那條記錄下載到PLC修改相應變量數值;如果ID=8,則會刪除用戶歸檔ID最大的那條記錄。
10)將輸入輸出域設置-6,JOB設置6,則會把PLC數據都上來修改用戶歸檔ID最小的那條記錄(因為變量歸檔可能有刪改,所以最小ID編號不一定是1);如果JOB設置7,則會把用戶歸檔ID最小的那條記錄下載到PLC修改相應變量數值;如果ID=8,則會刪除用戶歸檔ID最小的那條記錄(這個和ID=-1,JOB=8效果一樣)。
需要注意的是在用戶歸檔控件中修改了數據后,一定要回車,等到記錄跳轉到下一條,才表示這一行的修改被控件接受,JOB=7的操作才能把這一行修改后的數據下載到PLC。