点击【 大 中 小 】, 可 以 选 择 字 体的大小,以便 你 阅读.
求助 S7—200 子程序块
西门子 S7-200,是否可以将一段程序做成子程序块,有入口和出口变量,以供其他程序调用
以下是对《求助 S7—200 子程序块》的回复:
匿名回复:
of course
匿名回复:
还得问你一下:具体应该怎么做呢?举个简单的例子可以吗?谢谢你!
匿名回复:
这个当然可以。这个问题在我的《浅谈西门子高速计数器的设置》一文中已有例子了,你可以参考一下。
匿名回复:
我没有找到这篇文章。能不能告诉我在哪里有?
谢谢!
匿名回复:
我在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.
匿名回复:
Thank you very much sir !