《亿语中的:西门子PLC的程序构造.docx》由会员分享,可在线阅读,更多相关《亿语中的:西门子PLC的程序构造.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、亿语中的:西门子PLC的程序构造小亿导语:所谓PLC的程序构造,就是组成PLC程序的各种网络(Network)或者“功能程序段在PLC内部的组织、治理形式。所谓PLC的程序构造,就是组成PLC程序的各种网络(Network)或者功能程序段在PLC内部的组织、治理形式。无论PLC控制系统有多么复杂,归根到底,PLC用户程序都是由大量根本编程指令所组成的集合。设计者可以根据控制对象各局部的不同要求,通过对要求的分解,运用根本指令编制出相应的程序网络Network或者由几个网络组成的简单功能程序段。在此根底上,只要将这些程序网络或者功能程序段,按照控制系统的动作要求,以S7程序规定的格式进展排列与组
2、合,就可以组成完好的PLC程序。1西门子S7-200的程序构造经过映像输入/输出I/Q、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量。S7-200的程序组织单元(ProgramOrganizationalUnit,简称为POU)包括主程序、子程序和中断程序。每个POU均有自己的64字节部分变量,部分变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。下面是子程序可以使用的部分变量:1)TEMP(临时变量)是暂时保存在部分数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。2)IN是由调用它的POU提供的输入
3、参数。3)OUT是返回给调用它的POU的输出参数(子程序的执行结果)。4)IN_OUT是输入_输出参数,其初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。主程序和中断程序的部分变量中只有临时变量TEMP。具有输入、输出参数和部分变量的子程序易于实现构造化编程,对于长期消费同类设备或者消费线的厂家尤为有用。这些厂家的编程人员为设备的各组件或者工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以通经过序之间的调用快速组装出知足不同用户要求的控制程序。就好似用数字集成电路芯片组成复杂的数字电路一样。子
4、程序假如没有输入、输出参数,它和调用它的程序之间没有明晰的接口,很难实现构造化编程。子程序假如没有部分变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将子程序和中断程序移植到别的工程时,需要重新统一安排它们使用的全局变量,以保证不会出现地址冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配地址的工作量非常大。假如子程序和中断程序有部分变量,并且它们内部只使用部分变量,不使用全局变量,由于与其他POU没有地址冲突,不需作任何改动,就可以将子程序移植到别的工程中去。2西门子的S7-300/400的程序构造S7-300/400将子程序分为功能Function
5、,或者称为函数和功能块FunctionBlock。S7-300/400的功能与S7-200的子程序根本上一样。它们均有输入、输出参数和临时变量,功能的部分数据中的返回值实际上属于输出参数。它们没有专用的存储区,功能执行完毕后,不再保存临时变量中的数据。可以用全局变量来保存那些在功能执行完毕后需要保存的数据,但是会影响到功能的可移植性。功能块是用户编写的有自己专用的存储区即背景数据块的程序块,功能块的输入、输出参数和静态变量存放在指定的背景数据块中,临时变量存储在部分数据堆栈中。每次调用功能块时,都要指定一个背景数据块。(今天的转发暗号是:亿维公司口号:信赖,源自品质;信任,铸就品牌功能块执行完后,背景数据块中的数据不会丧失,但是不会保存部分数据堆栈中的数据。功能块采用了类似于C+的封装的概念,将程序和数据封装在一起,具有很好的可移植性。S7-300/400的分享数据块可供所有的逻辑块使用。-我们致力于为工程师们打造一个高价值的工控沟通共享平台,您可以通过QQ群316281458)或微信订阅号UniMAT2004找到我们并参加沟通共享的行列!也欢送大家通过这个平台踊跃投稿,我们长期有奖征文。