请高手指教指针问题!!!! 点击:964 | 回复:11



笑看红尘

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 19回
  • 年度积分:0
  • 历史总积分:138
  • 注册:2003年4月23日
发表于:2006-12-28 11:45:00
楼主
这是一个fc的某段程序,我不太明白这个in3,它是一个输入参数,给出的是一个ANY参数类型P#DB800.DBX0.0BYTE100,是指从DBB0开始的100个字节,但在fc的程序中L P##IN3应该是一个指针常数,这个P##IN3怎样理解呢?请高人解说下,不胜感激!!!



abc35

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 45回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2005年11月04日
发表于:2006-12-28 13:12:00
1楼
这是个指针类型,应该是指指向数据DB800.DBX0.0的指针为开始,长度是 BYTE 100是从DB0开始的100个字节.西门子指针都是指向位的.

abc35

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 45回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2005年11月04日
发表于:2006-12-28 13:13:00
2楼
另外,功能块SFC68就是这个结构.可以查看一下帮助.

我是新人

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 87回
  • 年度积分:0
  • 历史总积分:110
  • 注册:2006年12月26日
发表于:2006-12-28 13:15:00
3楼
ldp x0
  out m0
  ldi m0
  cj p0
  ldi y0
  out y0
  end
提問,這樣用Y0常閉點輸出Y0線圈,那Y0線圈得電後迄不是又將常閉段開?那在下一個掃描週期內,線圈Y0還有輸出嗎??

笑看红尘

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 19回
  • 年度积分:0
  • 历史总积分:138
  • 注册:2003年4月23日
发表于:2007-01-09 16:25:00
4楼
我的理解能力较差,看帮助,好像有点感觉
这个指针P#DB800.DBX0.0BYTE100是指dbb0开始的100个字节的数据存储区,在fc5里的语句指令中L P##IN3,这个in3是个指针常数,即指上述存储区中的具体值,该存储区的值作为装入累加器的指针常数,不知这样理解对不对?希望那位好心人帮助下我这个笨人

风云电闪

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 44回
  • 年度积分:0
  • 历史总积分:111
  • 注册:2005年12月26日
发表于:2007-01-09 18:05:00
5楼
路过

shijian

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 85回
  • 年度积分:0
  • 历史总积分:282
  • 注册:2005年4月12日
发表于:2007-01-09 21:19:00
6楼
水平有限,不太理解
这段程序是经过检验的吗?

Neo.Lee

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 73回
  • 年度积分:0
  • 历史总积分:327
  • 注册:2003年1月28日
发表于:2007-01-10 11:01:00
7楼
#IN3是个ANY 类型的变量;
P##IN3是指向变量#IN3首地址的指针;
ACCU累加器一次操作最多读取32BIT的内容,对长度大于32位的ANY 类型变量,得多次累加器操作,并按ANY类型的定义编程解释其含义。

Yorktown

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 532回
  • 年度积分:0
  • 历史总积分:768
  • 注册:2002年6月28日
发表于:2007-01-10 12:50:00
8楼
这是 S7-200 中关于指针的说明,看了半天也没搞懂。 请高手把下面二个图中的解释给大家详细“翻译”一下吧。

彩虹

  • 精华:2帖
  • 求助:4帖
  • 帖子:54帖 | 1626回
  • 年度积分:8
  • 历史总积分:7586
  • 注册:2006年9月21日
发表于:2007-01-22 05:03:00
9楼
P#DB800.DBX0.0BYTE100,是指DB800的dbb0开始的 (DB800。DBB0-DB800。DBB99)100个字节的数据存储区地址,P#DB800.DBX0.0BYTE100是实参,而在fc5指令中IN3是形参,我们在给于实参不同的值或地址时,与不同编号的背景数据块时,FC5就成为了一个公用的子程序,需要的程序都可调用它。减少了重复编写的时间,使程序更加完美。

天地在心中

  • 精华:1帖
  • 求助:0帖
  • 帖子:22帖 | 229回
  • 年度积分:0
  • 历史总积分:1020
  • 注册:2006年10月26日
发表于:2007-01-22 10:18:00
10楼
学习了

evershinex

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 58回
  • 年度积分:4
  • 历史总积分:118
  • 注册:2005年5月13日
发表于:2007-01-22 21:44:00
11楼
下面引用由纪强在 2007-1-22 5:03:00 发表的内容:
  P#DB800.DBX0.0BYTE100,是指DB800的dbb0开始的100个字节的数据存储区,P#DB800.DBX0.0BYTE100是实参,而在f…
--------------------------------------------------------------------------------------------
我也这么理解 不知道对否

热门招聘
相关主题

官方公众号

智造工程师