PLC技術(shù)在典型任務(wù)中的應(yīng)用-模塊8-高級(jí)編程指令應(yīng)用課件_第1頁
PLC技術(shù)在典型任務(wù)中的應(yīng)用-模塊8-高級(jí)編程指令應(yīng)用課件_第2頁
PLC技術(shù)在典型任務(wù)中的應(yīng)用-模塊8-高級(jí)編程指令應(yīng)用課件_第3頁
PLC技術(shù)在典型任務(wù)中的應(yīng)用-模塊8-高級(jí)編程指令應(yīng)用課件_第4頁
PLC技術(shù)在典型任務(wù)中的應(yīng)用-模塊8-高級(jí)編程指令應(yīng)用課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

[模塊概述]

西門子S7-200系列PLC的編程指令涵蓋了邏輯處理、數(shù)學(xué)運(yùn)算以及一些程序控制等基本指令,正確使用這些指令是可以滿足大部分的工業(yè)生產(chǎn)要求,但對(duì)于一些特殊的環(huán)節(jié),例如需要知道當(dāng)前電機(jī)運(yùn)轉(zhuǎn)的角度,又或者是需要控制一臺(tái)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)到指定的角度等,這類的控制任務(wù),往往牽涉到了一些特殊信號(hào)的處理。在這個(gè)模塊里,主要就高速計(jì)數(shù)器和脈沖輸出兩個(gè)高級(jí)指令來介紹。高速計(jì)數(shù)和脈沖輸出都是針對(duì)脈沖信號(hào)的,一個(gè)是對(duì)脈沖個(gè)數(shù)進(jìn)行統(tǒng)計(jì),另一個(gè)則是產(chǎn)生高速脈沖。一般而言,200的CPU模塊是可以對(duì)高達(dá)30kHz的脈沖信號(hào)進(jìn)行計(jì)數(shù),同時(shí)也可以輸出高達(dá)20kHz的脈沖信號(hào)。在實(shí)際使用中,高頻率的脈沖信號(hào)可以由旋轉(zhuǎn)編碼器發(fā)出用于電機(jī)定位,也可以用來控制步進(jìn)電機(jī)、定量閥等高精度的設(shè)備。本模塊中就利用HSC指令和PLS指令來實(shí)現(xiàn)電機(jī)的定位和步進(jìn)電機(jī)的調(diào)速位置控制等。

模塊八高級(jí)編程指令應(yīng)用

[模塊概述]西門子S7-200系列PLC的編程指令涵主要內(nèi)容任務(wù)一.電機(jī)定位

任務(wù)二.步進(jìn)電機(jī)調(diào)速主要內(nèi)容[學(xué)習(xí)目標(biāo)]

1.會(huì)使用高速計(jì)數(shù)器編程實(shí)現(xiàn)某些控制功能。

2.體會(huì)高速計(jì)數(shù)器與普通計(jì)數(shù)器在功能和使用中的區(qū)別。

3.理解高速脈沖輸出指令的功能,并能用該指令實(shí)現(xiàn)相應(yīng)功能。

[學(xué)習(xí)目標(biāo)]1.會(huì)使用高速計(jì)數(shù)器編程實(shí)現(xiàn)某些控制功能。[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

PLC的普通計(jì)數(shù)器的計(jì)數(shù)過程與掃描工作方式有關(guān),CPU通過每一掃描周期讀取一次被測(cè)信號(hào)的方法來捕捉被測(cè)信號(hào)的上升沿,被測(cè)信號(hào)的頻率較高時(shí),會(huì)丟失計(jì)數(shù)脈沖,因此普通計(jì)數(shù)器的工作頻率很低,一般僅有幾十赫茲。高數(shù)計(jì)數(shù)器可以對(duì)普通計(jì)數(shù)器無能為力的事件進(jìn)行計(jì)數(shù),S7-200有6個(gè)高速計(jì)數(shù)器HSC0~HSC5,可以設(shè)置多達(dá)12種不同的操作模式。

一般來說,高速計(jì)數(shù)器被用來作為鼓形定時(shí)器使用,設(shè)備有一個(gè)安裝了增量式編碼器的軸,它以恒定的轉(zhuǎn)速旋轉(zhuǎn)。編碼器每圈發(fā)出一定數(shù)量的計(jì)數(shù)時(shí)鐘脈沖和一個(gè)復(fù)位脈沖,作為高速計(jì)數(shù)器的輸入。高速計(jì)數(shù)器有一組預(yù)置值,開始運(yùn)行時(shí)裝入一個(gè)預(yù)置值,當(dāng)前計(jì)數(shù)值小于當(dāng)前預(yù)置值時(shí),設(shè)置的輸出有效。當(dāng)前計(jì)數(shù)值等于預(yù)置值或有外部復(fù)位信號(hào)時(shí),產(chǎn)生中斷。發(fā)生當(dāng)前計(jì)數(shù)值等于預(yù)置值的中斷時(shí),裝載入新的預(yù)置值,并設(shè)置下一階段的輸出。有復(fù)位中斷事件發(fā)生時(shí),設(shè)置第一個(gè)預(yù)置值和第一個(gè)輸出狀態(tài),循環(huán)又重新開始。因?yàn)橹袛嗍录a(chǎn)生的速率遠(yuǎn)遠(yuǎn)低于高速計(jì)數(shù)器計(jì)數(shù)脈沖的速率,用高速計(jì)數(shù)器可以實(shí)現(xiàn)高速運(yùn)動(dòng)的精確控制,并且與PLC的掃描周期關(guān)系不大。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]PLC的普通計(jì)數(shù)器的1.高速計(jì)數(shù)器的工作模式

高速計(jì)數(shù)器的工作模式分為下面4大類:(1)無外部方向輸入信號(hào)的單相加/減計(jì)數(shù)器(模式0~2):可以用高速計(jì)數(shù)器的控制字節(jié)的第3位來控制加計(jì)數(shù)或減計(jì)數(shù)。該位為1時(shí)為加計(jì)數(shù),為0時(shí)為減計(jì)數(shù)。(2)有外部方向輸入信號(hào)的單相加/減計(jì)數(shù)器(模式3~5):方向輸入信號(hào)為1時(shí)為加計(jì)數(shù),為0時(shí)為減計(jì)數(shù)。(3)有加計(jì)數(shù)時(shí)鐘脈沖和減計(jì)數(shù)時(shí)鐘脈沖輸入的雙相計(jì)數(shù)器(模式6~8):若加計(jì)數(shù)脈沖和減計(jì)數(shù)脈沖的上升沿出現(xiàn)的時(shí)間間隔不到0.3ms,高速計(jì)數(shù)器會(huì)認(rèn)為這兩個(gè)事件是同時(shí)發(fā)生的,當(dāng)前值不變,也不會(huì)有計(jì)數(shù)方向變化的指示。反之,高速計(jì)數(shù)器能夠捕捉到每一個(gè)獨(dú)立事件。(4)A/B相正交計(jì)數(shù)器(模式9~11):它的兩路計(jì)數(shù)脈沖的相位互差90℃(見圖8-1),正轉(zhuǎn)時(shí)A相時(shí)鐘脈沖比B相時(shí)鐘脈沖超前90℃。反轉(zhuǎn)時(shí)A相時(shí)鐘脈沖比B相時(shí)鐘脈沖滯后90℃。利用這一特點(diǎn)可以實(shí)現(xiàn)在正轉(zhuǎn)時(shí)加計(jì)數(shù),在反轉(zhuǎn)時(shí)減計(jì)數(shù)。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

1.高速計(jì)數(shù)器的工作模式高速計(jì)數(shù)器的工作模式分為下面4大類A/B相正交計(jì)數(shù)器可以選擇1倍頻(1×)模式(見圖8-1)和4倍頻(4×)模式(見圖8-2)。在1倍頻模式,時(shí)鐘脈沖的每一周期計(jì)一次數(shù),在4倍頻模式,時(shí)鐘脈沖的每一周期計(jì)4次數(shù)。兩相計(jì)數(shù)器的兩個(gè)時(shí)鐘脈沖可以同時(shí)工作在最大速率,全部計(jì)數(shù)器可以同時(shí)以最大速率運(yùn)行,互不干擾。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

1.高速計(jì)數(shù)器的工作模式

A/B相正交計(jì)數(shù)器可以選擇1倍頻(1×)模式(見圖8-1)和根據(jù)有無復(fù)位輸入和啟動(dòng)輸入,上述的4類工作模式又可以各分為3種:無復(fù)位、無啟動(dòng)輸入;有復(fù)位、無啟動(dòng)輸入和既有復(fù)位、又有啟動(dòng)輸入。因此HSC1和HSC2有12種工作模式;HSC0和HSC4因?yàn)闆]有啟動(dòng)輸入,只有8種工作模式;HSC3和HSC5只有時(shí)鐘脈沖輸入,所以只有1種工作模式。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

1.高速計(jì)數(shù)器的工作模式

根據(jù)有無復(fù)位輸入和啟動(dòng)輸入,上述的4類工作模式又可以各分為3高速計(jì)數(shù)器的輸入信號(hào)如表8-1所示。有些高速計(jì)數(shù)器的輸入點(diǎn)相互間,或它們與邊沿中斷(I0.0~I0.3)的輸入點(diǎn)有重疊,同一輸入點(diǎn)不能同時(shí)用于兩種不同的功能。但是高速計(jì)數(shù)器當(dāng)前模式未使用的輸入點(diǎn)可以用于其他功能。例如HSC0工作在模式1時(shí)只使用I0.0及I0.2,I0.1可供邊沿中斷或HSC3使用。

2.高速計(jì)數(shù)器的外部輸入信號(hào)

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

高速計(jì)數(shù)器的輸入信號(hào)如表8-1所示。有些高速計(jì)數(shù)器的輸當(dāng)復(fù)位輸入信號(hào)有效時(shí),將清除計(jì)數(shù)當(dāng)前值并保持清楚狀態(tài),直至復(fù)位信號(hào)關(guān)閉。當(dāng)啟動(dòng)輸入有效時(shí),將允許計(jì)數(shù)器計(jì)數(shù)。關(guān)閉啟動(dòng)輸入時(shí),計(jì)數(shù)器當(dāng)前值保持恒定,時(shí)鐘脈沖不起作用。如果在關(guān)閉啟動(dòng)時(shí)使復(fù)位輸入有效,將忽略復(fù)位輸入,當(dāng)前值不變。如果激活復(fù)位輸入后再激活啟動(dòng)輸入,則當(dāng)前值被清除。

2.高速計(jì)數(shù)器的外部輸入信號(hào)

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

當(dāng)復(fù)位輸入信號(hào)有效時(shí),將清除計(jì)數(shù)當(dāng)前值并保持清楚狀態(tài)

(1)高速計(jì)數(shù)器指令高速計(jì)數(shù)器定義指令(HDEF,見圖8-3和表8-2)為指定的高速計(jì)數(shù)器(HSC)設(shè)置一種工作模式(MODE)。每個(gè)高速計(jì)數(shù)器只能用一條HDEF指令。可以用首次掃描存儲(chǔ)器位SM0.1,在第一個(gè)掃描周期調(diào)用包括HDEF指令的子程序來定義高速計(jì)數(shù)器。高速計(jì)數(shù)器指令(HSC)用于啟動(dòng)編號(hào)位N的高速計(jì)數(shù)器。HSC與MODE為字節(jié)型常數(shù),N為字型常數(shù)。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(1)高速計(jì)數(shù)器指令3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置[

(2)高速計(jì)數(shù)器的狀態(tài)字節(jié)每個(gè)高速計(jì)數(shù)器都有一個(gè)狀態(tài)字節(jié),給出了當(dāng)前計(jì)數(shù)方向和當(dāng)前值是否大于或等于預(yù)置值(見表8-3)。只有在執(zhí)行高速計(jì)數(shù)器的中斷程序時(shí),狀態(tài)位才有效。監(jiān)視高速計(jì)數(shù)器狀態(tài)的目的是響應(yīng)正在進(jìn)行的操作所引發(fā)的事件產(chǎn)生的中斷。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(2)高速計(jì)數(shù)器的狀態(tài)字節(jié)3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(4)高速計(jì)數(shù)器的控制字節(jié)只有定義了高速計(jì)數(shù)器和它的計(jì)數(shù)模式,才能對(duì)高速計(jì)數(shù)器的動(dòng)態(tài)參數(shù)進(jìn)行編程。各高速計(jì)數(shù)器均有一個(gè)控制字節(jié),各位的意義見表8-4所示。執(zhí)行HSC指令時(shí),CPU檢查控制字節(jié)和有關(guān)的當(dāng)前值和預(yù)置值。執(zhí)行HDEF指令之前必須將這些控制位設(shè)置成需要的狀態(tài),否則計(jì)數(shù)器將采用所選計(jì)數(shù)器模式的默認(rèn)設(shè)置。默認(rèn)設(shè)置為:復(fù)位輸入和啟動(dòng)輸入高電平有效,正交計(jì)數(shù)速率為輸入時(shí)鐘頻率的4倍。執(zhí)行HDEF指令后,就不能再改變計(jì)數(shù)器設(shè)置,除非CPU進(jìn)入停止模式。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(4)高速計(jì)數(shù)器的控制字節(jié)3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(5)預(yù)置值和當(dāng)前值的設(shè)置各高速計(jì)數(shù)器均有一個(gè)32位的預(yù)置值和一個(gè)32位的當(dāng)前值,預(yù)置值和當(dāng)前值均為有符號(hào)雙字整數(shù)。為了向高速計(jì)數(shù)器寫入新的預(yù)置值和當(dāng)前值,必須先設(shè)置控制字節(jié),令其第5位和第6位為1,允許更新預(yù)設(shè)值和當(dāng)前值,并將預(yù)置值和當(dāng)前值存入表8-5所示的特殊存儲(chǔ)器中,然后執(zhí)行HSC指令,從而將新的值送給高速計(jì)數(shù)器。高速計(jì)數(shù)器的當(dāng)前值(雙字)可以用HCX(HC為高速計(jì)數(shù)器當(dāng)前值,X=0~5)的格式讀出。因此,讀操作可以直接訪問當(dāng)前值,但是寫操作只能有上述的HSC指令來實(shí)現(xiàn)。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(5)預(yù)置值和當(dāng)前值的設(shè)置3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(6)高速計(jì)數(shù)器的中斷功能所有的計(jì)數(shù)器模式都會(huì)在當(dāng)前值等于預(yù)置值時(shí)產(chǎn)生中斷;使用外部復(fù)位端的計(jì)數(shù)模式支持外部復(fù)位中斷;除模式0、1和2之外,所有計(jì)數(shù)器模式還支持計(jì)數(shù)方向改變中斷。每種中斷條件都可以分別使能或禁止。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(6)高速計(jì)數(shù)器的中斷功能3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(1)高速計(jì)數(shù)器指令編程步驟使用高速計(jì)數(shù)器,需要完成下列步驟:STEP1:根據(jù)選定的計(jì)數(shù)器工作模式,設(shè)置相應(yīng)的控制字節(jié);STEP2:使用HDEF指令定義計(jì)數(shù)器號(hào);STEP3:設(shè)置計(jì)數(shù)方向(可選);STEP4:設(shè)置初始值(可選);STEP5:設(shè)置預(yù)置值(可選);STEP6:指定并使能中斷服務(wù)程序(可選);STEP7:執(zhí)行HSC指令,激活高速計(jì)數(shù)器。若在計(jì)數(shù)器運(yùn)行中改變其設(shè)置,需要執(zhí)行下列步驟:STEP1:根據(jù)需要設(shè)置控制字節(jié);STEP2:設(shè)置計(jì)數(shù)方向(可選);STEP3:設(shè)置初始值(可選);STEP4:設(shè)置預(yù)置值(可選);STEP5:執(zhí)行HSC指令,使CPU確認(rèn)。4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(1)高速計(jì)數(shù)器指令編程步驟4.高速計(jì)數(shù)器指令編程步

(2)高速計(jì)數(shù)器指令編程實(shí)例:實(shí)現(xiàn)內(nèi)部方向控制無復(fù)位單向計(jì)數(shù)器編程使HSC0工作在內(nèi)部方向控制、無復(fù)位狀態(tài),即模式0。所謂內(nèi)部方向控制,就是通過高速計(jì)數(shù)器控制字節(jié)的方向位來控制計(jì)數(shù)的增/減方向。為此,需將HSC0的控制字節(jié)SMB37設(shè)置為圖8-4所示的形式。

4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

上述SMB37的內(nèi)容用二進(jìn)制表示為11001000B,為了方便可以換算成十六進(jìn)制格式的C8H,用S7-200格式表示即為:2#11001000=16#C8(2)高速計(jì)數(shù)器指令編程實(shí)例:實(shí)現(xiàn)內(nèi)部方向控制無復(fù)位如果在運(yùn)行中改變方向,須設(shè)置控制字節(jié)的各個(gè)位,如圖8-5所示。

4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

上述SMB37的內(nèi)容用二進(jìn)制表示為2#10011000=16#98或2#10010000=16#90

如果在運(yùn)行中改變方向,須設(shè)置控制字節(jié)的各個(gè)位,如圖8-5所示編寫程序需要以下幾部分:主程序:調(diào)用初始化子程序SBR_0,并根據(jù)I0.1的狀態(tài)調(diào)用子程序改變計(jì)數(shù)方向(圖8-6);4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[編寫程序需要以下幾部分:SBR_0:初始化HSC0(圖8-7);4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[編寫程序需要以下幾部分:SBR_1:該計(jì)數(shù)方向?yàn)闇p計(jì)數(shù)(圖8-8);4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[編寫程序需要以下幾部分:SBR_2:該計(jì)數(shù)方向?yàn)樵鲇?jì)數(shù)(圖8-9)。4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[S7-200CPU提供兩個(gè)高速脈沖輸出點(diǎn)(Q0.0和Q0.1),可以分別工作在PTO(脈沖串輸出)和PWM(脈寬調(diào)制)狀態(tài)下。使用PTO或PWM可以實(shí)現(xiàn)速度、位置的開環(huán)運(yùn)動(dòng)控制。PTO功能可以輸出一串脈沖,用戶可以控制脈沖的周期(頻率)和個(gè)數(shù)。PWM功能可以連續(xù)輸出一串占空比可調(diào)的脈沖,用戶可以控制脈沖的周期和脈寬(占空比)。脈沖輸出指令(PLS,見圖8-10)檢查為脈沖輸出(Q0.0和Q0.1)設(shè)置的特殊存儲(chǔ)器位(SM),然后啟動(dòng)由特殊存儲(chǔ)器位定義的脈沖操作。指令的操作數(shù)Q=0或1,用于指定是Q0.0或Q0.1輸出。1.高速脈沖輸出[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

S7-200CPU提供兩個(gè)高速脈沖輸出點(diǎn)(Q0.0和Q0.高速脈沖輸出點(diǎn)和普通數(shù)字量輸出點(diǎn)共用輸出映像Q0.0和Q0.1。當(dāng)在Q0.0或Q0.1上激活PTO或者PWM功能時(shí),PTO/PWM發(fā)生器對(duì)輸出擁有控制權(quán),輸出波形不受其它影響。每個(gè)PTO/PWM生成器有一個(gè)8位的控制字節(jié),一個(gè)16位無符號(hào)的周期值或脈沖寬度值,以及一個(gè)無符號(hào)32位脈沖計(jì)數(shù)值。這些值全部存儲(chǔ)在指定的特殊存儲(chǔ)器(SM)區(qū),它們被設(shè)置好后,通過執(zhí)行脈沖輸出指令(PLS)來啟動(dòng)操作。PLS指令使S7-200讀取SM位,并對(duì)PTO/PWM發(fā)生器進(jìn)行編程。通過修改SM區(qū)(包括控制字節(jié)),然后再執(zhí)行PLS指令,可以改變PTO或PWM輸出波形的特性。將控制字節(jié)的PTO/PWM允許位(SM67.7或SM77.7)置為0,然后執(zhí)行PLS指令,在任意時(shí)刻均可以禁止PTO或PWM波形輸出。1.高速脈沖輸出[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

高速脈沖輸出點(diǎn)和普通數(shù)字量輸出點(diǎn)共用輸出映像Q0.0和Q0PTP/PWM0和PTP/PWM1的狀態(tài)字節(jié)、控制字節(jié)和其他PTP/PWM寄存器如表8-6所示,如果要裝入新的脈沖數(shù)、脈沖寬度或周期,應(yīng)在執(zhí)行PLS指令前將它們裝入相應(yīng)的控制寄存器。2.與PTO/PWM有關(guān)的特殊存儲(chǔ)器[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

PTP/PWM0和PTP/PWM1的狀態(tài)字節(jié)、控制字節(jié)和

(1)高速脈沖輸出指令編程步驟實(shí)現(xiàn)一串PTO脈沖輸出,可在主程序中調(diào)用初始化子程序。在子程序中:STEP1:設(shè)置相PTO/PWM控制字節(jié);STEP2:寫入周期值;STEP3:寫入脈沖串計(jì)數(shù)值;STEP4:連接中斷事件和中斷服務(wù)程序,允許中斷(可選);STEP5:執(zhí)行PLS指令,使S7-200CPU對(duì)PTO硬件編程;若要修改PTO的周期、脈沖數(shù),可以在子程序或中斷程序中執(zhí)行以下步驟:STEP1:根據(jù)要修改的內(nèi)容,寫入相應(yīng)的控制字節(jié)值;STEP2:寫入新的周期、脈沖數(shù);STEP3:執(zhí)行PLS指令,使S7-200CPU確認(rèn)設(shè)置。3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

(1)高速脈沖輸出指令編程步驟3.高速脈沖輸出指令編程步(2)高速脈沖輸出指令編程實(shí)例該實(shí)例主要包括以下幾部分:主程序:一次性調(diào)用初始化子程序SBR_0,I0.0接通時(shí)調(diào)用SBR_1,改變脈沖周期。(圖8-11);3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

(2)高速脈沖輸出指令編程實(shí)例3.高速脈沖輸出指令編程步驟及(2)高速脈沖輸出指令編程實(shí)例該實(shí)例主要包括以下幾部分:SBR_0:設(shè)定脈沖個(gè)數(shù)、周期并發(fā)出起始脈沖串(圖8-12);3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

(2)高速脈沖輸出指令編程實(shí)例3.高速脈沖輸出指令編程步驟及(2)高速脈沖輸出指令編程實(shí)例該實(shí)例主要包括以下幾部分:SBR_1:改變脈沖串周期(圖8-13)。3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

可用狀態(tài)表觀察各狀態(tài)字節(jié),在程序執(zhí)行時(shí),可以嘗試在當(dāng)前脈沖串沒有結(jié)束再次接通I0.0,觀察脈沖串的排隊(duì)。當(dāng)前脈沖串結(jié)束時(shí),第二串立刻發(fā)出。如果連續(xù)多次觸發(fā)I0.0,會(huì)造成隊(duì)列溢出(監(jiān)視狀態(tài)位SM66.6)。

(2)高速脈沖輸出指令編程實(shí)例3.高速脈沖輸出指令編程步驟及任務(wù)一電機(jī)定位

一、控制要求一臺(tái)裝有旋轉(zhuǎn)編碼器的電機(jī)帶動(dòng)絲杠轉(zhuǎn)動(dòng),已知旋轉(zhuǎn)編碼器在電機(jī)轉(zhuǎn)動(dòng)一周可產(chǎn)生1024個(gè)脈沖,絲杠的螺紋間距為2mm。請(qǐng)編程實(shí)現(xiàn)對(duì)絲杠當(dāng)前運(yùn)動(dòng)距離的計(jì)算。

任務(wù)一電機(jī)定位一、控制要求一臺(tái)裝有旋轉(zhuǎn)編碼器二、任務(wù)實(shí)施STEP1:任務(wù)分析要計(jì)算絲杠當(dāng)前運(yùn)動(dòng)距離,只需知道絲杠運(yùn)動(dòng)的周數(shù)和絲杠運(yùn)動(dòng)一周所前進(jìn)的距離。絲杠運(yùn)動(dòng)的周數(shù),我們可以通過編碼器對(duì)脈沖數(shù)的讀取,根據(jù)產(chǎn)生1024個(gè)脈沖/周計(jì)算得知;絲杠運(yùn)動(dòng)一周所前進(jìn)的距離即絲杠的螺紋間距。

任務(wù)一電機(jī)定位

二、任務(wù)實(shí)施STEP1:任務(wù)分析要計(jì)算絲杠當(dāng)前運(yùn)動(dòng)根據(jù)任務(wù)分析可知,選用高速計(jì)數(shù)器HSC0模式0即可。在實(shí)施任務(wù)前,首先應(yīng)準(zhǔn)備好PLC及相應(yīng)的硬件設(shè)備,具體設(shè)備如表8-7所示:

二、任務(wù)實(shí)施STEP2:任務(wù)準(zhǔn)備任務(wù)一電機(jī)定位

根據(jù)任務(wù)分析可知,選用高速計(jì)數(shù)器HSC0模式0即可。二、任務(wù)1.在接線完好狀態(tài)下,各設(shè)備通電,保證正常運(yùn)行;2.在Micro-WIN編程環(huán)境下,編寫如下各圖所示程序;二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)一電機(jī)定位

1.在接線完好狀態(tài)下,各設(shè)備通電,保證正常運(yùn)行;二、任務(wù)實(shí)施二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)一電機(jī)定位

二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)一電機(jī)定位二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)一電機(jī)定位

二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)一電機(jī)定位二、任務(wù)實(shí)施STEP4:任務(wù)測(cè)試

設(shè)備和程序均處于運(yùn)行狀態(tài)時(shí),在狀態(tài)表中分別監(jiān)視VD0、VD4、VD8存儲(chǔ)區(qū)中數(shù)值的變化,其中VD8中的值就是我們所要得到的數(shù)值(絲杠當(dāng)前運(yùn)動(dòng)距離,單位為毫米)。

任務(wù)一電機(jī)定位

二、任務(wù)實(shí)施STEP4:任務(wù)測(cè)試設(shè)備和程序均處于運(yùn)在上述任務(wù)中,增加電機(jī)正反轉(zhuǎn)控制,即當(dāng)電機(jī)正轉(zhuǎn)到指定位置時(shí),自動(dòng)反轉(zhuǎn)到原位,循環(huán)往返。

三、任務(wù)拓展任務(wù)一電機(jī)定位

在上述任務(wù)中,增加電機(jī)正反轉(zhuǎn)控制,即當(dāng)電機(jī)正轉(zhuǎn)到指定位置時(shí),任務(wù)二步進(jìn)電機(jī)調(diào)速

一、控制要求一臺(tái)步進(jìn)電機(jī),每周被劃分為100步,即每收到100個(gè)脈沖,電機(jī)旋轉(zhuǎn)一周。現(xiàn)有一個(gè)控制任務(wù):需要電機(jī)以10rad/s的速度運(yùn)轉(zhuǎn)5秒鐘,之后調(diào)整速度到5rad/s,并運(yùn)行2秒鐘,停止運(yùn)行。

任務(wù)二步進(jìn)電機(jī)調(diào)速一、控制要求一臺(tái)步進(jìn)電機(jī)二、任務(wù)實(shí)施STEP1:任務(wù)分析根據(jù)控制要求給出的已知條件,當(dāng)電機(jī)以10r/s的速度運(yùn)轉(zhuǎn)時(shí),可以計(jì)算得到此時(shí)脈沖周期值為1ms,從而確定控制字節(jié)SMB67為:2#10001101,運(yùn)行5秒鐘,需要的脈沖個(gè)數(shù)為5000;同樣,當(dāng)電機(jī)以5r/s的速度運(yùn)轉(zhuǎn)時(shí),可以計(jì)算得到此時(shí)脈沖周期值為2ms,所以,控制字節(jié)同上,但要求運(yùn)行2秒鐘時(shí),需要的脈沖個(gè)數(shù)將為:1000,當(dāng)脈沖輸入停止時(shí),步進(jìn)電機(jī)也將隨之停止。

任務(wù)二步進(jìn)電機(jī)調(diào)速

二、任務(wù)實(shí)施STEP1:任務(wù)分析根據(jù)控制要求給根據(jù)任務(wù)分析可知,選用高速脈沖輸出PLS指令。在實(shí)施任務(wù)前,首先應(yīng)準(zhǔn)備好PLC及相應(yīng)的硬件設(shè)備,具體設(shè)備如表8-8所示:

二、任務(wù)實(shí)施STEP2:任務(wù)準(zhǔn)備任務(wù)二步進(jìn)電機(jī)調(diào)速

根據(jù)任務(wù)分析可知,選用高速脈沖輸出PLS指令。二、任務(wù)實(shí)施1.在接線完好狀態(tài)下,各設(shè)備通電,保證正常運(yùn)行;2.在Micro-WIN編程環(huán)境下,編寫如下各圖所示程序;二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)二步進(jìn)電機(jī)調(diào)速

1.在接線完好狀態(tài)下,各設(shè)備通電,保證正常運(yùn)行;二、任務(wù)實(shí)施二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)二步進(jìn)電機(jī)調(diào)速

二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)二步進(jìn)電機(jī)調(diào)速二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)二步進(jìn)電機(jī)調(diào)速

二、任務(wù)實(shí)施STEP3:具體實(shí)施任務(wù)二步進(jìn)電機(jī)調(diào)速二、任務(wù)實(shí)施STEP4:任務(wù)測(cè)試

在設(shè)備和程序均處于運(yùn)行狀態(tài)下,監(jiān)視程序各變量變化,并觀察步進(jìn)電機(jī)的速度轉(zhuǎn)變及各個(gè)速度下所持續(xù)的時(shí)間是否符合控制要求。本任務(wù)中如有電機(jī)測(cè)速儀則可以更便與任務(wù)測(cè)試的進(jìn)行。

任務(wù)二步進(jìn)電機(jī)調(diào)速

二、任務(wù)實(shí)施STEP4:任務(wù)測(cè)試在設(shè)備和程序均處于運(yùn)行在編程完成上述任務(wù)的前提下,試用編程軟件STEP7—Micro/WIN提供的位置控制編程向?qū)瓿稍撊蝿?wù)。并體會(huì)兩種實(shí)施方法的異同及其優(yōu)缺點(diǎn)。

三、任務(wù)拓展任務(wù)二步進(jìn)電機(jī)調(diào)速

在編程完成上述任務(wù)的前提下,試用編程軟件STEP7[模塊概述]

西門子S7-200系列PLC的編程指令涵蓋了邏輯處理、數(shù)學(xué)運(yùn)算以及一些程序控制等基本指令,正確使用這些指令是可以滿足大部分的工業(yè)生產(chǎn)要求,但對(duì)于一些特殊的環(huán)節(jié),例如需要知道當(dāng)前電機(jī)運(yùn)轉(zhuǎn)的角度,又或者是需要控制一臺(tái)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)到指定的角度等,這類的控制任務(wù),往往牽涉到了一些特殊信號(hào)的處理。在這個(gè)模塊里,主要就高速計(jì)數(shù)器和脈沖輸出兩個(gè)高級(jí)指令來介紹。高速計(jì)數(shù)和脈沖輸出都是針對(duì)脈沖信號(hào)的,一個(gè)是對(duì)脈沖個(gè)數(shù)進(jìn)行統(tǒng)計(jì),另一個(gè)則是產(chǎn)生高速脈沖。一般而言,200的CPU模塊是可以對(duì)高達(dá)30kHz的脈沖信號(hào)進(jìn)行計(jì)數(shù),同時(shí)也可以輸出高達(dá)20kHz的脈沖信號(hào)。在實(shí)際使用中,高頻率的脈沖信號(hào)可以由旋轉(zhuǎn)編碼器發(fā)出用于電機(jī)定位,也可以用來控制步進(jìn)電機(jī)、定量閥等高精度的設(shè)備。本模塊中就利用HSC指令和PLS指令來實(shí)現(xiàn)電機(jī)的定位和步進(jìn)電機(jī)的調(diào)速位置控制等。

模塊八高級(jí)編程指令應(yīng)用

[模塊概述]西門子S7-200系列PLC的編程指令涵主要內(nèi)容任務(wù)一.電機(jī)定位

任務(wù)二.步進(jìn)電機(jī)調(diào)速主要內(nèi)容[學(xué)習(xí)目標(biāo)]

1.會(huì)使用高速計(jì)數(shù)器編程實(shí)現(xiàn)某些控制功能。

2.體會(huì)高速計(jì)數(shù)器與普通計(jì)數(shù)器在功能和使用中的區(qū)別。

3.理解高速脈沖輸出指令的功能,并能用該指令實(shí)現(xiàn)相應(yīng)功能。

[學(xué)習(xí)目標(biāo)]1.會(huì)使用高速計(jì)數(shù)器編程實(shí)現(xiàn)某些控制功能。[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

PLC的普通計(jì)數(shù)器的計(jì)數(shù)過程與掃描工作方式有關(guān),CPU通過每一掃描周期讀取一次被測(cè)信號(hào)的方法來捕捉被測(cè)信號(hào)的上升沿,被測(cè)信號(hào)的頻率較高時(shí),會(huì)丟失計(jì)數(shù)脈沖,因此普通計(jì)數(shù)器的工作頻率很低,一般僅有幾十赫茲。高數(shù)計(jì)數(shù)器可以對(duì)普通計(jì)數(shù)器無能為力的事件進(jìn)行計(jì)數(shù),S7-200有6個(gè)高速計(jì)數(shù)器HSC0~HSC5,可以設(shè)置多達(dá)12種不同的操作模式。

一般來說,高速計(jì)數(shù)器被用來作為鼓形定時(shí)器使用,設(shè)備有一個(gè)安裝了增量式編碼器的軸,它以恒定的轉(zhuǎn)速旋轉(zhuǎn)。編碼器每圈發(fā)出一定數(shù)量的計(jì)數(shù)時(shí)鐘脈沖和一個(gè)復(fù)位脈沖,作為高速計(jì)數(shù)器的輸入。高速計(jì)數(shù)器有一組預(yù)置值,開始運(yùn)行時(shí)裝入一個(gè)預(yù)置值,當(dāng)前計(jì)數(shù)值小于當(dāng)前預(yù)置值時(shí),設(shè)置的輸出有效。當(dāng)前計(jì)數(shù)值等于預(yù)置值或有外部復(fù)位信號(hào)時(shí),產(chǎn)生中斷。發(fā)生當(dāng)前計(jì)數(shù)值等于預(yù)置值的中斷時(shí),裝載入新的預(yù)置值,并設(shè)置下一階段的輸出。有復(fù)位中斷事件發(fā)生時(shí),設(shè)置第一個(gè)預(yù)置值和第一個(gè)輸出狀態(tài),循環(huán)又重新開始。因?yàn)橹袛嗍录a(chǎn)生的速率遠(yuǎn)遠(yuǎn)低于高速計(jì)數(shù)器計(jì)數(shù)脈沖的速率,用高速計(jì)數(shù)器可以實(shí)現(xiàn)高速運(yùn)動(dòng)的精確控制,并且與PLC的掃描周期關(guān)系不大。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]PLC的普通計(jì)數(shù)器的1.高速計(jì)數(shù)器的工作模式

高速計(jì)數(shù)器的工作模式分為下面4大類:(1)無外部方向輸入信號(hào)的單相加/減計(jì)數(shù)器(模式0~2):可以用高速計(jì)數(shù)器的控制字節(jié)的第3位來控制加計(jì)數(shù)或減計(jì)數(shù)。該位為1時(shí)為加計(jì)數(shù),為0時(shí)為減計(jì)數(shù)。(2)有外部方向輸入信號(hào)的單相加/減計(jì)數(shù)器(模式3~5):方向輸入信號(hào)為1時(shí)為加計(jì)數(shù),為0時(shí)為減計(jì)數(shù)。(3)有加計(jì)數(shù)時(shí)鐘脈沖和減計(jì)數(shù)時(shí)鐘脈沖輸入的雙相計(jì)數(shù)器(模式6~8):若加計(jì)數(shù)脈沖和減計(jì)數(shù)脈沖的上升沿出現(xiàn)的時(shí)間間隔不到0.3ms,高速計(jì)數(shù)器會(huì)認(rèn)為這兩個(gè)事件是同時(shí)發(fā)生的,當(dāng)前值不變,也不會(huì)有計(jì)數(shù)方向變化的指示。反之,高速計(jì)數(shù)器能夠捕捉到每一個(gè)獨(dú)立事件。(4)A/B相正交計(jì)數(shù)器(模式9~11):它的兩路計(jì)數(shù)脈沖的相位互差90℃(見圖8-1),正轉(zhuǎn)時(shí)A相時(shí)鐘脈沖比B相時(shí)鐘脈沖超前90℃。反轉(zhuǎn)時(shí)A相時(shí)鐘脈沖比B相時(shí)鐘脈沖滯后90℃。利用這一特點(diǎn)可以實(shí)現(xiàn)在正轉(zhuǎn)時(shí)加計(jì)數(shù),在反轉(zhuǎn)時(shí)減計(jì)數(shù)。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

1.高速計(jì)數(shù)器的工作模式高速計(jì)數(shù)器的工作模式分為下面4大類A/B相正交計(jì)數(shù)器可以選擇1倍頻(1×)模式(見圖8-1)和4倍頻(4×)模式(見圖8-2)。在1倍頻模式,時(shí)鐘脈沖的每一周期計(jì)一次數(shù),在4倍頻模式,時(shí)鐘脈沖的每一周期計(jì)4次數(shù)。兩相計(jì)數(shù)器的兩個(gè)時(shí)鐘脈沖可以同時(shí)工作在最大速率,全部計(jì)數(shù)器可以同時(shí)以最大速率運(yùn)行,互不干擾。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

1.高速計(jì)數(shù)器的工作模式

A/B相正交計(jì)數(shù)器可以選擇1倍頻(1×)模式(見圖8-1)和根據(jù)有無復(fù)位輸入和啟動(dòng)輸入,上述的4類工作模式又可以各分為3種:無復(fù)位、無啟動(dòng)輸入;有復(fù)位、無啟動(dòng)輸入和既有復(fù)位、又有啟動(dòng)輸入。因此HSC1和HSC2有12種工作模式;HSC0和HSC4因?yàn)闆]有啟動(dòng)輸入,只有8種工作模式;HSC3和HSC5只有時(shí)鐘脈沖輸入,所以只有1種工作模式。

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

1.高速計(jì)數(shù)器的工作模式

根據(jù)有無復(fù)位輸入和啟動(dòng)輸入,上述的4類工作模式又可以各分為3高速計(jì)數(shù)器的輸入信號(hào)如表8-1所示。有些高速計(jì)數(shù)器的輸入點(diǎn)相互間,或它們與邊沿中斷(I0.0~I0.3)的輸入點(diǎn)有重疊,同一輸入點(diǎn)不能同時(shí)用于兩種不同的功能。但是高速計(jì)數(shù)器當(dāng)前模式未使用的輸入點(diǎn)可以用于其他功能。例如HSC0工作在模式1時(shí)只使用I0.0及I0.2,I0.1可供邊沿中斷或HSC3使用。

2.高速計(jì)數(shù)器的外部輸入信號(hào)

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

高速計(jì)數(shù)器的輸入信號(hào)如表8-1所示。有些高速計(jì)數(shù)器的輸當(dāng)復(fù)位輸入信號(hào)有效時(shí),將清除計(jì)數(shù)當(dāng)前值并保持清楚狀態(tài),直至復(fù)位信號(hào)關(guān)閉。當(dāng)啟動(dòng)輸入有效時(shí),將允許計(jì)數(shù)器計(jì)數(shù)。關(guān)閉啟動(dòng)輸入時(shí),計(jì)數(shù)器當(dāng)前值保持恒定,時(shí)鐘脈沖不起作用。如果在關(guān)閉啟動(dòng)時(shí)使復(fù)位輸入有效,將忽略復(fù)位輸入,當(dāng)前值不變。如果激活復(fù)位輸入后再激活啟動(dòng)輸入,則當(dāng)前值被清除。

2.高速計(jì)數(shù)器的外部輸入信號(hào)

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

當(dāng)復(fù)位輸入信號(hào)有效時(shí),將清除計(jì)數(shù)當(dāng)前值并保持清楚狀態(tài)

(1)高速計(jì)數(shù)器指令高速計(jì)數(shù)器定義指令(HDEF,見圖8-3和表8-2)為指定的高速計(jì)數(shù)器(HSC)設(shè)置一種工作模式(MODE)。每個(gè)高速計(jì)數(shù)器只能用一條HDEF指令??梢杂檬状螔呙璐鎯?chǔ)器位SM0.1,在第一個(gè)掃描周期調(diào)用包括HDEF指令的子程序來定義高速計(jì)數(shù)器。高速計(jì)數(shù)器指令(HSC)用于啟動(dòng)編號(hào)位N的高速計(jì)數(shù)器。HSC與MODE為字節(jié)型常數(shù),N為字型常數(shù)。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(1)高速計(jì)數(shù)器指令3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置[

(2)高速計(jì)數(shù)器的狀態(tài)字節(jié)每個(gè)高速計(jì)數(shù)器都有一個(gè)狀態(tài)字節(jié),給出了當(dāng)前計(jì)數(shù)方向和當(dāng)前值是否大于或等于預(yù)置值(見表8-3)。只有在執(zhí)行高速計(jì)數(shù)器的中斷程序時(shí),狀態(tài)位才有效。監(jiān)視高速計(jì)數(shù)器狀態(tài)的目的是響應(yīng)正在進(jìn)行的操作所引發(fā)的事件產(chǎn)生的中斷。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(2)高速計(jì)數(shù)器的狀態(tài)字節(jié)3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(4)高速計(jì)數(shù)器的控制字節(jié)只有定義了高速計(jì)數(shù)器和它的計(jì)數(shù)模式,才能對(duì)高速計(jì)數(shù)器的動(dòng)態(tài)參數(shù)進(jìn)行編程。各高速計(jì)數(shù)器均有一個(gè)控制字節(jié),各位的意義見表8-4所示。執(zhí)行HSC指令時(shí),CPU檢查控制字節(jié)和有關(guān)的當(dāng)前值和預(yù)置值。執(zhí)行HDEF指令之前必須將這些控制位設(shè)置成需要的狀態(tài),否則計(jì)數(shù)器將采用所選計(jì)數(shù)器模式的默認(rèn)設(shè)置。默認(rèn)設(shè)置為:復(fù)位輸入和啟動(dòng)輸入高電平有效,正交計(jì)數(shù)速率為輸入時(shí)鐘頻率的4倍。執(zhí)行HDEF指令后,就不能再改變計(jì)數(shù)器設(shè)置,除非CPU進(jìn)入停止模式。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(4)高速計(jì)數(shù)器的控制字節(jié)3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(5)預(yù)置值和當(dāng)前值的設(shè)置各高速計(jì)數(shù)器均有一個(gè)32位的預(yù)置值和一個(gè)32位的當(dāng)前值,預(yù)置值和當(dāng)前值均為有符號(hào)雙字整數(shù)。為了向高速計(jì)數(shù)器寫入新的預(yù)置值和當(dāng)前值,必須先設(shè)置控制字節(jié),令其第5位和第6位為1,允許更新預(yù)設(shè)值和當(dāng)前值,并將預(yù)置值和當(dāng)前值存入表8-5所示的特殊存儲(chǔ)器中,然后執(zhí)行HSC指令,從而將新的值送給高速計(jì)數(shù)器。高速計(jì)數(shù)器的當(dāng)前值(雙字)可以用HCX(HC為高速計(jì)數(shù)器當(dāng)前值,X=0~5)的格式讀出。因此,讀操作可以直接訪問當(dāng)前值,但是寫操作只能有上述的HSC指令來實(shí)現(xiàn)。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(5)預(yù)置值和當(dāng)前值的設(shè)置3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(6)高速計(jì)數(shù)器的中斷功能所有的計(jì)數(shù)器模式都會(huì)在當(dāng)前值等于預(yù)置值時(shí)產(chǎn)生中斷;使用外部復(fù)位端的計(jì)數(shù)模式支持外部復(fù)位中斷;除模式0、1和2之外,所有計(jì)數(shù)器模式還支持計(jì)數(shù)方向改變中斷。每種中斷條件都可以分別使能或禁止。

3.高速計(jì)數(shù)器指令及相關(guān)設(shè)置

[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(6)高速計(jì)數(shù)器的中斷功能3.高速計(jì)數(shù)器指令及相關(guān)設(shè)

(1)高速計(jì)數(shù)器指令編程步驟使用高速計(jì)數(shù)器,需要完成下列步驟:STEP1:根據(jù)選定的計(jì)數(shù)器工作模式,設(shè)置相應(yīng)的控制字節(jié);STEP2:使用HDEF指令定義計(jì)數(shù)器號(hào);STEP3:設(shè)置計(jì)數(shù)方向(可選);STEP4:設(shè)置初始值(可選);STEP5:設(shè)置預(yù)置值(可選);STEP6:指定并使能中斷服務(wù)程序(可選);STEP7:執(zhí)行HSC指令,激活高速計(jì)數(shù)器。若在計(jì)數(shù)器運(yùn)行中改變其設(shè)置,需要執(zhí)行下列步驟:STEP1:根據(jù)需要設(shè)置控制字節(jié);STEP2:設(shè)置計(jì)數(shù)方向(可選);STEP3:設(shè)置初始值(可選);STEP4:設(shè)置預(yù)置值(可選);STEP5:執(zhí)行HSC指令,使CPU確認(rèn)。4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

(1)高速計(jì)數(shù)器指令編程步驟4.高速計(jì)數(shù)器指令編程步

(2)高速計(jì)數(shù)器指令編程實(shí)例:實(shí)現(xiàn)內(nèi)部方向控制無復(fù)位單向計(jì)數(shù)器編程使HSC0工作在內(nèi)部方向控制、無復(fù)位狀態(tài),即模式0。所謂內(nèi)部方向控制,就是通過高速計(jì)數(shù)器控制字節(jié)的方向位來控制計(jì)數(shù)的增/減方向。為此,需將HSC0的控制字節(jié)SMB37設(shè)置為圖8-4所示的形式。

4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

上述SMB37的內(nèi)容用二進(jìn)制表示為11001000B,為了方便可以換算成十六進(jìn)制格式的C8H,用S7-200格式表示即為:2#11001000=16#C8(2)高速計(jì)數(shù)器指令編程實(shí)例:實(shí)現(xiàn)內(nèi)部方向控制無復(fù)位如果在運(yùn)行中改變方向,須設(shè)置控制字節(jié)的各個(gè)位,如圖8-5所示。

4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

上述SMB37的內(nèi)容用二進(jìn)制表示為2#10011000=16#98或2#10010000=16#90

如果在運(yùn)行中改變方向,須設(shè)置控制字節(jié)的各個(gè)位,如圖8-5所示編寫程序需要以下幾部分:主程序:調(diào)用初始化子程序SBR_0,并根據(jù)I0.1的狀態(tài)調(diào)用子程序改變計(jì)數(shù)方向(圖8-6);4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[編寫程序需要以下幾部分:SBR_0:初始化HSC0(圖8-7);4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[編寫程序需要以下幾部分:SBR_1:該計(jì)數(shù)方向?yàn)闇p計(jì)數(shù)(圖8-8);4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[編寫程序需要以下幾部分:SBR_2:該計(jì)數(shù)方向?yàn)樵鲇?jì)數(shù)(圖8-9)。4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):一、高速計(jì)數(shù)器]

編寫程序需要以下幾部分:4.高速計(jì)數(shù)器指令編程步驟及實(shí)例[S7-200CPU提供兩個(gè)高速脈沖輸出點(diǎn)(Q0.0和Q0.1),可以分別工作在PTO(脈沖串輸出)和PWM(脈寬調(diào)制)狀態(tài)下。使用PTO或PWM可以實(shí)現(xiàn)速度、位置的開環(huán)運(yùn)動(dòng)控制。PTO功能可以輸出一串脈沖,用戶可以控制脈沖的周期(頻率)和個(gè)數(shù)。PWM功能可以連續(xù)輸出一串占空比可調(diào)的脈沖,用戶可以控制脈沖的周期和脈寬(占空比)。脈沖輸出指令(PLS,見圖8-10)檢查為脈沖輸出(Q0.0和Q0.1)設(shè)置的特殊存儲(chǔ)器位(SM),然后啟動(dòng)由特殊存儲(chǔ)器位定義的脈沖操作。指令的操作數(shù)Q=0或1,用于指定是Q0.0或Q0.1輸出。1.高速脈沖輸出[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

S7-200CPU提供兩個(gè)高速脈沖輸出點(diǎn)(Q0.0和Q0.高速脈沖輸出點(diǎn)和普通數(shù)字量輸出點(diǎn)共用輸出映像Q0.0和Q0.1。當(dāng)在Q0.0或Q0.1上激活PTO或者PWM功能時(shí),PTO/PWM發(fā)生器對(duì)輸出擁有控制權(quán),輸出波形不受其它影響。每個(gè)PTO/PWM生成器有一個(gè)8位的控制字節(jié),一個(gè)16位無符號(hào)的周期值或脈沖寬度值,以及一個(gè)無符號(hào)32位脈沖計(jì)數(shù)值。這些值全部存儲(chǔ)在指定的特殊存儲(chǔ)器(SM)區(qū),它們被設(shè)置好后,通過執(zhí)行脈沖輸出指令(PLS)來啟動(dòng)操作。PLS指令使S7-200讀取SM位,并對(duì)PTO/PWM發(fā)生器進(jìn)行編程。通過修改SM區(qū)(包括控制字節(jié)),然后再執(zhí)行PLS指令,可以改變PTO或PWM輸出波形的特性。將控制字節(jié)的PTO/PWM允許位(SM67.7或SM77.7)置為0,然后執(zhí)行PLS指令,在任意時(shí)刻均可以禁止PTO或PWM波形輸出。1.高速脈沖輸出[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

高速脈沖輸出點(diǎn)和普通數(shù)字量輸出點(diǎn)共用輸出映像Q0.0和Q0PTP/PWM0和PTP/PWM1的狀態(tài)字節(jié)、控制字節(jié)和其他PTP/PWM寄存器如表8-6所示,如果要裝入新的脈沖數(shù)、脈沖寬度或周期,應(yīng)在執(zhí)行PLS指令前將它們裝入相應(yīng)的控制寄存器。2.與PTO/PWM有關(guān)的特殊存儲(chǔ)器[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

PTP/PWM0和PTP/PWM1的狀態(tài)字節(jié)、控制字節(jié)和

(1)高速脈沖輸出指令編程步驟實(shí)現(xiàn)一串PTO脈沖輸出,可在主程序中調(diào)用初始化子程序。在子程序中:STEP1:設(shè)置相PTO/PWM控制字節(jié);STEP2:寫入周期值;STEP3:寫入脈沖串計(jì)數(shù)值;STEP4:連接中斷事件和中斷服務(wù)程序,允許中斷(可選);STEP5:執(zhí)行PLS指令,使S7-200CPU對(duì)PTO硬件編程;若要修改PTO的周期、脈沖數(shù),可以在子程序或中斷程序中執(zhí)行以下步驟:STEP1:根據(jù)要修改的內(nèi)容,寫入相應(yīng)的控制字節(jié)值;STEP2:寫入新的周期、脈沖數(shù);STEP3:執(zhí)行PLS指令,使S7-200CPU確認(rèn)設(shè)置。3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

(1)高速脈沖輸出指令編程步驟3.高速脈沖輸出指令編程步(2)高速脈沖輸出指令編程實(shí)例該實(shí)例主要包括以下幾部分:主程序:一次性調(diào)用初始化子程序SBR_0,I0.0接通時(shí)調(diào)用SBR_1,改變脈沖周期。(圖8-11);3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

(2)高速脈沖輸出指令編程實(shí)例3.高速脈沖輸出指令編程步驟及(2)高速脈沖輸出指令編程實(shí)例該實(shí)例主要包括以下幾部分:SBR_0:設(shè)定脈沖個(gè)數(shù)、周期并發(fā)出起始脈沖串(圖8-12);3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

(2)高速脈沖輸出指令編程實(shí)例3.高速脈沖輸出指令編程步驟及(2)高速脈沖輸出指令編程實(shí)例該實(shí)例主要包括以下幾部分:SBR_1:改變脈沖串周期(圖8-13)。3.高速脈沖輸出指令編程步驟及實(shí)例[知識(shí)學(xué)習(xí):二、高速脈沖輸出]

可用狀態(tài)表觀察各狀態(tài)字節(jié),在程序執(zhí)行時(shí),可以嘗試在當(dāng)前脈沖串沒有結(jié)束再次接通I0.0,觀察脈沖串的排隊(duì)。當(dāng)前脈沖串結(jié)束時(shí),第二串立刻發(fā)出。如果連續(xù)多次觸發(fā)I0.0,會(huì)造成隊(duì)列溢出(監(jiān)視狀態(tài)位SM66.6)。

(2)高速脈沖輸出指令編程實(shí)例3.高速脈沖輸出指令編程步驟及任務(wù)一電機(jī)定位

一、控制要求一臺(tái)裝有旋轉(zhuǎn)編碼器的電機(jī)帶動(dòng)絲杠轉(zhuǎn)動(dòng),已知旋轉(zhuǎn)編碼器在電機(jī)轉(zhuǎn)動(dòng)一周可產(chǎn)生1024個(gè)脈沖,絲杠的螺紋間距為2mm。請(qǐng)編程實(shí)現(xiàn)對(duì)絲杠當(dāng)前運(yùn)動(dòng)距離的計(jì)算。

任務(wù)一電機(jī)定位一、控制要求一臺(tái)裝有旋轉(zhuǎn)編碼器二、任務(wù)實(shí)施STEP1:任務(wù)分析要計(jì)算絲杠當(dāng)前運(yùn)動(dòng)距離,只需知道絲杠運(yùn)動(dòng)的周數(shù)和絲杠運(yùn)動(dòng)一周所前進(jìn)的距離。絲杠運(yùn)動(dòng)的周數(shù),我們可以通過編碼器對(duì)脈沖數(shù)的讀取,根據(jù)產(chǎn)生1024個(gè)脈沖/周計(jì)算得知;絲杠運(yùn)動(dòng)一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論