西门子plc子程序问题

来源:百度知道 编辑:UC知道 时间:2024/07/08 15:40:38
子程序局部变量声明区有什么用啊?如果我在声明区定义了一个输入(IN)变量,到底这个变量指向的是哪个输入?因为我的子程序里面有好多需要输入的触点,如I0.0 I0.1 M0.0 ....如果声明了一个输入变量那么在调用这个子程序的时候方块图就会出现这个变量的输入点,我在主程序里面给这个输入点输入一个变量,这个变量的变化会控制子程序里面那个量的变化?
lkine - 经理 四级还是没明白我的意思,你是说在子程序里如果有一个开电机的输入量,那如果我的子程序里有好多输入变量呢?比如除了有个开电机的i0.0还有一个停电机的i0.1还有两个行程开关i0.2 i0.3这时候你说这个IN 会控制哪个呢?,肯定有一个方法让内部的输入量和外部的IN发生联系的方法。比如s7-300中,在子程序里,一个常开触点用变量名称前面加个#(如果局部变量表里定义了一个IN类型的变量,符号名是SB1,那这个常开触点的地址就用#SB1表示),代替I0.0,I0.1,I0.2....这种具体的地址,这样话外部的某个已定义的变量就和内部的某个触点发生了联系。

答案已经回复给你了
请查收

IN是在功能的变量声明出使用的参数。在功能的声明变量表中有IN、OUT、IN_OUT、TEMP和RETURN(返回参数)。这些就是在写功能块时用的变量。
你在功能块(就是你说的子程序)里定义了一个IN,这个IN在主程序里会控制子程序哪个变量的变化,是根据你编的子程序定的。比如你的子程序实现了一个开电机的功能,有一个开关,开关打开,输出使电机运行。这个IN代表开关,IN为1时也就是表示开关打开了,那自然就是影响了你编的子程序的输出,也就是电机运行了。
不知道我说明白了没有。这个IN影响的是这个IN所在的子程序。