张诺言
级别: 略有小成
精华主题: 0
发帖数量: 129 个
工控威望: 250 点
下载积分: 672 分
在线时间: 218(小时)
注册时间: 2008-12-24
最后登录: 2024-10-13
查看张诺言的 主题 / 回贴
楼主  发表于: 2009-08-11 07:55
家园的朋友,大家好!我是一个新手,一个初学者,有许多的问题需要朋友们无私的帮助,在这儿没有什么直接的表示,只能发自肺腑的说声:谢谢!
最近公司要改造一台淬火机床,我用欧姆龙CPM2A-40CDR编了一个小程序,机床的机械部分还没有改装到位,自己编的程序模拟了一下,不是很放
心,所以我把程序传上来请各位师傅们帮我鉴定一下有没有错误,程序中自动3,4用到了INC指令是否合理,还有MOV,CPM指令程序有错误吗?再一
个请求:还有其他的指令能简化一下我的程序吗?特别是自动3与自动4的程序,就说这些吧,敬候各位师傅的回音及建议,谢谢。
附件: 淬火机床.rar (11 K) 下载次数:51
网站提示: 请不要用迅雷下载附件,容易出错
hlq_0815
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。
级别: 论坛版主

精华主题: 2 篇
发帖数量: 1850 个
工控威望: 4498 点
下载积分: 7598 分
在线时间: 1353(小时)
注册时间: 2008-07-03
最后登录: 2024-12-27
查看hlq_0815的 主题 / 回贴
1楼  发表于: 2009-08-12 10:55
       不知道你机器的工艺,很难指出动作的......
在编程方面除了1楼提出的之外再提两点:
1、“运行”条件的断开应加点延时,可以预防机械震动或开关瞬时接触不良而误停机(还找不到原因);
2、*层与*次的比较可以用表比较TCMP(85),一个指令代替所有层、一个指令代替所有次,简洁方便。
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。
hlq_0815
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。
级别: 论坛版主

精华主题: 2 篇
发帖数量: 1850 个
工控威望: 4498 点
下载积分: 7598 分
在线时间: 1353(小时)
注册时间: 2008-07-03
最后登录: 2024-12-27
查看hlq_0815的 主题 / 回贴
2楼  发表于: 2009-08-13 20:13
用数字传送–MOVD(83)可以办得到。



奉LZ不要再折腾那些复杂又烦锁的程序了,下面这程序就可以满足你24条和50条的所有程序:


这样的话你原程序的DIFU 214.00和DIFU 211.00 要改用别的地址,214.00~214.15和211.00~211.15已被两TCMP(85)占用;
递增指令暂存改为DM0和DM20;
将D1~D16(D21~D36)分别赋值0~15,当D0=0时214.00置位,以此类推当D0=15时214.15置位。D20与211.00~211.15亦同理。
[ 此帖被hlq_0815在2009-08-13 20:57重新编辑 ]
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。