西门子PLC 在工业上应用广泛。西门子PLC的调试始终为用工人员所重视,同时西门子代理商团队也极其重视西门子PLC调试方法。丙通MRO,西门子华南区总代理,为您推介西门子PLC 的调试检测。
西门子的S7-300/400的程序结构
S7-300/400将子程序分为功能(Function,或称为函数)和功能块(FunctionBlock) S7-300/400的功能与S7-200的子程序基本上相同。它们均有输入、输出参数和临时变量,功能的局部数据中的返回值实际上属于输出参数。它们没有专用的存储区,功能执行结束后,不再保存临时变量中的数据。
功能块是用户编写的有自己专用的存储区(即背景数据块)的程序块,功能块的输入、输出参数和静态变量存放在指定的背景数据块中,临时变量存储在局部数据堆栈中。每次调用功能块时,都要指定一个背景数据块。
西门子的S7-200的程序结构
过程映像输入/输出(I/Q)、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量。S7-200的程序组织单元(ProgramOrganizationalUnit,简称为POU)包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。
下面是子程序可以使用的局部变量:
1)TEMP(临时变量)是暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。
2)IN是由调用它的POU提供的输入参数。
3)OUT是返回给调用它的POU的输出参数(子程序的执行结果)。
4)IN_OUT是输入_输出参数,其初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。
子程序如果没有输入、输出参数,它和调用它的程序之间没有清晰的接口,很难实现结构化编程。子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,程序内部也只能使用全局变量。将子程序和中断程序移植到别的项目时,需要重新统一安排它们使用的全局变量,以保证不会出现地址冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配地址的工作量非常大。
IEC61131-3的程序结构
IEC61131-3是PLC的编程语言标准。IEC61131-3是世界上第一个,也是至今为止唯一的工业控制领域的编程语言标准。IEC61131-3有三种POU:程序、功能块和功能。功能是有多个输入参数和一个输出参数(返回值)的POU,返回值的名称与功能的名称相同,需要定义返回值的数据类型。调用具有相同输入值的功能总是返回相同的结果。功能可以调用其他功能,但是不能调用功能块或程序。
以上为西门子华南总代理关于PLC 的调试排查方法汇总,更多的信息(型号选择、价格查询、货期确认)请联系广州市丙通电子元件有限公司销售部,专业高效为您服务。
本文地址:http://www.btone-mro.com/BtoneInform/newsContent.aspx?id=2052