如何才能多次调用一个fc块 点击:8258 | 回复:9



王祥

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:8帖 | 14回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2006年2月26日
发表于:2006-03-18 10:40:00
楼主
我用内部变量做了个fc块,可是不能同时调用两次或两次以上,请问怎么才能多次调用都不会有问题呢?   谢谢



bingwp

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2006年3月18日
发表于:2006-03-18 12:54:00
1楼

se

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 88回
  • 年度积分:0
  • 历史总积分:270
  • 注册:2004年9月15日
发表于:2006-03-18 15:07:00
2楼
检查每次调用FC块时,FC块内的中间位是否一样。

王祥

  • 精华:1帖
  • 求助:1帖
  • 帖子:8帖 | 14回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2006年2月26日
发表于:2006-03-21 14:00:00
3楼

我见过有人做成一个fc多次调用,但我实现不了我觉得有什么设置没有设定,我现在用一个fb多个db于之关联,实现多次调用的功能

loden

  • 精华:10帖
  • 求助:0帖
  • 帖子:43帖 | 782回
  • 年度积分:0
  • 历史总积分:1143
  • 注册:2001年3月11日
发表于:2006-03-21 14:56:00
4楼
FC、FB以及DB能够多次重复调用这是SIEMENS PLC的优势, 也是最吸引人使用的地方,大大的提高了编程效率。
参考一下手册,学习一下SIEMENS的结构化、模块化编程,效率很高。

火鹤10

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 86回
  • 年度积分:12
  • 历史总积分:538
  • 注册:2005年9月23日
发表于:2006-03-22 16:21:00
5楼
你没有用好形参和实参
以后多看说明书
多问你的同行所、

小洋人

  • 精华:0帖
  • 求助:3帖
  • 帖子:18帖 | 88回
  • 年度积分:0
  • 历史总积分:375
  • 注册:2006年3月22日
发表于:2006-03-22 16:30:00
6楼
给你个例子参考一下就知道了,以下是模拟量转化的功能块`
 network1     
      L     #AI_RES_MAX
      L     #AI_RES_MIN
      -I    
      L     10                          // 10%
      /I    
      T     #TEMP
      O(    
      L     #AI_RES_MAX
      L     #TEMP
      +I    
      L     #AI_PEW
      <I                                // OVERRANGE
      )     
      O(    
      L     #AI_RES_MIN
      L     #TEMP
      -I    
      L     #AI_PEW
      >I                                // UNDERRANGE
      )     
      =     #AI_FAULT
network2
      L     #AI_PEW
      L     #AI_RES_MIN
      <I    
      JC    M001
      TAK   
      L     #AI_RES_MAX
      >I    
      JC    M001
      TAK   
M001: ITD   
      DTR   
      L     #AI_RES_MIN
      ITD   
      DTR   
      -R    
      T     LD     0
      L     #AI_RES_MAX
      ITD   
      DTR   
      L     #AI_RES_MIN
      ITD   
      DTR   
      -R    
      T     LD     4
      L     LD     0
      L     LD     4
      /R    
      T     LD     8
      L     #AI_ENG_MAX
      ITD   
      DTR   
      L     #AI_ENG_MIN
      ITD   
      DTR   
      -R    
      L     LD     8
      *R    
      L     #AI_ENG_MIN
      ITD   
      DTR   
      +R    
      RND   
      T     #AI_VALUE
network3
      SET   
      SAVE 
IN:
#AI_PEW,#AI_RES_MIN,#AI_RES_MAX,#AI_ENG_MIN,#AI_ENG_MAX
OUT:
#AI_VALUE,#AI_FAULT

flyer8

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 50回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2004年9月10日
发表于:2006-03-22 16:37:00
7楼
同意一楼的,肯定是调用时没有改变背景数据块造成的。

wincc.5591

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 240回
  • 年度积分:0
  • 历史总积分:397
  • 注册:2005年10月22日
发表于:2006-03-22 21:11:00
8楼
在调用FC功能时,最好把FC内的中间位通过实参保存一下,不同的调用,用不同的实参保存,这样就能够解决多次调用的问题.
在调用FB功能块时,就不需要通过实参保存,因为它是通过DB块来保存数据的,不过通过FB来实现多次调用时,就需要多个DB块

火鹤10

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 86回
  • 年度积分:12
  • 历史总积分:538
  • 注册:2005年9月23日
发表于:2006-03-23 08:37:00
9楼
修晓东:你好

在调用FC功能时,最好把FC内的中间位通过实参保存一下,不同的调用,用不同的实参保存,

热门招聘
相关主题

官方公众号

智造工程师