產(chǎn)地類別 | 進口 |
---|
產(chǎn)品簡介
詳細介紹
歡迎進入上海金靈祥自動化科技有限公司
上海金靈祥自動化科技有限公司是一家多年從事大型系統(tǒng)備件(集散式控制系統(tǒng)、可編程控制器、冗余容錯控制系統(tǒng)、機器人控制系統(tǒng)、大型伺服控制系統(tǒng))等進口自動化系統(tǒng)備件、模塊銷售及系統(tǒng)集成的。對西門子自動化產(chǎn)品有著強大的優(yōu)點與趨勢, 公司在與德國 SIEMENS公司自動化與驅(qū)動部門的長期緊密合作過程中,建立了良好的相互協(xié)作關(guān)系。 上海金靈祥自動化科技有限公司本著、誠信、合作、共贏、的經(jīng)營理念,竭誠為客戶提供好的服務(wù),好的價格;歡迎來電垂詢。西門子PLC CPU S7-300模塊西門子PLC CPU S7-300模塊
一、高速計數(shù)器的模擬控制
高速計數(shù)器的模擬控制是用S7-200 PLC的高速計數(shù)器來累計來自模擬量/頻率轉(zhuǎn)換器(A/F)的脈沖來模擬電壓值的。假設(shè)頻率轉(zhuǎn)換器將輸入電壓(0-10V)轉(zhuǎn)換為矩形脈沖信號(0-2000Hz),再將此信號送入CPU 高速記數(shù)器的輸入端并累計脈沖數(shù)。當預(yù)置的間隔時間到后,通過累計脈沖數(shù),計算出被測模擬電壓值。
主程序:

主程序中在第一個掃描周期調(diào)用初始化程序SBR0,僅在第一個掃描周期標志位SM0.1=ON時由子程序?qū)崿F(xiàn)初始化。
子程序:

在子程序中,首先把高速計數(shù)器HSC1的控制字節(jié)SMB47置為16#FC,其含義是:加計數(shù),可更新預(yù)置值(PV),可更新當前值(CV),用指令HDEF把高速計數(shù)器HSC1置成工作模式0,即沒有復(fù)位或起始輸入,也沒有外部的方向選擇。當前值SMD48復(fù)位為0,預(yù)置值SMD52置為FFFF(十六進制),定時中斷0間隔時間SMB34置為100ms,用ATCH指令將中斷程序0分配給中斷事件10,即定時中斷0,并用ENI指令允許中斷,用指令HSC啟動高速計數(shù)器HSC1。
中斷程序:

因為定時中斷0間隔時間SMB34置為100ms,所以每100ms調(diào)用一次中斷程序0,讀出高速計數(shù)器的數(shù)值存到VD100,后將其置零。案例是通過頻率轉(zhuǎn)換器將輸入電壓(0-10V)轉(zhuǎn)換為矩形脈沖信號(0-2000Hz),通過HSC1的計數(shù)值及變換關(guān)系(0-2000kHz對應(yīng)于0-10V)來求被測的模擬電壓值。SHR-DW為右移指令,將VD100的二進制位右移一位,相當于是除于2,也就是將VD100的脈沖數(shù)除以2,然后將低位的VB103輸出到QB0,以便通過Q0.0~Q0.7的LED來顯示被測的電壓值,顯示值與10倍真實電壓值相對應(yīng)。
關(guān)于計算部分,我們舉例計算一下,假如計數(shù)值為200,200除以2是100,那么被測的模擬電壓值就是10.0V。因為計數(shù)器100ms內(nèi)共有200個計數(shù)脈沖,這正好與2000Hz-10V相對應(yīng), 假設(shè)計數(shù)值為104,則實際電壓值應(yīng)為5.2V。注意:定時中斷間隔時間可在5-255ms的范圍內(nèi)變化,我們可以通過設(shè)立一個標志,可根據(jù)需要來延長高速計數(shù)器的求值和復(fù)位時間,這樣就有更長的掃描間隔,以便提高精確度,同時也會帶來更長的更新時間。
二、高速計數(shù)器的測速控制
高速計數(shù)器的測速控制是利用高速計數(shù)器來實現(xiàn)測量轉(zhuǎn)速,比如說測電機的轉(zhuǎn)速。其中會利用到脈沖數(shù)和電機轉(zhuǎn)速的計算。設(shè)計思路是主程序中調(diào)用子程序進行初始化,子程序中做高速計數(shù)器及中斷的定義,中斷程序中做轉(zhuǎn)化計算部分,下面我們詳細看一下程序。
主程序:

在PLC上電運行的第一個掃描周期執(zhí)行一次子程序,用于程序運行的初始化設(shè)置。
子程序:


在子程序中,首先對VB0和VD0進行清零,VB0用于記錄累加數(shù)據(jù)的次數(shù),VD0累加數(shù)據(jù)的中間變量。接著設(shè)置高速計數(shù)器HSC0的控制字節(jié)為16#F8,即更新當前值,加計數(shù),用指令HDEF把高速計數(shù)器HSC0置成工作模式0,為單相計數(shù)輸入,沒有外部控制功能。當前值SMD38復(fù)位為0,定時中斷0間隔時間SMB34置為50ms,用ATCH指令將中斷程序0分配給中斷事件10,即定時中斷0,并用ENI指令允許中斷,用指令HSC啟動高速計數(shù)器HSC0。
中斷程序:

中斷程序是每隔50ms掃描刷新一次,采用加法指令將高速計數(shù)器HC0的當前計數(shù)值和累加數(shù)據(jù)變量VD0相加一次,用于數(shù)據(jù)的累加,同時用遞增指令對VB9進行加1,即記錄累加的次數(shù),這里再執(zhí)行一次HSC指令是為了將初始值寄存器SMD38再次寫入高速計數(shù)器HC0,使當前值為0,以便于下一次的定時采樣。

當累加數(shù)據(jù)的次數(shù)等于32次時,執(zhí)行運算指令,除法指令除以32是計算出累計脈沖數(shù)的平均值,乘以100是將平均值轉(zhuǎn)化成以轉(zhuǎn)/分單位的數(shù)據(jù),并存到VD4中,用DI_I指令是將雙整數(shù)轉(zhuǎn)換成整數(shù),存儲到VW10中,VW10就是電機的轉(zhuǎn)速,后面的傳送指令是對VB0和VD0進行清零,用于下一次重新開始累加。