300的SFB49怎么用?????PWM發(fā)不出脈沖!
我的脈沖頻率100HZ,占空比在0~100%要可調(diào),CPU是313C-2DP,研究了好久也沒頭緒,不知道SFB49這么設(shè)置,時間基準及脈沖周期這么設(shè),如何改變占空比,請多多指教。
答:使用SFB 49 "PULSE"控制脈寬調(diào)制描述——
要通過用戶程序控制脈寬調(diào)制,請使用SFB ANALOG (SFB 49)。
可以使用下列操作:
?通過軟件門SW_EN開始/結(jié)束
?使能/控制輸出DO
?檢索狀態(tài)位STS_EN、STS_STRT和STS_DO
?輸入輸出值
?讀/寫寄存器的作業(yè)
參數(shù)
參數(shù) 聲明 數(shù)據(jù)類型 地址(實例DB) 取值范圍: 默認 含義
LADDR bbbbb WORD 0 CPU專用 W#16#0300 子模塊的I/O地址,由您在"HW Config"中指定。如果E和A地址不相等,則必須指定二者中較低的一個。
CHANNEL bbbbb INT 2 CPU 312C:
0到1
CPU 313C:
0到2
CPU 314C:
0至3 0 通道號:
SW_EN bbbbb BOOL 4.0 TRUE/FALSE FALSE 用于開始/停止輸出的軟件門
MAN_DO bbbbb BOOL 4.1 TRUE/FALSE FALSE 手動輸出控制使能
SET_DO bbbbb BOOL 4.2 TRUE/FALSE FALSE 控制輸出
OUTP_VAL bbbbb INT 6.0 單位ppm:
0 - 1,000S7模擬值:
0 - 27,648 0 默認輸出值 如果輸入的輸出值 > 1 000或27648,CPU會將其限制為1,000或27,648
JOB_REQ bbbbb BOOL 8.0 TRUE/FALSE FALSE 作業(yè)初始化(上升沿)
JOB_ID bbbbb WORD 10 W#16#0000 =
無功能作業(yè)W#16#0001 = 寫周期W#16#0001 = 寫延時W#16#0004 = 寫最小脈沖周期W#16#0081 = 讀周期W#16#0081 = 讀延時W#16#0084 = 讀最小脈沖周期 W#16#0000 作業(yè)號
JOB_VAL bbbbb DINT 12 -2到-1+2 0 寫作業(yè)的值。
STS_EN OUTPUT BOOL 16.0 TRUE/FALSE FALSE 狀態(tài)使能
STS_STRT OUTPUT BOOL 16.1 TRUE/FALSE FALSE 硬件門的狀態(tài)(開始輸入)
STS_DO OUTPUT BOOL 16.2 TRUE/FALSE FALSE 輸出狀態(tài)
JOB_DONE OUTPUT BOOL 16.3 TRUE/FALSE TRUE 可以啟動新作業(yè)
JOB_ERR OUTPUT BOOL 16.4 TRUE/FALSE FALSE 故障作業(yè)
JOB_STAT OUTPUT WORD 18 W#16#0000至W#16#FFFF W#16#0000 作業(yè)錯誤號










