发表于:2018/4/19 19:38:26
#0楼
最近在学PLC 刚好朋友有个设备想要改造 于是尝试帮朋友改造下 顺便练练手
控制要求并不难 挺简单 就是用PLC控制两台步进电机定位,一台控制工作台前进后退 另一台控制一个分度头进行角度分度
我做了三个坐标点 一个是零点 这个点是装卸工件的位置
第二个点是刀具接近点 即接近工件的位置
第三个是切削完成点,就是完全切削完成的点
动作方式就是 工作台从零点快速移动到刀具接近点,然后慢速切削前进到切削完成的位置,之后快速退回到接近点 另一个电机转一个角度,然后再继续慢速前进切削 快速退回 直到到达用户设置的切削次数后 就快速退回到原点
一开始做这个程序倒是不怎么费力 感觉不太复杂 在家里试了也很ok 结果到了现场出现了很多意想不到的问题
这是我原来写的程序
这是我原来做的程序 有点顺控的意思 感觉这样子条例清晰一些 用的8142已发出的脉冲定位
在家里试的还挺好 到现场就出了些状况
启动后 工作台快速到切削点,然后慢速往切削后位置走,结果走到了一半左右 分度头就转了
后来我监视了几次 发现D8142的值会有重复的,比如-20000 从0开始走 走到2/30000就开始往回走
一会就到了-20000 但是这个-20000并不是我之前设置坐标点的-20000,所以电机还在走 但是D8142等于了-20000 所以 电机一边走 下一步的分度头就开始转动了
之后我把D8142比较的程序段 都改成了M8029
这个问题倒是解决了 但是我有些困惑 D8142不是32位的吗 应该能到2亿多吧 为什么会出现这种现象呢
大家在用步进定位的时候 都是用什么来确定执行完毕的呢 我这种编程方式对吗
控制要求并不难 挺简单 就是用PLC控制两台步进电机定位,一台控制工作台前进后退 另一台控制一个分度头进行角度分度
我做了三个坐标点 一个是零点 这个点是装卸工件的位置
第二个点是刀具接近点 即接近工件的位置
第三个是切削完成点,就是完全切削完成的点
动作方式就是 工作台从零点快速移动到刀具接近点,然后慢速切削前进到切削完成的位置,之后快速退回到接近点 另一个电机转一个角度,然后再继续慢速前进切削 快速退回 直到到达用户设置的切削次数后 就快速退回到原点
一开始做这个程序倒是不怎么费力 感觉不太复杂 在家里试了也很ok 结果到了现场出现了很多意想不到的问题
这是我原来写的程序
这是我原来做的程序 有点顺控的意思 感觉这样子条例清晰一些 用的8142已发出的脉冲定位
在家里试的还挺好 到现场就出了些状况
启动后 工作台快速到切削点,然后慢速往切削后位置走,结果走到了一半左右 分度头就转了
后来我监视了几次 发现D8142的值会有重复的,比如-20000 从0开始走 走到2/30000就开始往回走
一会就到了-20000 但是这个-20000并不是我之前设置坐标点的-20000,所以电机还在走 但是D8142等于了-20000 所以 电机一边走 下一步的分度头就开始转动了
之后我把D8142比较的程序段 都改成了M8029
这个问题倒是解决了 但是我有些困惑 D8142不是32位的吗 应该能到2亿多吧 为什么会出现这种现象呢
大家在用步进定位的时候 都是用什么来确定执行完毕的呢 我这种编程方式对吗