三菱PLC的疑惑!!! 点击:1518 | 回复:12



伊夜青

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:29帖 | 159回
  • 年度积分:0
  • 历史总积分:620
  • 注册:2005年11月15日
发表于:2006-04-23 16:41:00
楼主
  本人看到一个三菱PLC指令的应用.是有16个指示灯接K4Y0的输出端,要求有时有些灯亮,有些灯灭.又有时灯全开,有时全关,语句表如下:
   LD  M8000
   MOV K4Y0 K4M0
   LD  X0
   WOR(P) K31709 K4M0 K4Y0   (开灯)
   LD  X1
   WXOR(P) K33826 K4M0 K4Y0  (灭灯)
  请教以上指令能实现吗?原理是怎样的?



伊夜青

  • 精华:0帖
  • 求助:1帖
  • 帖子:29帖 | 159回
  • 年度积分:0
  • 历史总积分:620
  • 注册:2005年11月15日
发表于:2006-04-23 17:00:00
1楼
  第一步 将K4Y0的零状态传送到K4M0.
  第二步 X0从OFF-ON变化时将31709的二进制和K4M0或运算,Y0,Y2,Y3,Y4,Y6,Y7,Y10,Y11,Y13,Y14,Y15,Y16状态为1.
  第三步 将K33826与K31709进行或异运算只能将灯全开.

mengyoutfl

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 306回
  • 年度积分:88
  • 历史总积分:557
  • 注册:2004年12月31日
发表于:2006-04-23 20:14:00
2楼
    WXOR(P) K33826 K4M0 K4Y0  有误!

伊夜青

  • 精华:0帖
  • 求助:1帖
  • 帖子:29帖 | 159回
  • 年度积分:0
  • 历史总积分:620
  • 注册:2005年11月15日
发表于:2006-04-24 19:54:00
3楼
  TO  mengyoutfl:  谢谢你,以下观点请指正.
  我认为也是有误,WXOR运算是S1,S2不同,D为1,否则为0, WAND运算是S1,S2均为1,D为1,否则为0.
  第三步要想灭灯应该用与运算指令
  即: WAND  K33826 K4M0 K4Y0

莫其麟

  • 精华:14帖
  • 求助:0帖
  • 帖子:120帖 | 5688回
  • 年度积分:0
  • 历史总积分:29157
  • 注册:2004年2月27日
发表于:2006-04-26 07:50:00
4楼
33826>32767

好人一个啊!!

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 16回
  • 年度积分:0
  • 历史总积分:35
  • 注册:2006年1月25日
发表于:2006-04-26 09:13:00
5楼
是的,上面有问题,不过原理解释的对,只是程序有问题!!!

N95

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 231回
  • 年度积分:0
  • 历史总积分:290
  • 注册:2006年4月11日
发表于:2006-05-01 05:26:00
6楼
楼主,你好,我是新手,刚刚学习这方面的东西,你能解释一下"X0从OFF-ON变化时将31709的二进制和K4M0或运算,Y0,Y2,Y3,Y4,Y6,Y7,Y10,Y11,Y13,Y14,Y15,Y16状态为1}和"将K33826与K31709进行或异运算只能将灯全开:这些是怎么算的吗???
最好说的详细些!!!!!谢谢!!!!

聚沙成塔

  • 精华:0帖
  • 求助:1帖
  • 帖子:85帖 | 654回
  • 年度积分:0
  • 历史总积分:1083
  • 注册:2006年4月15日
发表于:2006-05-01 16:56:00
7楼
以上的解答不够详细:
一.在X0与X1都OFF时,灯全灭
二.在X0闭和的第一个扫描周期,M0--M15状态为0,31709转化为二进制是111101111011101所以(Y0.Y2.Y3.Y4.Y6.Y7.Y8.Y9.Y11.Y12.Y13.Y14)状态为1,在X1闭和之前,保持这种状态.
当X1闭和后,在第一个扫描周期结束时,Y0--Y15全亮,当第二个扫描周期时,
M0--M15的状态为1111111111111111,程序在第四句时,Y0--Y15状态全为1.在第六句时,33826的二进制为1000010000100010,所以又出现上面()中的状态为1,在X0与X1不变的情况下,灯在全亮与()中的状态之间变化.
三.当X0不闭和,而X1先闭和的情况下,第一扫描周期结束后,[Y1.Y5.Y10.Y15]状态为一,第二周期结束后,灯全灭,第三周期[]状态,第四周期全灭****,在X0闭和之前,不断循环.
当X0闭和后,又在全亮与()中的状态之间切换.
不一定是最详细的,但已尽力,呵呵.

伊夜青

  • 精华:0帖
  • 求助:1帖
  • 帖子:29帖 | 159回
  • 年度积分:0
  • 历史总积分:620
  • 注册:2005年11月15日
发表于:2006-05-01 17:52:00
8楼
[b]谢谢大家.

N95

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 231回
  • 年度积分:0
  • 历史总积分:290
  • 注册:2006年4月11日
发表于:2006-05-01 22:40:00
9楼
真的非常感谢聚沙成塔,让我明白了这段程序的意思!!!

N95

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 231回
  • 年度积分:0
  • 历史总积分:290
  • 注册:2006年4月11日
发表于:2006-05-01 23:00:00
10楼
聚沙成塔你好:我想问一下WOR和WXOR有什么区别,是不是WOR是有1出1全0才出0而WXOR是相同出0不相同就出1啊??它们是针对每一位数的吗?还有"当X1闭和后,在第一个扫描周期结束时,Y0--Y15全亮,"为什么会全亮呢?1000010000100010和K4M0进行WXOR运算时就等于1111111111111111吗?

聚沙成塔

  • 精华:0帖
  • 求助:1帖
  • 帖子:85帖 | 654回
  • 年度积分:0
  • 历史总积分:1083
  • 注册:2006年4月15日
发表于:2006-05-02 15:19:00
11楼
答楼上,你说的或运算与异或运算是对的,
在X1闭和前,M0--M15的值是111101111011101,X1闭和后与1000010000100010进行异或运算所以出的是1111111111111111

伊夜青

  • 精华:0帖
  • 求助:1帖
  • 帖子:29帖 | 159回
  • 年度积分:0
  • 历史总积分:620
  • 注册:2005年11月15日
发表于:2006-05-02 15:56:00
12楼
   谢谢大家,我也是刚开始学习PLC,希望认识一些朋友,共同学习交流,实际上学习PLC没有那么复杂,只是一个机器,机器只知道开或关,那就是数字量1,0.
   本人QQ:576864343, 白衣似雪.

热门招聘
相关主题

官方公众号

智造工程师