关于西门子 S7-子程序块口和出口变量-PLC技术网(www.plcjs.com)-可编程控制器技术门户


关于西门子 S7-子程序块口和出口变量

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2006-8-27 23:13:33     来源:   作者: 点击:
点击【 大  中  小 】, 可 以 选 择 字 体的大小,以便 你 阅读.

   高手:
  西门子 S7-200,是否可以将一段程序做成子程序块,有入口和出口变量,以供其他程序调用


匿名回复:
    of course
匿名回复:
    还得问你一下:具体应该怎么做呢?举个简单的例子可以吗?谢谢你!
匿名回复:
    这个当然可以。这个问题在我的《浅谈西门子高速计数器的设置》一文中已有例子了,你可以参考一下。
匿名回复:
    我没有找到这篇文章。能不能告诉我在哪里有?
  谢谢!
匿名回复:
    就在中国工控网上的PLC论坛里。
匿名回复:
    我在PLC论坛里搜索查找没有找到。
  能否麻烦你告诉我怎么找到?
匿名回复:
    就在第四页。
匿名回复:
    我想问的问题是:如何将一段程序做成有入口和出口的自子程序,以供其他程序调用。您所提到的文章是关于高速计数器的。
匿名回复:
    I can write in English only because my Chinese platform crashed. For your reference following is a example of function with parameters and how to call this function and pass parameter values from another function.
  
  //Function with input and output parameters
  FUNCTION FC 1 : VOID
  TITLE = Test sample 1
  
  VAR_INPUT
   xxx : INT;
  END_VAR
  VAR_OUTPUT
   yyy : CHAR;
  END_VAR;
  VAR_IN_OUT
   zzz : BOOL;
  END_VAR;
  
  BEGIN
  
  NETWORK
  ......
  
  END_FUNCTION
  
  
  //Call a function with parameters
  FUNCTION FC 2 : VOID
  TITLE = Test sample 2
  
  BEGIN
  
  NETWORK
  TITLE = Calling a function with parameters
   CALL FC 1 (
   xxx := 123,
   yyy := a_char_variable,
   zzz := a_bool_variable);
   NOP 0;
  
  NETWORK
  ........
  
  END_FUNCTION
  
  
  In STEP 7 it is simpler. If you can write LAD program, in Variable Declaration Table you just give the names and datetype of input and output variables. You can use these variables in this program(function). In another program to call this function you just insert a Program Elements-->FC blocks-->FC1. Then all function parameters are displayed. Be carefull, datatype of variables or values you pass to parameters must match with datatype of parameters.

上一篇: 请教如何用PLC I/O 控制伺服电机
下一: 西门子s7-300系列,在实际应用中屏蔽前电磁干扰