本文檔以DC/DC/DC類型的S7-1200 CPU為例進行說明。在Portal 軟件中插入S7-1200 CPU(DC輸出類型),在“設備視圖”中配置PWM。
硬件:
① S7-1200 CPU (文檔中使用V4.4版本 S7-1215C DC/DC/DC)
② PC(帶以太網卡)
③ TP電纜(以太網電纜)
軟件:
①STEP7 V11 或更高版本 (文檔中使用V16版本)
1. 進入CPU“常規”屬性,設置“脈沖發生器”。如下圖1.1所示:
圖1.1 CPU常規屬性
2. 啟用脈沖發生器,可以給該脈沖發生器起一個名字,也可以不做修改使用軟件默認設置值;還可以對該PWM脈沖發生器添加注釋說明。如下圖1.2所示:
圖1.2 啟用脈沖發生器
3. 參數分配:組態脈沖參數,如下圖1.3所示,“參數分配”部分對PWM脈沖的周期單位、脈沖寬度做了定義。
圖1.3 參數分配設置
a. 信號類型:選擇脈沖類型。如下圖1.4所示,有PWM和PTO兩種,其中PTO又分成4種,每種類型的具體含義在運動控制部分進行介紹。這在里選擇PWM。
圖1.4 脈沖信號類型
b. 時基:用來設定PWM脈沖周期的時間單位。在PWM模式下,時基單位分成:毫秒和微秒。
c. 脈寬格式:用來定義PWM脈沖的占空比檔次,如下圖1.5所示,分成4種:
圖1.5 脈寬格式設置
以其中的“百分之一”舉例,表示把PWM脈沖周期分成100等分,以1/100為單位來表示一個脈沖周期中脈沖的高電平,也可以理解成1/100是PWM脈沖周期中高電平的分辨率。“千分之一”和“萬分之一”相應地把PWM的周期分成更小的等分,分辨率更高。
“S7模擬量格式”表示的是把PWM的周期劃分成27648等分,以1/27648為單位來表示一個脈沖周期中脈沖的高電平。因為S7-1200 PLC的模擬量量程范圍為0~27648或-27648~27648。
d. 循環時間(僅適用于 PWM):表示PWM脈沖的周期時間,Portal 軟件中對“循環時間”限定的范圍值:1~16777215。可以通過選中復選框"允許在運行時修改循環時間",在運行時更改循環時間。
e. 初始脈沖寬度(僅適用于 PWM):表示PWM脈沖周期中的高電平的脈沖寬度,可以設定的范圍值由“脈寬格式”確定。例如,如果“脈寬格式”選擇了“萬分之一”,則“初始脈沖寬度”值可以設定的范圍值從0~10000,同理,如果“脈寬格式”選擇了“S7模擬量格式”,則“初始脈沖寬度”值可以設定的范圍值從0-27648。可通過使用 I/O 地址中組態的 Q 字地址,在運行系統中更改初始脈沖持續時間值。
f. 允許在運行時更改循環時間(僅適用于 PWM):如果選擇該選項,則PLC在I/O地址處額外分配 Q 存儲器的 4 個字節。用戶可在程序處于運行狀態時,修改 PWM 信號的循環時間。
4. 硬件輸出:根據需要選擇S7-1200 PLC上的某個DO點作為PWM輸出。如下圖1.6所示:
圖1.6 硬件輸出設置
『注意』該點只能是CPU上的DO點,或是SB信號板上的DO點。S7-1200 SM擴展模塊上的DO點不支持PWM功能。
5. I/O地址:用來設置PWM的地址和周期更新方式,如下圖1.7所示:
圖1.7 輸出地址設置
a. 起始地址:用來設定該PWM通道地址。
b. 結束地址:由"起始地址"決定,默認情況下,每個PWM通道僅占用一個Word的長度,用于輸出脈沖的持續時間。如果選中"允許在運行時修改循環時間" 復選框后,CPU會分配6個輸出字節,其中前2個字節用于輸出"脈沖持續時間"值,后4個字節用于輸出"循環時間"值。
c. 組織塊:用來設置PWM I/O地址的更新方式是基于哪個OB塊的。用戶可以根據需要通過“新增”按鈕來添加相應的OB塊,如下圖1.8所示,本例中用戶可以選擇默認選項“自動更新”。
圖1.8 組織塊設置
d. 過程映像:設置PWM的I/O地址的過程映像的更新情況,這里的“PWM的I/O地址”指的是PWM周期脈沖寬度數值存放的地址。該選項用來設置脈沖寬度地址的更新情況。如下圖1.9所示:
圖1.9 過程映像設置
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/QDx,也可以直接更新外設地址QWx:P/QDx:P。
軟件編程1. 在Portal軟件中打開程序塊,進行PWM的編程。在指令選件中的“擴展指令”中的“脈沖”文件夾中可以找到CTRL_PWM指令。可以通過雙擊指令或是拖拽的方式把CTRL_PWM指令放到程序編輯區。如下圖2.1所示:
圖2.1 調用CTRL_PWM指令
2. 在插入CTRL_PWM指令時會提示關聯背景數據塊,如下圖2.2所示,該數據塊的名稱和編號可以由用戶手動設置,也可以選擇系統默認值。
圖2.2 CTRL_PWM指令關聯背景數據塊
3. 配置CTRL_PWM指令參數。
圖2.3 CTRL_PWM指令管腳配置
①PWM:脈沖發生器的硬件ID號,就是“硬件標識符”,在上面的例子中硬件標識符為265。硬件標識符的選擇,如下圖2.4所示。
②ENABLE:PWM脈沖的使能端,為TURE時CPU發PWM脈沖,為False時,不發脈沖。
③BUSY:標識CPU是否正在發PWM脈沖。
④STATUS:PWM指令的狀態值,當STATUS=0時表示無錯誤,STATUS非0時表示PWM指令錯誤,具體的錯誤值查看幫助或是系統手冊。
圖2.4 選擇CTRL_PWM指令硬件標識符
4. 監控程序,并在線修改PWM的脈沖寬度和循環周期。如下圖2.5所示,用M0.0使能CTRL_PWM指令。
圖2.5 使能CTRL_PWM指令
實時修改PWM的脈沖寬度:需要修改QWx的數值,“x”就是用戶配置PWM硬件組態時的“I/O地址--輸出地址”。
實時修改PWM的循環周期:首先硬件組態內選中"允許在運行時修改循環時間"復選框,然后修改QD(x+2)的數值。
例如,啟用該選項后,CPU 會為 PWM1 分配六個字節,并由您確定使用 QB1008 到 QB1013。下載程序并啟動 PWM 后,可以使用 QW1008 修改"脈沖持續時間",以及使用 QD1010 修改"循環時間"。
如下圖2.6所示,① 在Portal軟件左側項目樹中的“監控與強制表”中插入一個新的監控表,②在打開的空白監控表中的“地址”列手動輸入QW1008和QD1010,如然后在“顯示格式”一列選擇“帶符號十進制”,如下圖步驟③所示。點擊監控按鈕,如圖中④ 所示,可以看到QW1008的監控值為50和QD1010的監控值為100,該值分別是組態PWM時設置的初始脈沖寬度值和循環時間值。
圖2.6 監控PWM的脈沖寬度和循環時間
用戶可以在監控表中直接修改QW1008和QD1010的數值,來實時更改PWM的脈沖寬度和PWM的循環周期,如下圖2.7所示。
圖2.7 實時修改PWM的脈沖寬度和循環時間
用戶可以根據需要進行測試實驗。
常見問題問題1:如何更改PWM的脈沖寬度?
答:通過設置PWM的I/O地址。以上面的組態為例子,通過修改QW1008的數值來實時修改PWM的脈沖寬度。
問題2:如何修改PWM的循環周期?
答:首先硬件組態內選中"允許在運行時修改循環時間"復選框,然后修改對應I/Q地址內的QD的數值。以上面的組態為例子,通過修改QD1010的數值來實時修改PWM的循環周期。
問題3:PWM脈沖輸出的Zui小持續時間?
答:當您設置 PWM 信號的脈寬時,如果時基為"毫秒",實際脈寬(脈沖為高電平的時間)必須大于或等于 1 毫秒。如果時基為"微秒",實際脈寬必須大于或等于 1 微秒。如果脈寬小于 1 倍"時基",輸出將關斷。
例如,周期時間為 10 微秒時,百分之 5 的脈沖持續時間可得到 0.5 微秒的脈寬。因為該值小于 1 微秒,PWM 信號關閉。
- 西門子S7-1200 PLC編程實例,比較指令如何使用? 2024-12-02
- 西門子S7-1200 可以控制幾個V90 PN? 2024-12-02
- 西門子S7-200 SMART可以控制幾個V90 PN? 2024-12-02
- 西門子V90運動控制指令報錯,無法執行指令怎么辦? 2024-12-02
- 西門子S7-200 SMART PTO立即停止后如何快速再次啟動? 2024-12-02
- 西門子S7-200 SMART 如何實現立即停止發送脈沖? 2024-12-02
- 如何在西門子S7-200 SMART CPU斷電重啟后保持運動控制的當前位置值? 2024-12-02
- 為何通過西門子S7-200 SMART PTO方式控制V90 PTI定位換向時會有丟失脈沖的情況? 2024-12-02
- 西門子V90大功率驅動器是否可帶小電機? 2024-12-02
- 西門子V90帶juedui值編碼器的1FL6電機需要電池進行數據的掉電保持嗎? 2024-12-02
- 西門子1FL6電機編碼器有哪幾種類型? 2024-12-02
- 西門子V90系列編碼器的區別? 2024-12-02
- 西門子V90伺服電機高慣量與低慣量電機的區別? 2024-12-02
- MCGS觸摸屏與西門子S7-1200 PLC以太網通訊 2024-12-02
- 西門子變頻器重故障具體都有哪些? 2024-12-02
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415