PLC扩展IO点的方法与技巧.docx
《PLC扩展IO点的方法与技巧.docx》由会员分享,可在线阅读,更多相关《PLC扩展IO点的方法与技巧.docx(25页珍藏版)》请在冰豆网上搜索。
PLC扩展IO点的方法与技巧
PLC扩展I/O点的方法与技巧
摘要
近几年来,可编程序控制器以其可靠性高、适应性强、灵活性好、编程简单、易于掌握等独特的优点深得人们的青睐,它正在工业自动化和控制系统等领域发挥越来越重要的作用。
在PLC控制系统中,PLC作为主要控制设备,必然与控制对象中各种输入信号(如按钮、限位开关、拨动开关、继电器的触点及其他检测信号等)和输出设备(如继电器线圈、接触器线圈、电磁阀等执行元件)相联。
在实际工作中,由于受PLC应用系统规模的限制,PLC输人/输出点数往往不够用。
为此若采用扩展输人/输出单元或更换点数更多的PLC来解决有时又不合算。
为了降低系统硬件的费用,常常可采用各种技巧减少系统占用的输人/输出点数。
合理选择PLC的I/O点数,或对在用的PLC扩展I/O点数以满足使用要求,是提高控制系统性价比的有效途径。
本文从硬件电路、软件设计、硬件与软件结合三个方面阐述了可编程控制器I/O点数的扩展方法。
通过这些方法的使用,可节省输入/输出点数资源,节约成本。
关健词PLC输入/输出扩展
1.1概述~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2
1.2可编程控制器的简介~~~~~~~~~~~~~~~~~~~~~~~~~~~2
1.2.1PLC的应用~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2
1.2.1PLC的特点~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3
1.2.3PLC的结构和工作方式~~~~~~~~~~~~~~~~~~~~~~3
1.2.4PLC编程语言~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~42PLC控制系统设计概要~~~~~~~~~~~~~~~~~~~~~~~~~~~5
2.1设计的基本原则和内容~~~~~~~~~~~~~~~~~~~~~~~5
2.2设计的步骤和实现过程~~~~~~~~~~~~~~~~~~~~~~~52.3PLC控制系统执行程序的过程及特点~~~~~~~~~~~~~~~~6
3.PLC扩展I/O点的方法与技巧~~~~~~~~~~~~~~~~~~~~~~~8
3.1硬件电路扩展I/O点数~~~~~~~~~~~~~~~~~~~~~~~~8
3.1.1利用公共端切换分组输入,少占用输入点~~~~~~~~~~~~8
3.1.2改进外部电路,少占用输入点~~~~~~~~~~~~~~~~~~~~~8
3.1.3将一些很少出现的信号触点设置在PLC之外~~~~~~~~~~9
3.1.4通断状态相同的负载共用一个输出点~~~~~~~~~~~~~~~~9
3.2
软件编程I/O点扩展方法~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~10~~~~~~~~~~~~~~~~~~~~~~~~~~~10~~~~~~~~~~~~~~~~~~~~~~~~~~~10~~~~~~~~~~~~~~~~~~~~~~~~~~~11
利用中间继电器~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~12利用计数器~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~12利用移位寄存器~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~12巧妙实现两种控制连锁~~~~~~~~~~~~~~~~~~~~~~~~~~~12
3.3硬件和软件结合I/O点扩展方法~~~~~~~~~~~~~~~~~~~~~~~~~~~~13
3.3.1硬件编码和软件译码,扩展输入点~~~~~~~~~~~~~~~~~~~~~13
3.3.2软件编码和硬件译码,扩展输出点~~~~~~~~~~~~~~~~~~~~~14
3.3.3用N个输入点识别NX(N+1)/2个输入信号14
3.3.4用输入/输出口组成矩阵式键盘~~~~~~~~~~~~~~~~~~~~~~~~16
3.3.4.1矩阵输入,减少输入点数~~~~~~~~~~~~~~~~~~~~~~~~~~16
3.3.4.2矩阵输出,减少输出点数~~~~~~~~~~~~~~~~~~~~17
结论~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~18
参考文献~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~19
1.1概述
可编程序控制器简称为PLC它的应用面广、功能强大、使用方便,已经成为当代工业自动化的主要支柱之一。
PLC已经广泛地应用在各种机械设备和生产过程的自动控制系统中,PLC在其他领域,例如在民用和家庭自动化设备中的应用也得到了迅速的发展。
随着微处理器、计算机和数字通信技术的飞速发展,计算机控制已经广泛的应用在所有的工业领域。
现代社会要求制造业对市场需求做出迅速的反应,生产出小批量、多品种、多规格、低成本和高质量的产品。
为了满足这一要求,生产设备和自动生产线的控制系统必须具有极高的可靠性和灵活性。
可编程序控制器(ProgrammableLogicController)正是顺应这一要求出现的,它是以微处理器为基础的通用工业控制装置。
1.2可编程控制器的简介
1.2.1PLC的应用
目前,PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,使用情况大致可归纳为以下几个方面:
1、开关量的逻辑控制
这是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。
如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。
2、模拟量控制
在工业生产过程当中,有许多连续变化的量,如温度、压力、流量、液位和速度等都是模拟量。
为了使可编程控制器处理模拟量,必须实现模拟量(Analog)和
数字量(Digital)之间的A/D转换及D/A转换。
PLC厂家都生产配套的A/D和D/A转换模块,使可编程控制器用于模拟量控制。
3、运动控制
PLC可以用于圆周运动或直线运动的控制。
从控制机构配置来说,早期直接用于开关量I/O模块连接位置传感器和执行机构,现在一般使用专用的运动控制模块。
如可驱动步进电机或伺服电机的单轴或多轴位置控制模块。
世界上各主要PLC厂家
的产品几乎都有运动控制功能,广泛用于各种机械、机床、机器人、电梯等场合。
4、过程控制
过程控制是指对温度、压力、流量等模拟量的闭环控制。
作为工业控制计算机,
PLC能编制各种各样的控制算法程序,完成闭环控制。
PID调节是一般闭环控制系统中用得较多的调节方法。
大中型PLC都有PID模块,目前许多小型PLC也具有此功能模块。
PID处理一般是运行专用的PID子程序。
过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛的应用。
5、数据处理
现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据
转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。
这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。
数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。
6、通信及联网
PLC通信含PLC间的通信及PLC与其它智能设备间的通信。
随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。
新近生产的PLC都具有通信接口,通信非常方便。
1.2.2PLC的特点
1、抗干扰能力强,可靠性高
2、配套齐全,功能完善,适用性强
3、易学易用,深受工程技术人员欢迎
4、系统的设计、建造工作量小,维护方便,容易改造
5、体积小,重量轻,能耗低
1.2.3PLC的结构
PLC实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相似。
PLC按其结构形式可分为固定式和组合式(模块式)两种。
固定式PLC包括CPU
板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。
模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
PLC的基本结构框图如图2-1所示
接受
现场信号
图2-1PLC基本结构框图
1.2.4PLC编程语言
采用面向控制过程、面向问题、简单直观的PLC进行编程,其编程语言常用的
有:
梯形图、语句表、功能图等。
1、梯形图
梯形图是使用最多的PLC图形编程语言。
梯形图与继电器电路图很相似,具有直观易懂的优点,特别适合于数字量逻辑控制。
梯形图由触点、线圈和用方框表示的指令框组成。
触点电表逻辑输入条件,例如外部的开关、按钮和内部条件等。
线圈通常代表逻辑运算的结果,常用来控制外部的指示灯、交流接触器和内部的标志位等。
指令框用来表示定时器、计数器或者数学运算等附加指令。
使用编程软件可
以直接生成和编辑梯形图,并将它下载到PLC。
2、语句表
语句表又叫指令表,它是一种类似于微机的汇编语言中的文本语言,用指令的助记符编程,由多条语句组成一个程序段,可以实现某些不能用梯形图或功能块图表示的功能。
3、功能块图
功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑。
即用类似于与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为
输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。
2PLC控制系统设计概要
2.1设计的基本原则和内容
我们在学习了PLC的大量相关知识后,要能够把其运用在实际设计当中。
当然,要设计经济、可靠、简洁的PLC控制系统,需要丰富的专业知识和实际的工作经验。
那么,我们首先来看一下PLC控制系统的设计原则和内容。
2.1.1PLC控制系统设计的基本原则
1、最大限度地满足被控对象的控制要求;
2、保证控制系统的高可靠、安全;
3、满足上面条件的前提下,力求使控制系统简单、经济、实用和维修方便;
4、选择PLC时,要考虑生产和工艺改进所需的余量。
2.1.2、PLC控制系统设计的基本内容
1、选择合适的用户输入设备、输出设备以及输出设备驱动的控制对象;
2、分配I/O,设计电气接线图,考虑安全措施;
3、选择适合系统的PLC;
4、设计程序;
5、调试程序,一个是模拟调试,一个是联机调试;
6、设计控制柜,编写系统交付使用的技术文件,说明书、电气图、电气元件明细表。
7、验收、交付使用。
2.2设计的步骤和实现过程
一、PLC控制系统设计的一般步骤
我们在设计流程图时,也要遵循以下过程:
1)分析生产工艺过程;2)根据控制
要求确定所需的用户输入、输出设备,分配I/O;3)选择PLC;4)设计PLC接线
图以及电气施工图;5)程序设计和控制柜接线施工。
具体的设计步骤框图如图2-1所示
2.3PLC控制系统执行程序的过程及特点
PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段。
1、输入采样阶段
在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新。
接着进入程序处理阶段,在程序执行阶段或其它阶段,即使输入状态发生变化,输入映象寄存器的内容也不会改变,输入状态的变化只有在下一个扫描周期的输入处理阶段才能被采样到。
2、程序执行阶段
在程序执行阶段,PLC对程序按顺序进行扫描执行。
若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行。
当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转。
当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映象寄存器中读出,根据用户程序进行运算,运算的结果再存入元件映象寄存器中。
对于元件映象寄存器来说,其内容会随程序执行的过程而变化。
3、输出刷新阶段
程序执行完毕后,进入输出处理阶段。
在这一阶段里,PLC将输出映象寄存器中与输出有关的状态(输出继电器状态)转存到输出锁存器中,并通过一定方式输出,驱动外部负载。
因此,PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行。
当PLC进入程序执行阶段后输入端将被封锁,直到下一个扫描周期的输入采样阶段才对输入状态进行重新采样。
这方式称为集中采样,即在一个扫描周期内,集中一段时间对输入状态进行采样。
在用户程序中如果对输出结果多次赋值,则最后一次有效。
在一个扫描周期内,只在输出刷新阶段才将输出状态从输出映象寄存器中输出,对输出接口进行刷新。
在其它阶段里输出状态一直保存在输出映象寄存器中。
这种方式称为集中输出。
对于小型PLC,其I/O点数较少,用户程序较短,一般采用集中采样、集中输
出的工作方式,虽然在一定程度上降低了系统的响应速度,但使PLC工作时大多数时间与外部输入/输出设备隔离,从根本上提高了系统的抗干扰能力,增强了系统的可靠性。
而对于大中型PLC,其I/O点数较多,控制功能强,用户程序较长,为提高系统响应速度,可以采用定期采样、定期输出方式,或中断输入、输出方式以及采用智能I/O接口等多种方式。
3,PLC扩展I/O点的方法与技巧
3.1硬件电路扩展I/O点数
3.1.1利用公共端切换分组输入,少占用输入点
一个PLC控制系统的工作方式有多种,在某一确定的时刻只执行其中一种工作方式。
如在既有手动操作又有自动操作的系统中,手动操作和自动操作不会同时执行。
这样不同工作方式的输入可以共用一个PLC的输入点。
图1中,手动和自动两种工作方式分成两组输入,共用输入点。
X100和X001用来输入自动程序和手动程序的启动命令,A1、A2…A6作为自动方式下的输入信号,B1、B2…B6作为手动方式下的输入信号,它们共用输入点X002…X007。
3.1.2改进外部电路,少占用输入点
在要求多点控制电动机起、停的电路中,常常有多个启动按钮(常开触点)并联,多个停止按钮(常闭触点)串联。
它们作为输入开关连接到PLC输入端时,可以有
多种连接方式,但从少占用输入点出发,可以将多个启动按钮并联接到一个输入点,多个停止按钮串接到一个输入点上。
合并了输入触点。
对于一个由如图3所示的按钮和接触器实现的电动机多点起动、停止的控制要求,例如可在三处实现启动和停止,其中,SB1、SB2、SB3为起动按钮,SB11、SB12、
SB13为停止按钮。
可以将每个按钮接PLC的一个输入点,很容易便可实现。
若PLC的输入点较为紧张,则可以用图4所示的方式接线,与每个按钮占用一个输入点的方式相比,该方法的软件编程更为简单。
图3电动机电气控制原理图
3.1.3将一些很少出现的信号触点设置在PLC之外
对于一些功能简单、涉及面窄且很少出现的输入输出信号,如电动机过载保护热继电器的常闭触点等,可以将它们设在PLC的外部硬件电路中,不必占用PLC的
输入、输出点。
这对于使用电动机较多的拖动系统来说,效果非常显著。
如图2所
图2不常出现的借号设在
PLC之外
3.1.4通断状态相同的负载共用一个输出点
对于通断状态完全相同的负载,在输出点功率允许的情况下,可以并联于同一输出点上,以减少PLC的输出点数,即用一个输出点带动多个负载,需特别注意的是不能超出每个输出点的允许负载能力。
如图3所示。
3、2软件编程I/O点扩展方法
软件扩展的基本思想是一点两用或轮序复用。
即当按钮初次按下时,输出要求为高;当按钮再次按下时,输出要求为低;再按下时又为高,依此类推。
这样就可以节省一个输入点,当系统有较多开关量控制时可节省较多输入点,如主机ON和主机OFF等等都可以只用一个输入点来控制。
实现“一点两用”的编程方法较多,如利用内部辅助继电器、定时器、计数器、移位指令等,本文仅介绍几种简便方法。
3.2.1利用边沿检测、输出指令
若按钮SB连到10.0上,输出控制Q0.0,利用边沿检测和输出指令实现一点两用”,
用STEP7V5.3编制的STL程序如下。
AI0.0
FPM0.0
=M0.1
AM0.1
AQ0.0
=M0.2
A(
OM0.1
OQ0.0
)
ANM0.2
=Q0.0
程序说明:
当第1次按下按钮SB时,10.0的常开触点闭合,在RLO边沿检测指令FP的作用下,辅助继电器M0.1接通一个扫描周期,从而输出继电器Q0.0的线圈得电,且Q0.0构成自锁(保持)电路,同时Q0.0另一对常开触点闭合,为M0.2接通做准备;当第2次按下按钮SB时,在FP指令的作用下,M0.1的常开触点接通M0.2的线圈回路,M0.2的常闭触点切断了PLC的输出,从而实现一点两用。
3.2.2利用边沿检测、跳转指令
若利用边沿检测和跳转指令,实现起来较为简便,其STL程序如下。
AI0.0
FPM0.0
JNBOUT
ANQ0.0
=Q0.0
OUT:
NOP0
程序说明:
第4、5个语句的功能是实现Q0.0的自取反,但若没有前面的跳转指令,则程序每个扫描周期都会将Q0.0的状态取反一次;第1、2句的作用是限定只有当I0.0的上升沿到时取反一次,否则跳出取反程序段,从而实现一点两用。
323利用边沿检测、异或指令
若利用边沿检测和异或指令实现起来更为简便,程序如下
AI0.0
FP
X
M0.0
Q0.0
Q0.0
程序说明:
当第1次检测到10.0的上升沿,此时Q0.0为0,所以异或后输出Q0.0为1,第2个扫描周期来时,已经不是I0.0的上升沿了,因此为0,然而此时Q0.0确为1,所以异或后保持结果仍为1;第2次检测到上升沿时,Q0.0为1,异或后输出Q0.0的结果为0,等到下一个扫描周期到时,已经不是上升沿了,而此时Q0.0还是为0,因此异或保持输出仍为0。
3.2.4利用定时器
用定时器实现一点两用如图4。
当第一次按下X400时,输出线圈丫000置位接通,则Y000的触点使定时器T0启动(定时1秒),时间到,常闭触点T0断开;当第二次按下X400时,X400和T0均接通,在复位指令RSE的作用下,输出线圈丫000断电,使外部负载停止工作。
图5中阎继电器扩展I9点鮭
325利用中间继电器
如图5所示,当第一次按下X000时,输出线圈丫000通电,并通过中间继电器常闭触点自保,当松开X000时,输出线圈丫001通电,并通过中间继电器常开触点自保;当第二次按下X000时,输出线圈丫000失电,输出线圈丫001通过触点X001自保,当第二次松开按钮X000时,输出线圈丫001断电,从而实现一点两用。
3.2.6利用计数器
电路如图6所示,按钮X000是常开触点,当第一次按下时,上升沿微分输出,一方面驱动辅助继电器M100(—个扫描周期),使丫000线圈通电并自锁,另一方面,使计数器C400减1(计数常数为2);当第二次按下X000时,上升沿微分输出又使C400再减1,则C400的常闭触点使丫000断电,外部负载停止工作,同时C400的常开触点又使计数器C400清零,为下一次做好准备。
3.2.7利用移位寄存器
在图7中,按钮接在X000的两个触点同时接通移位寄存器的数据输入端和移位输入端,使M200为“状态,并立即移位到M201,使M201为“1”M201的常开触点闭合使输出线圈丫000接通,外部负载工作;当第二次信号输入时,移位信号将M201的“(态移位到M201,使M201为“态,其常开从事触点M201切断了丫000的输出,停止负载工作。
如此循环,则丫000接通与断开是按钮按下的次数决定的,
奇数接通,偶数断开。
3.2.8巧妙实现两种控制连锁
在多台单机组成的自动线上,有在总台上的集中控制和在单机操作台上的分散控制,这两种控制不能同时工作,必须实现连锁。
如图8所示。
X2为选择开关,当
X2=1时为单机分散控制;当X2=0时为自动线集中控制。
—J匸审…
HI』】'HlMl^O
THTJlL
ntrffrll
niTTrll~
务神工作方式扩ri/os®
3、3硬件和软件结合I/O点扩展方法
331硬件编码和软件译码,扩展输入点
在控制系统输入信号较多的情况下,可以利用编码器对输入信号编码,然后引到PLC的输入端,再通过PLC内部程序配合进行译码,对各个输入信号加以识别,可以大大减少对输入点的占用。
PLC的外部接线如图5所示。
由于普通编码器在有多个信号同时输入时会出现乱码,故可采用8线-3线优先编码器74LS148,设定好信号的优先权,有时还要将编码器的选通输出端和扩展端也接入PLC中,配合程序减
少误判断。
另外,还要注意的是电平的匹配问题(信号电路的+5V和PLC的+24V
之间)以及PLC的输入口对信号识别所要求的技术规范(驱动电流和电压能识别的范围),有时还需增加适当的信号放大和隔离电路。
图5硬件编码接线图
下面以按钮SB2按下为例,说明PLC内部软件译码的程序识别方法。
由74LS148的功能表可知,该芯片低电平有效,因此图5中用3个非门将输出电平转换成正逻辑。
若SB2按下,无论SB0和SB1是否按下,但SB3〜SB7均未按下;此时,ABC
的输出为101,经过非门后10.0,10.1,I0.2的状态分别为0,1,0;对应的STL译码程序如下。
LDNI0.0
AI0.1
ANI0.2
=M0.2
这样,笔者在程序里用M0.2的常开触点代替了按钮SB2。
即当按钮SB2按下,M0.2为1;SB2弹起,M0.2又为0,从而实现了软件译码的功能。
另外需要指出,该方法在PLC的每一个扫描周期只能读入8个输入中的一个输入状态,若有2个以上开关闭合,PLC只能检测出优先权高的那个信号。
3.3.2软件编码和硬件译码,扩展输出点
在控制系统输出信号较多的情况下,可以通过PLC的内部程序对输出信号进行编
码,然后通过硬件译码器进行译码,驱动负载工作,这可以大大的减少对输出点的占用。
PLC的外部接线如图6所示,采用3线-8线译码器74LS138。
此时,同样存在电平匹配的问题,即PLC的直流模块典型输出为+24V,而信号电路的工作电压一般为+5V,因此,有时同样需要增加信号电路以及功率放大电路以驱动负载工作。
帛二200PLC
图6PLC接线图
下面以如何让Q2为1为例,说明PLC内部软件的编码方法。
由74LS138的功能表可知,若要使输出Q2为1,应该使丫2输出为0;即对应的ABC应该为010,从而得到只要让PLC的Q0.0,Q0.1,Q0.2分别为0,1,0即可対应的STL编码程序如下,其中M1.2为置位输出Q2的条件。
LDM1.2
SQ0.0,1
RQ0.1,1
SQ0.2,1
这样,只需对QO.O,Q0.1,Q0.2进行组合就