历史上的今天
今天是: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、方便阅读,我们编写的程序除了要完成指定的功能,也要便于读懂和上手。很多项目不是一个人能完成的,你的程序好理解,团队中的人就能比较好配合。在环境本身就恶劣的现场,拿到一坨屎样的程序,你有还心情调试吗?
另外在程序中要把变量名、注释标识清楚,并且与图纸对应起来。做到程序中的信息便于检索和查找。
史海拾趣
|
菜鸟,最近刚接触到quartus ii...有个问题不大明白 quartus的每次编译是不是只能编与顶层实体名相同的文件啊?如果想编译其他文件应该怎么办呢?… 查看全部问答> |
|
大概有12页,元件库大部分要自己做。 要求: 1. 画元件库时,参照数据手册和PDF文件,引脚不能标错 2. 画原理图时,各连线要与PDF完全对应 3. 时间:2、3天 下面是我的联系方式: QQ:17653039 MSN/Email: thisway.diy@163.com 有兴趣的朋 ...… 查看全部问答> |
|
我现在要做一个16路数据采集,想用74150芯片,但我不知道74150这个芯片如何使用,下的pdf上也没有相关电路,哪位大侠能给我个电路看看,我的邮箱gengjia8512@sina.com。… 查看全部问答> |
|
WebProxy.GetProxy()没办法获取IE代理服务器地址 在WinCE下没办法得到,在WindowsXP上是没问题的。 WebProxy.GetProxy()有用于WINCE的版本,但是得不到地址。咋回事呢? 我在CEPC 和 DeviceEmulator上都试了,都不行。 请大侠指点迷津。谢谢。 … 查看全部问答> |
|
该驱动为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 请问是软件问题还是硬件问题,如果是软 ...… 查看全部问答> |
|
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为时钟?… 查看全部问答> |




