1.什么是全局变量和局部变量?
以西门子的S7-200为例,输入I、输出Q、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量,可以在符号表中为全局变量定义符号名。
程序组织单元(Program Organizational Unit)简称为POU,包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量用L(Local)来表示,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。
西门子PLC中变量的关系
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),同一片物理存储器可以在不同的程序中重复使用。
上海朝堂电气技术有限公司专注于西门子PLC,变频器,伺服驱动系统,触摸屏,电线电缆等, 欢迎致电 13916490489
词条
词条说明
西门子PLC,变频器,伺服驱动系统,触摸屏,电线电缆西门子 PLC V20变频器 V90伺服驱动 西门子触摸屏 现场总线
西门子PLC CPU的控制程序由主程序、子程序和中断程序组成。STEP 7-Micro/WIN 32在程序编辑器窗口里为每个POU(程序组织单元)提供一个独立的页。主程序总是*1页,后面是子程序或中断程序。因为各个程序在编辑器窗口里被分开,编译时在程序结束的地方自动加入无条件结束指令或无条件返回指令。用户程序只能使用条件结束和条件返回指令。 &
生产过程中有大量连续变化的模拟量需要用PLC来测量或控制。有的是非电量(如温度、压力、流量、液位、物体的成分和频率等);有的是强电电量(如发电机和电动机组的电流、电压、有功功率和无功功率、功率因数等)。变送器用于将传感器提供的电量或非电量信号转换为标准的直流电流或直流电压信号,如直流0~10 V或直流4~20 mA信号。 &nbs
西门子plc中梯形图与语句表相互转换的方法 梯形图和语句表的转化在plc编程软件->工具栏->查看 里选择切换。西门子S7-200的PLC对语句表编写的格式要求多,因为200的语句表和梯形图可任意切换,如果语句表格式不对,即回出现编译错误。因此,一般多为梯形图,且程序里只能有一个语言,要么全部都是语句要么
公司名: 上海朝堂电气技术有限公司
联系人: 周工
电 话: 0158-21341807
手 机: 13916490489
微 信: 13916490489
地 址: 上海松江文诚路2188弄416号
邮 编:
网 址: fhkykj.b2b168.com
公司名: 上海朝堂电气技术有限公司
联系人: 周工
手 机: 13916490489
电 话: 0158-21341807
地 址: 上海松江文诚路2188弄416号
邮 编:
网 址: fhkykj.b2b168.com