西门子 plc主程序块和子程序块有什么区别

西门子 plc主程序块和子程序块有什么区别,第1张

在西门子plc200中,程序是先运行主程序的,在主程序里如果遇到调用子程序的指令时,如果该指令被激活那么就跳到子程序运行里面的程序,主程序停止运行,在plc300中,一般OB1为主程序,其他的都可以认为子程序,在主程序OB1中调用各种FC,SFC,还有OB块等等

你可以在局部程序块中说明一些变量,这种变量被称为局部变量,它们只能在局部程序块的开始部分说明,并且只在说明它的局部程序块中有效。

如果局部变量与局部程序块以外的变量重名,则前者优先于后者。

下面是一个使用局部程序块的例子:

#include <stdioh>

void main(void);

void main()

{

/ Begin local block for function main() /

int test_ var = 10;

printf("Test variable before the if statement: %d\n", test_var);

if (test_var>5)

{

/ Begin local block for "if" statement /

int test_ var = 5;

printf("Test variable within the if statement: %d\n",

test_var);

{

/ Begin independent local block (not tied to

any function or keyword) /

int test_var = 0;

printf (

"Test variable within the independent local block: %d\n",

test_var)

}

/ End independent local block /

printf ("Test variable after the if statement: %d\n", test_var);

}

1

declare

avg_sal number;

max_sal number;

i integer;

begin

i:=0;

loop

select avg(sal),max(sal) into avg_sal,max_sal from emp;

if avg_sal<=5000 and max_sal<=6000 then

update emp set sal=sal+100;

i:=i+1;

else

exit;

end if;

end loop;

commit;

dbms_outputput_line('共增加工资:'||to_char(i100));

end;

2

declare

cursor c1 is select empno,ename,sal from emp;

begin

for acct in c1 loop

dbms_outputput_line('员工号:'||acctempno||' 员工姓名:'||acctename||' 工资:'||acctsal);

end loop;

end;

3

create or replace procedure comSalary

as

cursor c1 is

select deptno,avg(sal) avg1 from emp group by deptno;

begin

for acct in c1 loop

if acctavg1 > 3500 then

dbms_outputput_line('部门:'||acctdeptno||' 工资:'||acctavg1);

end if;

end loop;

end;

以上就是关于西门子 plc主程序块和子程序块有什么区别全部的内容,包括:西门子 plc主程序块和子程序块有什么区别、什么是C语言局部程序块(local block)、关于oracle的pl程序块。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9444018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存