S7-1200 PWM 功能組態(tài)及編程方法
本文檔以DC/DC/DC類型的S7-1200 CPU為例進行說明。在Portal 軟件中插入S7-1200 CPU(DC輸出類型),在“設(shè)備視圖”中配置PWM。
硬件:
① S7-1200 CPU (文檔中使用V4.4版本 S7-1215C DC/DC/DC)
② PC(帶以太網(wǎng)卡)
③ TP電纜(以太網(wǎng)電纜)
軟件:
①STEP7 V11 或更高版本 (文檔中使用V16版本)
硬件組態(tài)
1. 進入CPU“常規(guī)”屬性,設(shè)置“脈沖發(fā)生器”。如下圖1.1所示:
圖1.1 CPU常規(guī)屬性
2. 啟用脈沖發(fā)生器,可以給該脈沖發(fā)生器起一個名字,也可以不做修改使用軟件默認設(shè)置值;還可以對該PWM脈沖發(fā)生器添加注釋說明。如下圖1.2所示:
圖1.2 啟用脈沖發(fā)生器
3.?參數(shù)分配:組態(tài)脈沖參數(shù),如下圖1.3所示,“參數(shù)分配”部分對PWM脈沖的周期單位、脈沖寬度做了定義。
圖1.3 參數(shù)分配設(shè)置
a. 信號類型:選擇脈沖類型。如下圖1.4所示,有PWM和PTO兩種,其中PTO又分成4種,每種類型的具體含義在運動控制部分進行介紹。這在里選擇PWM。
圖1.4 脈沖信號類型
b. 時基:用來設(shè)定PWM脈沖周期的時間單位。在PWM模式下,時基單位分成:毫秒和微秒。
c. 脈寬格式:用來定義PWM脈沖的占空比檔次,如下圖1.5所示,分成4種:
圖1.5 脈寬格式設(shè)置
以其中的“百分之一”舉例,表示把PWM脈沖周期分成100等分,以1/100為單位來表示一個脈沖周期中脈沖的高電平,也可以理解成1/100是PWM脈沖周期中高電平的分辨率?!扒Х种弧焙汀叭f分之一”相應(yīng)地把PWM的周期分成更小的等分,分辨率更高。
“S7模擬量格式”表示的是把PWM的周期劃分成27648等分,以1/27648為單位來表示一個脈沖周期中脈沖的高電平。因為S7-1200 PLC的模擬量量程范圍為0~27648或-27648~27648。
d. 循環(huán)時間(僅適用于 PWM):表示PWM脈沖的周期時間,Portal 軟件中對“循環(huán)時間”限定的范圍值:1~16777215??梢酝ㄟ^選中復(fù)選框"允許在運行時修改循環(huán)時間",在運行時更改循環(huán)時間。
e. 初始脈沖寬度(僅適用于 PWM):表示PWM脈沖周期中的高電平的脈沖寬度,可以設(shè)定的范圍值由“脈寬格式”確定。例如,如果“脈寬格式”選擇了“萬分之一”,則“初始脈沖寬度”值可以設(shè)定的范圍值從0~10000,同理,如果“脈寬格式”選擇了“S7模擬量格式”,則“初始脈沖寬度”值可以設(shè)定的范圍值從0-27648??赏ㄟ^使用 I/O 地址中組態(tài)的 Q 字地址,在運行系統(tǒng)中更改初始脈沖持續(xù)時間值。
f. 允許在運行時更改循環(huán)時間(僅適用于 PWM):如果選擇該選項,則PLC在I/O地址處額外分配 Q 存儲器的 4 個字節(jié)。用戶可在程序處于運行狀態(tài)時,修改 PWM 信號的循環(huán)時間。
4. 硬件輸出:根據(jù)需要選擇S7-1200 PLC上的某個DO點作為PWM輸出。如下圖1.6所示:
圖1.6 硬件輸出設(shè)置
『注意』該點只能是CPU上的DO點,或是SB信號板上的DO點。S7-1200?SM擴展模塊上的DO點不支持PWM功能。
5. I/O地址:用來設(shè)置PWM的地址和周期更新方式,如下圖1.7所示:
圖1.7 輸出地址設(shè)置
a. 起始地址:用來設(shè)定該PWM通道地址。
b. 結(jié)束地址:由"起始地址"決定,默認情況下,每個PWM通道僅占用一個Word的長度,用于輸出脈沖的持續(xù)時間。如果選中"允許在運行時修改循環(huán)時間" 復(fù)選框后,CPU會分配6個輸出字節(jié),其中前2個字節(jié)用于輸出"脈沖持續(xù)時間"值,后4個字節(jié)用于輸出"循環(huán)時間"值。
c. 組織塊:用來設(shè)置PWM I/O地址的更新方式是基于哪個OB塊的。用戶可以根據(jù)需要通過“新增”按鈕來添加相應(yīng)的OB塊,如下圖1.8所示,本例中用戶可以選擇默認選項“自動更新”。
圖1.8 組織塊設(shè)置
d. 過程映像:設(shè)置PWM的I/O地址的過程映像的更新情況,這里的“PWM的I/O地址”指的是PWM周期脈沖寬度數(shù)值存放的地址。該選項用來設(shè)置脈沖寬度地址的更新情況。如下圖1.9所示:
圖1.9 過程映像設(shè)置
S7-1200提供了6個過程映像分區(qū)。第一個過程映像分區(qū)“自動更新”指定用于每個掃描周期都自動更新的I/O,此為默認分配;接下來的4個分區(qū)PIP1、PIP2、PIP3和PIP4可用于將I/O過程映像更新分配給不同的中斷事件?!癙IP OB伺服”是給S7-1200運動控制的等時同步模式使用的。
默認情況下,Portal 軟件會將其I/O過程映像更新為“自動更新” (Automatic update)。對于組態(tài)為“自動更新”(Automatic update)的I/O,CPU將在每個掃描周期自動處理模塊和過程映像之間的數(shù)據(jù)交換。
如果將I/O分配給過程映像分區(qū)PIP1~PIP4中的其中一個,但未將OB分配給該分區(qū),那么CPU決不會將I/O更新至過程映像,也不會通過過程映像更新I/O。將I/O分配給未分配相應(yīng)OB的PIP,相當(dāng)于將過程映像指定為“無”(None)。在設(shè)備組態(tài)中將 I/O 分配給過程映像分區(qū),并在創(chuàng)建中斷 OB 或是編輯 OB 屬性時將過程映像分區(qū)分配給中斷事件。
用戶可以在指令執(zhí)行時立即讀取物理輸入值和立即寫入物理輸出值。無論 I/O點是否被組態(tài)為存儲到過程映像中,立即讀取功能都將訪問物理輸入的當(dāng)前狀態(tài)而不更新過程映像輸入?yún)^(qū)。立即寫入物理輸出功能將同時更新過程映像輸出區(qū)(如果相應(yīng) I/O點組態(tài)為存儲到過程映像中)和物理輸出點。如果想要程序不使用過程映像,直接從物理點立即訪問 I/O 數(shù)據(jù),則在 I/O地址后加后綴":P"。
根據(jù)上面的說明,本例中用戶可以直接選擇“自動更新”。由于PWM的I/O地址是Q(輸出區(qū)),因此用戶可以使用QWx/QDx,也可以直接更新外設(shè)地址QWx:P/QDx:P。
軟件編程
1. 在Portal軟件中打開程序塊,進行PWM的編程。在指令選件中的“擴展指令”中的“脈沖”文件夾中可以找到CTRL_PWM指令。可以通過雙擊指令或是拖拽的方式把CTRL_PWM指令放到程序編輯區(qū)。如下圖2.1所示:
圖2.1 調(diào)用CTRL_PWM指令
2. 在插入CTRL_PWM指令時會提示關(guān)聯(lián)背景數(shù)據(jù)塊,如下圖2.2所示,該數(shù)據(jù)塊的名稱和編號可以由用戶手動設(shè)置,也可以選擇系統(tǒng)默認值。
圖2.2 CTRL_PWM指令關(guān)聯(lián)背景數(shù)據(jù)塊
3. 配置CTRL_PWM指令參數(shù)。
圖2.3 CTRL_PWM指令管腳配置
①PWM:脈沖發(fā)生器的硬件ID號,就是“硬件標(biāo)識符”,在上面的例子中硬件標(biāo)識符為265。硬件標(biāo)識符的選擇,如下圖2.4所示。
②ENABLE:PWM脈沖的使能端,為TURE時CPU發(fā)PWM脈沖,為False時,不發(fā)脈沖。
③BUSY:標(biāo)識CPU是否正在發(fā)PWM脈沖。
④STATUS:PWM指令的狀態(tài)值,當(dāng)STATUS=0時表示無錯誤,STATUS非0時表示PWM指令錯誤,具體的錯誤值查看幫助或是系統(tǒng)手冊。
圖2.4 選擇CTRL_PWM指令硬件標(biāo)識符
4. 監(jiān)控程序,并在線修改PWM的脈沖寬度和循環(huán)周期。如下圖2.5所示,用M0.0使能CTRL_PWM指令。
圖2.5 使能CTRL_PWM指令
實時修改PWM的脈沖寬度:需要修改QWx的數(shù)值,“x”就是用戶配置PWM硬件組態(tài)時的“I/O地址--輸出地址”。
實時修改PWM的循環(huán)周期:首先硬件組態(tài)內(nèi)選中"允許在運行時修改循環(huán)時間"復(fù)選框,然后修改QD(x+2)的數(shù)值。
例如,啟用該選項后,CPU 會為 PWM1 分配六個字節(jié),并由您確定使用 QB1008 到 QB1013。下載程序并啟動 PWM 后,可以使用 QW1008 修改"脈沖持續(xù)時間",以及使用 QD1010 修改"循環(huán)時間"。
如下圖2.6所示,① 在Portal軟件左側(cè)項目樹中的“監(jiān)控與強制表”中插入一個新的監(jiān)控表,②在打開的空白監(jiān)控表中的“地址”列手動輸入QW1008和QD1010,如然后在“顯示格式”一列選擇“帶符號十進制”,如下圖步驟③所示。點擊監(jiān)控按鈕,如圖中④ 所示,可以看到QW1008的監(jiān)控值為50和QD1010的監(jiān)控值為100,該值分別是組態(tài)PWM時設(shè)置的初始脈沖寬度值和循環(huán)時間值。
圖2.6 監(jiān)控PWM的脈沖寬度和循環(huán)時間
用戶可以在監(jiān)控表中直接修改QW1008和QD1010的數(shù)值,來實時更改PWM的脈沖寬度和PWM的循環(huán)周期,如下圖2.7所示。
圖2.7 實時修改PWM的脈沖寬度和循環(huán)時間
用戶可以根據(jù)需要進行測試實驗。
常見問題
問題1:如何更改PWM的脈沖寬度?
答:通過設(shè)置PWM的I/O地址。以上面的組態(tài)為例子,通過修改QW1008的數(shù)值來實時修改PWM的脈沖寬度。
問題2:如何修改PWM的循環(huán)周期?
答:首先硬件組態(tài)內(nèi)選中"允許在運行時修改循環(huán)時間"復(fù)選框,然后修改對應(yīng)I/Q地址內(nèi)的QD的數(shù)值。以上面的組態(tài)為例子,通過修改QD1010的數(shù)值來實時修改PWM的循環(huán)周期。
問題3:PWM脈沖輸出的最小持續(xù)時間?
答:當(dāng)您設(shè)置 PWM 信號的脈寬時,如果時基為"毫秒",實際脈寬(脈沖為高電平的時間)必須大于或等于 1 毫秒。如果時基為"微秒",實際脈寬必須大于或等于 1 微秒。如果脈寬小于 1 倍"時基",輸出將關(guān)斷。
例如,周期時間為 10 微秒時,百分之 5 的脈沖持續(xù)時間可得到 0.5 微秒的脈寬。因為該值小于 1 微秒,PWM 信號關(guān)閉。
審核編輯:黃飛
?
評論
查看更多