西门子PLC中变量的关系

发布时间:2023-09-03
1.什么是全局变量和局部变量? 以西门子的s7-200为例,输入i、输出q、变量存储器v、内部存储器位m、定时器t、计数器c等属于全局变量,可以在符号表中为全局变量定义符号名。
程序组织单元(programorganizationalunit)简称为pou,包括主程序、子程序和中断程序。每个pou均有自己的64字节局部变量,局部变量用l(local)来表示,局部变量只能在它所在的pou中使用。与此相反,全局变量可以在各pou中使用。
2.局部变量有哪些类型?
子程序可以使用下列局部变量:
1)temp(临时变量)是暂时保存在局部数据区中的变量。只有在执行该pou时,定义的临时变量才被使用,pou执行完后,不再保存临时变量的数值。主程序和中断程序的局部变量表中只有temp变量。
2)in(输入参数)由调用它的pou提供的传入子程序的输入参数。
3)out(输出参数)是子程序的执行结果,它被返回给调用它的pou。
4)in_out(输入_输出参数)的初始值由调用它的pou传送给子程序,并用同一变量将子程序的执行结果返回给调用它的pou。
主程序和中断程序的局部变量表中只有临时变量temp。
3.子程序的输入、输出参数有什么作用?
具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。编程人员为设备的各部件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以用它们快速“组装”出满足不同的用户要求的控制程序。就好像可以用数字集成电路芯片组成复杂的数字电路一样。
如果子程序没有输入、输出参数,这种子程序没有明确的软件接口,使用起来很不方便。
4.局部变量有什么优点?
1)子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将它移植到别的项目时,需要对各pou使用的全局变量作统一安排,以保证不会出现地址冲突。当程序很复杂,子程序很多时,这种地址分配是很花时间的。
如果子程序有局部变量,并且在子程序中只使用局部变量,不使用全局变量,因为与其他pou没有地址冲突,不作任何改动,就可以将子程序移植到别的项目中去。
为了减少移植子程序的工作量,在子程序中应尽量避免使用全局变量和全局符号。
2)如果使用局部变量表中的临时变量(temp),同一片物理存储器可以在不同的程序中重复使用。
上一个:中华芦荟试管栽培
下一个:戴尔亮黄灯打不开怎么办,戴尔主机一直亮黄灯开不了机

win10电脑硬盘怎么分区,win10分盘小编告诉你win10硬盘怎么分区
乌市南湖附近电脑维修,乌鲁木齐电脑维修
生物转化法应用重组谷氨酰转肽酶合成l-茶氨酸
14.3R(Ω) 1%贴片电阻
固态硬盘怎么装w7系统,固态硬盘怎么装原版win7系统
手提电脑哪种好,台式电脑和手提电脑哪种好
怎么辨别手机是国产的还是进口的,怎么分别手机是行货和国产
德国erich jaeger abs/ebs 插头连接器
人生以茶解忧
茶艺的六要素