签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
公司要求做一台类似于数控机床的设备,大部分功能我都能实现,但是有一点暂时没有很好的解决办法,希望有大神可以赐教:
既然是仿数控机床,那么就会用到手轮(脉冲发生器),除了可以用手轮选择是哪一轴以外,还可以选择倍率,更重要的是,要确保输出的实时性 -- 也就是手轮摇一格,工具就要移动相应的距离,手轮一直摇就要一直移动~~~~~~
那么问题来了,如何实现既能实时读取手轮的脉冲计数,又能将计数值给到伺服系统作为输出呢?
(这里说的实时也可以说是低延时)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1706223&b_id=64&s_id=0&num=8
我做到了。。。答案是中断~~~此处省略一万字
分享下怎么做到的,思路中断了呢。
手轮只管给伺服发脉冲,和plc无关。用伺服驱动器上的脉冲输出AB相接入到200smart高速计数器读取伺服当前值。
好家伙。两个小时就做出来了。我要十几天才做出来。
能交换一下程序看看吗?
07年就做出来了,不过用的不是中断,也不需要用中断,你再想想
拿来看看嘛
好久没上论坛了,没看到你叫我发程序,抱歉啊。
先在手轮激活的时候做个延时,为了安全嘛
LD Y手轮启用:M8.2
LPS
MOVW +0, 回零标志:VW500
AENO
TON T249, +2
LRD
A X1:M8.4
TON T248, +2
A X10:M8.5
TON T247, +2
LPP
A X100:M8.6
TON T246, +2
计数器清零,同时触发一次回零(这里因为工艺不同所以可以直接把坐标设成0)
AN T249
LD X1:M8.4
AN T248
OLD
LD X10:M8.5
AN T247
LD X100:M8.6
AN T246
CALL 手轮计数器清零:SBR36
缓存当前坐标
MOVR Y_POS:VD7010, VD1100
处理各种倍率的分辨率
LD Always_On:SM0.0
MOVD HC0, #L0:LD0
DTR #L0:LD0, #L1:LD4
A T248
MOVR 0.001, VD1104
*R #L1:LD4, VD1104
A T247
MOVR 0.01, VD1104
A T246
MOVR 0.1, VD1104
触发绝对定位
LD T248
O T247
O T246
ALD
TON T245, +1
A T245
MOVB 0, Y_MODE:VB7005
MOVR VD1100, Y_SET_POS:VD7018
+R VD1104, Y_SET_POS:VD7018
MOVR 50.0, Y_SET_SPEED:VD7022
= Y手轮激活:M9.0
感谢分享,下载看看
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录