在實際生產中,需要把產品的生產時間寫到下流設備(如噴碼,RFID),如果依靠PLC內部的時間,可能不太可靠,以我使用的匯川AM403PLC,此PLC內部是一個電容維持掉電保持數據,但電容可維持的時間在15天左右,一旦超出此時間,掉電保持數據將丟失,而觸摸屏是使用電池保持數據,電池保持時間的數據遠大于電容。
HMI時間寫入PLC,在HMI 幫助手冊內有寫,有實例教程可做參考:
1、在HMI中,系統變量選擇需要的變量(年月日時間變量在此頁面的Zui右側,“系統時間”選項中選擇)
2、在PLC中新建變量,關聯到HMI中,系統變量有具體的年月日時分秒等變量,另外還有一個寫入時間的bool變量(實例中使用的是INT數據類型,去改INT.0 位的bool進行寫入)
3、新建一個腳本,然后關聯到INT變量上
變量關聯腳本
4、PLC中調用時間寫入功能塊
FB_設置HMI時間(
xExecute:= hi_時間寫入按鈕.0, //hi_時間寫入按鈕.0(采用瞬時觸發信號,觸摸屏沒接收到信號就結束了,所以采用長時間觸發
uiMillisecond:= ,
uiSecond:= hui_秒,
uiMinute:= hui_分,
uiHour:= hui_小時,
uiDay:= hui_日,
uiMonth:= hui_月,
uiYear:= hui_年,
iTimezone:= ,
xResult=> ,
eErrorID=> );
由于時間寫入功能塊觸發寫入是上升沿,在實際情況中發現,每次上電,HMI的時間有時會寫不進,通過觀察,判斷是PLC還未完成初始化完成就觸發的時間寫入,導入時間無法寫入,此時有兩種思路:1、采用定時器,每次上電若干時間后,再觸發時間寫入,如下程序段:
FB_上電延時寫入PLC(IN:= gb_ECT初始化完成, PT:= T#30S, Q=> , ET=> );//上電延時30秒,再把觸摸屏時間寫入PLC
IF FB_上電延時寫入PLC.Q THEN
hi_時間寫入按鈕.0 := TRUE;
END_IF
IF FB_設置HMI時間.xResult THEN
hi_時間寫入按鈕.0 := FALSE; //這個不需要復位,每次上電只寫一次,斷電后自動復位
END_IF
2、使用系統隱式功能塊,了解PLC完成初始化再進行時間寫入,關于隱式功能塊圖片如下:
變量xConfigFinished為true,代表所有配置參數的傳送已經正確完成。通訊正在運行。此時可以進行時間寫入,這樣能保證每次上電都能把HMI時間寫入到PLC,實例程序如下:
hi_時間寫入按鈕.0:= gb_ECT初始化完成;
- Zui近PLC實操中學到的一些經驗分享 2024-12-04
- PLC中靈活使用數組,減少工作量 2024-12-04
- 重新了解“PLC程序從上到下依次掃描” 2024-12-04
- PLC 485通訊,碰到的奇怪問題 2024-12-04
- 在西門子官網下載eplan部件操作 2024-12-04
- 分享eplan:V90部件庫 2024-12-04
- PLC標準化的線上分享會:基于S88標準的程序架構設計方法 2024-12-04
- 分享一個西門子的程序設計文件,體現HMI模塊化編程理念 2024-12-04
- 今天的線上PLC標準化分享會:基于S88標準的程序架構設計方法 2024-12-04
- 如何學好博途PLC技術?10年博途PLC產品經理的視頻分享 2024-12-04
- 數字化工廠建設的思路分享 2024-12-04
- 西門子S7-1500的6大以太網通信應用的實例分享:PN、S7、TCP和Modbus TCP等 2024-12-04
- S7-1500的串口自由口協議讀取Modbus RTU設備數據的示例程序 2024-12-04
- 西門子S7-1500冗余PLC的四個主要應用問題:交換機、接口模塊、切換停機等 2024-12-04
- 博途群討論:博途軟件FOR循環可以嵌套調用FB塊嗎?非常好的問題 2024-12-04
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684