leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
楼主  发表于: 2015-01-22 23:05
使用PLC子程序编写一个高速脉冲输出程序,要求:脉冲宽度为1ms。可以使用梯形图,或语句表,并对程序进行简单注释。
主程序:LD  SM0.1     //在第一个扫描周期(SM0.1=1)

        CALL    0      //调用子程序0,来起动PWM,即初始化PWM

子程序:SBR 0:LD  SM0. 0   //初始化PWM,首次扫描标志SM0.0=1

           MOVB  16#CB,SMB67   //设置输出端Q0.0的PTO/PWM的控制字节

           SM67.0   0         //不接收新的周期

           SM67.1   0        //不接收新的脉宽
           SM67.3   1        //时基选择为1ms
           SM67.6   1        //选择PWM模式
           SM67.7   1        //允许高速输出
           MOVW   1, SMW 70 //指定初始脉冲宽度为1ms
           MOVW   2, SMW 68  //指定周期为2ms
           PLS0                  //对PWM生成器编程的指令
           RET                  //指程序结束并返回主程序
请大师们赐教!