西门子模块6ES7241-1AA22-0XA0支持验货
1引言
PLC因为体积小、功耗低、、抗干扰能力强、编程使用方便等优点被广泛地应用于工业控制领域。但在实际应用过程中,往往是被控对象的输出点少于输入点,实现控制任务需要检测的点较多,或者操作按钮比较多,这样在选型时PLC的输出点数目可以很容易的满足要求,而对于输入点来说有可能不易满足,针对这样情况通常可以采取如下措施:(1)选取输入点数目比较多的PLC,这样在满足了控制系统对输入点数目的要求增加了输出点数目,使输出点产生冗余而闲置,造成了资源浪费。(2)选择输出点数目满足要求的PLC,通过配置专用的输入模块来增加输入点数目,使输入点数目满足控制系统的要求,这种方法增加了控制系统的成本,降低了系统的性价比。(3)仍然是选择输出点数目满足要求的PLC,但在扩展时增加部分外围电路,这部分电路主要由译码器构成,这样可以大大降低系统的初期投资。(4)采用PLC的软件编程实现,其优点是在PLC输出点数目满足系统要求的前提下,选择输入点数目较少的PLC,不增加额外的硬件,利用这PLC自身固有的资源,通过编码方法实现输入点数目的扩展。本文通过对PLC输入、输出点的组合,介绍了两种基于软件编程方法的输入点扩充方法。
2 基于软件编程方法的输入点扩充方法
PLC的一个重要的特点就是各组输入、输出点的独立性较强,这一点主要表现在输入、输出点的公共端上。一方面,单独的输入、输出点可以有自己的公共端另一方面,多个输入、输出点可以共用一个公共端,这样输入、输出点相互间的组合就比较容易。通过这些组合,我们可以借用矩阵键盘扫描原理和输入节点组合矩阵的原理来增加输入点数目。
2.1 利用矩阵键盘扫描原理扩展PLC输入点数目
取PLC的m个输入点作为输入节点矩阵的行回扫线输入端,取PLC的n个输出点作为输入节点矩阵的列选择线输出端,将所用输入端的公共端COM和输出端的公共端COM相连,通过内部程序控制n条列选择线的状态,从而实现输入节点矩阵列扫描;通过检测m个输入点的状态,完成输入节点矩阵的行扫描;这样就可以唯一确定输入节点矩阵中某一接点的闭合状态。利用节点矩阵,可以很方便地由m个输入点和n个输出点扩展成m×n个输入点。
图1为采用矩阵键盘扫描原理扩展4×2个输入点的原理图。当PLC的输入、输出动作时必须构成一个闭合回路。下面以输入节点S0和S1说明系统的工作过程:
(1) 当PLC输出点Y0、Y1断开时,输入点I0的回路不通,此时输入节点S1、S2闭合,PLC也无法检测到节点的闭合。
(2) 当PLC输出点Y0闭合,Y1断开时,若输入节点S0闭合,可使PLC输入点I0有效;因为Y1断开,S1闭合无效。
(3) 当PLC的输出点Y1闭合,Y0断开时,若输入节点S1闭合,可使PLC输入点I0有效;因为Y0断开,S2闭合无效。
通过上述分析,可以知道分时控制输出点Y0、Y1的状态,就可以唯一确定输入节点S1、S2的闭合状态,同理也可以将推广到输入节点S2、S3、S4、S5、S6、S7。在使用这种方法时必须确定键盘的扫描时间,而扫描时间的长短取决于PLC的输出点形式。对于晶体管、晶闸管以及固态继电器输出的PLC,在满足控制要求的前提下,可将扫描时间取的短一些;对于继电器输出的PLC,考虑到触点的寿命,扫描时间应适当延长。
2.2 利用输入点组合矩阵方法扩展PLC输入点数目
利用矩阵键盘扫描原理扩展PLC输入点数目的前提是PLC必须有剩余的输出点。如果没有,这种方案必然不可行,这时必须借助于输入点,下面介绍一种基于输入点组合矩阵的输入点扩展方法。
取PLC的m个输入点构成m个输入节点组,取PLC的n个输入点构成n个输入节点状态检测端,即每个输入节点组包含有n个节点,这样就可以实现m×n个输入点的扩展。当某一接点闭合时,对应的输入节点组和输入节点检测端都有信号送入PLC,通过输入节点的判断就可以唯一确定输入节点状态。
图2是利用输入节点组合矩阵扩展3×4个输入点的原理图。图2中包含有3个输入节点组,4个输入状态检测端,即每组包含4个输入节点。图2中二极管的作用是防止节点闭合时相互间的干扰。下面以输入节点S0说明系统的工作过程。
(1) 当输入节点S0断开时,对应的输入节点组输入端X0和输入状态检测端X6均无输入,表明S0断开。
(2) 当输入节点S0闭合时,对应的输入节点组输入端X0和输入状态检测端X6均有信号进入PLC,表明S0闭合。
通过上述分析,可以得到如下结论:由输入点X0和输入点X6组合的唯一性就可以唯一确定输入节点S0的状态,从而达到扩展输入点数的目的,这一结论可以从附表的真值表得出。附表1中,“1”表示PLC输入点内部触点闭合,“0”表示断开。
这种方法可方便的扩展PLC输入点数目,与前一种方法相比,对PLC的适用性较强,扫描时间的选择取决于应用程序的扫描时间。
3 结束语
利用PLC自身的输入点和输出点扩展PLC实际的输入点数目无需增加额外的硬件,tigao了系统的性价比。对于上面提到的2种扩展PLC输入点数的方法,在实验室中进行了验证,简便易懂,运行可靠,具有一定的应用价值。
城市交通控制系统可以有效改善交通,缓解交通拥堵,tigao路网的服务水平,增加系统交通liuliang,减少延误时间和停车次数,减少燃油消耗,降低交通噪声及尾气带来的环境污染,tigao交通安全性,从而促进城市经济建设的发展。
实施一个中央集中控制式城市交通控制系统需要昂贵的造价、建设周期长,一些中小城市难以承受,中小城市的交通信号控制往往只集中于有限的几条主干道上的路口,控制方式选择干线控制较为理想实用,开发一个中小规模的干线控制系统更符合中小城市交通控制的需求,该系统也适用于大城市中未受控制中心交通控制系统控制的干道上各路口的交通信号协调控制。干线控制系统与中央集中式自适应城市交通控制系统相比具有造价省、建设周期短的优点,更易于推广应用。
2 系统组成
干线控制系统主要由干道各路口的信号机和位于某路口(一般定义为关键路口)的干线控制计算机(路口线控计算机)组成,如图1所示:
图1 路口线控系统组成示意图
PLC是以微处理器为基础,综合了计算机技术、自动控制技术和通讯技术发展而来的一种新型工业控制装置。它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。据统计,PLC是工业自动化装置中应用多的一种设备。专家认为,PLC将成为今后工业控制的主要手段和重要的基础设备之一,PLC、机器人、CAD/CAM将成为工业生产的三大支柱。PLC是在继电器控制逻辑基础上,与3C技术(Computer,Control,Communication)相结合,不断发展完善的。目前已从小规模单机顺序控制,发展到包括过程控制、位置控制等场合的所有控制领域。
2.1 信号控制机的功能及性能指标
· 符合中华人民共和国公共行业标准GA47-2002《道路交通信号控制机》;
·工作方式有:关灯、全红、黄闪、多时段定时控制、感应控制、无电缆协调、区域协调控制(包括干线协调方式);
·具有硬件手动控制及上位机用户的软件手动控制;
·可与上位机(干线控制计算机)进行相关数据通讯;
·至少可接入32路检测器、驱动48路信号灯;
·多可执行16个相位信号控制,可设置运行32个时段、32个方案、16个特殊日时段方案;
·可通过手持设备或面板上的按键方便地设置相关参数;
·具有显示屏幕,直观显示信号机的相关工作状态及相关参数;
·可在全天候下工作。
2.2 干线控制计算机
(1) 功能
· 与信号机通讯,获取信号机发来的信息、输出相关命令至信号机;
· 具有良好的用户界面,显示当前干线控制系统运行信息及配置信息,并接收处理用户的输入;
· 根据优化算法及相关信息计算各信号机的控制参数。
(2) 结构
硬件上可用成熟稳定的工控机及另配多串口扩展卡组成,也可用PC104嵌入式微机及串口扩展板组成,主要负责对干线下辖的信号机进行通讯控制,预留与上一级中央控制机的通讯扩展接口,主要设备需满足工业环境下运行的要求。
软件上主要是获取各信号机的相关信息,通过线控优化算法计算控制参数(周期、绿信比、相位差),送至相关信号机付诸执行;也获取用户的干预输入,将用户命令进行分析后,对系统配置进行修改或送至相关信号机;还将各信号机的执行情况在用户界面上显示。结构如图2所示。
图2 干线控制计算机软件结构示意图
干线控制机与路口信号机也可采用PLC可编程控制器作为主控制器,从原理上,两者可合并为一,选型的主要出发点是:
· 输入输出点满足120点以上;
·具备实时时钟;
·具备RS232或422通讯接口;
·可构建点对点通讯或串行总线通讯;
·具备寄存器数据化管理功能;
·数据处理速度0.7μs;
·模块具有自诊断功能;
·路口信号机与干线机之间的通讯。
(3) 通讯结构
信号机与干线控制计算机之间的通讯目前仍采用串行口RS232C方式,通讯结构为点对点的方式(如图3所示),设备可采用MODEM加电话线或光端机加光缆或专用串口设备加专线的方式进行。在干线控制机一端采用多串口的扩展设备。
图3 路口线控系统的通讯结构
(4) 通讯接口内容
·信号机与上位机(干线控制计算机)之间的握手协议,及相关连接规程;
·信号机传送的信息有:日期时间;当前的控制方式、时段、方案;相位切换通知;各组成部分的故障状态;检测器的状态及实时的原始数据;liuliang及占有率数据;配置参数的更改通知;配置参数的相关内容。
·上位机(干线控制机)发送的命令有:设置信号机的日期时间;信号机各种信息的查询,如查询信号机的日期时间、控制方式、时段方案、相位执行情况、信号机各组成部分的故障状态等命令;读写信号机的各个配置参数;设置信号机的控制方式,如将信号机工作方式降级为单点及人工干预降级等等;设置信号机为软件手动工作方式,可远程手动控制相位的执行。
2.3 PLC构建信号控制器的实现
在PLC控制中选用KOYO S系列中性能价格比较高的中型PLCSU-6M,其性能能够满足控制功能,并且可以使用ASCII-BASIC模块进行复杂的运算,使用DIRECTSOFT编程软件进行复杂程序编程,tigao速度和降低成本。
SU-6MCPU模块内包含有RS-232/422通讯接口,可以用来连接触摸操作的可编程操作显示器GC-53LM3,在这个操作显示器上设定/显示所有的工作数据,运行情报和给PLC辅助运行指令,由于这个操作显示器的使用,所有的人机接口的操作非常直观和方便。
如果干线控制机也使用PLC构建,则需要扩展通讯端口,可使用DM模块。DM是专用数据通讯接口模块,用于整个干线或系统,指挥中心的联网运行。在这个网络上,可以根据网络中的站数决定是否采用管理PLC。站数较多时为了减轻中心计算机的负担采用专门的PLC对下级各种采集数据;站数较少时直接由上位计算机采集也可以。
为满足信号机大量的实时运算要求,可使用ABM模块。ABM是SU系列CPU上使用的ASCII/BASIC协处理器(Co-processer)模块。
ABM模块通过BASIC语言程序,可以访问PLC的I/O点,中间继电器等位功能存储器,以及数据寄存器。位功能存储器的状态和数据寄存器内容也可以被ABM控制。
SU-6M CPU的ABM模块可以安装在任意位置,并且不占I/O点。(SR系列的ABM模块略有不同。)
RUN方式下的ABMBASIC语言和语法与通常BASIC相似,特别是QBASIC,ABM程序可以几乎经过修改在QBASIC系统下运行,只ABM程序中对PLC功能存储器的访问在QBASIC中会被当作数组来操作,例如:SU6-R(1400),SU-6M(1000)在ABM程序中访问数据寄存器R1400和中间继电器M1000而同样程序在QBASIC中会被当作大的数组。
COMMAND方式下的命令包括程序的传送,参数地设定,打印程序等菜单操作,以及直接命令的键入,例如删除、保存、列表程序,选择程序,运行程序,运行方式改变等。
2.4 线控优化算法
信号控制的基本参数是周期、绿信比和相位差。线控的算法可借鉴自适应交通控制系统中的子区优化算法,线控各路口中有一个关键路口,关键路口的周期作为所有路口的共同周期,绿信比针对各个路口单独进行调节,相位差对所有路口进行优选。
(1) 检测器数据预处理
通过原始检测数据获得交通每个车流通行的周期liuliang及占有率数据,由于交通流的随机性波动,为反映实时交通变化的趋势及避免控制方案频繁的变动,应对检测器数据作平滑处理。平滑的方法是将当前周期的数量与前几个周期的数据作加权平均。
(2) 饱和度的确定
以相位车辆占用的绿灯时间与车辆通行的有效绿灯时间之比作为此相位的饱和度。
(3) 信号周期的优选
周期大小由关键路口决定。线控算法收集三个周期内路口的交通数据,三个周期内有两个周期需增加或减少周期长度,则决定了周期变化的方向。周期的变化幅度由路口的饱和度、周期大小相关因子来确定,范围在±(1~6s)内。线控启动时取关键路口当时的周期作为起始周期长度。
(4) 绿信比的调节
绿信比的调节针对各路口单独进行,采用“等饱和度原则”分配各相位的绿灯时间,且使各相位绿灯时间的变化值在±(1~4s)的范围内。
(5) 相位差的优选
相位差反应了各路口间的协调。确定线控的路线,根据各路口的信号周期、绿灯时间、相位色步序列、路口间距、路段平均车速等计算路口间的相位差。目标是使线控路线的上下行绿波带宽度大。相位差的变化范围在±(1~4s)之间。
3 结束语
使用PLC做为信号控制器的主控单元,大大降低了硬件开发的周期。由于其具有强大的通讯和计算能力,使得信号机的实时控制需求得到了充分的满足。
1引言
可编程序控制器(Programmable LogicController)简称为PLC,它具有可靠性高、抗干扰能力强等突出优点,广泛应用于工业控制领域,已经成为现代工业自动化的主要支柱之一。在PLC控制系统的设计中,经常会遇到I/O点资源紧张以及性价比矛盾的问题。有些被控设备需要具有手动、自动的工作方式,且手动部分控制按钮较多;有些自动生产线中,进行位置检测的行程开关或者用于系统工作状态指示的输出比较多,都会使占用的I/O点大为增加。一般通过增加扩展模块来解决,但PLC的I/O点价格昂贵,且还有扩展模块数目和I/O点数目的限制,如SIEMENS的CPU226大扩展模块数目为7,大扩展168路数字量I/O点或35路模拟量I/O点。若此时再增加CPU,势必使得系统性价比大为降低,在这种情况下,扩展I/O点数具有较大的实际意义。本文以SIEMENS的S7-200PLC为例,探讨如何扩展PLC控制系统中I/O点数的方法。
2硬件电路I/O点扩展方法
2.1 分时分组输入
对于既有手动方式又有自动方式,而二者不可能执行的PLC工作方式,不同工作方式的输入可以共用一个PLC的输入点。分时分组输入扩展I/O点数接线图如图l所示。I1.0用来输入自动/手动命令信号,供自动和手动程序切换用;二极管用来切断寄生电路,避免错误信号的产生;SA用来切换自动和手动操作方式。
图1 分时分组输入接线图
2.2 共用输出触点
对于通断状态完全相同的负载,在输出点功率允许的情况下,可以并联于同一输出点上,即用一个输出点带动多个负载,需特别注意的是不能超出每个输出点的允许负载能力。接线方式如图2所示。
图2 共用输出点接线图
2.3 合并输入触点
对于一个由如图3所示的按钮和接触器实现的电动机多点起动、停止的控制要求,例如可在三处实现启动和停止,其中,SB1、SB2、SB3为起动按钮,SB11、SB12、SB13为停止按钮。可以将每个按钮接PLC的一个输入点,很容易便可实现。若PLC的输入点较为紧张,则可以用图4所示的方式接线,与每个按钮占用一个输入点的方式相比,该方法的软件编程更为简单。
图3 电动机电气控制原理图
图4 电动机PLC控制接线图
3软件编程I/O点扩展方法
软件扩展的基本思想是一点两用或轮序复用。即当按钮初次按下时,输出要求为高;当按钮按下时,输出要求为低;再按下时又为高,依此类推。这样就可以节省一个输入点,当系统有较多开关量控制时可节省较多输入点,如主机ON和主机OFF,纸料座上和纸料座下,都可以只用一个输入点来控制。实现“一点两用”的编程方法较多,如利用内部辅助继电器、定时器、计数器、移位指令等,本文仅介绍几种简便方法。
3.1 利用边沿检测、输出指令
若按钮SB连到I0.0上,输出控制Q0.0,利用边沿检测和输出指令实现“一点两用”,用STEP7V5.3编制的STL程序如下。
A I0.0
FP M0.0
= M0.1
A M0.1
A Q0.0
= M0.2
A(
O M0.1
O Q0.0
)
AN M0.2
= Q0.0
程序说明:当第1次按下按钮SB时,I0.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 利用边沿检测、跳转指令
若利用边沿检测和跳转指令,实现起来较为简便,其STL程序如下。
A I0.0
FP M0.0
JNB OUT
AN Q0.0
= Q0.0
OUT: NOP0
程序说明:第4、5个语句的功能是实现Q0.0的自取反,但若没有前面的跳转指令,则程序每个扫描周期都会将Q0.0的状态取反一次;第1、2句的作用是限定只有当I0.0的上升沿到时取反一次,否则跳出取反程序段,从而实现一点两用。
3.3 利用边沿检测、异或指令
若利用边沿检测和异或指令实现起来更为简便,程序如下。
A I 0.0
FP M0.0
X Q0.0
= Q0.0
程序说明:当第1次检测到I0.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。
4硬件和软件结合I/O点扩展方法
4.1 硬件编码和软件译码,扩展输入点
在控制系统输入信号较多的情况下,可以利用编码器对输入信号编码,引到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,经过非门后I0.0,I0.1,I0.2的状态分别为0,1,0;对应的STL译码程序如下。
LDN I0.0
A I0.1
AN I0.2
= M0.2
这样,笔者在程序里用M0.2的常开触点代替了按钮SB2。即当按钮SB2按下,M0.2为1;SB2弹起,M0.2又为0,从而实现了软件译码的功能。需要指出,该方法在PLC的每一个扫描周期只能读入8个输入中的一个输入状态,若有2个以上开关闭合,PLC只能检测出优先权高的那个信号。
4.2 软件编码和硬件译码,扩展输出点
在控制系统输出信号较多的情况下,可以通过PLC的内部程序对输出信号进行编码,通过硬件译码器进行译码,驱动负载工作,这可以大大的减少对输出点的占用。PLC的外部接线如图6所示,采用3线-8线译码器74LS138。此时,同样存在电平匹配的问题,即PLC的直流模块典型输出为+24V,而信号电路的工作电压一般为+5V,有时同样需要增加信号电路以及功率放大电路以驱动负载工作。
图6 PLC接线图
下面以如何让Q2为1为例,说明PLC内部软件的编码方法。由74LS138的功能表可知,若要使输出Q2为1,应该使Y2输出为0;即对应的ABC应该为010,从而得到只要让PLC的Q0.0,Q0.1,Q0.2分别为0,1,0即可;对应的STL编码程序如下,其中M1.2为置位输出Q2的条件。
LD M1.2
S Q0.0, 1
R Q0.1, 1
S Q0.2, 1
这样,只需对Q0.0,Q0.1,Q0.2进行组合就可以实现对输出Q0~Q7分别置为1。本方法存在一个明显的缺点,即每一个扫描周期只能输出八种状态中的一种,若要置位输出Q0和Q1是不能实现的。
4.3 用N个输入点识别N×(N+1)/2个输入信号
若我们将输入信号接成图7的形式,再配合以软件编程便可以实现用3个输入点识别3×(3+1)/2=6个输入信号。其基本思想是:当SB1按下时,PLC只检测到了I0.0为“1”,此时I0.1和I0.2的状态均为“0”,那么在程序里就将I0.0的常开触点和I0.1、I0.2的常闭触点相与来识别SB1的状态;若SB2按下时,I0.0和I0.1均为“1”,I0.2为“0”,此时识别程序应该为I0.0和I0.1的常开触点与上I0.2的常闭触点;其它点的情况类似,输入信号SB1和SB2的STL识别程序如下,其中,M2.1、M2.2的状态就代表了信号SB1、SB2的状态。
LD I0.0
AN I0.1
AN I0.2
= M2.1
//信号SB1的识别
LDN I0.0
A I0.1
A I0.2
= M2.2
//信号SB2的识别
需要指出:这种方法不能识别2个及2个以上的信号为1的情况,如SB1和SB3接通,程序会把它当成SB2接通的情况识别。图7中二极管的作用是为了隔断寄生电流形成通路。其实,用3个输入点多可以7个信号的识别,如果在图7中再加一个SB7,用3个二极管连到I0.0、I0.1、I0.2上,则可以通过将3个点的常开触点相与来识别SB7,但这样过于繁琐,一般不采用。
图7 硬件接线图
4.4 用输入/输出口组成矩阵式键盘
若控制系统需要设计键盘,常规的思路是每个按键接一个输入口。当键数增加时,极为浪费输入点,仿照微机系统中制作矩阵式键盘的思路,在PLC系统中利用I/O点组成矩阵式键盘,如图8所示为3×3键盘结构图。编程思路:判断整个键盘上有无键按下,方法是将行全输出为1,读入列的状态,如果列读入的状态全为0,则无键按下,不全为0则有键按下;逐列扫描,方法是依次将行线送1,检查对应列线的状态,若列线全为0,则按键不在此行;若不全为0,则按键必在此行,且是与1电平列线相交的那个键。对应的软件编程比较复杂,在有些小型的控制系统中可以避免增加操作屏或触摸屏,从而tigao系统性价比。若需要详细的硬件设计图和软件程序可与作者联系。
图8 3×3键盘结构图
5结束语
本文从硬件设计、软件编程以及硬件软件结合三个方面探讨了扩展PLCI/O点的方法。在具体应用时,还需考虑每种扩展方法的一些优缺点以及抗干扰能力等问题。若能合理的利用这些方法,必能有效的节省PLC的I/O点数,降低系统成本,提供性价比,更为充分的发挥PLC的优势。