三菱程序 点击:1156 | 回复:17



jiangxinyang

    
发表于:2012-06-01 14:25:14
楼主
求助帖5分-已结帖
此程序是怎么执行的,X0闭合了,D0 D1怎么不会复位啊


楼主最近还看过



dianqisu

  • 精华:5帖
  • 求助:1帖
  • 帖子:30帖 | 804回
  • 年度积分:0
  • 历史总积分:9139
  • 注册:2008年12月19日
发表于:2012-06-01 15:17:19
1楼

该程序使用了 FOR NEXT 指令, 每个扫描周期都会进行加法运算的,此时D0 的数据会不断进行累加。程序稍微改一下就行了,把FOR NEXT 指令放在子程序当中执行即可。

gk成员

  • 精华:1帖
  • 求助:3帖
  • 帖子:3帖 | 79回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2012年3月30日
发表于:2012-06-01 16:13:09
2楼
引用 dianqisu 的回复内容:该程序使用了 FOR NEXT 指令, 每个扫描周期都会进行加法运算的,此时D0 的数据会不断进行累加。程序稍微改一下就行了,把FOR NEXT 指令放在子程序当中执行即可。



莫其麟

  • 精华:14帖
  • 求助:0帖
  • 帖子:125帖 | 5688回
  • 年度积分:0
  • 历史总积分:29157
  • 注册:2004年2月27日
发表于:2012-06-01 18:19:52
3楼
如1楼所说,每个扫描周期,先复位、再累加,显示的应当是累加结果(最终运算结果)。

lulimingluliming

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 104回
  • 年度积分:0
  • 历史总积分:452
  • 注册:2011年8月12日
发表于:2012-06-01 18:28:50
4楼
引用 dianqisu 的回复内容:该程序使用了 FOR NEXT 指令, 每个扫描周期都会进行加法运算的,此时D0 的数据会不断进行累加。程序稍微改一下就行了,把FOR NEXT 指令放在子程序当中执行即可。



阿水--王者之师

  • 精华:31帖
  • 求助:399帖
  • 帖子:1801帖 | 22295回
  • 年度积分:2
  • 历史总积分:98539
  • 注册:2007年3月22日
发表于:2012-06-01 20:53:20
5楼
    你把 NEXT 指令删除再试试看结果是什么?

付仁礼

  • 精华:1帖
  • 求助:5帖
  • 帖子:10帖 | 45回
  • 年度积分:0
  • 历史总积分:237
  • 注册:2012年2月28日
发表于:2012-06-01 23:04:42
6楼
每个扫描周期,先复位、再累加,显示的应当是累加结果(最终运算结果)。

沂蒙人家

  • 精华:0帖
  • 求助:1帖
  • 帖子:11帖 | 107回
  • 年度积分:0
  • 历史总积分:671
  • 注册:2010年10月23日
发表于:2012-06-02 07:41:13
7楼
先执行复位指令,再执行循环指令,可以做成子程序,在主程序中调用

zwm00306

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 1541回
  • 年度积分:0
  • 历史总积分:5963
  • 注册:2001年10月22日
发表于:2012-06-02 07:59:57
8楼
先后的问题啊,。。。。。。。。

ljbcompany

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 1289回
  • 年度积分:0
  • 历史总积分:5847
  • 注册:2011年4月24日
发表于:2012-06-02 10:43:28
9楼
当X0闭合时,最终执行的是后面的ADD指令;你要把两段的程序的时序区分开来,避免它们同步运行!

jiangxinyang

  • 精华:0帖
  • 求助:12帖
  • 帖子:14帖 | 21回
  • 年度积分:0
  • 历史总积分:316
  • 注册:2010年9月30日
发表于:2012-06-04 22:14:28
10楼
上面的X0如果去掉的话,程序会一直执行的,这是为什么呢?

jiangxinyang

  • 精华:0帖
  • 求助:12帖
  • 帖子:14帖 | 21回
  • 年度积分:0
  • 历史总积分:316
  • 注册:2010年9月30日
发表于:2012-06-04 22:28:53
11楼
那这个程序又怎么解释呢

莫其麟

  • 精华:14帖
  • 求助:0帖
  • 帖子:125帖 | 5688回
  • 年度积分:0
  • 历史总积分:29157
  • 注册:2004年2月27日
发表于:2012-06-05 19:38:03
12楼
引用 jiangxinyang 的回复内容:上面的X0如果去掉的话,程序会一直执行的,这是为什么呢?

每个扫描周期没有复位的话,数据就会累计。

莫其麟

  • 精华:14帖
  • 求助:0帖
  • 帖子:125帖 | 5688回
  • 年度积分:0
  • 历史总积分:29157
  • 注册:2004年2月27日
发表于:2012-06-05 19:41:09
13楼
引用 jiangxinyang 的回复内容:那这个程序又怎么解释呢

这个复位有效,没有计数;那个是执行循环指令时,计数了(每个扫描周期计数多次)。

索泰克

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 388回
  • 年度积分:0
  • 历史总积分:1041
  • 注册:2007年7月09日
发表于:2012-06-08 07:53:55
14楼
我认为如果你把X0开头的ZRST的那几步程序放到FOR-NEXT的程序后面应该就是可以的,PLC是顺序执行的,前面复位了,到后面又进入FOR-NEXT,就等于没复位一样了。

莫其麟

  • 精华:14帖
  • 求助:0帖
  • 帖子:125帖 | 5688回
  • 年度积分:0
  • 历史总积分:29157
  • 注册:2004年2月27日
发表于:2012-06-09 07:21:17
15楼
这个程序的目的,是为了得到D0内的结果;
复位指令的目的,是为了得到预期的结果。

xiaojun1860

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2013年5月29日
发表于:2013-06-11 10:45:19
16楼

编程指令用不好啊,加1指令不能这么用的,处理错乱了,当然复位不了

zzkzzk12345678

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2013年11月23日
发表于:2013-11-23 16:48:03
17楼

每个扫描周期,先复位、再累加

SSI ļʱ