0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用PLC的程序语言编制的应用程序用来实现各种控制

aIpM_gongkongwo 来源:lp 2019-03-08 16:00 次阅读

plc编程软件由系统程序和用户程序两部分组成。系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。plc编程软件系统由PLC厂家提供并已固化在EPROM中,不能直接存取和干预。用户程序是用户根据现场控制要求,用PLC的程序语言编制的应用程序(也就是逻辑控制)用来实现各种控制。

标准语言梯形图语言是最常用的一种语言,它有以下特点:

梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。

PLC梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。

内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。

PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中所以输出点的值在用户程序中可以当做条件使用。

1、认识梯形图和继电器控制原理图符号的区别:

继电器控制原理图中的元件符号,有常开触点、常闭触点和线圈,为了区别它们,在有关符号边上标注如KM、KA、KT等以示不同的器件,但其触头的数量是受到限制。而PLC梯形图中,也有常开、常闭触点,在其边上同样可标注X、Y、M、S、T、C以示不同的软器件。它最大的优点是:同一标记的触点在不同的梯级中,可以反复的出现。而继电器则无法达到这一目的。而线圈的使用是相同的,即不同的线圈只能出现一次。

2、编程元件的分类:

编程元件分为八大类,X为输入继电器、Y为输出继电器、M为辅助继电器、S为状态继电器、T为定时器、C为计数器、D为数据寄存器和指针(P、I、N)。关于各类元件的功用,各种版本的PLC书籍均有介绍,故在此不介绍,但一定要清楚各类元件的功能。

3、编程元件的指令由二部分组成:

如 LD(功能含意)X000(元件地址),即 LD X000,LDI Y000......

4、熟识PLC基本指令:

(1) LD(取)、LDI取反)、OUT(输出)指令;LD(取)、LDI(取反)以电工的说法前者是常开、后者为常闭。这二条指令最常用于每条电路的第一个触点(即左母线第一个触点),当然它也可能在电路块与其它并联中的第一个触点中出现。

这是一张PLC梯形图(不会运行)。左边的纵线称为左母线,右母线可以不表示。该图有三个梯级;

第1梯级;左边第一个触点为常开,上标为X000,X表示为输入继电器,其后的000数据,可以这样认为它使用的是输入继电器中的编号为第000的触点(下同)。其指令的正确表示应为(如右图程序所示):0、LD X000 (前头的0 即为从第0步开始,指令输入时无须理会,它会自动按顺序显示出)。

第2梯级;左边的第一个触点为常闭触点,上标为T0,T表示定时器(有时间长短不同,应注意),0则表示定时器中的编号为0的触点。其指令的正确表示应为:2、LDI T0(如程序所示)。 第3梯级;左边第一个触点为常闭,上标为M0, M为辅助继电器(该继电器有多种,注意类别),其指令的正确表示应为:4、LDI M0(如程序所示)。本梯级的第2行第一个触点为常开,上标为Y000,Y表示输出继电器,由于该触点与后面Y001触点呈串联关系,形成了所谓的电路"块",故而其触点的指令应为 5、LD Y000。总之LD与LDI指令从上面可以看出,它们均是左母线每一梯级第一触点所使用的指令。

而梯级中的支路(即第3梯级的第2行)有二个或二个以上触点呈串联关系,其第一触点同样按LD或LDI指令。可使用LD、LDI指令的元件有:输入继电器X、输出继电器Y、辅助继电器M、定时器T、计数器C、状态继电器S。OUT为线圈驱动指令,该指令不能出现在左母线第一位。驱动线圈与驱动线圈不能串联,但可并联。同一驱动线圈只能出现一次,并安排在每一梯级的最后一位。如上图中的1、OUT Y000,3、OUT Y001,Y为输出继电器,其线圈一旦接获输出信号,可以这样认为,线圈将驱动其相应的触点而接通外部负载(外部负载多为接触器、中间继电器等)。而上图8、OUT T0 K40 为定时器驱动线圈指令,其中的K为常数40为设定值(类似电工对时间继电器的整定)。可使用OUT指令元件有:输出继电器Y、辅助继电器M、定时器T、计数器C、状态继电器S。

(2) 触点的串联指令AND(与)ANI(与非);前者为常开,后者为常闭。二者均用于单个触点的串联。二指令可重复出现,不受限制,。如下图所示。

由第1梯级来看;X000、T0、Y001三触点成串联关系,即T0的常闭串接于X000的后端,而Y001的常闭则串接于T0常闭的后端。由于都是常闭故用ANI指令。现来看第2梯级;X000、M0、Y001,同样三触点也是串联关系,M0的常闭接点串接于X001的后端,而Y000的常开接点则串接于M0的后端。故M0的指令用ANI,而Y000的指令则用AND(具体编程详上图),只要是串联后面是常开的用AND,是常闭的则用ANI。可使用AND、ANI指令元件有:输入继电器X、输出继电器Y、辅助继电器M、定时器T、计数器C、状态继电器S。

(3) 触点并联指令OR(或)、ORI(或反);触点并联时,不管梯级中有几条支路,只要是单个触点与上一支路并联,是常开的用OR,是常闭的则用ORI。如下图所示。

可以看出上图的X000、X001、M0三者处于并联关系。由于X000下面二条支路均为单个触点,因X001是常开触点,故用OR指令。而M0是常闭触点,则用ORI指令。三接点并联后又与M1串联,串联后又与Y000并联,而Y000也是单个触点,所以仍采用OR指令。可使用OR、ORI指令元件有:输入继电器X、输出继电器Y、辅助继电器M、定时器T、计数器C、状态继电器S。

(4) 串联电路块的并联指令ORB(或);任一梯级中有多(或单支路)支路与上一级并联,只要是本支路中是二个以上的触点成串联关系(即所谓的:串联电路块),则应使用ORB指令。如下图所示。

由上图可以看出,第一支路X003的常开触点与M1的常开触点成串联关系(在这样的情况下,形成了块的关系),它是与上一行的X000与M0串联后相并联,此时程序的编写,如步序号0、1、2、3、4所示。4所出现的第一个ORB指的是与上一行并。而第二支路,常闭Y001与M2同样是串联关系。也是一个块结构,其串联后再与第一支路并。故步序7再次出现ORB。ORB指令并无梯形图与数据的显示。可以这样认为;它是下一行形成电路块的情况下与上一行并联的一条垂直直线(如图中所示的二条粗线)。

(5) 并联电路块与块之间的串联指令ANB;如左下图虚线框内所示的二电路块相串,各电路块先并好后再用ANB指令进行相串。左图的梯形图可以用右图进行简化。程序的编写如下图所示。ANB指令并无梯形图与数据的显示。可以这样认为;它是形成电路块与电路块之间的串联联接关系,是一条横直线。

(6) 进栈指令MPS、读栈指令MRD、出栈指令MPP和程序结束指令END;MPS、MRD、MPP这是一组堆栈指令。如下图使用的二种堆栈形式;在堆栈形式下MPS应与MPP成对出现使用。如在第一堆栈形式下,则采用MPS、MPP指令。若在MPS、MPP指令中间还有支路出现,则增加MRD指令,如下图的第二堆栈所示。应知道MPS、MPP成对出现的次数应少于11次,而MRD的指令则可重复使用,但不得超过24次。要知道这一组指令,同样并无梯形图与数据的显示。可以这样认为;MPS是堆栈的起始点,它起到承上启下的联接点作用,而支路的MRD、MPP则与之依次联接而已。而END指令则是结束指令,它在每一程序的结束的末端出现。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 继电器
    +关注

    关注

    131

    文章

    5026

    浏览量

    146015
  • 寄存器
    +关注

    关注

    30

    文章

    5027

    浏览量

    117710
  • plc
    plc
    +关注

    关注

    4974

    文章

    12248

    浏览量

    454846

原文标题:PLC编程怎么从菜鸟变成高手

文章出处:【微信号:gongkongworld,微信公众号:工控资料窝】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    怎么分析程序语言啊?

    怎么分析程序语言啊?
    发表于 05-15 21:14

    如何正确掌握程序语言

    学习程序语言是每个程序员的必经之路。可是这个世界上有太多的程序语言,每一种都号称具有最新的“特性”。所以程序员的苦恼就在于总是需要学习各种
    发表于 08-15 23:47

    matlab导入及导出RINEX文件具体程序语言

    本帖最后由 轻舞飞扬123AA 于 2015-12-2 11:15 编辑 小弟有一下两个问题需要大家帮忙:1、把RINEX文件(o文件及n文件)导入matlab形成矩阵文件具体程序语言。2、把矩阵文件导出成RINEX文件(o文件及n文件)具体程序语言。多谢大家!!
    发表于 12-02 11:12

    单片机的C语言应用程序设计

    单片机的C语言应用程序设计 2.ppt(6) C语言中的库文件提供许多标准的例程,例如格式化输出、数据转换和浮点运算等。 (7) 通过C语言实现
    发表于 07-14 08:18

    如何实现单片机各种功能的程序编制

    如何实现单片机各种功能的程序编制
    发表于 09-29 07:10

    什么是单片机程序语言的头文件?

    什么是单片机程序语言的头文件?
    发表于 10-14 08:01

    可编程序控制器的五种标准编程语言

    可编程序控制器的五种标准编程语言 PLC的用户程序是设计人员根据控制系统的工艺控制要求,通过
    发表于 06-19 13:06 6215次阅读
    可编<b class='flag-5'>程序控制</b>器的五种标准编程<b class='flag-5'>语言</b>

    PLC编程实例从菜鸟变高手

    在EPROM中,不能直接存取和干预。用户程序是用户根据现场控制要求,用PLC程序语言编制应用程序
    发表于 09-19 15:50 11次下载
    <b class='flag-5'>PLC</b>编程实例从菜鸟变高手

    上海飞奥做的天燃器末站PLC系统程序5000

    PLC的软件系统是指PLC所使用的各种程序的集合。它包括系统程序和用户程序。 系统
    发表于 09-30 09:28 2次下载
    上海飞奥做的天燃器末站<b class='flag-5'>PLC</b>系统<b class='flag-5'>程序</b>5000

    C程序语言在电路板上编写一组流水灯

    用C程序语言,编写一个程序,让我们的电路板上,产生一组流水灯,让大家看到我们的产品像流水一样闪动。
    发表于 03-06 15:14 4595次阅读
    C<b class='flag-5'>程序语言</b>在电路板上编写一组流水灯

    编制PLC时序控制程序的方法及典型应用介绍

    可编程序控制器(PLC)的时序控制程序,是指能够实现PLC各输出端信号的状态在时间上按一定的顺序要求进行变化的用户
    的头像 发表于 06-17 08:33 8625次阅读
    <b class='flag-5'>编制</b><b class='flag-5'>PLC</b>时序<b class='flag-5'>控制程序</b>的方法及典型应用介绍

    FlyColor取色工具应用程序免费下载

    本文档的主要内容详细介绍的是FlyColor取色工具应用程序免费下载,非常不错的取色工具,有各种程序语言可选,还有坐标和名柄。
    发表于 03-20 08:00 1次下载
    FlyColor取色工具<b class='flag-5'>应用程序</b>免费下载

    一个简单的C语言应用程序用来分离一列数中的奇数和偶数免费下载

    本文档的主要内容详细介绍的是一个简单的C语言应用程序用来分离一列数中的奇数和偶数免费下载。
    发表于 05-27 08:00 0次下载
    一个简单的C<b class='flag-5'>语言</b><b class='flag-5'>应用程序</b><b class='flag-5'>用来</b>分离一列数中的奇数和偶数免费下载

    编制PLC程序的基本步骤

    采用PLC作为中间过程控制的电梯电气控制,在电路原理图和安装接线图设计绘制完成后,还必须设计绘制与电路原理图对应的PLC梯形图程序,梯形图
    发表于 04-04 17:15 3430次阅读

    浅谈PLC应用程序的内容和质量

    PLC应用程序应最大限度地满足被控对象的控制要求,在构思程序主体的框架后,要以它为主线,逐一编写实现
    发表于 06-25 10:04 167次阅读
    浅谈<b class='flag-5'>PLC</b><b class='flag-5'>应用程序</b>的内容和质量