电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

西门子plc的程序构造

2017-09-17 07:07分类:PLC基础知识 阅读:

  1.某些国外的小型plc的程序构造
  这些PLC的用户程序由主程序、子程序和接连程序构成。在每一个扫描循环周期,CPU都要调用一次主程序。主程序能够调用子程序,小型操控体系能够只需主程序。接连程序用于活络呼应接连作业。在接连作业发作时,CPU将接连施行其时正在处理的程序或使命,去施行用户编写的接连程序。施行完接连程序后,持续施行被暂停施行的程序或使命。它们的子程序和接连程序没有有些变量,子程序没有输入、输出参数。
  2.西门子的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。
  主程序和接连程序的有些变量中只需暂时变量TEMP。
  具有输入、输出参数和有些变量的子程序易于完构造造化编程,关于长时刻出产同类设备或出产线的厂家尤为有用。这些厂家的编程人员为设备的各组件或技能功用编写了许多的通用的子程序。即便不知道子程序的内部代码,只需知道子程序的功用和输入、输出参数的含义,就能够经进程序之间的调用活络“拼装”出满意纷歧样用户恳求的操控程序。就好像用数字集成电路芯片构成杂乱的数字电路一样。
  子程序假定没有输入、输出参数,它和调用它的程序之间没有明晰的接口,很难完构造造化编程。
  子程序假定没有有些变量,它和调用它的程序之间只能经过大局变量来沟通数据,子程序内部也只能运用大局变量。将子程序和接连程序移植到别的项目时,需求从头一同组织它们运用的大局变量,以确保不会呈现地址抵触。当程序很杂乱,子程序和接连程序许多时,这种从头分配地址的作业量非常大。
  假定子程序和接连程序有有些变量,并且它们内部只运用有些变量,不运用大局变量,由于与别的POU没有地址抵触,不需作任何改动,就能够将子程序移植到别的项目中去。
  3.西门子的S7-300/400的程序构造
  S7-300/400将子程序分为功用(Function,或称为函数)和功用块(FunctionBlock)。
  S7-300/400的功用与S7-200的子程序底子上一样。它们均有输入、输出参数和暂时变量,功用的有些数据中的回来值实习上归于输出参数。它们没有专用的存储区,功用施行完毕后,不再保留暂时变量中的数据。
  能够用大局变量来保留那些在功用施行完毕后需求保留的数据,可是会影响到功用的可移植性。
  功用块是用户编写的有自个专用的存储区(即布景数据块)的程序块,功用块的输入、输出参数和静态变量寄存在指定的布景数据块中,暂时变量存储在有些数据库房中。每次调用功用块时,都要指定一个布景数据块。功用块施行完后,布景数据块中的数据不会丢掉,可是不会保留有些数据库房中的数据。
  功用块选用了相似于C++的封装的概念,将程序和数据封装在一同,具有极好的可移植性。
  S7-300/400的同享数据块可供悉数的逻辑块运用。
  4.IEC61131-3的程序构造
  IEC61131-3是PLC的编程言语规范。IEC61131-3是世界上榜首个,也是至今接连仅有的工业操控范畴的编程言语规范。IEC
  61131-3有三种POU:程序、功用块和功用。
  功用是有多个输入参数和一个输出参数(回来值)的POU,回来值的称谓与功用的称谓一样,需求界说回来值的数据类型。调用具
  有一样输入值的功用老是回来一样的效果。功用能够调用别的功用,可是不能调用功用块或程序。功用可界说的有些变量有VAR和VAR_INPUT。
  功用块是有多个输入/输出参数和内部存储单元的POU,功用块的输出参数值与其内部存储单元的值有关。功用块能够调用别的功用
  块或功用,可是不能调用程序。
  在调用功用块之前,有必要在要调用功用块的POU中为每次调用声明功用块的实例,操作体系将为每次调用分配功用块专用的存储区
  (相似于S7-300/400的布景数据块)。
  功用由于没有内部存储区,调用时不需求实例化。
  程序的做法和用处相似于功用块,程序具有输入和输出参数,并且能够具有内部存储区。程序一般包富含对功用和功用块的调用。
  IEC61131-3界说了若干规范的功用和功用块。
  5.S7-300/400与IEC61131-3程序构造的差异
  1)S7-300/400的功用能够有多个输出参数,回来值也归于输出参数。IEC61131-3的功用只需一个回来值。
  2)IEC61131-3的功用块用于保留有些变量的专用存储区是在声明功用块的实例时分配的,它对用户是不通明的,别的POU不能直接拜访该存储区。
  S7-300/400的功用块的有些变量(不包括暂时变量)保留在它的布景数据块中。别的POU能够拜访布景数据块中的变量。假定需求屡次调用同一个功用块来操控同一类型的被控政策,每次调用都需求指定一个布景数据块,可是这些布景数据块中的变量又很少,这么在项目中就呈现了许多的布景数据块。能够运用多重布景数据块来削减布景数据块的数量。可是需求添加一个用来处理多重布景的功用块。
  3)S7-300/400的功用块的有些变量有暂时变量和静态变量,IEC61131-3的功用块的内部变量Var恰当于S7-300/400的静态变量。
  4)S7-300/400将数据区差异为数据块来运用,数据块的巨细与数据块中界说的变量的数据类型和变量的个数有关。IEC61131-3没有数据块的概念。

上一篇:三菱PLC全系列编程电缆DIY制造

下一篇:WINCC声明数组变量及构造变量的运用

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部