#4:3:a:d:0:d:b:7:c:0:9:7:e:3:d:e:c:2:b:f:6:f:d:0:1:c:0:9:1:6:d:e#
#7:5:a:1:1:7:0:6:c:d:3:9:7:4:4:e:e:1:e:6:1:a:0:2:d:e:4:c:b:0:a:f#
PLC编程是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部储存执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各类类型的机械或生产过程。可编程序控制器及其有关设备,都应按便于使工业控制系统产生一个整体,易于扩展其功能的原则设计
随着微处理器、计算机和数字通信技术的急速发展,计算机控制已扩充到了几乎所有的工业领域。现代社会要求制造业对市场需求做出迅速的反应,生产出小批量、多品种、多尺寸、低成本和高质量的产品,为了满足这一要求,生产设备和手动生产线的控制系统必须具有极高的可靠性和灵活性,PLC编程正是迎合这一要求出现的,它是以微处理器为基础的通用工业控制装置。
工作原理
PLC是采用“顺序扫描,不断循环”的方法进行工作的。即在PLC运行时,CPU依照用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐字次序执行用户程序,直至程序结束,然后重新返回第一条指令,开始下一轮新的扫描,在每次扫描过程中,还要完成对输入讯号的取样和对输出状态的刷新等工作。
PLC的一个扫描周期必经输入取样、程序执行和输出刷新三个阶段。
PLC在输入取样阶段:首先以扫描方法按次序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入,随即关掉输入端口,进入程序执行阶段。
PLC在程序执行阶段:按用户程序指令储存的先后次序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。
输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方法(继电器、晶体管或晶间管)输出,驱动相应输出设备工作。
特点
PLC编程的应用面广、功能强悍、使用便捷,已经成为当代工业自动化的主要装置之一,在工业生产的所有领域得到了广泛的使用,在其他领域(例如民用和家庭自动化)的应用也得到了迅速的发展。
国际电工委员会(IEC)在1985年的PLC标准草案第3稿中,对PLC作了如下定义:“是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部储存执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各类类型的机械或生产过程。可编程序控制器及其有关设备,都应按便于使工业控制系统产生一个整体,易于扩展其功能的原则设计。”从上述定义可以看出,PLC是一种用程序来改变控制功能的工业控制计算机,除了能完成各种各样的控制功能外,还有与其他计算机通讯联网的功能。
PLC编程的推广应用在我国得到了迅猛的发展,它早已大量地应用在各类机械设备和生产过程的电气控制装置中,各行各业也涌现出了大批应用PLC改建设备的成果。了解PLC的工作原理,具备设计、调试和维护PLC控制系统的能力,已经成为现代工业对电气技术人员和文科中学生的基本要求。
语言类型
PLC的用户程序,是设计人员按照控制系统的工艺控制要求,通过PLC编程语言的编制规范,按照实际须要使用的功能来设计的。只要用户才能把握某种标准编程语言,就能够使用PLC在控制系统中,实现各类自动化控制功能。
根据国际电工委员会拟定的工业控制编程语言标准(IEC1131-3),PLC有五种标准编程语言:梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、结构文本化语言(ST)。这五标准编程语言,十分简单易学。
梯形图语言
梯形图语言是PLC程序设计中最常用的编程语言。它是与熔断器线路类似的一种编程语言。由于电气设计人员对熔断器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。梯形图编程语言的特征是:与电气操作原理图相对应,具有直观性和对应性;与原有熔断器控制相一致,电气设计人员便于把握。梯形图编程语言与原有的熔断器控制的不同点是,梯形图中的能流不是实际意义的电压,内部的熔断器也不是实际存在的熔断器,应用时,需要与原有熔断器控制的概念区别对待。
指令表语言
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与矩形图编程语言图一一对应,在PLC编程软件下可以互相转换。图3就是与图2PLC梯形图对应的指令表。指令表编程语言的特征是:采用助记符来表示操作功能,具有容易记忆,便于把握;在手持编程器的按键上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与矩形图有一一对应关系。其特性与矩形图语言基本一致。
功能模块图语言
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的方式来表示模块所具有的功能,不同的功能模块有不同的功能。功能模块图编程语言的特征:功能模块图程序设计语言的特征是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的方式抒发功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易把握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图就能清楚抒发功能关系,使编程调试时间大大降低。
顺序功能流程图语言
顺序功能流程图语言是为了满足次序逻辑控制而设计的编程语言。编程时将次序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程次序进行分配,一步一步的根据次序动作。每一步代表一个控制功能任务,用方框表示。在方框内富含用于完成相应控制功能任务的矩形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减少编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。顺序功能流程图编程语言的特征:以功能为主线,按照功能流程的次序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能次序动作的缺陷,同时也防止了用矩形图语言对次序动作编程时,由于机械联锁导致用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大减短。
结构化文本语言
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方法来描述系统中各类变量之间的各类运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等中级语言相类似,但为了应用便捷,在句子的抒发方式及句子的种类等方面都进行了简化。结构化文本编程语言的特征:采用中级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程方法,对工程设计人员要求较高。直观性和操作性较差。
算法
PLC编程算法一开关量的估算
1、开关量称作逻辑量,指仅有两个取值,0或1、ON或OFF。它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用。
开关量控制的目的是,根据开关量的当前输入组合与历史的输入次序,使PLC形成相应的开关量输出,以使系统能按一定的次序工作。所以,有时也称其为次序控制。而次序控制又分为自动、半自动或手动。而采用的控制原则有分散、集中与混和控制三种。这是用OMRON的开关量编撰的一个“单按键启停”程序。
2、模拟量是指一些连续变化的物理量,如电流、电流、压力、速度、流量等。
PLC是由继电控制引入微处理技术后发展而至的,可方便及可靠地用于开关量控制。由于模拟量可转换成数字量,数字量只是多位的开关量,故经转换后的模拟量,PLC也完全可以可靠的进行处理控制。由于连续的生产过程常有模拟量,所以模拟量控制有时称作过程控制。模拟量多是非电量,而PLC只能处理数字量、电量。所有要实现它们之间的转换要有传感,把模拟量转换成数电量。如果这一电量不是标准的,还要经过变送器,把非标准的电量弄成标准的联通号,如4—20mA、1—5V、0—10V等等。同时还要有模拟量输入单元(A/D),把这种标准的联通号变换成数字讯号;模拟量输出单元(D/A),以把PLC处理后的数字量变换成模拟量——标准的联通号。所以标准联通号、数字量之间的转换就要用到各类运算。这就须要搞清楚模拟量单元的帧率以及标准的联通号。
例如:PLC模拟单元的帧率是1/32767,对应的标准电量是0—10V,所要测量的是气温值0—100℃。那么0—32767对应0—100℃的气温值。然后估算出1℃所对应的数字量是327.67。如果想把气温值精确到0.1℃,把327.67/10即可。
模拟量控制包括:反馈控制、前馈控制、比例控制、模糊控制等。这些都是PLC内部数字量的估算过程。
3、脉冲量是其取值总是不断的在0(低电平)和1(高电平)之间交替变化的数字量。每秒钟脉冲交替变化的次数称为频度。
PLC脉冲量的控制目的主要是位置控制、运动控制、轨迹控制等。例如:脉冲数在角度控制中的应用。步进电机驱动器的细分是每圈10000,要求步进电机旋转90度。那么所要动作的脉冲数值=10000/(360/90)=2500。
PLC编程算法二模拟量的估算
1、-10—10V。-10V—10V的电流时,在6000帧率时被转换为F448—0BB8Hex(-3000—3000);12000帧率时被转换为E890—1770Hex(-6000—6000)。
2、 0—10V。0—10V的电流时,在6000帧率时被转换为0—1770Hex(0—6000);12000帧率时被转换为0—2EE0Hex(0—12000)。
以上仅做简单的介绍,不同的PLC有不同的帧率,并且您所检测物理量实现的阻值不一样。计算结果可能有一定的差别。
注:模拟输入的配线的要求
1、使用屏蔽双绞线,但不联接屏蔽层。
2、当一个输入不使用的时侯,将V IN 和COM端子短接。
3、模拟讯号线与电源线隔离 (AC 电源线,高压线等)。
4、当电源线上有干扰时,在输入部份和电源单元之间安装一个滤波器。
5、确认正确的接线后,首先给CPU单元上电,然后再给负载上电。
6、断电时先切断负载的电源,然后再切断CPU的电源。
PLC编程算法三脉冲量的估算
脉冲量的控制多用于步进电机、伺服电机的角度控制、距离控制、位置控制等。以下是以步进电机为例来说明各控制方法。
1、步进电机的角度控制。首先要明晰步进电机的细分数,然后确定步进电机转一圈所须要的总脉冲数。计算“角度比率=设定角度/360°(即一圈)”“角度动作脉冲数=一圈总脉冲数*角度比率。”
公式为:
角度动作脉冲数=一圈总脉冲数*(设定角度/360°)。
2、步进电机的距离控制。首先明晰步进电机转一圈所须要的总脉冲数。然后确定步进电机滚轮半径,计算滚轮边长。计算每一脉冲运行距离。最后估算设定距离所要运行的脉冲数。
公式为:
设定距离脉冲数=设定距离/[(滚轮半径*3.14)/一圈总脉冲数]
3、步进电机的位置控制就是角度控制与距离控制的综合。
以上只是天天自动化简单的剖析步进电机的控制方法,可能与实际有出入,仅供诸位同仁参考。伺服电机的动作与步进电机的一样,但要考虑伺服电机的内部电子蜗杆比与伺服电机的减速比。有些事情说起来比较简单,但实际应用就有难度了。请你们在实际的工作中体悟其中的道理
入门
PLC是一种在工业中被广泛应用的自动控制器件。然而PLC应用与编程人才过剩早已成为阻碍我国自动控制领域发展的困局。通过学习PLC可编程控制器程序设计使学员把握可编程序控制器的工作原理和PLC控制系统硬件软件的设计方式,可编撰复杂的PLC程序,为从事PLC控制系统的设计、调试和整修工作打下基础。可以独立承当相关项目的设计与开发。让您由一位钳工升级为货真价实的工程师![1]
随着现代工业设备自动化,越来越多的鞋厂设备将采用PLC人机界面等自动化元件来控制,因此设备自动化程度越来越高。对设备的维护人员的技术要求越来越严格。作为一名合格的技术员,需要把握的技能也越来越多,越来越全面性,以此来满足自动化的发展及要求,
学习PLC编程一点也不难。有的初学者在理论上花了好多工夫,结果半年出来还是没有把PLC看懂,其实她们只是缺乏了一些PLC的实践经验,只要再进行一些实际的梯形图编撰、程序下载、调试等操作,增加对PLC的感性认识,很快就可以把握PLC这项技术了。开始阶段可以先学习一种品牌的PLC,因为所有的PLC原理都是差不多的,掌握了一种PLC其它的只要翻阅一下指南也能够上手使用了。
初学时可以编一些简单的矩形图,如触点的与、或、输出等,在PLC的机器里运行一下。成功了都会降低你学习的兴趣、和信心。然后再把PLC的主要功能挨个运用一次,比如高速计数器,你可以用PLC本身的脉冲输出端接到高速计数器的输入端,下载编好的矩形图,打开变量观察窗口,运行程序,观察计数的值是否正确。经过了这样的实践,你基本上晓得PLC究竟能做什么事情了,在实际的工控应用中能够做到胸有成竹了。
1.电工原理和马达原理一定要懂,简单的就记背也要背出来,比如电机容量1KW2A,正反转,星三角接线,电线容量。电阻,电感,电容的特点等
2.油压和气动也要把握,比如压力换算,压力和电压的比列换算,这在有压力控制上都要用到
3. 电线截面要会看,线领到手就晓得几平方的,还有什么家电上该用哪些线,比如电机就用4线的,3根主线1根接地。从变频器上下来的要用屏蔽线。
4. 机修也要会做,特别是螺栓,一看就晓得用几的顶角扳手或外六角扳手(别小看了它,平常修理固定螺栓是少不了它的,这样能节省时间)
5. PLC编程自己可以模拟编,简单的如红绿灯,控制货车走等
6. 做人要会做,要诚恳,不可能你样样就会。
7. 心态要好,保持一颗平常的心
8. 平常要多干,就是在苦在累也要,这样技术能够学到手能解决实际问题,反之你只不过是纸上谈兵
对于做项目的
1. 四大常用PLC要会,基本指令和功能指令要熟
2. 通讯插口要懂
3.电气市场行情要熟,好的和坏的要会分辨,列如买到个2手40点的PLC如何判定它是好的呢?
4.变频器和单片机要懂,变频调速和伺服控制要懂
5. 常用家电器件和传感要知道
6. 要会CAD电气制图。
PLC扫描周期和响应时间
PLC在运行状态时,执行一个扫描操作所须要的时间为一个周期,这个是PLC的重要指标之一,其值为0.5~100ms。
扫描周期T=(输入—点时间*输入端子数)+(指令执行速率*指令的条数)+(输出一点时间*输出端子数)+故障确诊时间+通讯时间
从上式可看出,扫描周期早已决定了:
1.CPU执行指令的速率
2.执行每条指令所占用的时间
3.程序中指令条数的多少
指令执行所需的时间和用户程序的长短、指令的种类和CPU执行速率是有很大关系,一般来说,一个扫描的过程中,故障确诊时间,通信时间,输入取样和输出刷新所占的时间较少,执行的时间是占了绝大部分。
PLC的响应时间是指PLC外部输出讯号的改变时刻起止由它控制的有关外部输出讯号变化的时刻之间的间隔,称为滞后时间,这个是由输入电路时间常数,输出电路的时间常数,用户句子的安排和指令的使用,plc的循环扫描方法及PLC对I/O的刷新方法等部份组成。这个现象称为I/O延后时间效应。
由于PLC的这些周期循环扫描工作方式,决定了相应时间的长短与收到输入讯号的时刻有关。相应时间就分为最短和最长。
(1)最短的响应时间
如果在一个扫描周期刚结束之前收到一个输入讯号,在下一个扫描周期之前输入取样阶段,这个讯号也就被取样,是输入更新,这个响应时间最短。
(2)最长响应时间
如果收到的是一个输入讯号经输入延后后,刚好错过了I/O刷新的时间,在该周期内输入讯号就被视为无效,就要等下一个扫描周期才能被读入,这个时间是最长的了。
工控帮——中国工控人才一站式成长平台。
培训项目:PLC系统集成+工业机器人集成应用+机器视觉+总线通信。
课程咨询美眉助教
#b:2:f:0:0:9:b:d:2:c:1:6:5:4:f:1:1:4:b:c:7:7:0:5:8:9:c:e:8:5:e:1#