PLC程序設(shè)計思路分享(1)
盧思敏
發(fā)布于2017-04-26 11:05
22
0
標(biāo)簽:PLC程序設(shè)計
馬上注冊,免費學(xué)習(xí)超過100課時視頻教程,免費下載海量學(xué)習(xí)資料
前幾天有個學(xué)員咨詢一個程序設(shè)計的問題,程序的控制要求如下:需要控制5臺電機的運行,每臺電機運行時需要記錄運行時間,電機啟動運行時,根據(jù)記錄的運行時間,從小到大,每個2s依次啟動電機的運行。
我想對于這個程序的控制要求來講,他的難點在于如何對這些電機運行時間進行排列,排列好了后,如何根據(jù)排列的順序去起動電機的運行,從這個控制要求中我們可以看出,這主要是分為兩個部分來完成這個程序的設(shè)計的:
部分、用于對電機的運行時間進行從小到大順序的排列
第二部分、根據(jù)排列好的數(shù)據(jù),如何判斷需要起動那一臺電機
這里我們以西門子S7-200SMART系列PLC為例,先說說,如何編寫一個數(shù)據(jù)排列的帶參數(shù)的子程序。
數(shù)據(jù)排列帶參數(shù)子程序設(shè)計思路:
西門子S7-200系列的PLC中不像三菱的FX系列PLC具有數(shù)據(jù)排列的指令,因此我們要實現(xiàn)這個數(shù)據(jù)的排列功能,必須自己去搭建一個這樣的功能塊,在搭建這個功能塊的時候,會使用到間接尋址和循環(huán)指令,同時還需要應(yīng)用到帶參數(shù)的子程序。那么如何編寫一個數(shù)據(jù)排列的子程序呢?
假設(shè)有5個數(shù)據(jù)需要把他們的數(shù)據(jù)的大小按照順序從小到大排列,那么我們可以先在這五個數(shù)中找到大的數(shù)放在后面。然后在剩下的四個數(shù)中找到大的數(shù)放到倒數(shù)第二個的位置,接著在剩下的三個數(shù)中找到大的值放到倒數(shù)第三的位置,依次下去,這樣當(dāng)全部比較完后,我們的數(shù)據(jù)就按照從小到大的順序排列好了。那么很明顯,我們需要用兩個循環(huán)指令進行嵌套。外層的循環(huán)指令需要循環(huán)4次,而內(nèi)層的循環(huán)指令的循環(huán)次數(shù)是會變化的,因為次從5個數(shù)據(jù)中找出大值,循環(huán)4次,第二次的時候從4個數(shù)據(jù)中找出大值,循環(huán)3次,依次下去,每次需要改變循環(huán)的次數(shù)。
如何找出大值呢?我們可以進行比較,首先用第二個數(shù)跟個數(shù)比較,如果第二個數(shù)比個數(shù)大,那么指針往下移動變成第二個數(shù)跟第三個數(shù)比較,如果第二個數(shù)比第三個數(shù)大,那么對第二個數(shù)和第三個數(shù)進行交換,依次下去,當(dāng)比較完成后,大的數(shù)就放到后的地址里面去了。
程序設(shè)計:
(1)建立變量表
(2)根據(jù)變量表,編寫數(shù)據(jù)排列子程序
電機啟動部分程序,后續(xù)更新...
作者:技成培訓(xùn)網(wǎng)(曾鑫)
本文版權(quán)為技成所有,未經(jīng)同意,盜取必究!
推薦學(xué)習(xí)相關(guān)課程:
西門子S7-200PLC 從入門到精通
西門子S7-200SMART PLC 編程應(yīng)用入門
西門子S7-300使用指南
西門子S7-300PLC 初級