【路燈智能控制系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)案例3300字】_第1頁(yè)
【路燈智能控制系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)案例3300字】_第2頁(yè)
【路燈智能控制系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)案例3300字】_第3頁(yè)
【路燈智能控制系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)案例3300字】_第4頁(yè)
【路燈智能控制系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)案例3300字】_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

路燈智能控制系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)案例目錄TOC\o"1-3"\h\u27977路燈智能控制系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)案例 1117591.1IO口分配 1120731.2邏輯框圖 279151.3程序編寫與調(diào)試 21.1IO口分配圖4-1IO口分配圖設(shè)置地址IW64為照度反饋,數(shù)據(jù)類型為word,是通過(guò)光照度變送器獲得外界光照數(shù)據(jù),從此地址反饋給單片機(jī)。設(shè)置地址Q0.0為PWM輸出,將PLC發(fā)出的PWM數(shù)據(jù)輸送給外界,從而得到路燈的光亮變化。設(shè)置M0.0為手動(dòng)開(kāi)燈指令。用于在非智能控制時(shí)間,需要打開(kāi)照明系統(tǒng)時(shí),可自行打開(kāi)的按鈕設(shè)置M0.1為手動(dòng)關(guān)燈指令。用于在非智能控制時(shí)間,需要打開(kāi)照明系統(tǒng)時(shí),可自行關(guān)閉的按鈕1.2邏輯框圖圖4-2邏輯框圖1.3程序編寫與調(diào)試第一行程序:圖4-3第一行程序RD_SYS_T指令能夠讀取CPU當(dāng)前的系統(tǒng)時(shí)間量,這個(gè)指令擁有一個(gè)輸出參數(shù)(OUT)和一個(gè)返回值(RET_VAL).返回值RET_VAL的數(shù)據(jù)類型為整型(INT),用于返回指令執(zhí)行的狀態(tài),其編碼如下所示:RET_VAL:錯(cuò)誤代碼(16進(jìn)制)描述0000沒(méi)有錯(cuò)誤8081OUT輸出值的范圍超出界限輸出值OUT為指令讀取到的時(shí)間,該時(shí)間值不包括本地時(shí)區(qū)或夏令時(shí)偏移量等信息,其數(shù)據(jù)類型根據(jù)CPU類型的不同有所不同。此行功能解釋:讀取系統(tǒng)時(shí)間,將當(dāng)前時(shí)間讀取之后,將數(shù)據(jù)保存在“數(shù)據(jù)塊_1”_.SYS_T變量中輸出。

RD_SYS_T指令在數(shù)據(jù)塊中的取值范圍:圖4-4RD_SYS_T指令取值范圍所有數(shù)據(jù):其中YEAR的數(shù)據(jù)類型為UInt,得到的是CPU中系統(tǒng)的年份數(shù)據(jù),此時(shí)范圍是1970-2021.其中MONTH的數(shù)據(jù)類型為UsInt,得到的是CPU中系統(tǒng)月份數(shù)據(jù),此時(shí)范圍是1-11。其中DAY的數(shù)據(jù)類型為UsInt,得到的是CPU中系統(tǒng)日期數(shù)據(jù),此時(shí)范圍是1-20。其中WEEKDAY的數(shù)據(jù)類型為UsInt,得到的是CPU中系統(tǒng)星期數(shù)據(jù),此時(shí)范圍是5-7。其中HOUR的數(shù)據(jù)類型為UsInt,得到的是CPU中系統(tǒng)小時(shí)數(shù)據(jù),此時(shí)范圍為0-12。其中MINUTE的數(shù)據(jù)類型為UsInt,得到的是CPU中系統(tǒng)秒數(shù)據(jù),此時(shí)范圍為0-26。其中SECOND的數(shù)據(jù)類型為UsInt,得到的是CPU中系統(tǒng)分鐘數(shù)據(jù),此時(shí)范圍為0-56。此時(shí)都是在范圍內(nèi)設(shè)定好的值,之后也可更改,之后所得出的時(shí)間數(shù)據(jù)都是從此條程序中讀取出的。第二行程序:圖4-5第二行程序這一行用上了比較數(shù)字大小的指令,此指令主要有等于,不等于,大于或等于,小于或等于,小于,大于六種。此時(shí)用于比較的數(shù)據(jù)類型為USInt,也就是無(wú)符號(hào)短整型?!皵?shù)據(jù)塊_1”SYS_T.HOUR讀取的是第一行中取得時(shí)間數(shù)據(jù)里的小時(shí)數(shù)。通過(guò)數(shù)據(jù)的比較,將開(kāi)燈時(shí)間控制在系統(tǒng)設(shè)定的范圍內(nèi),比如此時(shí)設(shè)定的是,從系統(tǒng)中實(shí)時(shí)取得的小時(shí)數(shù)與0、6、20、23比較,當(dāng)讀取的數(shù)大于等于0且小于等于6時(shí),則上部分變成通路,“數(shù)據(jù)塊_1”.KD_XK接通,代表著路燈通電,當(dāng)讀取的數(shù)大于20且小于23時(shí),則也會(huì)連通。通過(guò)這一行可以設(shè)置路燈開(kāi)關(guān)時(shí)間,在凌晨0-6點(diǎn)和夜晚20-23點(diǎn)亮燈,其余時(shí)間都時(shí)熄滅狀態(tài),此處還多加了一個(gè)手動(dòng)開(kāi)關(guān)“數(shù)據(jù)塊_1”.MODE,用來(lái)手動(dòng)調(diào)整。在此基礎(chǔ)上還可以添加月份,用來(lái)在不同季節(jié)下的不同時(shí)間來(lái)智能管控路燈開(kāi)關(guān)閉合。第三行程序:圖4-6第三行程序其中用到了NORM_X指令和SCALE_X,它們作用是對(duì)模擬量進(jìn)行工程量的轉(zhuǎn)換,收線看下這兩種指令使用的計(jì)算公式:NORM_X:OUT=(VALUE–MIN)/(MAX–MIN)SCALE_X:OUT=[VALUE?(MAX–MIN)]+MIN圖4-7NORM_X圖像圖4-8SCALE_X圖像在使用過(guò)程中,有幾點(diǎn)需要注意:NORM_X的數(shù)據(jù)類型不能進(jìn)行隱式轉(zhuǎn)換,編譯會(huì)報(bào)錯(cuò)。但是SCALE_X可以進(jìn)行隱式轉(zhuǎn)換,編譯不會(huì)出錯(cuò)。要想消除NORM_X未指定類型的常量編譯報(bào)錯(cuò)問(wèn)題,需要給三個(gè)參數(shù)中的任一參數(shù)常量指定數(shù)據(jù)類型即可。NORM_X和SCALE_X指令的MAX參數(shù)值為0時(shí),計(jì)算結(jié)果并不會(huì)按照以上定義的計(jì)算公式計(jì)算,結(jié)果將保留為參數(shù)VALUE的值,很多時(shí)候我們希望此時(shí)結(jié)果為0,所以在使用過(guò)程中一定要注意。在對(duì)模擬量用NORM_X指令進(jìn)行標(biāo)準(zhǔn)化時(shí),可以把它理解為在我們?cè)O(shè)定的最小值和最大值之間放入一個(gè)數(shù)值,這個(gè)數(shù)值在最小值和最大值之間所占的比例,此時(shí)我們?cè)O(shè)置的最大值為27648,最小值為0。比如當(dāng)一個(gè)量程為0-10V的模擬量進(jìn)來(lái),如果為0V時(shí),則對(duì)應(yīng)最小值0,如果為10V時(shí),則對(duì)應(yīng)最大值27648。最后通過(guò)輸出0-1之間的數(shù)來(lái)表示模擬量的占比。在應(yīng)用NORM_X指令進(jìn)行標(biāo)準(zhǔn)化后,再接著用SCALE_X指令進(jìn)行縮放,將標(biāo)準(zhǔn)化后的值輸入SCALE_X后,也進(jìn)行最大最小值設(shè)置,然后輸出模擬量的實(shí)時(shí)值。整體來(lái)說(shuō),這一行程序是對(duì)光照度變送器送外界反饋回的模擬量進(jìn)行轉(zhuǎn)換。由上文選取的光照度變送器,其量程為0~20萬(wàn)Lux。此時(shí)%IW64便是輸入的模擬量,被NORM_X指令進(jìn)行標(biāo)準(zhǔn)化后,再由SCALE_X縮放為浮點(diǎn)數(shù)值輸出。第四行程序:圖4-9第四行代碼此行用上了S7-1200PID功能,S7-1200中的PID功能有三條指令可供選擇,分別為PID_Compact,PID_3Step,PID_Temp。其中我們選取的是PID_Compact。PID功能用于對(duì)閉環(huán)過(guò)程進(jìn)行控制。PID控制適用于溫度,壓力,流量等物理量,是工業(yè)現(xiàn)場(chǎng)中應(yīng)用最為廣泛的一種控制方式,其原理是,對(duì)被控對(duì)象設(shè)定一個(gè)給定值,然后將實(shí)際值測(cè)量出來(lái),并與給定值比較,將其差值送入PID控制器,PID控制器按照一定的運(yùn)算規(guī)律,計(jì)算出結(jié)果,即為輸出值,送到執(zhí)行器進(jìn)行調(diào)節(jié),其中的P,I,D指的是比例,積分,微分,是一種閉環(huán)控制算法。通過(guò)這些參數(shù),可以使被控對(duì)象追隨給定值變化并使系統(tǒng)達(dá)到穩(wěn)定,自動(dòng)消除各種干擾對(duì)控制過(guò)程的影響。REF_Ref97051507\r\h[2]PID控制器功能主要依靠三部分實(shí)現(xiàn),循環(huán)中斷塊,PID指令塊,工藝對(duì)象背景數(shù)據(jù)塊。用戶在調(diào)用PID指令塊時(shí)需要定義其背景數(shù)據(jù)塊,而此背景數(shù)據(jù)塊需要在工藝對(duì)象中添加,稱為工藝對(duì)象背景數(shù)據(jù)塊。PID指令塊與其相對(duì)應(yīng)的的工藝對(duì)象背景數(shù)據(jù)塊組合使用,形成完整的PID控制器。循環(huán)中斷塊可按一定周期產(chǎn)生中斷,執(zhí)行其中的程序。PID指令塊定義了控制器的控制算法,隨著循環(huán)中斷塊產(chǎn)生中斷而周期性執(zhí)行,其背景數(shù)據(jù)塊用于定義輸入輸出參數(shù),調(diào)試參數(shù)以及監(jiān)控參數(shù)。此背景數(shù)據(jù)塊并非普通數(shù)據(jù)塊,需要在目錄樹(shù)視圖的工藝對(duì)象中才能找到并定義。PID選擇:圖4-10PID選擇PID指令塊的參數(shù)分為兩部分,輸入?yún)?shù)與輸出參數(shù)。其指令塊的視圖分為擴(kuò)展視圖與集成視圖,在不同的視圖下所能看見(jiàn)的參數(shù)是不一樣的,在集成視圖中可看到的參數(shù)為最基本的默認(rèn)參數(shù),如給定值,反饋值,輸出值等。定義這些參數(shù)可實(shí)現(xiàn)控制器最基本的控制功能,而在擴(kuò)展視圖中,可看到更多的相關(guān)參數(shù),如手自動(dòng)切換,模式切換等,使用這些參數(shù)可使控制器具有更豐富的功能。參數(shù)輸入包括PID的設(shè)定值,過(guò)程值,手自動(dòng)切換,故障確認(rèn),模式切換和PID重啟參數(shù):參數(shù)數(shù)據(jù)類型說(shuō)明SetpointREALPID控制器在自動(dòng)模式下的設(shè)定值InputREALPID控制器的反饋值(工程量)Input_PERINTPID控制器的反饋值(模擬量)DisturbanceREAL擾動(dòng)變量或預(yù)控制值ManualEnableBOOL出現(xiàn)FALSE->TRUE上升沿時(shí)會(huì)啟動(dòng)“手動(dòng)模式”,與當(dāng)前Mode的數(shù)值無(wú)關(guān)。當(dāng)ManualEnable=TRUE,無(wú)法通過(guò)ModeActivate的上升沿或使用調(diào)試對(duì)話框來(lái)更改工作模式。出現(xiàn)TRUE->FALSE下降沿時(shí)會(huì)啟動(dòng)由Mode指定的工作模式。ManualValueREAL用作手動(dòng)模式下的PID輸出值,須滿足Config.OutputLowerLimit<ManualValue<Config.OutputUpperLimit。ErrorAckBOOLFALSE->TRUE上升沿時(shí),錯(cuò)誤確認(rèn),清除已經(jīng)離開(kāi)的錯(cuò)誤信息。ResetBOOL重新啟動(dòng)控制器:FALSE->TRUE上升沿,切換到“未啟動(dòng)”模式,同時(shí)復(fù)位ErrorBits和Warnings,清除積分作用(保留PID參數(shù))。只要Reset=TRUE,PID_Compact便會(huì)保持在“未啟動(dòng)”模式下(State=0)。TRUE->FALSE下降沿,PID_Compact將切換到保存在Mode參數(shù)中的工作模式。ModeActivateBOOLFALSE->TRUE上升沿,PID_Compact將切換到保存在Mode參數(shù)中的工作模式。輸出參數(shù)包括PID的輸出值(REAL、模擬量、PWM),標(biāo)定的過(guò)程值,限位報(bào)警(設(shè)定值、過(guò)程值),PID的當(dāng)前工作模式,錯(cuò)誤狀態(tài)及錯(cuò)誤代碼。參數(shù)數(shù)據(jù)類型說(shuō)明ScaledInputREAL標(biāo)定的過(guò)程值OutputREALPID的輸出值(REAL形式)Output_PERINTPID的輸出值(模擬量)Output_PWMBOOLPID的輸出值(脈寬調(diào)制)SetpointLimit_HBOOL如果SetpointLimit_H=TRUE,則說(shuō)明達(dá)到了設(shè)定值的絕對(duì)上限(Setpoint≥Config.SetpointUpperLimit)。SetpointLimit_LBOOL如果SetpointLimit_L

=

TRUE,則說(shuō)明已達(dá)到設(shè)定值的絕對(duì)下限(Setpoint≤Config.SetpointLowerLimit)。InputWarning_HBOOL如果InputWarning_H=TRUE,則說(shuō)明過(guò)程值已達(dá)到或超出警告上限。InputWarning_LBOOL如果InputWarning_L=TRUE,則說(shuō)明過(guò)程值已達(dá)到或低于警告下限。StateINTState參數(shù)顯示了PID控制器的當(dāng)前工作模式。可使用輸入?yún)?shù)Mode和ModeActivate處的上升沿更改工作模式:

State=0:未啟動(dòng)

State=1:預(yù)調(diào)節(jié)

State=2:精確調(diào)節(jié)

State=3:自動(dòng)模式

State=4:手動(dòng)模式

State=5:帶錯(cuò)誤監(jiān)視的替代輸出值ErrorBOOL如果Error=TRUE,則此周期內(nèi)至少有一條錯(cuò)誤消息處于未決狀態(tài)。ErrorBitsDWORDErrorBits參數(shù)顯示了處于未決狀態(tài)的錯(cuò)誤消息。通過(guò)Reset或ErrorAck的上升沿來(lái)保持并復(fù)位ErrorBits。這一行是在自動(dòng)的時(shí)候起作用,當(dāng)開(kāi)通許可“數(shù)據(jù)塊_1”.KD_XK輸出時(shí),且“數(shù)據(jù)塊_1”.MODE為1時(shí),根據(jù)“數(shù)據(jù)塊_1”.ZD_MBZ自動(dòng)模式下設(shè)置的目標(biāo)值和數(shù)據(jù)塊_1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論