高速计数器与脉冲输出程序供需要者参考.功能每安一次自动走固定距离,固定距离可调.

已锁定

老实和尚

  • 帖子

    14
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2007-01-08

普通 普通 如何晋级?

高速计数器与脉冲输出程序供需要者参考.功能每安一次自动走固定距离,固定距离可调.

1165

4

2007-01-10 12:07:29

设计本意:用高速计数器控制步进电机的定位.现为调试所用.
程序如下:
LD M10.0 //触摸屏上设置为手动
O M10.2//设置为自动
EU
R Q0.0,1 //个人认为没用,但依葫芦画瓢,用上
MOVB 16#85,SMB 67
MOVD +1000000,VD26
/D VD10,VD26 //VD10设置为输入频率,VD26中间值.
DTI VD26,VW18
MOVW VW18,SMW68 //周期
MOVD 999999999,SMD72//脉冲个数
PLS 0 //输出脉冲0
LDN M10.0
AN M10.2
R SM67.7,1
PLS 0 // 停止脉冲
LDN M10.1// 反向开关
=Q 0.2// 方向信号
LD M10.0
O M10.2
EU
LPS
MOVB 16#F8,SMB37
HDEF 0,3 //设置HSC0的工作模式为外部方向计数.I0.0接Q0.0,I0.1接Q0.2
MOVD 0,SMD38
MOVD VD14,SMD42//VD42触摸屏上设置为输出脉冲数
A M10.0
MOVD 999999999,SMD42//手动模式计数用
LRD
ATCH INT_O,12
LRD
ENI
LPP
HSC0
LD SM0.0
MOVD HCO,VD22//VD22显示输出脉冲数
LD M10.3 //M10.3存贮脉冲数
MOVD HCO,VD14//
中断程序
LD SM0.0
R SM67.7,1
R M10.2,1 /自动定位时到达计数脉冲后自动停止
PLS 0
下载到PLC后与想象不一样,不进入中断,
操作:先置M10.0为1,输出脉冲,可以计数,复位M10.0,置M10.3为1,存贮脉冲计数
再手动将位置移开,再置M10.2为1,本来原意是达到预设脉冲数后即停止动作!如要其自动回位,则需要将HSC0的值在启动计数时给与SMD38.结果到达计数脉冲值后脉冲未停止发送.原因应该是未能进入中断程序.
调试发现如果置M10.2为1,当M10.2手动复位时脉冲输出大于脉冲预定值,则复位后,脉冲输出立即停止,再次将M10.2置1,则M10.2立即自动复位,既立即进入中断,导致启动失败.第3次将M10.2置1则重复以上动作.当M10.2手动复位时脉冲输出数目小于预定脉冲数目则,无上现象,但M10.2只能手动启动,停止,未能自动停止.
原因不明.望各为朋友指点.
恳请高手解答原因!

高速计数器与脉冲输出程序供需要者参考.功能每安一次自动走固定距离,固定距离可调. 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33294条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。