本文檔以DC/DC/DC類型的S7-1200 CPU為例進行說明。在Portal 軟件中插入S7-1200 CPU(DC輸出類型),在“設備視圖”中配置PWM。
1. 進入CPU“常規”屬性,設置“脈沖發生器”。如下圖所示:
2. 啟用脈沖發生器,可以給該脈沖發生器起一個名字,也可以不做修改使用軟件默認設置值;可還以對該PWM脈沖發生器添加注釋說明。如下圖所示:
3. 參數分配:組態脈沖參數,如下圖所示,“參數分配”部分對PWM脈沖的周期單位、脈沖寬度做了定義
a. 信號類型:選擇脈沖類型。如下圖所示,有PWM和PTO兩種,其中PTO又分成4種,每種類型的具體含義在運動控制部分進行介紹。這在里選擇PWM
b. 時基:用來設定PWM脈沖周期的時間單位。在PWM模式下,時基單位分成:毫秒和微 秒。
c. 脈寬格式:用來定義PWM脈沖的占空比檔次,如下圖所示,分成4種:
以其中的“百分之一”舉例,表示把PWM脈沖周期分成100等分,以1/100為單位來表示一個脈沖周期中脈沖的高電平,也可以理解成1/100是PWM脈沖周期中高電平的分辨率。“千分之一”和“萬分之一”相應地把PWM的周期分成更小的等分,分辨率更高。
“S7模擬量格式”表示的是把PWM的周期劃分成27648等分,以1/27648為單位來表示一個脈沖周期中脈沖的高電平。因為S7-1200 PLC的模擬量量程范圍為0~27648或-27648~27648。
d. 循環時間:表示PWM脈沖的周期時間,Portal 軟件中對“循環時間”限定的范圍值:1~16777215。
e. 初始脈沖寬度:表示PWM脈沖周期中的高電平的脈沖寬度,可以設定的范圍值由“脈寬格式”確定,例如,如果“脈寬格式”選擇了“萬分之一”,則“初始脈沖寬度”值可以設定的范圍值從0~10000,同理,如果“脈寬格式”選擇了“S7模擬量格式”,則“初始脈沖寬度”值可以設定的范圍值從0-27648。如果設定值為0,則PLC沒有脈沖發出。
4. 硬件輸出:根據需要選擇S7-1200 PLC上的某個DO點作為PWM輸出。如下圖所示:
『注意』該點只能是CPU上的DO點,或是SB信號板上的DO點,S7-1200 SM擴展模塊上的DO點不支持PWM功能。
5. I/O地址:用來設置PWM的地址和周期更新方式,如下圖所示:
a. 起始地址:用來設定該PWM通道地址,設置范圍從0~1022。
b. 結束地址:由“起始地址”決定,每個PWM通道地址占用一個WORD的長度。
c. 組織塊:用來設置PWM I/O地址的更新方式是基于哪個OB塊的。用戶可以根據需要通過“新增”按鈕來添加相應的OB塊,如下圖所示,本例中用戶可以選擇默認選項“自動更新”。
d. 過程映像:設置PWM的I/O地址的過程映像的更新情況,這里的“PWM的I/O地址”指的是PWM周期脈沖寬度數值存放的地址。該選項用來設置脈沖寬度地址的更新情況。如下圖所示:
S7-1200提供了6個過程映像分區。第一個過程映像分區“自動更新”指定用于每個掃描周期都自動更新的I/O,此為默認分配;接下來的4個分區PIP1、PIP2、PIP3和PIP4可用于將I/O過程映像更新分配給不同的中斷事件。“PIP OB伺服”是給S7-1200運動控制的等時同步模式使用的。
默認情況下,Portal 軟件會將其I/O過程映像更新為“自動更新” (Automatic update)。對于組態為“自動更新”(Automatic update)的I/O,CPU將在每個掃描周期自動處理模塊和過程映像之間的數據交換。
如果將I/O分配給過程映像分區PIP1~PIP4中的其中一個,但未將OB分配給該分區,那么CPU決不會將I/O更新至過程映像,也不會通過過程映像更新I/O。將I/O分配給未分配相應OB的PIP,相當于將過程映像指定為“無”(None)。在設備組態中將 I/O 分配給過程映像分區,并在創建中斷 OB 或是編輯 OB 屬性時將過程映像分區分配給中斷事件。
用戶可以在指令執行時立即讀取物理輸入值和立即寫入物理輸出值。無論 I/O點是否被組態為存儲到過程映像中,立即讀取功能都將訪問物理輸入的當前狀態而不更新過程映像輸入區。立即寫入物理輸出功能將同時更新過程映像輸出區(如果相應 I/O點組態為存儲到過程映像中)和物理輸出點。如果想要程序不使用過程映像,直接從物理點立即訪問 I/O 數據,則在 I/O地址后加后綴":P"。
根據上面的說明,本例中用戶可以直接選擇“自動更新”。由于PWM的I/O地址是Q(輸出區),因此用戶可以使用QWx,也可以直接更新外設地址QWx:P。
6. 硬件標識符:該PWM通道的硬件標識符是軟件自動生成的,不能修改。
軟件編程
1. 在Portal軟件中打開程序塊,進行PWM的編程。在指令選件中的“擴展指令”中的“脈沖”文件夾中可以找到CTRL_PWM指令。可以通過雙擊指令或是拖拽的方式把CTRL_PWM指令放到程序編輯區。如下圖所示:
2. 在插入CTRL_PWM指令時會提示關聯背景數據塊,如下圖所示,該數據塊的名稱和編號可以由用戶手動設置,也可以選擇系統默認值。
3. 配置CTRL_PWM指令參數。
①PWM:脈沖發生器的硬件ID號,就是“硬件標識符”,在上面的例子中硬件標識符為265,十進制的256當于W#16#109。
②ENABLE:PWM脈沖的使能端,為TURE時CPU發PWM脈沖,為False時,不發脈沖。
③BUSY:標識CPU是否正在發PWM脈沖。
④STATUS:PWM指令的狀態值,當STATUS=0時表示無錯誤,STATUS非0時表示PWM指令錯誤,具體的錯誤值查看幫助或是系統手冊。
4. 監控程序,并在線修改PWM的占空比。
如下圖所示,用M0.0使能CTRL_PWM指令。
如果想實時修改PWM的占空比也就是脈沖寬度,需要通過修改QWx的數值。“x”就是用戶配置PWM硬件組態時的“I/O地址--輸出地址”,上面的例子為1000,則QW1000的數值就是脈沖寬度的地址。
如下圖所示,① 在Portal軟件左側項目樹中的“監控與強制表”中插入一個新的監控表,②在打開的空白監控表中的“地址”列手動輸入QW1000,如然后在“顯示格式”一列選擇“帶符號十進制”,如下圖步驟③所示。點擊監控按鈕,如圖中④ 所示,可以看到QW1000的監控值為50,該值是組態PWM時設置的初始脈沖寬度值。
用戶可以在監控表中直接修改QW1000的數值來實時更改PWM的脈沖寬度(占空比),如下圖所示。
用戶可以根據需要進行測試實驗。
- 實例 | 西門子S7-200 SMART +V90 PTI定位控制 2024-12-26
- 在西門子(TIA Portal)中如何輸入讀取和編輯CPU模塊的date and time變量? 2024-12-26
- 西門子1200PLC程序如何從設備上傳至電腦? 2024-12-26
- 基于西門子PLC的Socket通信深度剖析! 2024-12-26
- 電動機單向運行的PLC控制程序 2024-12-26
- 西門子PLC中FB和FC區別、管腳定義、臨時變量引起的麻煩 2024-12-26
- 組態王和西門子S7300、S7400系列PLC通訊的幾種配置方案! 2024-12-26
- 西門子S120新增EtherCAT接口,通訊更方便! 2024-12-26
- PLC控制伺服,如何實現暫停功能? 2024-12-26
- WinCC與S7-200SMART CPU的OPC通信 2024-12-26
- S7-1200的被控仿真對象PID自整定過程 2024-12-26
- PROFIBUS-DP線的正確接法普及 2024-12-26
- S7-200 移植到 S7-200 SMART通過PLC之間通訊和串口通訊移植! 2024-12-26
- 步驟詳解|S7-200smart與以太網接口的西門子觸摸屏的通信! 2024-12-26
- 西門子S7-1200與S7-300的PK,S7-300被全面取代 2024-12-26
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595