15
子程序 高速计数器
子程序 中断程序
16
17
附录Ⅱ 程序语句表
主程序:
Network 1 Q0.1接步进驱动器方向脉冲,初始化置位Q0.1,步进正传 LD SM0.1 S Q0.1, 1
Network 2 调用高速脉冲输出,同时M0.0作为第一次正传脉冲输出结束后使能反转脉冲输出 LD SM0.1 O M0.0 CALL SBR0 R Q0.0, 1 EU
R M0.0, 1
Network 3 调用高数计数 LD SM0.1 CALL SBR1
子程序高速脉冲输出:
Network 1 这是西门子PLC中高速PTO脉冲输出3段输出的格式字,3是指三段(加速段,匀速段,减速段),Q0.0是脉冲输出点,接驱动器脉冲信号端 LD SM0.0 MOVB 3, VB500 MOVW 100, VW501 MOVW -2, VW503 MOVD 100, VD505 MOVW 100, VW509 MOVW 0, VW511 MOVD 1300, VD513 MOVW 100, VW517 MOVW 2, VW519 MOVD 100, VD521
Network 2 这是执行PTO高速输出指令,同时在输出结束进入中断 LD SM0.0
MOVB 2#10100000, SMB67 MOVW 500, SMW168
18
ATCH INT0, 19 ENI PLS 0
子程序高速计数:
Network 1 这是西门子高速计数器格式,采用HSC0计数器9号模式(AB相正交,A接I0.0,B接I0.1) LD SM0.1 MOVB 16#F8, SMB37 HDEF 0, 9 MOVD 0, SMD38 MOVD 99999999, SMD42 HSC 0
中断程序:
Network 1 在正传脉冲输出结束后复位Q0.1,反转,同时置位M0.0,在主程序中再次调用脉冲输出,实现反转运行 LD SM0.0 LPS A Q0.1 S M0.0, 1 LPP
R Q0.1, 1 Network 2
// 正传脉冲输出结束后,高速计数器清零,为反转脉冲计值做初始化 LD SM0.0 MOVD 0, SMD38 MOVB 16#C0, SMB37 HSC 0
19
20