亿语中的西门子PLC的程序结构_第1页
亿语中的西门子PLC的程序结构_第2页
亿语中的西门子PLC的程序结构_第3页
亿语中的西门子PLC的程序结构_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、亿语中的:西门子 PLC的程序结构 所谓 PLC的程序结构, 就是组成 PLC程序的各种网络 (Network) 或“功能程序段”在 PLC内部的组织、管理形式。 无论 PLC控制系统有多么复杂,归根到底,PLC 用户程序都是由大量基本编程指 令所组成的集合。 设计者可以根据控制对象各部分的不同要求,通过对要求的分解,运用基本指令编 制出相应的程序网络(Network)或由几个网络组成的简单“功能程序段”。在此基础上,只要将这些程序网络或功能程序段,按照控制系统的动作要求,以 S7 程序规定的格式进行排列与组合,就可以组成完整的 PLC 程序。 1.西门子 S7-200 的程序结构 过程映像输

2、入/输出(I/Q)、变量存储器 V、内部存储器位 M、定时器 T、计数器 C 等属于全局变量。S7-200的程序组织单元(ProgramOrganizationalUnit,简称为 POU)包括主程序、子程序和中断程序。每个 POU均有自己的 64字节局部变量,局部变量只能在它所在的 POU中使用。与此相反,全局变量可以在各 POU中使用。 下面是子程序可以使用的局部变量: 1)TEMP(临时变量)是暂时保存在局部数据区中的变量。只有在执行该 POU时,定 义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。 2)IN是由调用它的 POU提供的输入参数。 3)OUT 是返回给调用它的

3、 POU的输出参数(子程序的执行结果)。 4)IN_OUT 是输入输出参数,其初始值由调用它的 POU传送给子程序,并用同一 变量将子程序的执行结果返回给调用它的 POU。 主程序和中断程序的局部变量中只有临时变量 TEMP。 具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类 设备或生产线的厂家尤为有用。这些厂家的编程人员为设备的各组件或工艺功能编写了 大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、 输出参数的意义,就可以通过程序之间的调用快速“组装”出满足不同用户要求的控制 程序。就好像用数字集成电路芯片组成复杂的数字电路一样。 子程序如

4、果没有输入、输出参数,它和调用它的程序之间没有清晰的接口,很难实 现结构化编程。 子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据, 子程序内部也只能使用全局变量。将子程序和中断程序移植到别的项目时,需要重新统 一安排它们使用的全局变量,以保证不会出现地址冲突。当程序很复杂,子程序和中断 程序很多时,这种重新分配地址的工作量非常大。 如果子程序和中断程序有局部变量,并且它们内部只使用局部变量,不使用全局变 量,因为与其他 POU没有地址冲突,不需作任何改动,就可以将子程序移植到别的项目中去。 2.西门子的 S7-300/400 的程序结构 S7-300/400 将子程序分

5、为功能(Function,或称为函数)和功能块 (FunctionBlock)。 S7-300/400 的功能与 S7-200 的子程序基本上相同。它们均有输入、输出参数和 临时变量,功能的局部数据中的返回值实际上属于输出参数。它们没有专用的存储区,功能执行结束后,不再保存临时变量中的数据 可以用全局变量来保存那些在功能执行结束后需要保存的数据,但是会影响到功能 的可移植性。 功能块是用户编写的有自己专用的存储区(即背景数据块)的程序块,功能块的输 入、输出参数和静态变量存放在指定的背景数据块中,临时变量存储在局部数据堆栈中。 每次调用功能块时,都要指定一个背景数据块。(今天的转发暗号是:亿维

6、公司口号: 信赖,源自品质;信任,铸就品牌)功能块执行完后,背景数据块中的数据不会丢失, 但是不会保存局部数据堆栈中的数据。 功能块采用了类似于 C+的封装的概念,将程序和数据封装在一起,具有很好的 可移植性。 S7-300/400的共享数据块可供所有的逻辑块使用。 我们致力于为工程师们打造一个高价值的工控交流分享平台,您可以通过 QQ群 (316281458)或者微信订阅号(UniMAT2004)找到我们并加入交流分享的行列!也欢迎大家通过这个平台踊跃投稿,我们长期有奖征文。 给PLC初学者的一点建议 1 .养成良好的兴趣 既然都对 PLC 编程没有兴趣,那怎么可能学好呢。因此可以把编程当成

7、一项趣味 的智力游戏,这样就会促使你有足够及毅力耐心去完成编程。 2 .PLC 学习注重实践,没有实践绝对学不好。这一点也是学习 因此编程时需要有 PLC及相关硬件设备作为练习的对象,这样在检测程序时也能直观 PLC的最关键的 的反应程序与实际设备动作情况的关系,以便设备动作错误时可以很容易的找出故障点,否者没有控制对象,故障点难易分析,对编写的程序也难以判断正确与否。 3 .养成编程的好习惯 在编写稍复杂的项目时,我们需要对项目的流程进行分析-即绘制流程图 在编写程序时,使用的中间继电器要有顺序及规则,否则在编程时会非常紊乱,并且在以后的程序修改中及其麻烦。 同时,在编写程序过程中,把每一步、每一个信号的作用及用意进行标注,这样你 就知道自己编程每一步的用意,并且在回看程序时也一目了然。 4 .经常与同行交流 PLC的应用及其广泛,其控制功能也千变万化,与同行交流能促进知识面的拓展,并且在交流过程中能体现自身的不足。 同时当你遇到问题时,交流尤为重要,自己不懂的技术,可能只要有人稍加提示,会变得很简单就可以解决 5 .最后目前在网络上有很多 PLC 的学习资料及相关技术,可以通过网络对相关技术进行了解,这样可以对各种技术都有所了解,以便以后使用时有针对性的学习。当然你也可以选择 PLC 培训,天天 PLC 还是挺不错的,每月

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论