在項目中有時候難免需要用PLC記錄一些生産數據,比如一些關鍵工藝參數的修改記錄或者第三方自動化系統傳送過來的數據記錄等。對于這種需求,在S7-1200/1500中有兩種方式可以實現,一是使用自帶的Data Logging指令組将數據保存在CSV文件裡,二是自己編程将數據存儲在數據塊中。前一種方式簡單易用,但是不方便在線查看數據,需要開啟PLC的WEB SERVER功能,然後登陸上去将csv文件下載到本地打開。後一種方式對編程要求稍高一點,但是可以在線查看數據,缺點是不好離線保存。
Data Logging是博途自帶的一個用于保存數據的指令組,裡面包含了創建、打開、寫入數據記錄等指令。
圖1 Data Logging指令組
使用Data Logging記錄數據是有大小限制的。數據日志中可存儲的數據量取決于存儲卡上的可用空間,或所用 CPU 内部裝載存儲器中的存儲空間。對于S7-1200CPU,生成的CSV文件的最大大小為500,000,000字節;而S7-1500 CPU為1,000,000,000字節。
我們在創建記錄文件時可以指定最大記錄數,如果達到了數據文件中數據記錄指定的最大數目,則覆蓋最早的數據記錄。要避免覆蓋現有數據記錄,可以使用“DataLogNewFile”指令。一旦達到參數RECORDS中指定的數量時,可通過該指令創建一個相同結構的新數據文件,之後數據記錄将保存在新的數據記錄中。
下面我們來簡單演示下Data Logging指令的使用。首先創建一個項目,插入一個S7-1200系列的CPU。打開CPU屬性頁面,勾選“啟用模塊上的WEB服務器”,同時去掉“僅允許HTTPS訪問”的勾選,參見下圖所示。
圖2 激活WEB服務
啟用Web服務器的目的是為了下載數據記錄文件。然後創建一個數據塊,如下圖所示添加若幹變量。
圖3 用于數據記錄的數據塊
上圖中的LogName用于指定數據記錄文件的名稱,LogId用于保存數據記錄文件的ID,結構變量LogData用于向記錄文件傳送數據。我們也可以為數據記錄文件添加标題,這裡不再贅述。
然後将指令組Data Logging下面的DataLogCreate指令拖到程序編輯器中,各引腳參數如下。
圖4 指令DataLogCreate
該指令用于創建一個數據記錄文件。具體指令的各引腳功能可以參見幫助文件。這裡我們指定了數據記錄文件名稱和最大記錄數。當創建文件成功後置位變量CreateDone。
接下來我們再拖一個DataLogWrite指令到程序編輯器,各引腳參數如下圖所示。
圖5 指令DataLogWrite
上面的指令在數據記錄文件創建成功後使能,當變量Write為真時數據寫入到記錄日志中。需要注意的是指令DataLogWrite和指令DataLogCreate的引腳“ID”必須為同一個變量。
保存并下載程序到PLC中,首先我們置位變量CreateCmd,然後可以看到變量CreateDone已經為真,表示數據記錄文件創建成功。
圖6 創建數據記錄成功
為了驗證是否成功創建了數據記錄文件,我們可以打開浏覽器,輸入PLC的IP地址,點擊左邊目錄“文件浏覽器”,可以看到文件夾“DataLogs”下面有個文件“log1”,和我們在數據塊中的命名一緻,參見圖3所示。
圖7 數據記錄文件下載頁面
接下來我們嘗試往記錄裡面寫數據,置位變量“Write”。然後刷新下浏覽器頁面,點擊文件“log1.csv”下載。打開文件“log1.csv”就可以看到記錄的數據了。
圖8 已記錄的數據
這裡我們隻是簡單演示了如何使用Data Logging指令組實現數據記錄,其它創建新文件、清空記錄文件等功能感興趣的話也可以自行嘗試下。下一節我們将介紹如何自己用SCL編程實現數據存儲。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!