请教PLC输出的问题 点击:371 | 回复:15



xiongkw

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 99回
  • 年度积分:0
  • 历史总积分:405
  • 注册:2008年10月25日
发表于:2013-08-28 22:14:41
楼主

是这样,我的数据寄存器D1,如果D1=7,也就是按位是111,那么我就输出Y3Y2Y1;

                                                     如果D1=6,也就是按位是110,那么我就输出Y3,Y2;

                                                    如果D1=5,也就是按位是101,那么我就输出Y3Y1;

依次类推!我应该用什么指令实现呢?



楼主最近还看过



莫其麟

  • 精华:14帖
  • 求助:0帖
  • 帖子:120帖 | 5688回
  • 年度积分:0
  • 历史总积分:29157
  • 注册:2004年2月27日
发表于:2013-08-29 05:25:02
1楼

可试一下传送指令MOV是否可以。

阿水--王者之师

  • 精华:24帖
  • 求助:348帖
  • 帖子:1616帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2013-08-29 07:07:24
2楼

 如果D1=7,也就是按位是111,那么我就输出Y3Y2Y1;没有 Y0 ?


三菱 的不会,SIEMENS 的好像可以MOVE ,也就是 DBWX 的数据位输出

--领域

  • 精华:8帖
  • 求助:80帖
  • 帖子:481帖 | 3926回
  • 年度积分:915
  • 历史总积分:140763
  • 注册:2008年2月29日
发表于:2013-08-29 07:34:45
3楼

使用传送指令,将D区数据转为二进制码,传送给YB存储区

#天涯-工控人生军团

  • 精华:0帖
  • 求助:3帖
  • 帖子:100帖 | 2953回
  • 年度积分:0
  • 历史总积分:8816
  • 注册:2005年3月02日
发表于:2013-08-29 07:40:49
4楼

对三菱的指令不熟。 

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-08-29 08:20:32
5楼

最好是用 或指令 D10数据或到对应输出口(Y10),这样可确保输出口的 Y4、Y5等的各个输出位状态不受影响。

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-08-29 08:20:44
6楼

最好是用 或指令 D10数据或到对应输出口(Y10),这样可确保输出口的 Y4、Y5等的各个输出位状态不受影响。

xiongkw

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 99回
  • 年度积分:0
  • 历史总积分:405
  • 注册:2008年10月25日
发表于:2013-08-29 08:31:58
7楼

谢谢各位 有点眉目,具体怎么实现?

爱笑的一鸣惊人

  • 精华:0帖
  • 求助:8帖
  • 帖子:20帖 | 42回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年8月18日
发表于:2013-08-29 08:36:48
8楼

用mov 指令就可以,例如第一个mov d1 k1 y1 ,当然y4也可以同时控制

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 5回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2004年11月16日
发表于:2013-08-29 08:40:35
9楼

也可用MOV指令先送到中间存储区(M或V),然后再输出。

我习惯于将手动、自动程序分开做,结果输出到中间存储区;在输出程序段再将手动、自动结果合并。

xiongkw

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 99回
  • 年度积分:0
  • 历史总积分:405
  • 注册:2008年10月25日
发表于:2013-08-29 08:50:02
10楼

谢谢,各位,已经搞定

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2013-08-29 09:37:30
11楼

直接

LD M8000

MOV D1 K4Y001

END

就行

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-08-29 09:56:57
12楼

如果只希望控制Y123的话。上面程序都是错的。有的plc不可以接受非0和4结尾的Y地址。是三菱的,我忘记是哪个系列的了。

不知道到楼主是否需要变更程序要求。如果只对3个位的话,还要用异或指令屏蔽一个位。如果plc不可接受非0和4结尾的地址,还要在异或之前移一下位。

 

银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2013-08-29 10:21:01
13楼

这个可以用所有可能性进行输出处理;

xiongkw

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 99回
  • 年度积分:0
  • 历史总积分:405
  • 注册:2008年10月25日
发表于:2013-08-30 11:41:36
14楼

还有这么多朋友顶贴帮助,谢谢各位了,搞定了

xinhauto

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 73回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2012年11月08日
发表于:2013-09-01 10:56:17
15楼

怎么搞定的,贴出来.让大家分享。


热门招聘
相关主题

官方公众号

智造工程师