产品描述
西门子PLC代理商通讯电缆供应商采购
1 引言
可编程序控制器(Programmable Logic Controller)简称为PLC,它具有性高、抗干扰能力强等优点,因而广泛应用于工业控制领域,已经成为现代工业自动化的主要支柱之一。在PLC控制系统的设计中,经常会遇到I/O点资源紧张以及性价比矛盾的问题。有些被控设备需要具有手动、自动的工作方式,且手动部分控制按钮较多;有些自动生产线中,进行位置检测的行程开关或者用于系统工作状态指示的输出比较多,都会使占用的I/O点大为增加。一般通过增加扩展模块来解决,但PLC的I/O点价格昂贵,且还有扩展模块数目和I/O点数目的限制,如SIEMENS的CPU 226大扩展模块数目为7,大扩展168路数字量I/O点或35路模拟量I/O点。若此时再增加CPU,势必使得系统性价比大为降低,在这种情况下,扩展I/O点数具有较大的实际意义。本文以SIEMENS的S7-200 PLC为例,探讨如何扩展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,利用边沿和输出指令实现“一点两用”,用STEP7 V5.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电平列线相交的那个键。由此可见,对应的软件编程比较复杂,但是在有些小型的控制系统中可以避免增加操作屏或触摸屏,从而提高系统性价比。若需要详细的硬件设计图和软件程序可与作者联系。
图8 3×3键盘结构图
5 结束语
本文从硬件设计、软件编程以及硬件软件结合三个方面探讨了扩展PLC I/O点的方法。在具体应用时,还需考虑每种扩展方法的一些优缺点以及抗干扰能力等问题。若能合理的利用这些方法,必能有效的节省PLC的I/O点数,降低系统成本,提供价比,为充分的发挥PLC的优势。
3 PLC存储器类型及容量选择
PLC系统所用的存储器基本上由PROM、E-PROM及PAM三种类型组成,存储容量则随机器的大小变化,一般小型机的大存储能力6kB,中型机的大存储能力可达64kB,大型机的大存储能力可上兆字节。使用时可以根据程序及数据的存储需要来选用合适的机型,必要时也可专门进行存储器的扩充设计。
PLC的存储器容量选择和计算的种方法是:根据编程使用的节点数计算存储器的实际使用容量。二种为估算法,用户可根据控制规模和应用目的,按照表4的公式来估算。为了使用方便,一般应留有25%~30%的裕量,存储容量的方法是生成程序,即用了多少字。知道每条指令所用的字数,用户便可确定准确的存储容量。表4同时给出了存储器容量的估算方法。
表4 控制目的估算存储器容量的方法
4 软件选择
在系统的实现过程中,PLC的编程问题是非常重要的。用户应当对所选择PLC产品的软件功能有所了解。通常情况下,一个系统的软件总是用于处理控制器具备的控制硬件的。但是,有些应用系统也需要控制硬件部件以外的软件功能。例如,一个应用系统可能包括需要复杂数学计算和数据处理操作的特殊控制或数据采集功能。指令集的选择将决定实现软件的难易程度。可用的指令集将直接影响实现控制程序所需的时间和程序执行的时间。
5 支撑技术条件的考虑
选用PLC时,有无支撑技术条件同样是重要的选择依据。支撑技术条件包括下列内容:
(1) 编程手段
便携式简易编程器主要用于小型PLC,其控制规模小,程序简单,可用简易编程器;
CRT编程器适用于大中型PLC,除可用于编制和输入程序外,还可编辑和打印程序文本;
由于IBM-PC已得到普及推广,IBM-PC及其兼容机编程软件包是PLC很好的编程工具。目前,PLC厂商都在致力于开发适用自己机型的IBM-PC及其兼容机编程软件包,并获得了成功。
(2) 进行程序文本处理
简单程序文本处理以及图、参量状态和位置的处理,包括打印梯形逻辑;
程序标注,包括触点和线圈的赋值名、网络注释等,这对用户或软件工程师阅读和调试程序非常有用;
图形和文本的处理。
(3) 程序储存方式
对于技术资料和备用资料来说,程序的储存方法有磁带、软磁盘或EEPROM存储程序盒等方式,具体选用哪种储存方式,取决于所选机型的技术条件。
(4) 通信软件包
对于网络控制结构或需用上位计算机管理的控制系统,有无通信软件包是选用PLC的主要依据。通信软件包往往和通信硬件一起使用,如调制解调器等。
6 PLC的环境适应性
由于PLC通常直接用于工业控制,生产厂都把它设计成能在恶劣的环境条件下地工作。尽管如此,每种PLC都有自己的环境技术条件,用户在选用时,特别是在设计控制系统时,对环境条件要给予充分的考虑。
一般PLC及其外部电路(包括I/O模块、辅助电源等)都能在表5所列的环境条件下工作
高位为0:BCD形式存放,高位为1:BIN形式存放。例如0400代表4通道数据,以BCD形式存放。
4.2 数据存放开始寄存器设定
用BIN数据设定数据存放开始寄存器号,可设定为R0~R177、R1000~R1177、R2000~R3773。例如0400代表数据存放开始寄存器为R2000。
模拟模块被安装在0号和1号槽。
5 结 论
使用可编程序控制器(PLC)控制厂房温湿度,具有性高,运行稳定,抗干扰性能强等特点,对于模拟量的处理较方便,但是各输入输出信号之间应有较好的隔离方法,如模拟输入模块信号可用光电隔离,输出信号通过中间继电器隔离,再控制强电设备,这样可防止各输入输出信号之间的相互干扰,同时也可防止对设备的信号干扰,上述方法成功地解决了纺织厂温湿度的自动监测与控制问题,在其他自动监控系统中也可以应用。
在PLC系统设计时,应确定控制方案,下一步工作就是PLC工程设计选型。工艺流程的特点和应用要求是设计选型的主要依据。PLC及有关设备应是集成的、标准的,按照易于与工业控制系统形成一个整体,易于扩充其功能的原则选型所选用PLC应是在相关工业领域有投运业绩、成熟的系统,PLC的系统硬件、软件配置及功能应与装置规模和控制要求相适应。熟悉可编程序控制器、功能表图及有关的编程语言有利于缩短编程时间,因此,工程设计选型和估算时,应详细分析工艺过程的特点、控制要求,明确控制任务和范围确定所需的操作和动作,然后根据控制要求,估算输入输出点数、所需存储器容量、确定PLC的功能、外部设备特性等,后选择有较价格比的PLC和设计相应的控制系统。
一、输入输出(I/O)点数的估算
I/O点数估算时应考虑适当的余量,通常根据统计的输入输出点数,再增加10%~20%的可扩展
余量后,作为输入输出点数估算数据。实际订货时,还需根据制造厂商PLC的产品特点,对输入输出点数进行圆整。
二、存储器容量的估算
存储器容量是可编程序控制器本身能提供的硬件存储单元大小,程序容量是存储器中用户应用项目使用的存储单元的大小,因此程序容量小于存储器容量。设计阶段,由于用户应用程序还未编制,因此,程序容量在设计阶段是未知的,需在程序调试之后才知道。为了设计选型时能对程序容量有一定估算,通常采用存储器容量的估算来替代。
存储器内存容量的估算没有固定的公式,许多文献资料中给出了不同公式,大体上都是按数字量I/O点数的10~15倍,加上模拟I/O点数的100倍,以此数为内存的总字数(16位为一个字),另外再按此数的25%考虑余量。
三、控制功能的选择
该选择包括运算功能、控制功能、通信功能、编程功能、诊断功能和处理速度等特性的选择。
(一)运算功能
简单PLC的运算功能包括逻辑运算、计时和计数功能;普通PLC的运算功能还包括数据移位、比较等运算功能;较复杂运算功能有代数运算、数据传送等;大型PLC中还有模拟量的PID运算和其他运算功能。随着开放系统的出现,目前在PLC中都已具有通信功能,有些产品具有与下位机的通信,有些产品具有与同位机或上位机的通信,有些产品还具有与工厂或企业网进行数据通信的功能。设计选型时应从实际应用的要求出发,合理选用所需的运算功能。大多数应用场合,只需要逻辑运算和计时计数功能,有些应用需要数据传送和比较,当用于模拟量检测和控制时,才使用代数运算,数值转换和PID运算等。要显示数据时需要译码和编码等运算。
(二)控制功能
控制功能包括PID控制运算、前馈补偿控制运算、比值控制运算等,应根据控制要求确定。PLC主要用于顺序逻辑控制,因此,大多数场合常采用单回路或多回路控制器解决模拟量的控制,有时也采用的智能输入输出单元完成所需的控制功能,提高PLC的处理速度和节省存储器容量。例如采用PID控制单元、高速计数器、带速度补偿的模拟单元、ASC码转换单元等。
(三)通信功能
大中型PLC系统应支持多种现场总线和标准通信协议(如TCP/IP),需要时应能与工厂管理网(TCP/IP)相连接。通信协议应符合ISO/IEEE通信标准,应是开放的通信网络。
PLC系统的通信接口应包括串行和并行通信接口(RS2232C/422A/423/485)、RIO通信口、工业以太网、常用DCS接口等;大中型PLC通信总线(含接口设备和电缆)应1:1冗余配置,通信总线应符合标准,通信距离应满足装置实际要求。
PLC系统的通信网络中,上级的网络通信速率应大于1Mbps,通信负荷不大于60%。PLC系统的通信网络主要形式有下列几种形式:1)PC为主站,多台同型号PLC为从站,组成简易PLC网络;2)1台PLC为主站,其他同型号PLC为从站,构成主从式PLC网络;3)PLC网络通过特定网络接口连接到大型DCS中作为DCS的子网;4)PLC网络(各厂商的PLC通信网络)。
为减轻CPU通信任务,根据网络组成的实际需要,应选择具有不同通信功能的(如点对点、现场总线、工业以太网)通信处理器。
(四)编程功能
离线编程方式:PLC和编程器公用一个CPU,编程器在编程模式时,CPU只为编程器提供服务,不对现场设备进行控制。完成编程后,编程器切换到运行模式,CPU对现场设备进行控制,不能进行编程。离线编程方式可降低系统成本,但使用和调试不方便。在线编程方式:CPU和编程器有各自的CPU,主机CPU负责现场控制,并在一个扫描周期内与编程器进行数据交换,编程器把在线编制的程序或数据发送到主机,下一扫描周期,主机就根据新收到的程序运行。这种方式成本较高,但系统调试和操作方便,在大中型PLC中常采用。
五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。选用的编程语言应遵守其标准(IEC6113123),同时,还应支持多种语言编程形式,如C,Basic等,以满足特殊控制场合的控制要求。
(五)诊断功能
PLC的诊断功能包括硬件和软件的诊断。硬件诊断通过硬件的逻辑判断确定硬件的故障位置,软件诊断分内诊断和外诊断。通过软件对PLC内部的性能和功能进行诊断是内诊断,通过软件对PLC的CPU与外部输入输出等部件信息交换功能进行诊断是外诊断。
PLC的诊断功能的强弱,直接影响对操作和维护人员技术能力的要求,并影响平均维修时间。
(六)处理速度
PLC采用扫描方式工作。从实时性要求来看,处理速度应越快越好,如果信号持续时间小于扫描时间,则PLC将扫描不到该信号,造成信号数据的丢失。
处理速度与用户程序的长度、CPU处理速度、软件质量等有关。目前,PLC接点的响应快、速度高,每条二进制指令执行时间约0.2~0.4Ls,因此能适应控制要求高、相应要求快的应用需要。扫描周期(处理器扫描周期)应满足:小型PLC的扫描时间不大于0.5ms/K;大中型PLC的扫描时间不大于0.2ms/K。 四、机型的选择
(一)PLC的类型
PLC按结构分为整体型和模块型两类,按应用环境分为现场安装和控制室安装两类;按CPU字长分为1位、4位、8位、16位、32位、64位等。从应用角度出发,通常可按控制功能或输入输出点数选型。
整体型PLC的I/O点数固定,因此用户选择的余地较小,用于小型控制系统;模块型PLC提供多种I/O卡件或插卡,因此用户可较合理地选择和配置控制系统的I/O点数,功能扩展方便灵活,一般用于大中型控制系统。
(二)输入输出模块的选择
输入输出模块的选择应考虑与应用要求的统一。例如对输入模块,应考虑信号电平、信号传输距离、信号隔离、信号供电方式等应用要求。对输出模块,应考虑选用的输出模块类型,通常继电器输出模块具有价格低、使用电压范围广、寿命短、响应时间较长等特点;可控硅输出模块适用于开关频繁,电感性低功率因数负荷场合,但价格较贵,过载能力较差。输出模块还有直流输出、交流输出和模拟量输出等,与应用要求应一致。
可根据应用要求,合理选用智能型输入输出模块,以便提高控制水平和降低应用成本。
考虑是否需要扩展机架或远程I/O机架等。
(三)电源的选择
PLC的供电电源,除了引进设备时同时引进PLC应根据产品说明书要求设计和选用外,一般PLC的供电电源应设计选用220VAC电源,与国内电网电压一致。重要的应用场合,应采用不间断电源或稳压电源供电。
如果PLC本身带有可使用电源时,应核对提供的电流是否满足应用要求,否则应设计外接供电电源。为防止外部高压电源因误操作而引入PLC,对输入和输出信号的隔离是必要的,有时也可采用简单的二管或熔丝管隔离。
(四)存储器的选择
由于计算机集成芯片技术的发展,存储器的价格已下降,因此,为保证应用项目的正常投运,一般要求PLC的存储器容量,按256个I/O点至少选8K存储器选择。需要复杂控制功能时,应选择容量大,档次高的存储器。
(五)冗余功能的选择
1.控制单元的冗余
(1)重要的过程单元:CPU(包括存储器)及电源均应1B1冗余。
(2)在需要时也可选用PLC硬件与热备软件构成的热备冗余系统、2重化或3重化冗余容错系统等。
2.I/O接口单元的冗余
(1)控制回路的多点I/O卡应冗余配置。
(2)重要检测点的多点I/O卡可冗余配置。3)根据需要对重要的I/O信号,可选用2重化或3重化的I/O接口单元。
(六)经济性的考虑
选择PLC时,应考虑性能价格比。考虑经济性时,应同时考虑应用的可扩展性、可操作性、投入产出比等因素,进行比较和兼顾,终选出较满意的产品。
输入输出点数对价格有直接影响。每增加一块输入输出卡件就需增加一定的费用。当点数增加到某一数值后,相应的存储器容量、机架、母板等也要相应增加,因此,点数的增加对CPU选用、存储器容量、控制功能范围等选择都有影响。在估算和选用时应充分考虑,使整个控制系统有较合理的性能价格比。
产品推荐