除了使用運動控制向導,S7-200 SMART還支持使用PLS指令輸出PTO脈沖信號。
在STEP 7 Micro-WIN/SMART的【指令】—【計數器】中可以找到PLS指令,如下圖所示:
PLS指令初始添加到程序塊中的狀態如下圖所示:
該指令共有兩個輸入參數:EN和N,其中:
- EN:布爾型變量,PTO脈沖輸出使能,使用沿信號觸發;
- N:字型常量,表示輸出PTO信號的通道編號,包括三種: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指令激活PTO脈沖發生器后,相應的輸出通道(比如Q0.0)被脈沖發生器接管,不受程序中其它數字量輸出指令的控制;當脈沖發生器取消激活后,輸出通道受普通指令輸出的控制;
- 如果程序中已經組態了運動控制向導,則以向導的組態為準;
- 不建議使用繼電器輸出型CPU(SR20/SR30/SR40/SR60)輸出PTO脈沖信號;
由于PLS指令本身僅可以設置輸出通道的編號,因此其它參數(比如頻率、脈沖數等)必須通過特殊存儲器字節/字來設置。這些特殊存儲器字節/字是PTO或PWM脈沖信號共用的,由于本課程介紹的PTO脈沖,所以下面我們用PTO脈沖來描述。關于PWM脈沖的特殊存儲器字節/字可以看專欄《S7-200 SMART的PWM功能應用》。
與PTO相關的特殊存儲器字節可以分為兩類:一類是用于控制PTO信號的,稱為控制字節;另一類是用來表示PTO狀態的,稱為狀態字節;
狀態字節包括三個:SMB66、SMB76和SMB566。其中,SMB66是PTO0(Q0.0)的狀態字節;SMB76是PTO1(Q0.1)的狀態字節;SMB566是PTO2(Q0.3)的狀態字節;
控制字節包括三個:SMB67、SMB77和SMB567。其中,SMB67是PTO0(Q0.0)的控制字節;SMB77是PTO1(Q0.1)的控制字節;SMB567是PTO2(Q0.3)的控制字節;如下圖所示:
控制字節總共有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=啟用;
以PTO0為例,如果將其設置為單段PTO輸出,頻率與脈沖數都不更新的情況下,則需要將SMB67賦值為:16#C0;如果要將其設置為單段PTO輸出,頻率不更新,脈沖數更新,則需要將SMB67賦值為:16#C4;
下面這張表列出了控制字節的值(16進制)與PTO的頻率、脈沖數、單段/多段的對應關系:
PTO輸出的頻率單位是Hz。
除了設置控制字節,我們還需要設置PTO以多大的頻率進行輸出?要輸出多少個脈沖?及多段脈沖下曲線的起始地址;這些設置請看下面的表格:
PTO輸出的頻率的范圍是:1Hz ≤ PTO頻率 ≤ 100,000Hz ;如果設置的頻率小于1Hz,則會默認使用1Hz;如果設置的頻率大于100,000Hz,則會默認使用100,000Hz;
PTO輸出的脈沖數的范圍是:1 ≤ PTO脈沖數 ≤ 2,147,483,647;如果設置的脈沖數小于1,則會默認使用1;如果設置的脈沖數大于2,147,483,647,則會默認使用2,147,483,647;
舉個例子:如果要設置PTO0的單段輸出頻率為500Hz,輸出6000個脈沖數,則設置:SMW68=500,SMD72=6000;
程序代碼如下圖所示:
在設置PTO輸出后,還可以通過狀態字節查看PTO的狀態;
每個PTO狀態字節包括8個位,其中
- 第0~3位:保留;
- 第4位:PTO增量計算錯誤;0=無錯誤;1=有錯誤而取消;
- 第5位:PTO曲線禁用;0=非手動禁用;1=用戶手動禁用;
- 第6位:PTO/PWM管線上溢/下溢;0=無上溢/下溢;1=上溢/下溢;
- 第7位:PTO是否空閑;0=發送中;1=空閑;
狀態字節的典型應用可以查看PTO是否正在發送脈沖。
比如,要檢查PTO0是否正在發送脈沖,可以判斷SMB66.7是否為0;
PTO1和PTO2的狀態字節分別是SMB76和SMB566,這個在前面的表格說過了。
以上就是關于S7-200 SMART的PLS指令及其特殊存儲器字節/字/雙字的設置,就先介紹到這里。