天天看點

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

除了使用PWM向導,S7-200 SMART還支援使用PLS指令輸出PWM脈沖信号。

在STEP 7 Micro-WIN/SMART的【指令】—【計數器】中可以找到PLS指令,如下圖所示:

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

PLS指令初始添加到程式塊中的狀态如下圖所示:

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

該指令共有兩個輸入參數:EN和N,其中:

  • EN:布爾型變量,PWM脈沖輸出使能,使用沿信号觸發;
  • N:字型常量,表示輸出PWM信号的通道編号,包括三種:0、1或2。其中:0=Q0.0,1=Q0.1,2=Q0.3;

需要注意的是:隻有标準型CPU子產品才支援高速脈沖信号輸出。其中,CPU ST20支援兩路脈沖輸出信号,分别是Q0.0和Q0.1;CPU ST30/ST40/ST60支援三路脈沖信号,分别是Q0.0、Q0.1和Q0.3;

說明:

  • 當使用PLS指令激活PWM脈沖發生器後,相應的輸出通道(比如Q0.0)被脈沖發生器接管,不受程式中其它數字量輸出指令的控制;當脈沖發生器取消激活後,輸出通道受普通指令輸出的控制;
  • 如果程式中已經組态了PWM向導,則以向導的組态為準;
  • 不建議使用繼電器輸出型CPU(SR20/SR30/SR40/SR60)輸出PWM脈沖信号;
  • PLS指令既可以控制輸出PWM信号,也可以控制輸出PTO信号,取決于特殊存儲器的配置(具體見下文);

由于PLS指令本身僅可以設定輸出通道的編号,是以其它參數(比如周期時間、脈沖寬度時間等)必須通過特殊存儲器位元組/字來設定。

這些特殊存儲器位元組/字是PTO和PWM脈沖信号共用的,由于本課程介紹的PWM脈沖,是以下面我們用PWM信号來描述。關于PTO脈沖的特殊存儲器位元組/字可以看專欄《S7-200 SMART運動控制之步進電機》。

與PWM相關的特殊存儲器位元組可以分為兩類:一類是用于控制PWM信号的,稱為控制位元組;另一類是用來表示PWM狀态的,稱為狀态位元組;

狀态位元組包括三個:SMB66、SMB76和SMB566。其中,SMB66是PWM0(Q0.0)的狀态位元組;SMB76是PWM1(Q0.1)的狀态位元組;SMB566是PWM2(Q0.3)的狀态位元組;

控制位元組包括三個:SMB67、SMB77和SMB567。其中,SMB67是PWM0(Q0.0)的控制位元組;SMB77是PWM1(Q0.1)的控制位元組;SMB567是PWM2(Q0.3)的控制位元組;如下圖所示:

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

控制位元組總共有8個位,每個位的含義如下:

  • 第0位:PTO/PWM是否更新頻率/周期時間。0=不更新;1=更新;
  • 第1位:PWM更新脈沖寬度時間。0=不更新;1=更新;
  • 第2位:PTO更新脈沖計數值。0=不更新;1=更新;
  • 第3位:PWM時間基準。0=us(微秒);1=ms(毫秒);
  • 第4位:保留;
  • 第5位:PTO設定單段或多段操作。0=單段;1=多段;
  • 第6位:PTO/PWM模式選擇。0=PWM;1=PTO;
  • 第7位:PTO/PWM使能。0=禁用;1=啟用;

以PWM0為例,如果将其設定為時間基準為微秒、更新脈沖寬度、不更新周期時間,則設定SMB67的值為:16#82;如果将其設定為時間基準為毫秒、更新脈沖寬度、更新周期時間,則設定SMB67的值為:16#8B;

下面這張表列出了控制位元組的值(16進制)與PWM的時基、更新脈沖寬度、周期時間的對應關系:

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

除了設定控制位元組,我們還需要設定PWM的脈沖寬度及周期時間。這些設定請看下面的表格:

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

PWM周期時間的取值範圍為2~65535,脈沖寬度的取值範圍是:0~65535,機關取決于控制位元組中設定的時基;

舉個例子:假設要使用PWM0輸出時間基準為us的PWM信号,周期為1000,脈沖寬度為200,周期不更新,脈沖寬度更新,則設定:

SMB67=16#82;

SMW68=1000;

SMW70=200;

程式代碼如下圖所示:

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM
pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

怎樣停止PWM信号發送呢?

可以将0寫入到控制位元組的第7位,比如使PWM0的控制位元組SMB67.7為0,然後再執行PLS指令即可。見下面的代碼:

pwm整流器及其控制_西門子S7-200 SMART的PLS指令應用-PWM

PWM1和PWM2的控制于此類似,不在贅述。

好了,關于S7-200 SMART的PLS指令及其特殊存儲器位元組/字的設定就先介紹到這裡。我的新書《西門子S7-200 SMART PLC應用技術——程式設計、通信、裝調、案例》已經出版了,點選下面的文字檢視詳細介紹。

《西門子S7-200 SMART應用技術-程式設計、通信、裝調、案例》​www.founderchip.com

附上購買連結: