历史上的今天
返回首页

历史上的今天

今天是:2025年04月19日(星期六)

2018年04月19日 | PLC编程入门基础技术知识(plc原理和指令集及编程规则)

2018-04-19 来源:糖果123

    PLC简介


    可编程序控制器,英文称Programmable Controller,简称PC。但由于PC容易和个人计算机(Personal Computer)混淆,故人们仍习惯地用PLC作为可编程序控制器的缩写。它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。


  PLC是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中的机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是PLC的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。用户在购到所需的PLC后,只需按说明书的提示,做少量的接线和简易的用户程序编制工作,就可灵活方便地将PLC应用于生产实践。


    PLC的结构


  PLC的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。PLC的硬件系统结构如下图所示:

  

    PLC的工作原理


  PLC是采用“顺序扫描,不断循环”的方式进行工作的。即在PLC运行时,CPU根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束。然后重新返回第一条指令,开始下一轮新的扫描。在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。


  PLC的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。


  PLC在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入。随即关闭输入端口,进入程序执行阶段。


  PLC在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。


  输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶闸管)输出,驱动相应输出设备工作。


    plc指令集


  

  

  

  

  


    PLC编程规则(可编程控制器梯形图)


  一、编程的几个步骤


  (一)决定系统所需的动作及次序。


  当使用可编程控制器时,最重要的一环是决定系统所需的输入及输出。输入及输出要求:


  (1) 第一步是设定系统输入及输出数目。


  (2) 第二步是决定控制先后、各器件相应关系以及作出何种反应。


  (二)对输入及输出器件编号


  每一输入和输出,包括定时器、计数器、内置寄存器等都有一个唯一的对应编号,不能混用。


  (三)画出梯形图。


  根据控制系统的动作要求,画出梯形图。


  梯形图设计规则


  (1)触点应画在水平线上,并且根据自左至右、自上而下的原则和对输出线圈的控制路径来画。


  (2)不包含触点的分支应放在垂直方向,以便于识别触点的组合和对输出线圈的控制路径。


  (3)在有几个串联回路相并联时,应将触头多的那个串联回路放在梯形图的最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。这种安排,所编制的程序简洁明了,语句较少。


  (4)不能将触点画在线圈的右边。


  (四)将梯形图转化为程序


  把继电器梯形图转变为可编程控制器的编码,当完成梯形图以后,下一步是把它的编码编译成可编程控制器能识别的程序。


  这种程序语言是由序号(即地址)、指令(控制语句)、器件号(即数据)组成。地址是控制语句及数据所存储或摆放的位置,指令告诉可编程控制器怎样利用器件作出相应的动作。


  (五)在编程方式下用键盘输入程序。


  (六)编程及设计控制程序。


  (七)测试控制程序的错误并修改。


  (八)保存完整的控制程序。


  


    编程原则经验总结


  1、安全性,使用PLC控制多少都会有自动运行的部分,对这部分要做到万无一失,宁可不做,也不要让被控对象处于失控状态。手动部分程序也要连锁限位,或者加入时间限制。很多机械设备在机构上有自己的安全机制,你最好忘掉这点,在程序上做到人员、机器绝对安全。


  2、功能完整,在保证安全的前提下,尽可能的实现客户的功能要求。这个时候正是体现你专业性的时候,不要等到设备交付时,让销售人员无法交差。对于因硬件或其他原因不能实现的部分,尽早与客户沟通。


  3、逻辑缜密,我们的程序不仅需要在各部分正常时,能顺利完成每个动作。当丢失某些信号时,要依然能处于安装状态,并有安全提示。


  4、程序简单化,在功能上我们要逻辑缜密,做到思维无漏洞。但是在编程时就要用最简单的语句,完成尽可能多的功能。做到程序易于修改、方便调试、升级简单。


  程序的一般流程是:明确工艺要求,编程设计,调试,发现问题,增加(修改)功能,继续编程,再调试,继续新一轮修改,如此往复。所以你的程序从开始设计,就要易于修改,不要搞成“牵一发而动全身”,无形中自己给自己增加难度。


  5、方便阅读,我们编写的程序除了要完成指定的功能,也要便于读懂和上手。很多项目不是一个人能完成的,你的程序好理解,团队中的人就能比较好配合。在环境本身就恶劣的现场,拿到一坨屎样的程序,你有还心情调试吗?


  另外在程序中要把变量名、注释标识清楚,并且与图纸对应起来。做到程序中的信息便于检索和查找。

推荐阅读

史海拾趣

EM Devices Corporation公司的发展小趣事

作为一家有社会责任感的企业,EM Devices Corporation不仅关注自身的经济效益,还积极履行社会责任。公司严格遵守环保法规,采取了一系列环保措施,减少生产过程中的污染排放。此外,公司还积极参与公益事业,为社会做出了积极的贡献。这种可持续发展的理念为公司赢得了广泛的社会赞誉和尊重。

HI Microwave Technology Limited公司的发展小趣事

随着技术的不断积累和市场需求的日益增长,HI Microwave不断加大研发投入,成功开发出了一系列高性能的微波组件产品,包括隔离器、循环器、开关、滤波器、功率分配器/合成器、定向耦合器、天线、混频器、压控振荡器(VCOs)和射频放大器等。这些产品广泛应用于无线电信和光纤通信行业,满足了客户多样化的需求。同时,公司还积极与国内外知名企业和科研机构合作,共同推动微波通信技术的发展。

CINTERION公司的发展小趣事

近年来,随着智能电网技术的快速发展,CINTERION凭借其领先的M2M通信技术,在该领域取得了显著突破。其EU3 M2M模块因其卓越的性能和稳定性,荣获了SmartGrid.TMCnet.com颁发的2011年智能电网杰出奖。这一奖项的获得,不仅证明了CINTERION在智能电网技术创新方面的实力,也为公司在该领域的进一步发展奠定了坚实基础。

优先(苏州)半导体公司的发展小趣事

宝士曼第三代半导体研发生产项目位于苏州东山大道旁,占地50亩,计划建设生产、研发、办公等楼宇。项目整体将分二期建成,总建筑面积约70000平方米。已经封顶的4号楼建筑面积超11600平方米,主要用于第三代半导体器件专用封装设备的研发生产。在施工过程中,宝士曼对环保和施工细节提出了更高的要求,要求地面每5平方米的高度误差要小于3毫米,并在施工中做到“工完场清”,最大程度减少对今后生产的影响。这种对细节的严格要求体现了宝士曼对产品质量和环保责任的重视。

DURATOOL公司的发展小趣事

随着环保意识的不断提高,绿色、环保、低碳已成为全球经济发展的重要趋势。DURATOOL公司积极响应这一趋势,致力于研发和生产绿色环保的电子工具产品。公司采用环保材料和工艺生产产品,减少了对环境的污染和破坏。同时,公司还积极开展环保宣传和公益活动,引导消费者树立绿色消费观念。这些举措不仅提升了DURATOOL公司的社会形象,也为其在未来的市场竞争中赢得了先机。

ELMOS公司的发展小趣事

ELMOS作为一家欧洲公司,在世界各地都设有研发和销售办事处。这种全球化的布局使得ELMOS能够更好地了解不同市场的需求,为客户提供更加贴近市场的产品和服务。同时,通过与全球各地的客户和合作伙伴的紧密合作,ELMOS不断拓展其国际市场份额,进一步提升了公司的国际影响力。

问答坊 | AI 解惑

关于Quartus的一个问题,请高手帮忙指点指点

菜鸟,最近刚接触到quartus ii...有个问题不大明白 quartus的每次编译是不是只能编与顶层实体名相同的文件啊?如果想编译其他文件应该怎么办呢?…

查看全部问答>

有个活:把PDF的原理图画成protel 99格式的

大概有12页,元件库大部分要自己做。 要求: 1. 画元件库时,参照数据手册和PDF文件,引脚不能标错 2. 画原理图时,各连线要与PDF完全对应 3. 时间:2、3天 下面是我的联系方式: QQ:17653039 MSN/Email: thisway.diy@163.com 有兴趣的朋 ...…

查看全部问答>

74150数据选择芯片的使用问题

    我现在要做一个16路数据采集,想用74150芯片,但我不知道74150这个芯片如何使用,下的pdf上也没有相关电路,哪位大侠能给我个电路看看,我的邮箱gengjia8512@sina.com。…

查看全部问答>

WebProxy.GetProxy()没办法获取IE代理服务器地址

在WinCE下没办法得到,在WindowsXP上是没问题的。 WebProxy.GetProxy()有用于WINCE的版本,但是得不到地址。咋回事呢? 我在CEPC 和 DeviceEmulator上都试了,都不行。 请大侠指点迷津。谢谢。 …

查看全部问答>

(RMB求助)usb驱动外包

该驱动为HID驱动,类驱动为Windows固有类驱动!在该类驱动的基础上编客户驱动程序.需要打包成.dll文件给Java调用.该驱动具有读,写功能.提供API接口. 有兴趣的朋友可以详谈. 我们会支付您满意的报酬! 联系方式: MSN:  aban740 ...…

查看全部问答>

急:程序短可以正常Load Program, 程序长了就不行了

自己做了一块2407的板, 在编程时发现程序短可以正常Load Program,但程序长度超过一定范围就不行了,错误提示为: Data verification failed at address 0x100. Please verify target memory and memory map 请问是软件问题还是硬件问题,如果是软 ...…

查看全部问答>

发现手机的字库很多都用ARM哦。

今天拆了太F11,汽车模型的手机,发现了ARM芯片,嘻嘻,我是学生新手,大家别笑哦。…

查看全部问答>

ADI实验电路CN0197基于AD7280A的电池管理系统第二阶段汇报

    距离上次汇报工作进展又过去了一周多的时间,在这一周的时间里,第一个惊喜是样片的送到,由于我申请的样片AD7280A,小批量在国内很难买到,所以选择了申请样片,在此还要感谢一下那位不知道名字的好心哥们儿,替我申请来样片, ...…

查看全部问答>

一种适用于多个系统的设计:经改造的超声波系统设计

本帖最后由 dontium 于 2015-1-23 13:18 编辑 作者:Xiaochen Xu、Harish Venkataraman 以及 Anand Udupa,德州仪器 (TI)    关键词:超声波、医疗、模拟前端、AFE、AFE5805 以及德州仪器   摘要   超声波成像作为一种 ...…

查看全部问答>

为什么Quartus II 10.1 综合出来结果使用0个单元?

为什么Quartus II 10.1 综合出来结果使用0个单元?没有报错,能看到RTL的视图看到综合出来的网络器件也已经选择了的有提示说没有设置时钟     请问该如何设置clk为时钟?…

查看全部问答>