<?xml version="1.0" encoding="gbk"?>
<rss version="2.0">
<channel>
 <title><![CDATA[关于ST求教]]></title>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967.html]]></link>
 <description><![CDATA[Latest 50 replies of 关于ST求教]]></description>
 <copyright><![CDATA[Copyright(C) 工控人家园]]></copyright>
 <generator><![CDATA[www.ymmfa.com]]></generator>
 <lastBuildDate><![CDATA[Sun, 05 Apr 2026 23:47:28 +0000]]></lastBuildDate>
  <image>
 <url><![CDATA[images/rss.gif]]></url>
 <title><![CDATA[工控人家园]]></title>
 <link><![CDATA[http://www.ymmfa.com]]></link>
 <description><![CDATA[工控人家园]]></description>
  </image>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[学习了。]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1945317.html]]></link>
 <author><![CDATA[source08]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Sat, 30 Dec 2017 00:50:55 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[[quote]引用第19楼咗臉ヅ微笑ぺ于2017-12-27 08:32发表的&nbsp;&nbsp;:

FOR循环本身会把D20加一，循环内容又有D20加一，所以实际上算的是1+3+……+99
[/quote]
明白了！[s:21]]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1945291.html]]></link>
 <author><![CDATA[kylew]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Fri, 29 Dec 2017 14:01:16 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[[quote]引用第18楼kylew于2017-12-26 21:49发表的&#160;&#160;:
MOV (SM402 ,K0,D20);
MOV (SM402 ,K0,D21);
IF SM402 THEN
&#160;&#160;&#160;&#160;FOR D20 :=K0 TO K99&#160;&#160;&#160;&#160;BY K1 DO
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;D20:= D20+K1;
.......
[/quote]
FOR循环本身会把D20加一，循环 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1944299.html]]></link>
 <author><![CDATA[咗臉ヅ微笑ぺ]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Wed, 27 Dec 2017 00:32:03 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[MOV (SM402 ,K0,D20);
MOV (SM402 ,K0,D21);
IF SM402 THEN
&#160;&#160;&#160;&#160;FOR D20 :=K0 TO K99&#160;&#160;&#160;&#160;BY K1 DO
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;D20:= D20+K1;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;D21:= D21+D20;
&#160;&#160;&#160;&#160;END_FOR;
END_IF;
 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1944265.html]]></link>
 <author><![CDATA[kylew]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Tue, 26 Dec 2017 13:49:11 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[三菱结构化编程视频st qq391962180


结构化编程如果你用MOV的话，就算外行了，实话！不要见怪]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1937433.html]]></link>
 <author><![CDATA[v13scl]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Mon, 27 Nov 2017 11:01:37 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[FOR D20 :=K0 TO K99&nbsp;&nbsp;&nbsp;&nbsp;BY K1 DO 本身就是一个扫描周期开始后，D20会被赋值为0，所以每个扫描周期都会执行]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1935273.html]]></link>
 <author><![CDATA[枫落云端]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Fri, 17 Nov 2017 06:18:32 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[FOR D20 :=K0 TO K99&nbsp;&nbsp;&nbsp;&nbsp;BY K1 DO这条程序有将D20附值=0的功能。将=去掉看看，应该不一样]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1935246.html]]></link>
 <author><![CDATA[戆狮]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Fri, 17 Nov 2017 04:36:00 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[@7楼，第一次循环结束，D20=100了，第二个扫描周期，FOR循环都不会执行，应该不会出现你说的那种情况啊！]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1935209.html]]></link>
 <author><![CDATA[f1652577]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Fri, 17 Nov 2017 02:32:20 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[七楼说的是很详细。我也明白了。]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1935041.html]]></link>
 <author><![CDATA[洁白的月光]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 06:34:50 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[刚刚又试验了下，用while语句就没这个毛病。
mov(m8002,k0,d20);
mov(m8002,k0,d21);
while word_to_int(d20)&lt;100 do
d20:=d20+1;
d21:=d20+d21;
end_while;
测试结果正确。]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1935038.html]]></link>
 <author><![CDATA[洁白的月光]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 06:31:49 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[[quote]引用第7楼枫落云端于2017-11-16 09:46发表的&nbsp;&nbsp;:
前两句只是PLC运行第一个扫描周期起作用，每一个FOR循环，D20都会从0自加到99。D21=（1+2+...+99）*N个扫描周期，由于直接使用D21寄存器，默认为16位的有符号整数，最大只能到+32767，再加就会溢出到符号位，所以变成负数，之后自加又变成正数，继续加又溢 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1935027.html]]></link>
 <author><![CDATA[conchnit]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 06:20:09 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[[quote]引用第9楼枫落云端于2017-11-16 09:53发表的&nbsp;&nbsp;:
以上是M0 为ON时执行一次循环，如果只是想PLC开机自动算一次，那就变成
MOV (SM402 ,K0,D20);
MOV (SM402 ,K0,D21);
IF SM402 THEN
&nbsp;&nbsp;&nbsp;&nbsp;FOR D20 :=K0 TO K99&nbsp;&nbsp;&nbsp;&nbsp;BY K1 DO
.......
[/quote]


三菱ST里，32位数据 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1935026.html]]></link>
 <author><![CDATA[conchnit]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 06:15:09 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[以上是M0 为ON时执行一次循环，如果只是想PLC开机自动算一次，那就变成
MOV (SM402 ,K0,D20);
MOV (SM402 ,K0,D21);
IF SM402 THEN
&nbsp;&nbsp;&nbsp;&nbsp;FOR D20 :=K0 TO K99&nbsp;&nbsp;&nbsp;&nbsp;BY K1 DO
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D20:= D20+K1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934940.html]]></link>
 <author><![CDATA[枫落云端]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 01:53:22 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[我只是具体分析他的程序运行过程，产生这个现象是正常的。如果想只是要循环一次，那就得加条件限制。
MOV (SM402 ,K0,D20);
MOV (SM402 ,K0,D21);
IF LDP(TRUE,M0) THEN
&nbsp;&nbsp;&nbsp;&nbsp;FOR D20 :=K0 TO K99&nbsp;&nbsp;&nbsp;&nbsp;BY K1 DO
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D20:= D20+K1;
&n ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934938.html]]></link>
 <author><![CDATA[枫落云端]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 01:50:36 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[前两句只是PLC运行第一个扫描周期起作用，每一个FOR循环，D20都会从0自加到99。D21=（1+2+...+99）*N个扫描周期，由于直接使用D21寄存器，默认为16位的有符号整数，最大只能到+32767，再加就会溢出到符号位，所以变成负数，之后自加又变成正数，继续加又溢出变负数，一直不断地循环]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934936.html]]></link>
 <author><![CDATA[枫落云端]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 01:46:34 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[是可以的，我都试过了。反正你把他包装成一个快。让他执行一次就好了。]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934935.html]]></link>
 <author><![CDATA[洁白的月光]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 01:42:58 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[只能说楼主还没有深刻理解PLC的循环扫描工作机制]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934933.html]]></link>
 <author><![CDATA[枫落云端]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 01:37:42 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[还是不行啊！]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934930.html]]></link>
 <author><![CDATA[f1652577]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Thu, 16 Nov 2017 01:27:51 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[不好意思，弄错了。感觉三菱的循环程序有问题。我用C语言写了同样的程序。C语言就可以。如果你要解决那个问题。，你不防可以写个IF M0 THEN，当M0启动开始循环。然后你D20增加到101.在循环语句里嵌套一个，IF d20=100 then,m0:=false; exit;end_if；end_for;end_if;]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934844.html]]></link>
 <author><![CDATA[洁白的月光]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Wed, 15 Nov 2017 11:36:12 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[前两句时给d20，d21赋初始值，sm402就是m8002]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934823.html]]></link>
 <author><![CDATA[f1652577]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Wed, 15 Nov 2017 09:16:28 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[把前两句搞成 d20:=0;
d21:=0;
试试。或者换成M8000。没用过Q，应该是SM400把。。]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-1636967#1934817.html]]></link>
 <author><![CDATA[洁白的月光]]></author>
 <category><![CDATA[三菱工控论坛]]></category>
 <pubdate><![CDATA[Wed, 15 Nov 2017 09:02:25 +0000]]></pubdate>
</item>
</channel></rss>