讀/寫指令
1. 讀取時鐘 指令 READ_RTC
READ_RTC
(RTC 全稱是 Real - Time Clock,即實時時鐘 )指令的主要作用是將 CPU 內部實時時鐘(RTC)的當前日期和時間信息讀取出來,并存儲到以指定字節地址(圖中的 T )起始的 8 個連續字節緩沖區中 。這 8 個字節所存儲的時間信息內容及順序如下:
字節位置 | 存儲內容 | 取值范圍及說明 |
---|---|---|
第1個字節 | 年 | 0 - 99(例如23代表2023年) |
第2個字節 | 月 | 1 - 12 |
第3個字節 | 日 | 根據月份不同為28 - 31(考慮閏年) |
第4個字節 | 小時 | 0 - 23 |
第5個字節 | 分鐘 | 0 - 59 |
第6個字節 | 秒 | 0 - 59 |
第7個字節 | 星期 | 1 - 7(1代表星期日,2代表星期一,以此類推) |
第8個字節 | 保留 | 通常未使用 |
指令引腳說明
- EN(Enable):
使能
輸入引腳。當該引腳有能流
流入時(即 EN 端為 1 狀態),指令 READ_RTC 才會執行讀取實時時鐘操作。如果 EN 端沒有能流流入(為 0 狀態),指令不會執行,且不會更新目標緩沖區中的時間數據。 - ENO(Enable Output):使能輸出引腳。當指令成功執行后,ENO 端會有能流流出,即 ENO 為 1 狀態 ;如果指令執行過程中出現錯誤,例如硬件故障、時鐘未正確配置等,ENO 端將沒有能流流出(為 0 狀態) 。ENO 引腳可以用來級聯其他功能塊,只有當 READ_RTC 指令成功執行時,后續功能塊才有可能執行。
- T:時間緩沖區
起始地址
引腳。用于指定存儲讀取到的時間信息的起始字節地址,要求該地址在 PLC 的存儲區域中是有效的,且后續連續 7 個字節的存儲區域也可正常使用,不會被其他程序誤占用。
2. 設置時鐘 指令 SET_RTC
SET_RTC
是 設置 PLC 實時時鐘的指令,可以修改 PLC 當前的 日期和時間。
使用場景:
- 數據記錄準確
如果 PLC 要記錄生產數據、報警記錄、運行日志,正確的時間能讓記錄有用,否則事后根本對不上。 - 定時控制準確
比如每天 8:00 自動啟動設備,17:30 自動關機,如果 PLC 時間不準,就會早開晚關。 - 與其他系統同步
PLC 通常和 SCADA、MES、數據庫、HMI 聯網工作,統一時間可以保證事件順序一致,方便分析。 - 維護與追溯
出現故障后,維護人員可以根據時間精確定位問題發生的時刻,對應生產批次。
3. 使能(Enable)
Enable
Enable
:在技術領域(尤其是自動化、電子和編程中),“Enable” 通常翻譯為 “使能”
,表示 “允許、激活、啟用” 的意思,指通過一個信號或條件來啟動某個功能、設備或操作。
使能(Enable)
使能(Enable)
:PLC 使能信號就是“某段邏輯或某個模塊的執行總開關”,必須使能=1,后續邏輯才有意義。
假設我們有一個自動送料機,但要求它只在 “安全門已關” 的條件下才能運行。
- “安全門已關” 信號 → 使能信號
- “送料按鈕” 信號 → 觸發信號
- 如果 安全門開著(使能=0),不管你怎么按送料按鈕,PLC 都不會執行送料動作。
- 如果 安全門關上(使能=1),那么按送料按鈕,PLC 才會執行送料。
簡單總結:使能是一種前置條件(安全條件)
使能注意點:
- 使能不是開關
開關直接決定“輸出”是否通斷
使能只是“允許條件”
,要配合觸發信號才會真正動作 - 使能信號通常來自安全條件
例如安全門、急停按鈕、系統啟動完成信號、設備模式選擇開關等
- 程序中使能常用在第一格
把使能條件放在梯形圖的最前面,后面的邏輯全部受它控制,這樣便于整體屏蔽某段功能
- 使能斷開時要考慮輸出復位
想象一個場景:
- 你寫了一個 送料電機 的程序
- 有個 安全門閉合信號 作為使能
- 送料按鈕按下 → 電機運行(Q0.0=1)
- 運行時,安全門突然打開(使能=0) → 按理說電機應該馬上停
但是!如果你的程序只是這樣:
LD I0.0 //安全門點位 O Q0.0 //自鎖(避免啟動后下個周期又停止設備) A I0.1 //送料啟動按鈕(常開) A I0.2 //送料停止按鈕(常閉) = Q0.0 //送料電機
- 安全門打開時,這一行邏輯直接斷了
- 但 Q0.0 可能不會自動復位,取決于 PLC 型號和輸出寫法
- 有些 PLC 輸出繼電器會在下一掃描周期才斷,甚至因為自保持回路繼續保持電機運行
- 結果:安全門已經開了,電機還在轉 —— 安全隱患 ??
正確做法:
LD I0.0 //安全門點位 O Q0.0 //自鎖(避免啟動后下個周期又停止設備) A I0.1 //送料啟動按鈕(常開) A I0.2 //送料停止按鈕(常閉) = Q0.0 //送料電機AN I0.0 // 如果使能斷開 R Q0.0 // 立即復位輸出AN I0.2 // 停止按鈕按下 R Q0.0 // 立即復位
這樣,即使安全門信號在運行過程中突然丟失,也能保證 Q0.0 在同一掃描周期立即斷開。
4. 能流
能流
:能流是梯形圖編程語言中特有的一個概念,用于模擬電路中的電流流動,它是一種虛擬的、表示邏輯執行條件的信號流。在梯形圖中,能流從左母線開始,經過各種觸點、線圈、功能塊等元件,最終流向右母線。
- 觸點控制:常開觸點和常閉觸點是控制能流的基本元件。當常開觸點閉合、常閉觸點斷開時,能流可以通過;反之,能流被阻斷。例如,在一個由按鈕控制電機啟動的梯形圖程序中,按鈕對應的常開觸點閉合時,能流就可以通過該觸點,繼續向后流動,為后續控制電機線圈的輸出指令提供執行條件。
- 元件執行:當能流到達線圈或功能塊時,如果滿足相應的條件,線圈就會得電(在實際應用中對應設備的動作 ),功能塊就會執行相應的功能。比如,當能流到達電機輸出線圈時,電機就會啟動;能流到達數據處理功能塊時,功能塊就會對輸入的數據進行運算等處理。
- 能流流向:能流只能從左向右流動,這符合梯形圖的基本繪制規則和邏輯執行順序,確保了程序的執行具有明確的方向性和順序性。