發(fā)表于:2005/2/25 9:01:00
#0樓
仿真器: PLCSIM5.2
組態(tài): CPU-313C,period-2000ms,minimum pulse-100ms
第一次使用SFB49,調(diào)試SFB49功能的全部程序如下,請大蝦賜教:
STAR: SET
R M2.3 //預(yù)備作業(yè)請求
L MB 18 //檢查初始化標(biāo)志
L 18
<>I //不相等,進(jìn)行初始化
JN S0
==I //相等,則進(jìn)行下一步
JZ S1
S0: L 0 //清作業(yè)完成標(biāo)志
T MB19
L 2
T MW0 //置脈沖通道為2
SET
S M2.0 //打開軟件門
L 1000 //PWM輸出值(ms)
T MW3
L W#16#0
T MW5 //作業(yè)號置0
L 18
T MB18 //置初始化標(biāo)志
JU CAON //調(diào)用SFB49
//檢查作業(yè)號
S1: L MB19
L 19
==I //相等則作業(yè)完成
JZ END1
L MW5
L W#16#1
==I //為作業(yè)號1,調(diào)用SFB49,寫周期長度
JZ CAON
//檢查作業(yè)號
L MW5
L W#16#4
==I //為作業(yè)號4,調(diào)用SFB49,寫最小脈沖寬度
JZ CAON
//檢查作業(yè)號
L MW5
L W#16#81
==I //為作業(yè)號H81,調(diào)用SFB49,寫讀取周期長度
JZ CAON
//檢查作業(yè)號
L MW5
L W#16#84
==I //為作業(yè)號H84,調(diào)用SFB49,讀取最小寬度
JZ CAON
L 0 //作業(yè)號錯誤處理
T MW5
T MB18
T MB19
JU STAR
////////////////////////////////////////////////////////
CAON: CALL SFB49,DB49
LADDR:=W#16#768
CHANNEL:=MW0 //通道號
SW_EN:=M2.0 //軟件門
MAN_DO:=2.1
SET_DO:=M2.2
JOB_REQ:=M2.3 //作業(yè)請求
OUTP_VA:=MW3 //PWM輸出值
JOB_ID:=MW5 //作業(yè)號
JOB_VAL:=MD7 //寫作業(yè)請求值
STS_EN:=M11.0 // ENABLE STATUS
STS_STRT:=M11.1
STS_DO:=M11.2 //OUTPUT STATUS
JOB_DONE:=M11.3 //NEW JOB CAN BE STARTED
JOB_ERR:=
JOB_STAT:=
/////////////////////////////////////////////////////////////
SET
S M2.3 //作業(yè)請求
L MW5
L W#16#84
==I
JZ END //作業(yè)請求完成
WAIT: A M11.3
JC GG
JU WAIT //等待新作業(yè)允許
GG: L MW5
L 0
==I
JZ SS1 //更改作業(yè)號為 W#16#01
L MW5
L W#16#01
==I
JZ SS2 //更改作業(yè)號為 W#16#04
L MW5
L W#16#04
==I
JZ SS4 //更改作業(yè)號為 W#16#81
L MW5
L W#16#81
==I
JZ SS4 //更改作業(yè)號為 W#16#84
L MW5
L W#16#84
==I
JZ END //作業(yè)完成
SS1: L 1
T MW5
L L#2000
T MD7 //寫周期長度為2000ms
JU CAON
SS4: L 4
T MW5
L L#100
T MD7 //寫最小脈沖寬度為100ms
JU CAON
SS81: L W#16#81
T MW5
L L#3000
T MD7 //寫讀取周期長度為3S
JU CAON
SS84: L W#16#84
T MW5
L L#100
T MD7 //讀取最小寬度為100ms
JU CAON
END: L 19
T MB 10
END1: NOP
祝你快樂!