發布日期:2022-04-26 點擊率:49 品牌:西門子_Siemens
問:我想編一個時間循環控制的程序,例如一個小時運行一個小時停止,時間是可以設置的。請大家指點一下編程思路?
答:關鍵是如何讀系統時鐘:
S7-200的硬件實時時鐘可以提供年、月、時、分、秒的日期/時間數據。
CPU221、CPU222沒有內置的實時時鐘,需要外插“時鐘/電池卡”才能獲得此功能。CPU224、CPU226和CPU226XM都有內置的實時時鐘。
S7-200的時鐘精度典型值是2分鐘/月(25°C),最大誤差7分鐘/月(0-55°C)。
為了提高運算效率,應當避免每個程序周期都讀取實時時鐘。實際上可讀取的最小時間單位是1秒,可每秒讀取一次(使用SM0.5上升沿觸發讀取指令)。
使用程序讀取的實時時鐘數據為BCD格式,可在狀態圖中使用十六進制格式查看。
CPU靠內置超級電容(+外插電池卡)在失去供電后為實時時鐘提供電源緩沖;緩沖電源放電完畢后,再次上電后時鐘將停止在缺省值,并不開始走動。
要設置日期、時間值,使之開始走動,可以:
用編程軟件(Micro/WIN)的菜單命令PLC>TimeofDayClock...,通過與CPU的在線連接設置,完成后時鐘開始走動
編用戶程序使用Set_RTC(設置時鐘)指令設置
Micro/WIN可以通過任何編程連接實現實時時鐘的設置。
使用S7-200的READ_RTC(讀取實時時鐘)和SET_RTC(設置實時時鐘)指令時,讀取和設置的數據格式都是BCD碼的。如果覺得不便計算、處理,可使用ClockInteger指令庫。
Clock_Integer指令庫用于將BCD碼格式的S7-200日期、時間轉換為十進制整數格式,以及將十進制整數格式的日期、時間值設定為S7-200時鐘。
要使用Clock_Integer指令庫,須遵循下列步驟:
取得Clock_Integer指令庫文件,并添加到編程軟件STEP7-Micro/WIN中;
按照要求編寫用戶程序調用Clock_Integer指令庫。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV