PLC的面向对象编程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本文由liangchaock贡献 PLC的面向对象编程 圈子类别:系统集成 (未知) 2008-11-18 22:32:00 [我要评论] [加入收藏] [加入圈子] 面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的PLC 程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如 “继 承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念 就是类和类的实例(即对象),我们只需要使用这种概念就可以了。在计算机编程中 我们需要把一些事物抽象和归纳,才能编写类,而在工业控制系统中,控制对象如: 电机,阀等等是很明显的控制类别,不需要抽象就可以很明显的针对它 们编写类,以 下将会用到西门子的Step7编程语言和施奈德的Unity 编程语言来讲解PLC的面向对象 编程。 一、 实现方式 在Step7中使用功能块(即FB)编程,一谈到此大家就会想到西门子提出的模块 化编程,不错,就是这个模块化编程,但西门子提出的模块化、背景数据块、多重背 景等名词并不能让大家很明白的理解和使用这种优秀的设计理念。如果大家从面向对 象编程的角度去理解,则可以很好的理解这种设计模式。“FB块”被看 成“类”,它 可以被看成是对相似的控制对象的代码归纳,如对MM440的变频器可以编写FB块:MtrM M440,这在面向对象编程中称为“类”,当需要 编程控制具体的电机时,可以给它分 配一个背景DB块,在面向对象编程中称为类的实现(即创建类的实例:对象),当需 要控制多个电机时,可以分配不同的背景 DB到这个FB块,即创建类的多个实例。Ste p7中有另外一种程序块,即FC块,以FC块为主的编程在西门子中称为结构化编程,这 也可以类比于计算机编程中的面向过程编程,即纯粹以函数为主体的编程。 施奈德的Unity软件编程可以更好的理解面向对象编程。它的DFB定义中包含输入 /输出参数,私有/共有变量,以及代码实现,而这正是计算机的面向对象 编程中“类 ”的基本元素,而创建类的实例(对象)就像创建普通的“布尔”变量一样,只需在 “Function Blocks”中定义这种“类”的变量即可。 Step7和Unity都可以采用面向过程和面向对象编程方式,这两种编程方式的区别 类似于计算机高级语言中的C语言和C++语言编程的区别。 以下的讲解将会把Step7中的FB和Unity中的DFB称为“类”,Step7中的FB+背景 DB以及Unity中DFB的实例称为“对象”。 二、 面向对象编程架构 以上讲解的是实现细节,而编程思想是建立在程序架构上的,不是某个局部使用 了面向对象方式,则可以称之为这种编程就是面向对象编程。这种编程需要从以下方 面着手: 1、 电路设计的结构化。 这里主要以自动线为主介绍,对于单机机床可以是它的简化结构, 1、自动线层:这是最高层次,它拥有一个主PLC,对属于它下面的各区域控制 2、工程层:拥有独立的配送电系统,但没有PLC,只有分布式模块,由自动线 控制。顾名思义,它有着较大的独立性,可以作为一个单独的工程项目设计和制造, 当自动线比较小时,可以省略该层次。 3、功能组层:根据工艺划分,将实现某一个工艺功能的区段设备划分为一个 功能组,它隶属于工程层,当工程层被省略时,隶属于自动线层。 面向对象编程并不一定要求使用以上的结构,但好的电气结构更利于面向对象编 程。 2、 任何控制对象逻辑都在“类”中实现。 为了做到这点,必须分析与控制对象相关的信息,譬如,对于一个电机,有以下 相关的信息需要考虑: 输入信息: 1、电路保护信息,如电机的空气开关,热继电器等。 2、功能保护信息,如运动电机的限位开关,风机的风压开关,油泵的油位开 page 1 关等。 3、启动和终止条件,以上的电路保护和功能保护都可能导致电机运转终止, 复位也可能导致重启动,但这里的条件指的是正常运行的启动和终止条件,譬如顺序 控制的流程步。 4、控制模式:如手动和自动等。 5、故障复位:通过复位信息,重新启动。 输出信息: 1、控制输出,如控制电机的主接触器。 2、状态信息输出

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档