yhxing66
向各位高手致敬
级别: 略有小成
精华主题: 0
发帖数量: 63 个
工控威望: 272 点
下载积分: 492 分
在线时间: 105(小时)
注册时间: 2009-05-09
最后登录: 2023-09-03
查看yhxing66的 主题 / 回贴
楼主  发表于: 2009-07-19 22:03
各位高手,最近在做工程时客户要求使用欧姆龙CP1HPLC,由于初次使用欧姆龙,在编程过程中有段程序不知应该怎么写,请指教:使用间接寻址方式。例如PRV指令读出的值存放在D100,D200作为间接寻址的地址,行程开关动作一次D200自加1,一直加到10。这样就可以把PRV读出的值一秒一次存储到D0~D10的通道中。】能否把这几句程序举例应该怎样写,谢谢了!
竹风凉
巧者劳,智者忧,无能者,无所求。蔬食者遨游,泛若不系之舟。
级别: 家园常客
精华主题: 0
发帖数量: 470 个
工控威望: 588 点
下载积分: 516 分
在线时间: 146(小时)
注册时间: 2008-10-16
最后登录: 2022-08-24
查看竹风凉的 主题 / 回贴
1楼  发表于: 2009-07-20 05:32
D200=1-------PRV   D100   D0
D200=2-------PRV   D100   D1
其他类推
大概是这么个意思,不知道你能不能看懂,
我没学过欧姆龙的,3菱的是这样格式,指令可能不同,
将D200=N看做一个开关,但传送指令需要使用脉冲式。D200=1时第一行有效,把D100传送到D0,=2时第二行有效,等等
自己的理解,没学过欧姆龙的,见笑
祸兮福所倚
福兮祸所伏
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6746 个
工控威望: 37101 点
下载积分: 9958 分
在线时间: 9414(小时)
注册时间: 2006-09-13
最后登录: 2024-06-09
查看cvlsam的 主题 / 回贴
2楼  发表于: 2009-07-20 10:47
LD P_First_Cycle
MOV(021) #0 D200
LD P_1s
@++(590) D100
@MOV(021) D100 *D200
@++B(594) D200
AND>(320) D200 #10
@MOV(021) #0 D200
@MOV(021) #0 D100

以上程序大致完成的功能是将D100的数值送入D0~D10
对于欧姆龙来说,其间接寻址可以对位进行。
它大致可以分为DM间接寻址和寄存器间接寻址。
DM间接寻址只能对DM区域进行寻址,其基本可以分为2种模式,二进制与BCD码,上述例子中使用BCD码。
如果使用IR索引寄存器的话,你可以对任何区域进行寻址。

以上
hanqin
级别: 论坛先锋
精华主题: 0
发帖数量: 1237 个
工控威望: 1226 点
下载积分: 2922 分
在线时间: 925(小时)
注册时间: 2009-01-09
最后登录: 2023-10-27
查看hanqin的 主题 / 回贴
3楼  发表于: 2009-07-20 11:32
我试了一下,请指正!
附件: 新PLC1-新程序1-段1.rar (8 K) 下载次数:143
网站提示: 请不要用迅雷下载附件,容易出错
yhxing66
向各位高手致敬
级别: 略有小成
精华主题: 0
发帖数量: 63 个
工控威望: 272 点
下载积分: 492 分
在线时间: 105(小时)
注册时间: 2009-05-09
最后登录: 2023-09-03
查看yhxing66的 主题 / 回贴
4楼  发表于: 2009-08-09 19:02
谢谢以上老师的指导