<?xml version="1.0" encoding="gbk"?>
<rss version="2.0">
<channel>
 <title><![CDATA[Ｓ７－２００子程序两次调用不成功，错在 ..]]></title>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075.html]]></link>
 <description><![CDATA[Latest 50 replies of Ｓ７－２００子程序两次调用不成功，错在 ..]]></description>
 <copyright><![CDATA[Copyright(C) 工控人家园]]></copyright>
 <generator><![CDATA[www.ymmfa.com]]></generator>
 <lastBuildDate><![CDATA[Thu, 16 Apr 2026 07:30:20 +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-86075#939251.html]]></link>
 <author><![CDATA[天锋]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Thu, 23 Dec 2010 13:12:56 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[路过学习一下]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#938778.html]]></link>
 <author><![CDATA[lzxp100]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Thu, 23 Dec 2010 06:15:31 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[各位老大讨论的好激烈，小弟初入门，路过学习。]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#937955.html]]></link>
 <author><![CDATA[sj552347591]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Wed, 22 Dec 2010 10:58:18 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[多看看这些评论就解决了]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#936081.html]]></link>
 <author><![CDATA[lxaizp]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Mon, 20 Dec 2010 13:48:37 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[建议你看下C语言可以让你对局部变量的理解深刻点]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#935513.html]]></link>
 <author><![CDATA[zsb2010]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Mon, 20 Dec 2010 04:26:31 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[10楼楼主,非常感谢您的答案 !]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#933527.html]]></link>
 <author><![CDATA[zs8823]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Fri, 17 Dec 2010 13:19:50 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[PLC中为子程序开辟了60个字节的可用存贮区域，但这60个字节是所有子程序共享的空间，并不是每个子程序独享。
也就是说，局部变量只保持一个扫描周期赋值的数据，要保证局部变量有效，必须保证每个扫描周期都有赋值，特别
是OUT类型变量，OUT类型变量如果前面有条件，则当条件为假时，输出的是无效值。而赋值之前对OUT类型 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#904184.html]]></link>
 <author><![CDATA[醉湮邃虞]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Mon, 15 Nov 2010 02:53:12 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[[quote]引用第4楼醉湮邃虞于2010-11-12 12:14发表的 : 
个人感觉，是对局部变量的理解问题，子程序每个网络都有错误。 

程序中大量使用了局部变量，你把所有的局部变量变为全局变量就应该会好。 

网络1：L20.0 开始执行时，状态并不确定 
....... 
[/quote] 
因输出值仅供显示参考所有没用准确算法,但第二个周期开始就是 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#903776.html]]></link>
 <author><![CDATA[zs8823]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Sun, 14 Nov 2010 12:29:05 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[多谢各位指点!! 但还是想不明白.
如4楼所言C100是个全局变量,第6秒时在第一个子程序中被置ON使第一个子程序输出,但第一个子程序和第二个子程序中的L20.0因为是局部变量应该是两个不同的值,所以我觉得C100在第二个子程序中应该是又被+1了,但未被复位直到下个周期在前一个子程序中被复位后,进入第二个子程序中直接+1,想到这 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#903769.html]]></link>
 <author><![CDATA[zs8823]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Sun, 14 Nov 2010 12:23:11 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[路过学习]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#903751.html]]></link>
 <author><![CDATA[dutian2328]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Sun, 14 Nov 2010 12:03:50 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[[quote]引用第3楼wjmdtt于2010-11-12 11:02发表的 : 
你可将程序修改下.如设计为让子程序实时返回在主程序中处理6次问题试试. 
同时你这个子程序计算我没看出有任何意义.网络2中都是原值过去过来不知你要实现个啥功能. 
[/quote] 
写这个子程序的原因是工程中现有程序步数已经快到上限,为了避免超上限只能用子程序调用.这 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#903736.html]]></link>
 <author><![CDATA[zs8823]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Sun, 14 Nov 2010 11:45:48 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[反复调用子程序时，调用计数，系统时钟，系统脉冲等指令需要慎重。
程序扫描是从左至右，从上至下，看主程序：执行第一个调用子程序后，立马进入下一个子程序调用，那问题就来了：
LD4是输出，并且在扫描到C100为ON时才输出，下一步是L20.0为ON，下一步跳出第一个子程序并进入第二个子程序，此时L20.0在扫描周期内被置位为 ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#902312.html]]></link>
 <author><![CDATA[cgyu5892483]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Fri, 12 Nov 2010 05:53:16 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[个人感觉，是对局部变量的理解问题，子程序每个网络都有错误。

程序中大量使用了局部变量，你把所有的局部变量变为全局变量就应该会好。

网络1：L20.0 开始执行时，状态并不确定
网络2：大量的局部变量，除DQSL外，均未赋值就使用，幸亏你没除法，否则会严重错误。
网络3：输出DQLS，在C100断开时是无效输出
&nbsp;&nbs ..]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#902216.html]]></link>
 <author><![CDATA[醉湮邃虞]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Fri, 12 Nov 2010 04:14:54 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[你可将程序修改下.如设计为让子程序实时返回在主程序中处理6次问题试试.
同时你这个子程序计算我没看出有任何意义.网络2中都是原值过去过来不知你要实现个啥功能.]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#902180.html]]></link>
 <author><![CDATA[wjmdtt]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Fri, 12 Nov 2010 03:02:53 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[我觉得像是一个扫描周期内调用子程序并不一定能完成6次计数运行.因此第二次调用后返回值一样,因你返回值用的是:
LD C100........也即必须C100计数到后才输出.因此就只有第一次起作用.]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#902176.html]]></link>
 <author><![CDATA[wjmdtt]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Fri, 12 Nov 2010 02:56:03 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[]]></title>
 <description><![CDATA[这是子程序截图．]]></description>
 <link><![CDATA[http://www.ymmfa.com/read-gktid-86075#902048.html]]></link>
 <author><![CDATA[zs8823]]></author>
 <category><![CDATA[西门子工控论坛]]></category>
 <pubdate><![CDATA[Thu, 11 Nov 2010 20:30:07 +0000]]></pubdate>
</item>
</channel></rss>