请看下面三菱PLC指令是否正确 点击:1108 | 回复:7



LYQ

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 81回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2003年8月13日
发表于:2005-06-09 12:51:00
楼主
请各位看下面程序:设计本意是第一步X10闭合后,高数计数器C235对X0端进行计数;第二步:乘法指令对C235的计数值乘以常数400,然后将结果存放到寄存器D10;第三步是当C235计数值累积到50次时C235常开点闭合,YO输出,计数停止. ——‖——〔C235 K50〕 X10 ——‖——[MUL C235 K400 D10] X10 ——‖——〔Y0〕 C235 但上述程序在运行时却遇到如下问题: 1.C235对XO端可进行计数,但乘法指令对C235计数值无法与常数400相乘,自然D10也得不到结果. 2.在第三步当C235计数值到达50次时,C235常开点闭合,Y0正常输出,但第一步C235仍对X0端进行计数,不会自动停止. 如上问题,请各位高手不吝赐教!谢谢!



keyi科一

  • 精华:3帖
  • 求助:0帖
  • 帖子:16帖 | 1034回
  • 年度积分:0
  • 历史总积分:1197
  • 注册:2005年4月27日
发表于:2005-06-09 13:17:00
1楼
ldp x10 rst c235 ld x10 ani y0 out c235 k50 ldp c235 mul c235 k400 d10 ld c235 out y0 能满足你的要求吗?因为你讲得不是很清楚。

胡言

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 25回
  • 年度积分:0
  • 历史总积分:292
  • 注册:2004年2月05日
发表于:2005-06-09 13:23:00
2楼
你好 请问用M0直接驱动Y000和用PLS M0驱动Y000有什么区别呀 huyanzhu@sina.com

keyi科一

  • 精华:3帖
  • 求助:0帖
  • 帖子:16帖 | 1034回
  • 年度积分:0
  • 历史总积分:1197
  • 注册:2005年4月27日
发表于:2005-06-09 13:28:00
3楼
胡言,你这个问题上次有人问过我,你去我的贴子里看一下就知道了。

LYQ

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 81回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2003年8月13日
发表于:2005-06-09 14:39:00
4楼
keyi科一:谢谢赐教! 我按你的程序试过还是不行啊,主要是C235计数时显示的数据在乘法指令中无法与常数400相乘,如果把C235换成C0的话用乘法指令则可以正常计算。我看书上说可能涉及到16位和32位数据的关系,但仍未弄明白。另外你用的LDP指令是什么意思啊? 下面是我设计的指令表,请帮我分析下: ld x10   out c235 k50   ld x10   mul c235 k400 d10   ld c235   out y0 此程序也许看起来是对的,但运行时却发现乘法指令无法将数字相乘。

keyi科一

  • 精华:3帖
  • 求助:0帖
  • 帖子:16帖 | 1034回
  • 年度积分:0
  • 历史总积分:1197
  • 注册:2005年4月27日
发表于:2005-06-09 16:42:00
5楼
ldp x10   rst c235   ld x10   ani y0   out c235 k50   ldp c235   muld c235 k400 d10   ld c235   out y0 我忘了,C235是32位的计数器,必须用32位乘法指令MULD。

LYQ

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 81回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2003年8月13日
发表于:2005-06-09 17:28:00
6楼
我试过已经OK了,谢谢!但LDP是什么命令啊,请解释一下。

keyi科一

  • 精华:3帖
  • 求助:0帖
  • 帖子:16帖 | 1034回
  • 年度积分:0
  • 历史总积分:1197
  • 注册:2005年4月27日
发表于:2005-06-09 17:39:00
7楼
取上升沿。

热门招聘
相关主题

官方公众号

智造工程师