官术网_书友最值得收藏!

2.2.2 計(jì)數(shù)器指令

1.計(jì)數(shù)器的存儲(chǔ)區(qū)

每個(gè)計(jì)數(shù)器有一個(gè)16bit的字和一個(gè)二進(jìn)制位,計(jì)數(shù)器的字用來存放它的當(dāng)前計(jì)數(shù)值(見圖2-36),計(jì)數(shù)器觸點(diǎn)的狀態(tài)由它的位的狀態(tài)決定。S7-300的計(jì)數(shù)器個(gè)數(shù)(128~2048個(gè))與CPU的型號有關(guān)。

圖2-36 計(jì)數(shù)器字

計(jì)數(shù)器字的0~11位是計(jì)數(shù)值的BCD碼,計(jì)數(shù)值的范圍為0~999,例如,圖2-36中所示計(jì)數(shù)值為236。用格式C#表示計(jì)數(shù)器的設(shè)定值。計(jì)數(shù)器指令有兩種形式,即塊圖形式指令和線圈形式指令。計(jì)數(shù)器指令分為加計(jì)數(shù)器、減計(jì)數(shù)器和加減計(jì)數(shù)器。

2.加計(jì)數(shù)器S_CU

加計(jì)數(shù)器S_CU指令格式如圖2-37所示,其中,“???”為計(jì)數(shù)器的編號,其編號范圍與CPU型號有關(guān);“CU”為加計(jì)數(shù)器輸入端,該端每出現(xiàn)一個(gè)上升沿,計(jì)數(shù)器當(dāng)前值自動(dòng)“加1”,當(dāng)計(jì)數(shù)器當(dāng)前值為999時(shí),計(jì)數(shù)值保持為999,加“1”操作無效;“S”為預(yù)置信號輸入端,該端出現(xiàn)上升沿時(shí),將計(jì)數(shù)初值作為當(dāng)前值;“PV”端為計(jì)數(shù)初值輸入端,初值的范圍為0~999,可以直接輸入BCD碼形式的立即數(shù)(比如:C#123),也可以通過字存儲(chǔ)器為計(jì)數(shù)器提供初始值;“R”端為計(jì)數(shù)器復(fù)位信號輸入端,只要該端出現(xiàn)上升沿,計(jì)數(shù)器就會(huì)立即復(fù)位。復(fù)位后計(jì)數(shù)器的當(dāng)前值變?yōu)?,輸出狀態(tài)也為0;“CV”端為以整數(shù)形式顯示或輸出的計(jì)數(shù)器當(dāng)前值,該端可以接各種字存儲(chǔ)器(如MW4),也可以懸空不放;“CV_BCD”端為以BCD碼形式顯示或輸出的計(jì)數(shù)器當(dāng)前值,如C#350,也可以懸空;“Q”端為計(jì)數(shù)器狀態(tài)輸出端,只要計(jì)數(shù)器的當(dāng)前值不為0,計(jì)數(shù)器的狀態(tài)就為1,該端可以連接存儲(chǔ)器,也可以懸空。

3.減計(jì)數(shù)器S_CD

減計(jì)數(shù)器S_CD指令格式有兩種形式,線圈指令格式和塊圖指令格式。塊圖指令格式如圖2-38所示。

圖2-37 加計(jì)數(shù)器S_CU指令

圖2-38 減計(jì)數(shù)器S_CD指令

塊圖格式中“CD”端為減計(jì)數(shù)輸入端,該端每出現(xiàn)一次上升沿,計(jì)數(shù)器當(dāng)前值就“減1”,其他各個(gè)端子含義與加計(jì)數(shù)器相同,不再贅述。

舉例:用計(jì)數(shù)器和定時(shí)器實(shí)現(xiàn)長時(shí)間定時(shí)。

圖2-39中梯形圖可以實(shí)現(xiàn)開機(jī)后,Q0.0通電,定時(shí)10s后Q0.0自動(dòng)斷電的功能。試分析該程序最長能夠定時(shí)多少秒?

圖2-39 計(jì)數(shù)器實(shí)現(xiàn)長定時(shí)梯形圖

舉例:計(jì)數(shù)器擴(kuò)展為定時(shí)器,時(shí)鐘存儲(chǔ)器與計(jì)數(shù)器結(jié)合應(yīng)用。試分析圖2-40中梯形圖的功能(其中M10.0為時(shí)鐘存儲(chǔ)器中定義的頻率為10Hz的周期脈沖)。

在CPU中設(shè)置MB10為時(shí)鐘存儲(chǔ)器功能,那么M10.0就自動(dòng)以10Hz頻率閃爍,I0.0接通后,當(dāng)M10.0閃爍100次后Q0.0接通。

4.加/減計(jì)數(shù)器S_CUD

加/減計(jì)數(shù)器S_CUD的指令格式如圖2-41所示,其中,“CU”端是加計(jì)數(shù)端,“CD”端是減計(jì)數(shù)端,其他端子功能與其他計(jì)數(shù)器相同。

2-4 S_CUD計(jì)數(shù)器仿真

圖2-40 計(jì)數(shù)器擴(kuò)展為定時(shí)器梯形圖

圖2-41 加/減計(jì)數(shù)器S_CUD指令

加/減計(jì)數(shù)器S_CUD的工作時(shí)序圖如圖2-42所示。

5.計(jì)數(shù)器的線圈指令

除了前面介紹的塊圖形式的計(jì)數(shù)器指令以外,S7-300系統(tǒng)還為用戶準(zhǔn)備了LAD環(huán)境下的線圈形式的計(jì)數(shù)器。這些指令有計(jì)數(shù)器初值預(yù)置指令SC、加計(jì)數(shù)器指令CU和減計(jì)數(shù)器指令CD,如圖2-43所示。

1)初值預(yù)置SC指令若與CU指令配合可實(shí)現(xiàn)S_CU指令的功能,梯形圖如圖2-44所示。

圖2-42 加/減計(jì)數(shù)器S_CUD指令工作時(shí)序圖

圖2-43 計(jì)數(shù)器線圈指令

圖2-44 計(jì)數(shù)器線圈指令應(yīng)用

2)SC指令若與CD指令配合可實(shí)現(xiàn)S_CD指令的功能,梯形圖如圖2-45所示。

圖2-45 計(jì)數(shù)器線圈指令應(yīng)用

3)SC指令若與CU和CD配合可實(shí)現(xiàn)S_CUD的功能,梯形圖如圖2-46所示。

圖2-46 計(jì)數(shù)器線圈指令應(yīng)用

計(jì)數(shù)器指令在使用過程中應(yīng)注意以下幾點(diǎn):

1)計(jì)數(shù)器當(dāng)前計(jì)數(shù)值大于0時(shí),計(jì)數(shù)器位(即輸出Q)為1狀態(tài);當(dāng)前計(jì)數(shù)值為0時(shí),輸出Q為0狀態(tài)。

2)計(jì)數(shù)器一般用來在計(jì)數(shù)了預(yù)置值指定的脈沖個(gè)數(shù)后,進(jìn)行某種操作。為了實(shí)現(xiàn)這一要求,最簡單的方法是首先將預(yù)置值送入減計(jì)數(shù)器,計(jì)數(shù)值減為0時(shí),其常閉觸點(diǎn)閉合,用它來完成要做的動(dòng)作。如果使用加計(jì)數(shù)器,需要增加一條比較指令,來判斷計(jì)數(shù)值是否等于預(yù)置值。

主站蜘蛛池模板: 高唐县| 双流县| 德州市| 琼海市| 泗洪县| 都兰县| 台北市| 弥勒县| 永泰县| 旺苍县| 江华| 高青县| 安龙县| 瑞安市| 黑水县| 涞源县| 自治县| 临沧市| 大化| 新河县| 奉新县| 达孜县| 金川县| 中卫市| 黄骅市| 双辽市| 肇源县| 云梦县| 靖西县| 巴青县| 周至县| 汉源县| 昂仁县| 古蔺县| 秀山| 上林县| 锡林浩特市| 安阳县| 定安县| 建阳市| 卢氏县|