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