西門子plc1200 PWM 功能組態及編程方法
發布日期:
2023-07-17

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

硬件:

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

② PC(帶以太網卡)

③ TP電纜(以太網電纜)

軟件:

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

硬件組態

1. 進入CPU“常規”屬性,設置“脈衝(chong) 發生器”。

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

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

a. 信號類型:選擇脈衝(chong) 類型。有PWM和PTO兩(liang) 種,其中PTO又分成4種,每種類型的具體(ti) 含義(yi) 在運動控製部分進行介紹。這在裏選擇PWM。

b. 時基:用來設定PWM脈衝(chong) 周期的時間單位。在PWM模式下,時基單位分成:毫秒和微秒。

c. 脈寬格式:用來定義(yi) PWM脈衝(chong) 的占空比檔次,分成4種:

以其中的“百分之一”舉(ju) 例,表示把PWM脈衝(chong) 周期分成100等分,以1/100為(wei) 單位來表示一個(ge) 脈衝(chong) 周期中脈衝(chong) 的高電平,也可以理解成1/100是PWM脈衝(chong) 周期中高電平的分辨率。“千分之一”和“萬(wan) 分之一”相應地把PWM的周期分成更小的等分,分辨率更高。

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

d. 循環時間(僅(jin) 適用於(yu) PWM):表示PWM脈衝(chong) 的周期時間,Portal 軟件中對“循環時間”限定的範圍值:1~16777215。可以通過選中複選框'允許在運行時修改循環時間',在運行時更改循環時間。

e. 初始脈衝(chong) 寬度(僅(jin) 適用於(yu) PWM):表示PWM脈衝(chong) 周期中的高電平的脈衝(chong) 寬度,可以設定的範圍值由“脈寬格式”確定。例如,如果“脈寬格式”選擇了“萬(wan) 分之一”,則“初始脈衝(chong) 寬度”值可以設定的範圍值從(cong) 0~10000,同理,如果“脈寬格式”選擇了“S7模擬量格式”,則“初始脈衝(chong) 寬度”值可以設定的範圍值從(cong) 0-27648。可通過使用 I/O 地址中組態的 Q 字地址,在運行係統中更改初始脈衝(chong) 持續時間值。

f. 允許在運行時更改循環時間(僅(jin) 適用於(yu) PWM):如果選擇該選項,則PLC在I/O地址處額外分配 Q 存儲(chu) 器的 4 個(ge) 字節。用戶可在程序處於(yu) 運行狀態時,修改 PWM 信號的循環時間。

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

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

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

a. 起始地址:用來設定該PWM通道地址。

b. 結束地址:由'起始地址'決(jue) 定,默認情況下,每個(ge) PWM通道僅(jin) 占用一個(ge) Word的長度,用於(yu) 輸出脈衝(chong) 的持續時間。如果選中'允許在運行時修改循環時間' 複選框後,CPU會(hui) 分配6個(ge) 輸出字節,其中前2個(ge) 字節用於(yu) 輸出'脈衝(chong) 持續時間'值,後4個(ge) 字節用於(yu) 輸出'循環時間'值。

c. 組織塊:用來設置PWM I/O地址的更新方式是基於(yu) 哪個(ge) OB塊的。用戶可以根據需要通過“新增”按鈕來添加相應的OB塊,本例中用戶可以選擇默認選項“自動更新”。

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

S7-1200提供了6個(ge) 過程映像分區。第一個(ge) 過程映像分區“自動更新”指定用於(yu) 每個(ge) 掃描周期都自動更新的I/O,此為(wei) 默認分配;接下來的4個(ge) 分區PIP1、PIP2、PIP3和PIP4可用於(yu) 將I/O過程映像更新分配給不同的中斷事件。“PIP OB伺服”是給S7-1200運動控製的等時同步模式使用的。

默認情況下,Portal 軟件會(hui) 將其I/O過程映像更新為(wei) “自動更新” (Automatic update)。對於(yu) 組態為(wei) “自動更新”(Automatic update)的I/O,CPU將在每個(ge) 掃描周期自動處理模塊和過程映像之間的數據交換。

如果將I/O分配給過程映像分區PIP1~PIP4中的其中一個(ge) ,但未將OB分配給該分區,那麽(me) CPU決(jue) 不會(hui) 將I/O更新至過程映像,也不會(hui) 通過過程映像更新I/O。將I/O分配給未分配相應OB的PIP,相當於(yu) 將過程映像指定為(wei) “無”(None)。在設備組態中將 I/O 分配給過程映像分區,並在創建中斷 OB 或是編輯 OB 屬性時將過程映像分區分配給中斷事件。

用戶可以在指令執行時立即讀取物理輸入值和立即寫(xie) 入物理輸出值。無論 I/O點是否被組態為(wei) 存儲(chu) 到過程映像中,立即讀取功能都將訪問物理輸入的當前狀態而不更新過程映像輸入區。立即寫(xie) 入物理輸出功能將同時更新過程映像輸出區(如果相應 I/O點組態為(wei) 存儲(chu) 到過程映像中)和物理輸出點。如果想要程序不使用過程映像,直接從(cong) 物理點立即訪問 I/O 數據,則在 I/O地址後加後綴':P'。

根據上麵的說明,本例中用戶可以直接選擇“自動更新”。由於(yu) PWM的I/O地址是Q(輸出區),因此用戶可以使用QWx/QDx,也可以直接更新外設地址QWx:P/QDx:P。

軟件編程

1. 在Portal軟件中打開程序塊,進行PWM的編程。在指令選件中的“擴展指令”中的“脈衝(chong) ”文件夾中可以找到CTRL_PWM指令。可以通過雙擊指令或是拖拽的方式把CTRL_PWM指令放到程序編輯區。

2. 在插入CTRL_PWM指令時會(hui) 提示關(guan) 聯背景數據塊,該數據塊的名稱和編號可以由用戶手動設置,也可以選擇係統默認值。

3. 配置CTRL_PWM指令參數。

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

②ENABLE:PWM脈衝(chong) 的使能端,為(wei) TURE時CPU發PWM脈衝(chong) ,為(wei) False時,不發脈衝(chong) 。

③BUSY:標識CPU是否正在發PWM脈衝(chong) 。

④STATUS:PWM指令的狀態值,當STATUS=0時表示無錯誤,STATUS非0時表示PWM指令錯誤,具體(ti) 的錯誤值查看幫助或是係統手冊(ce) 。

4. 監控程序,並在線修改PWM的脈衝(chong) 寬度和循環周期。用M0.0使能CTRL_PWM指令。

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

實時修改PWM的循環周期:首先硬件組態內(nei) 選中'允許在運行時修改循環時間'複選框,然後修改QD(x+2)的數值。

例如,啟用該選項後,CPU 會(hui) 為(wei) PWM1 分配六個(ge) 字節,並由您確定使用 QB1008 到 QB1013。下載程序並啟動 PWM 後,可以使用 QW1008 修改'脈衝(chong) 持續時間',以及使用 QD1010 修改'循環時間'。

① 在Portal軟件左側(ce) 項目樹中的“監控與(yu) 強製表”中插入一個(ge) 新的監控表,②在打開的空白監控表中的“地址”列手動輸入QW1008和QD1010,然後在“顯示格式”一列選擇“帶符號十進製”。點擊監控按鈕,④ 可以看到QW1008的監控值為(wei) 50和QD1010的監控值為(wei) 100,該值分別是組態PWM時設置的初始脈衝(chong) 寬度值和循環時間值。

用戶可以在監控表中直接修改QW1008和QD1010的數值,來實時更改PWM的脈衝(chong) 寬度和PWM的循環周期。

用戶可以根據需要進行測試實驗。

聲明:部分內(nei) 容來源於(yu) 網絡,如侵權請後台留言聯係刪除。