签到有奖
消息提醒
运维工程师专区
官方商城
点击复制链接
关注该帖后,有多人参加探讨会对您通知与提示!
帖子
精华
被关注
论坛等级:新手
注册时间:2014-08-01
普通 如何晋级?
469
0
2014-12-03 14:02:06
s7-200 高速计数器HC0 输入端I0.0 高电平有效,模式脉冲SBR_0TITLE=子程序注释//执行子程序进行自由口和高速计数器的初始化Network 1 // 网络标题// 自由口的初始化LD SM0.0MOVB 16#09, SMB30Network 2 // 数据块初始化LD SM0.0MOVB 16#1, VB100 //发送的内容字符"1"MOVB 16#31, VB101Network 3 // 高速计数器初始化LD SM0.0MOVB 16#F8, SMB37 //针对0计数器的控制字节HDEF 0, 1 //第0个计数器, 模式1脉冲方式MOVD 0, SMD38 //高速计数器的当前值和设定值MOVD 1, SMD42ATCH INT0, 12 //申请中断指令 12事件为HSC0 CV=PV(当前值=预设值)ENI //允许中断指令HSC 0INT_0LD SM0.0A SM4.5 //通讯端口闲置时为1XMT VB100, 0MOVD 0, SMD38 //高速计数器的当前值和设定值MOVD 1, SMD42HSC 0 //使高速计数器0有效= Q0.4我发现用手去闭合输入端,一次输出不止一个"1",脉冲不是从低到高的一瞬间吗?还有闭合几次程序就无输出了,我在中断程序里边重新赋值当前值和设定值的,请高手解答下,谢谢!
提问者:kkkkkkkkkk00
你的高速计数器预设值怎么设置为1(SMD42),和当前值怎么是0。一次人工触发高速输入口,实际上在连接过程中高速计数器已经接受到几个脉冲了。参考高速计数器初始化程序:LD SM0.1MOVB 16#FC, SMB37HDEF 0, 9MOVD VD100, SMD38MOVD 16#FFFFFFFF, SMD42ATCH 长度到达:INT1, 12ENIHSC 0
剩余80%未阅读, 请登录阅读
请填写推广理由:
AI 小西智伴登场,7×24 小时权威支援,让技术支持告别等待!
助你技有所长,论有所获
首次发帖探讨工控技术话题 立获新人礼包,100中奖哦! (包含周边、书籍、兑奖西币)
共有33257条技术帖
恭喜,你发布的帖子
快扫描右侧二维码晒一晒吧!
再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!
分享
只看 楼主
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!