西門(mén)子plc1200 PWM 功能組態(tài)及編程方法
發(fā)布日期:
2023-07-17

本文以DC/DC/DC類(lèi)型的S7-1200 CPU為例進(jìn)行說(shuō)明。在Portal 軟件中插入S7-1200 CPU(DC輸出類(lèi)型),在“設備視圖”中配置PWM。

硬件:

① S7-1200 CPU (文檔中使用V4.4版本 S7-1215C DC/DC/DC)

② PC(帶以太網(wǎng)卡)

③ TP電纜(以太網(wǎng)電纜)

軟件:

①STEP7 V11 或更高版本 (文檔中使用V16版本)

硬件組態(tài)

1. 進(jìn)入CPU“常規”屬性,設置“脈沖發(fā)生器”。

2. 啟用脈沖發(fā)生器,可以給該脈沖發(fā)生器起一個(gè)名字,也可以不做修改使用軟件默認設置值;可還以對該PWM脈沖發(fā)生器添加注釋說(shuō)明。

3. 參數分配:組態(tài)脈沖參數,“參數分配”部分對PWM脈沖的周期單位、脈沖寬度做了定義。

a. 信號類(lèi)型:選擇脈沖類(lèi)型。有PWM和PTO兩種,其中PTO又分成4種,每種類(lèi)型的具體含義在運動(dòng)控制部分進(jìn)行介紹。這在里選擇PWM。

b. 時(shí)基:用來(lái)設定PWM脈沖周期的時(shí)間單位。在PWM模式下,時(shí)基單位分成:毫秒和微秒。

c. 脈寬格式:用來(lái)定義PWM脈沖的占空比檔次,分成4種:

以其中的“百分之一”舉例,表示把PWM脈沖周期分成100等分,以1/100為單位來(lái)表示一個(gè)脈沖周期中脈沖的高電平,也可以理解成1/100是PWM脈沖周期中高電平的分辨率?!扒Х种弧焙汀叭f(wàn)分之一”相應地把PWM的周期分成更小的等分,分辨率更高。

“S7模擬量格式”表示的是把PWM的周期劃分成27648等分,以1/27648為單位來(lái)表示一個(gè)脈沖周期中脈沖的高電平。因為S7-1200 PLC的模擬量量程范圍為0~27648或-27648~27648。

d. 循環(huán)時(shí)間(僅適用于 PWM):表示PWM脈沖的周期時(shí)間,Portal 軟件中對“循環(huán)時(shí)間”限定的范圍值:1~16777215??梢酝ㄟ^(guò)選中復選框'允許在運行時(shí)修改循環(huán)時(shí)間',在運行時(shí)更改循環(huán)時(shí)間。

e. 初始脈沖寬度(僅適用于 PWM):表示PWM脈沖周期中的高電平的脈沖寬度,可以設定的范圍值由“脈寬格式”確定。例如,如果“脈寬格式”選擇了“萬(wàn)分之一”,則“初始脈沖寬度”值可以設定的范圍值從0~10000,同理,如果“脈寬格式”選擇了“S7模擬量格式”,則“初始脈沖寬度”值可以設定的范圍值從0-27648??赏ㄟ^(guò)使用 I/O 地址中組態(tài)的 Q 字地址,在運行系統中更改初始脈沖持續時(shí)間值。

f. 允許在運行時(shí)更改循環(huán)時(shí)間(僅適用于 PWM):如果選擇該選項,則PLC在I/O地址處額外分配 Q 存儲器的 4 個(gè)字節。用戶(hù)可在程序處于運行狀態(tài)時(shí),修改 PWM 信號的循環(huán)時(shí)間。

4. 硬件輸出:根據需要選擇S7-1200 PLC上的某個(gè)DO點(diǎn)作為PWM輸出。

『注意』該點(diǎn)只能是CPU上的DO點(diǎn),或是SB信號板上的DO點(diǎn)。S7-1200 SM擴展模塊上的DO點(diǎn)不支持PWM功能。

5. I/O地址:用來(lái)設置PWM的地址和周期更新方式。

a. 起始地址:用來(lái)設定該PWM通道地址。

b. 結束地址:由'起始地址'決定,默認情況下,每個(gè)PWM通道僅占用一個(gè)Word的長(cháng)度,用于輸出脈沖的持續時(shí)間。如果選中'允許在運行時(shí)修改循環(huán)時(shí)間' 復選框后,CPU會(huì )分配6個(gè)輸出字節,其中前2個(gè)字節用于輸出'脈沖持續時(shí)間'值,后4個(gè)字節用于輸出'循環(huán)時(shí)間'值。

c. 組織塊:用來(lái)設置PWM I/O地址的更新方式是基于哪個(gè)OB塊的。用戶(hù)可以根據需要通過(guò)“新增”按鈕來(lái)添加相應的OB塊,本例中用戶(hù)可以選擇默認選項“自動(dòng)更新”。

d. 過(guò)程映像:設置PWM的I/O地址的過(guò)程映像的更新情況,這里的“PWM的I/O地址”指的是PWM周期脈沖寬度數值存放的地址。該選項用來(lái)設置脈沖寬度地址的更新情況。

S7-1200提供了6個(gè)過(guò)程映像分區。第一個(gè)過(guò)程映像分區“自動(dòng)更新”指定用于每個(gè)掃描周期都自動(dòng)更新的I/O,此為默認分配;接下來(lái)的4個(gè)分區PIP1、PIP2、PIP3和PIP4可用于將I/O過(guò)程映像更新分配給不同的中斷事件?!癙IP OB伺服”是給S7-1200運動(dòng)控制的等時(shí)同步模式使用的。

默認情況下,Portal 軟件會(huì )將其I/O過(guò)程映像更新為“自動(dòng)更新” (Automatic update)。對于組態(tài)為“自動(dòng)更新”(Automatic update)的I/O,CPU將在每個(gè)掃描周期自動(dòng)處理模塊和過(guò)程映像之間的數據交換。

如果將I/O分配給過(guò)程映像分區PIP1~PIP4中的其中一個(gè),但未將OB分配給該分區,那么CPU決不會(huì )將I/O更新至過(guò)程映像,也不會(huì )通過(guò)過(guò)程映像更新I/O。將I/O分配給未分配相應OB的PIP,相當于將過(guò)程映像指定為“無(wú)”(None)。在設備組態(tài)中將 I/O 分配給過(guò)程映像分區,并在創(chuàng )建中斷 OB 或是編輯 OB 屬性時(shí)將過(guò)程映像分區分配給中斷事件。

用戶(hù)可以在指令執行時(shí)立即讀取物理輸入值和立即寫(xiě)入物理輸出值。無(wú)論 I/O點(diǎn)是否被組態(tài)為存儲到過(guò)程映像中,立即讀取功能都將訪(fǎng)問(wèn)物理輸入的當前狀態(tài)而不更新過(guò)程映像輸入區。立即寫(xiě)入物理輸出功能將同時(shí)更新過(guò)程映像輸出區(如果相應 I/O點(diǎn)組態(tài)為存儲到過(guò)程映像中)和物理輸出點(diǎn)。如果想要程序不使用過(guò)程映像,直接從物理點(diǎn)立即訪(fǎng)問(wèn) I/O 數據,則在 I/O地址后加后綴':P'。

根據上面的說(shuō)明,本例中用戶(hù)可以直接選擇“自動(dòng)更新”。由于PWM的I/O地址是Q(輸出區),因此用戶(hù)可以使用QWx/QDx,也可以直接更新外設地址Q(chēng)Wx:P/QDx:P。

軟件編程

1. 在Portal軟件中打開(kāi)程序塊,進(jìn)行PWM的編程。在指令選件中的“擴展指令”中的“脈沖”文件夾中可以找到CTRL_PWM指令??梢酝ㄟ^(guò)雙擊指令或是拖拽的方式把CTRL_PWM指令放到程序編輯區。

2. 在插入CTRL_PWM指令時(shí)會(huì )提示關(guān)聯(lián)背景數據塊,該數據塊的名稱(chēng)和編號可以由用戶(hù)手動(dòng)設置,也可以選擇系統默認值。

3. 配置CTRL_PWM指令參數。

①PWM:脈沖發(fā)生器的硬件ID號,就是“硬件標識符”,在上面的例子中硬件標識符為265。硬件標識符的選擇。

②ENABLE:PWM脈沖的使能端,為T(mén)URE時(shí)CPU發(fā)PWM脈沖,為False時(shí),不發(fā)脈沖。

③BUSY:標識CPU是否正在發(fā)PWM脈沖。

④STATUS:PWM指令的狀態(tài)值,當STATUS=0時(shí)表示無(wú)錯誤,STATUS非0時(shí)表示PWM指令錯誤,具體的錯誤值查看幫助或是系統手冊。

4. 監控程序,并在線(xiàn)修改PWM的脈沖寬度和循環(huán)周期。用M0.0使能CTRL_PWM指令。

實(shí)時(shí)修改PWM的脈沖寬度:需要修改QWx的數值,“x”就是用戶(hù)配置PWM硬件組態(tài)時(shí)的“I/O地址--輸出地址”。

實(shí)時(shí)修改PWM的循環(huán)周期:首先硬件組態(tài)內選中'允許在運行時(shí)修改循環(huán)時(shí)間'復選框,然后修改QD(x+2)的數值。

例如,啟用該選項后,CPU 會(huì )為 PWM1 分配六個(gè)字節,并由您確定使用 QB1008 到 QB1013。下載程序并啟動(dòng) PWM 后,可以使用 QW1008 修改'脈沖持續時(shí)間',以及使用 QD1010 修改'循環(huán)時(shí)間'。

① 在Portal軟件左側項目樹(shù)中的“監控與強制表”中插入一個(gè)新的監控表,②在打開(kāi)的空白監控表中的“地址”列手動(dòng)輸入QW1008和QD1010,然后在“顯示格式”一列選擇“帶符號十進(jìn)制”。點(diǎn)擊監控按鈕,④ 可以看到QW1008的監控值為50和QD1010的監控值為100,該值分別是組態(tài)PWM時(shí)設置的初始脈沖寬度值和循環(huán)時(shí)間值。

用戶(hù)可以在監控表中直接修改QW1008和QD1010的數值,來(lái)實(shí)時(shí)更改PWM的脈沖寬度和PWM的循環(huán)周期。

用戶(hù)可以根據需要進(jìn)行測試實(shí)驗。

聲明:部分內容來(lái)源于網(wǎng)絡(luò ),如侵權請后臺留言聯(lián)系刪除。