PLC编程方法概述及线性化编程,再不学习就晚了
用户程序结构
线性程序(线性编程)
所谓线性程序结构,就是将整个用户程序连续放置在一个循环程序块(OB1)中块中的程序按顺序执行,CPU通过反复执行OB1来实现自动化控制任务。这种结构和PLC所代替的硬接线继电器控制类似,CPU逐条地处理指令。事实上所有的程序都可以用线性结构实现,不过,线性结构一般适用于相对简单的程序编写。
分部式程序(分部编程、分块编程)
所谓分部程序,就是将整个程序按任务分成若干个部分,并分别放置在不同的功能(FC)、功能块(FB)及组织块中,在一个块中可以进一步分解成段。在组织块OB1中包含按顺序调用其他块的指令,并控制程序执行。 在分部程序中,既无数据交换,也不存在重复利用的程序代码。功能(FC)和功能块(FB)不传递也不接收参数,分部程序结构的编程效率比线性程序有所提高,程序测试也较方便,对程序员的要求也不太高。对不太复杂的控制程序可考虑采用这种程序结构。
结构化程序(结构化编程或模块化编程 )
所谓结构化程序,就是处理复杂自动化控制任务的过程中,为了使任务更易于控制,常把过程要求类似或相关的功能进行分类,分割为可用于几个任务的通用解决方案的小任务,这些小任务以相应的程序段表示,称为块(FC或FB)。OB1通过调用这些程序块来完成整个自动化控制任务。
结构化程序的特点是每个块(FC或FB)在OB1中可能会被多次调用,以完成具有相同过程工艺要求的不同控制对象。这种结构可简化程序设计过程、减小代码长度、提高编程效率,比较适合于较复杂自动化控制任务的设计。
利用Shift移位指令的线性化编程方法
梯形图指令
EN:Enable 允许输入,使能输入
IN:待移位的原数据
N:要移位的位数
ENO:Enable Out,使能输出
OUT:移位操作的结果
指令使用注意
1、IN、OUT数据类型要与移位指令名称中的类型一致才可移位
2、N的表示方法
可用BCD码表示:C#x 范围0~15
可用16进制数表示:W#16#X 范围:W#16#1~W#16#FFFF
可用存储单元来表示:MWx
3、明确存储器中数据的存放格式
多气缸的应用A+A-B+C+C-B-A+A-
气动回路
1)实现A+A-B+C+C-B-A+A-
2)手动方式下,按下start,按顺序执行
3)自动方式下,按下start,循环执行上述动作10次且循环间隔2s
4)自动方式下,按下pause,工步停止,按下start,当前工步继续 进行,按下stop,1个循环结束后停止
PLC编程到底是啥?看电气大神讲PLC,膜拜!真是一针见血
PLC常见的用途是替代电气控制中的继电器逻辑控制电路。例如电机控制、变电站市电进线互投和自备发电机起停控制、过程控制DCS操控系统和楼宇消防系统控制等等。一般的城市居民小区高层建筑的水压控制,就是采取PLC配套变频器执行水泵操控的。
PLC更重要的用途是构建数据交换系统,它把现场总线变换为工业以太网,实现现场设备与后台的数据交换,以及接收和执行遥控命令等等。
在工业、民居、国防、交通(地铁、港口、民航)、银行和移动的数据中心中都大量使用PLC,由此可见PLC的用途之广。
PLC的硬件系统简介
图1:ABB的AC500系列PLC
图1的左侧是通信接口模块,它能实现PLC的通信数据和网络数据交换。向右显示了"AC 500"的是PLC的主体,即CPU模块。再往右是开关量输入/输出模块以及模拟量输入输出模块。
由此我们看到,PLC类似于一个单片机系统。事实上,PLC就是单片机智能化系统,但它的可靠性和稳定性非常高,远远超过了一般的单片机。
在工业环境下的电磁骚扰强烈,所以PLC必须要满足国家标准对电磁骚扰的要求。有关电磁骚扰的国家标准如下:
图2:国家标准中对工业条件下电磁骚扰的测量方法和要求
PLC抵御电磁骚扰的硬件措施包括电源隔离、开关量输入接口采取光电隔离、模拟量也采取光电隔离等措施。输出接口的电磁骚扰会弱一些,但也需要采取一定的措施,包括OC门和继电器接口等等。
为了提高PLC的可靠性,在重要场合还采取主PLC与从PLC冗余配套工作的措施,见下图:
图3:PLC的冗余措施
我们原来在变电站电力监控系统中用工业控制计算机作为中间层面的数据处理中心,但工业控制计算机存在电源故障、硬盘故障,抗电磁骚扰能力弱,后来就淘汰了,转而使用PLC作为数据处理中心。下图是《低压成套开关设备的原理及其控制技术》中的插图:
图4:图中的CCU就是PLC构建的通信管理中心
在图4中,既有利用PLC执行低压进线、母联和自备发电机间的备自投系统,也有执行数据交换的PLC系统。
PLC的软件系统
学过初级编程知识的人都知道循环语句。一旦程序进入死循环,程序事实上就是死机了。对于PLC来说也是如此。一旦PLC进入死循环,它的接口会复位,被控制量会发生严重问题。因此,PLC的程序语句是一条条顺序执行的,一直运行到最后一条再返回,不会出现死循环。即便是转移指令,只要转移条件满足就转移,否则跳过转移程序段继续执行。
这就是PLC软件系统的可靠性很高的原因之一。
我们看下图:
图5:PLC的模块化编程语言
图5摘自北京地铁工程的PLC程序局部。
PLC程序格式有两种,其一是梯形图格式,其二是模块化编程语言格式。对于较复杂的PLC程序,一般都采用模块化编程语言来编写。不管是梯形图也好,是模块化编程语言也好,它们都必须符合国际电工委员会IEC61131-3标准的要求。
下图是用于控制电机实现星三角转换的程序:
图6:电动机星三角转换的PLC程序局部
图6中的STEP2和STEP3就是转移程序端。如果不符合条件,程序会跳过转移程序段执行。
最有意思的是PLC的PID程序模块,很有使用价值。
给大家的建议
学习PLC技术,刚开始大都以梯形图为主。实际上,PLC刚开始学习时无非就是控制十字路口红绿灯等等,真正的PLC技术绝不仅仅在于此,只要做过一个工程,对PLC的认知就会大幅提升。
相关问答
哪里可以找到plc编程的私活我从事电气自动化工..._化工工程...
您可以尝试在以下平台寻找PLC编程的私活:1.招聘网站:例如智联招聘、前程无忧、猎聘网等,可以搜索相关职位或发布个人求职信息。2.自由职业者平台:...
靖江英博PLC编程培训内容有哪些
[回答]三菱Fx-2nPLC的结构、原理2、重点主讲三大程序指令(步进指令、步进顺空指令、功能指令)3、AD,DA转换(控制温度、压力、液...8、变频器的控制方式、...
西门子s7-200PLC系统怎么样?它的功能有哪些?
西门子S7-200PLC可以满足各种设备自动化控制需求,此系统也属于紧凑型可编程序控制器。系统的硬件构架主要由系统CPU模块和丰富的扩展模块构成。s7-200PLC除基本...
WinCC和PLC是什么?
WINCC是一个工控系统中的一个电脑控制组态软件,他可以和PLC通讯,可以点击组态中的按钮来操作一些设备的运行或停止;PLC是可编程控制器,你可以经过自...
UHPLC_MS的简介-盖德问答-化工人互助问答社区
国外环保理念,节省人力资源,仪器是越来越先进学术上!谢谢你是从学术还是应用?应用就是快,节省溶剂,国外普遍,国内用不起国外环保理念,节省人力资...
plc转盘系统发展背景?
PLC的发展背景及其功能概述PLC,(ProgrammableLogicController),乃是一种电子装置,早期称为顺序控制器“SequenceController”,1978NEMA...
西门子PLC顺序控制指令的简介?
西门子S7-200系列PLC提供了顺序流程的相关指令,即顺序控制继电器指令LSCR、SCRT、SCRE。LSCRn是标记一个顺序控制器段(SCR)的开始,n为顺序控制器S的地址,当n...
西门子PLC的MPI通讯协议怎么用,需要编程吗?
这个问题问的有点广,西门子PLC的MPI通信,不同的对象不同。我现在以一下西门子S3-300MPI与上位机组态软件(三维力控,我以前公司)为例!S7-300/400PLCMPI通...要...
plc顺序控制指令?
西门子PLC顺序控制指令即西门子S7-200系列PLC控制指令,主要分为定义顺序段、段开始、段结束、段转移四个板块,详细简介如下:1、定义顺序段即定义一个顺序控...
plcouc库怎么更改?
修改plc中位寄存器的数据步骤:1.定位所要写入的寄存器;2.用编程软件在线环境下找到要赋值的寄存器;3.直接赋值。PLC简介:可编程逻辑控制器,它采用一类...