工控之家

 找回密码
加入工控之家

敬请各位朋友帮我看一下程序(CPM2A)

[复制链接]
发表于 2012-7-10 11:52:52 | 显示全部楼层 |阅读模式
家园的朋友,大家好!我是一个新手,一个初学者,有许多的问题需要朋友们无私的帮助,在这儿没有什么直接的表示,只能发自肺腑的说声:谢谢!
最近公司要改造一台淬火机床,我用欧姆龙CPM2A-40CDR编了一个小程序,机床的机械部分还没有改装到位,自己编的程序模拟了一下,不是很放
心,所以我把程序传上来请各位师傅们帮我鉴定一下有没有错误,程序中自动3,4用到了INC指令是否合理,还有MOV,CPM指令程序有错误吗?再一
个请求:还有其他的指令能简化一下我的程序吗?特别是自动3与自动4的程序,就说这些吧,敬候各位师傅的回音及建议,谢谢。
发表于 2012-7-10 13:11:02 | 显示全部楼层
  
请问 1.用了DIFU214.00/211.00后,为什么还要@INC指令?
     2.CMP指令也可以与常数比较,可以省去MOV的步骤。
  以上为个人看法~
发表于 2012-7-10 14:29:13 | 显示全部楼层
谢谢1楼朋友的指点,用了DIFU214.00,211.00就没必要用@INC,应该写INC是吗?当时我对指令不是很熟悉,害怕检测到的信号误动作,觉得那样保险,哈哈...
CMP指令中直接与数字比较是刚刚跟您学的,再次的感谢1楼的朋友!
发表于 2012-7-10 15:47:23 | 显示全部楼层
       不知道你机器的工艺,很难指出动作的......
在编程方面除了1楼提出的之外再提两点:
1、“运行”条件的断开应加点延时,可以预防机械震动或开关瞬时接触不良而误停机(还找不到原因);
2、*层与*次的比较可以用表比较TCMP(85),一个指令代替所有层、一个指令代替所有次,简洁方便。
发表于 2012-7-10 17:05:33 | 显示全部楼层
谢谢3楼的朋友,虽然我有点不明白TCMP指令的用法,但是我会去查资料好好学习一下,在这儿我很想请教各位师傅们一些这方面的一些疑惑,只因为自己水平太低,有问题却提不出问题,很明显自己的基础不行,还需再用功学习了。感谢家园为我们初学者提供了如此好的场地和机会,谢谢大家...
发表于 2012-7-10 18:23:43 | 显示全部楼层
图片:
贴还没有被删除之前,再占用各位师傅们点时间请教一下,发个贴图,图里面的MOV #1 DM2;CMP DM1 DM2;AND 255.06  OUT 214.01;  能不能改成:MOV #1 214; 因为#1
能写为:0010,当#1传到214这个通道号时,那么通道里的214.01为1就变为ON了...这样说对吗?如果能行是不是简短了扫描时间呢?扫描时间的太长时,在工程实际运行
中有停滞现象吗?谢谢
发表于 2012-7-10 19:41:53 | 显示全部楼层
用数字传送–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重新编辑 ]
发表于 2012-7-10 21:00:03 | 显示全部楼层
谢谢楼上的朋友的指点,向你致敬
您需要登录后才可以回帖 登录 | 加入工控之家

本版积分规则

QQ|手机版|小黑屋|Archiver|工控之家 ( 鲁ICP备12015736号-1 )

GMT+8, 2024-9-28 00:18 , Processed in 0.260834 second(s), 44 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表