發表于:2005/2/25 9:01:00
#0樓
仿真器: PLCSIM5.2
組態: CPU-313C,period-2000ms,minimum pulse-100ms
第一次使用SFB49,調試SFB49功能的全部程序如下,請大蝦賜教:
STAR: SET
R M2.3 //預備作業請求
L MB 18 //檢查初始化標志
L 18
<>I //不相等,進行初始化
JN S0
==I //相等,則進行下一步
JZ S1
S0: L 0 //清作業完成標志
T MB19
L 2
T MW0 //置脈沖通道為2
SET
S M2.0 //打開軟件門
L 1000 //PWM輸出值(ms)
T MW3
L W#16#0
T MW5 //作業號置0
L 18
T MB18 //置初始化標志
JU CAON //調用SFB49
//檢查作業號
S1: L MB19
L 19
==I //相等則作業完成
JZ END1
L MW5
L W#16#1
==I //為作業號1,調用SFB49,寫周期長度
JZ CAON
//檢查作業號
L MW5
L W#16#4
==I //為作業號4,調用SFB49,寫最小脈沖寬度
JZ CAON
//檢查作業號
L MW5
L W#16#81
==I //為作業號H81,調用SFB49,寫讀取周期長度
JZ CAON
//檢查作業號
L MW5
L W#16#84
==I //為作業號H84,調用SFB49,讀取最小寬度
JZ CAON
L 0 //作業號錯誤處理
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 //作業請求
OUTP_VA:=MW3 //PWM輸出值
JOB_ID:=MW5 //作業號
JOB_VAL:=MD7 //寫作業請求值
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 //作業請求
L MW5
L W#16#84
==I
JZ END //作業請求完成
WAIT: A M11.3
JC GG
JU WAIT //等待新作業允許
GG: L MW5
L 0
==I
JZ SS1 //更改作業號為 W#16#01
L MW5
L W#16#01
==I
JZ SS2 //更改作業號為 W#16#04
L MW5
L W#16#04
==I
JZ SS4 //更改作業號為 W#16#81
L MW5
L W#16#81
==I
JZ SS4 //更改作業號為 W#16#84
L MW5
L W#16#84
==I
JZ END //作業完成
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
祝你快樂!