单片机彩灯移动实验_用S7-1200 PLC实现循环彩灯的控制,含源程序
在S7-1200型PLC的實際編程工作中,無論是經驗設計法還是順序控制設計法對于要求比較復雜的任務都會產生大量的程序段,可讀性差。本實例通過常見的循環彩燈控制為例,了解學習S7-1200型PLC程序塊的應用。
相關知識:移動操作相關指令
(1) 移動值MOVE指令
MOVE指令用于將IN輸入端的源操作數(數值或地址中的數據)賦值給輸出端OUT1指定的地址中,指令執行后源操作數保持不變。該指令支持的數據類型為除Bool型數據之外的所有數據類型。
如下圖程序段是PLC上電后將Q0口數值清零,一般用于系統的上電復位。
如果輸入 IN 數據類型的位長度超出輸出 OUT1 數據類型的位長度,則源值的高位會丟失。如果輸入 IN 數據類型的位長度低于輸出 OUT1 數據類型的位長度,則目標值的高位會被改寫為 0。
小提示:移動指令MOVE一般用于批量給輸出寄存器Q賦值,或者在輸入信號較多的情況下批量讀取輸入寄存器I中的數據。
例1:控制Q1.0~Q1.7上連接的8位彩燈隔一跳一點亮
再加一個按位操作的程序進行對比
例2:讀取一位撥碼開關輸入的數值并保存在輔助寄存器M中
再加一個按位操作的程序進行對比
通過以上對比可以看出,在一些特定情況下使用MOVE指令可以可以大量簡化程序步驟。
任務布置
選用5個點動按鍵S0~S4給PLC的輸入信號,作為花樣功能選擇鍵,8個發光二極管LED0~LED7作為PLC的輸出信號,編寫程序實現8個發光二極管閃爍花樣的切換顯示。
按下按鍵S1,發光二極管點亮1個,并向右循環移動點亮,每秒移動1位;
按下按鍵S2,發光二極管點亮2個,并向右循環移動點亮,每秒移動1位;
按下按鍵S3,發光二極管點亮3個,并向右循環移動點亮,每秒移動1位;
按下按鍵S4,發光二極管點亮4個,并向右循環移動點亮,每秒移動1位;
按下按鍵S5,發光二極管點亮5個,并向右循環移動點亮,每秒移動1位;
任務實施
(1) 任務分析
1)在實際應用中壓力傳感器是將水的壓力值轉換成電壓信號輸入給PLC、單片機等控制系統,這個輸入信號是模擬量。在模塊中用可調電位器來模擬了壓力傳感器,電位器輸出的電壓范圍是0~5V,對應的壓力量程為0~0.1MPa。S7-1200PLC集成了兩路模擬信號輸入,傳感器將電壓信號輸入PLC后會經過A/D轉換成范圍0~27648的數字量保存在IW64中。所以在本任務中要設法將地址IW64中采集的數字信號值還原成以Pa為單位的壓力值。
2)系統要求有手動和自動兩種工作模式,不同工作模式由點動按鍵ME進行切換,因此在梯形圖程序編寫時采用手動單步運行程序和自動連續運行程序兩個函數塊進行調用,具體轉換條件如下圖所示。
(2)I/O地址分配表
該系統共有5個輸入,3個輸出,資源分配如下表。
按照I/O分配表設置PLC變量,在Portal V13 軟件中設置PLC變量表如下圖所示
(3)硬件接線圖按照任務控制要求和I/O地址分配表畫出硬件接線圖并插接導線。
此處就略過不再詳細解釋了
(4)梯形圖程序
重點難點詳解:該任務有自動連續運行和手動單步運行兩種工作模式,并由點動按鍵ME作為切換條件,設置以下4個函數功能塊:
完整梯形圖參考程序
OB1中的程序
FC1 上電初始化
FC4 300ms脈沖信號
FC3跑馬燈循環
FC4控制循環次數
總結
以上是生活随笔為你收集整理的单片机彩灯移动实验_用S7-1200 PLC实现循环彩灯的控制,含源程序的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 伴字开头的成语有哪些?
- 下一篇: 菊花多少钱啊?
