7
重庆西门子中国授权代理商DP电缆供应商
S7-300 PLC的存储区可以划分为四个区域:装载存储器(Load Memory)、工作存储器(Work Memory)、系统存储器(System Memory)和保持存储区(Non-Volatile memory).
1. 系统存储器:
系统存储器用于存放输入输出过程映像区(PII,PIQ)、位存储器(M)、定时器(T)和计数器(C))、块堆栈和中断堆栈以及临时存储器(本地数据堆栈)。
2. 工作存储器:
工作存储器仅包含运行时使用的程序和数据。RAM 工作存储器集成在CPU中, RAM中的内容通过电源模块供电或后备电池保持。除了S7 417-4 CPU可以通过插入的存储卡来扩展工作存储器外,其他PLC的工作存储器都无法扩展。
3. 装载存储器:
装载存储器是用于存放不包含符号地址分配或注释(这些保留在编程设备的存储器中)的用户程序。装载存储器可以是存储器卡、内部集成的RAM或内部集成的EPROM.
4. 保持存储器:
保持存储器是非易失性的RAM,通过组态可以在PLC掉电后即使没有安装后备电池的情况下,保存一部分位存储器(M)、定时器(T)、计数器(C)和数据块(DB)。在设置CPU参数时一定要要保持的区域。(注意:由于S7-400 PLC没有非易失性RAM,即使组态了保持区域,再掉电时若没有后备电池,也将丢失所有数据。这是S7-300 PLC 与S7-400 PLC 的重要区别)
PLC 及硬件电路
控制系统的性在很大程度上依赖于硬件电路的设计, 其中包括 PLC 的使用环境、 安装、 电源、 输入、 输出电路等。
(1)PLC 的接地
良好的接地是** PLC 运行的重要条件, PLC 系统接地的基本原则是单点接地, 即将整个装配表面接到低阻抗地的参考点, 这个连接应具有低的直流电阻(<100 欧姆)和高频阻抗。 为了抑制附加在电源及输入线、 输出线的干扰, 应给 PLC 接地线, 并且接地点要与其他设备分开。此外, 接地线要足够粗,接地电阻要小, 接地点应尽可能靠近 PLC。
(2)PLC 的安装环境
PLC 在设计和制造过程中采用了多层次抗干扰和精选元件措施, 可直接在工业环境中应用。目前 PLC 的整机平均无故障工作时间一般可达 5~10 万小时。但工作环境过于恶劣或安装使用不当时, 性会降低。PLC 使用环境温度通常在 0~55℃范围,应避免阳光直射, 安装位置应远离发热量大的器件, **足够大的散热空间和通风条件。环境湿度一般应小于 85%, 以** PLC有良好的绝缘。在含有腐蚀性气体、 浓雾或粉尘的场合, 需将 PLC封闭安装。如果 PLC 安装位置有强烈的震动源, 应采取相应的减振措施, 避免有过度的振动和冲击。
(3)PLC 的输入设备
开关量输入信号, 常用的有按钮、 选择开关、 行程开关、 限位开关、 接触器或继电器的常开、 常闭触点等, 其器件质量的优劣、接线方式以及是否牢固是影响控制系统性的重要因素。器件触点接触要保持在良好状态, 接线要牢固。设计时, 应尽量选用性高的元器件。模拟量输入信号常用的有 4~20mA、0~20mA直流电流信号;0~5V、 0~10V直流电压信号。电源为直流 24V。 在布线时, PLC 的交流线与直流线应分开走线。 开关量与模拟量的输入 / 输出线也要分开敷设, 后者使用屏蔽线。此外 PLC 基本单元与扩展单元之间的传送信号易受干扰, 其传送电缆不能与别的线敷设在同一管道内。输入 / 输出线与系统动力线要分开布线, 并保持一定距离。PLC 的开关量和模拟量输入信号, 由于噪声的干扰、 开关的误动作、 模拟信号误差等因素的影响, 会形成输入信号的错误, 严重时将引起程序判断失误, 造成误动作。 所以应选择性高的电路设计,并在软件编程时采取措施来抑制错误信息, 提高系统的性。
(4)PLC 的输出电路
对于开关量输出来说, PLC 的输出有继电器输出、晶闸管输出、 晶体管输出 3 种形式, 具体选用哪种形式的输出,应根据负载要求来决定。选择不当会降低系统性, 严重时可能导致系统不能正常工作。如晶闸管输出只能用于交流负载, 晶体管输出只能用于直流负载。此外, PLC 的输出端子带负载能力是有限的, 如果过了规定的大限值, 外接继电器或接触器, 才能正常工作。PLC 输出电流的额定值是与负载性质有关的。额定负载电流还与温度有关, 当工作环境温度高时, 额定负载电流相应减小。
一、概述
近年来,“嵌入式”一词越来越多的被人们提及,嵌入式产品被应用到各行各业。与嵌入式相关的技术如嵌入式产品,嵌入式系统的研究等也被列为“十五”国家发展的方向。
嵌入式系统 (bbbbbded System)被定义为:以应用为,以计算机技术为基础,软件硬件可裁剪,适应对功能、性、成本、体积、功耗严格要求的计算机系统。
随着工业自动化的发展,基于PLC,单片机等设备的自动化系统,自动化设备越来越普及,几乎遍布所有自动化领域,与之相应的人机交互系统也应运而生,并得到同步发展。基于嵌入式技术的工业人机界面是人机交互系统中一颗耀眼的。高,命,体积小,,多线程,多任务,强实时等特点使嵌入式工业人机界面越来越受到自动化系统集成商,自动化设备制造商的青睐。它能够理想,生动地显示PLC,单片机等工业设备上的数据信息,功能强大,使用方便。它作为PLC等控制设备的上端设备在用户和机器之间架设了一条桥梁。该产品目前广泛应用在工业自动化系统,医疗,金融等行业的自动化设备。
随着越来越多的工程项目采用了嵌入式人机界面,相应的,用户对与嵌入式硬件配套使用的监控系统(Supervisory Control and Data Acquisition,SA)等应用软件的需求也在增加。这也正是本文所要讨论的问题。这里讲的嵌入式监控系统,其硬件为嵌入式智能人机界面;其软件为嵌入式操作系统,另加自己开发的应用程序。本文后面主要介绍这个监控应用程序,介绍应用程序中通讯部分的实现原理。
当今,已发展有多种嵌入式操作系统,如Linux, VxWorks,等,可在其上开发出图文并茂、界面友好的应用,以满足监控系统的种种要求。只是由于嵌入式技术相对是一门新兴的技术,涉足的人相对还比较少,所以这样的应用目前还比较少。本文介绍的嵌入式监控系统算是一个实例吧。
二、系统组成
我们所开发的这套嵌入式监控系统,上位机是沈阳鹭岛资讯科技有限公司开发的嵌入式智能工业控制人机界面(以下简称人机界面)。其嵌入式工业控制器是以Geode X86为处理器,包括网络通讯,数据通信,大尺寸触摸屏及液晶显示的硬件平台,在其上运行 WinCE操作系统。提供20个通用IO点供用户使用,物理层支持ProfiBus等现场总线,支持16位真彩TFT LCD显示,有64M SDRAM内存,64M FLASH闪存,据有USB接口,10/100M Ethernet网络通讯接口,以及串口,并口,VGA口等通用接口。
下位机用日本OMRON公司的PLC,或SIMENS PLC,或施耐德NEZA PLC,或日本三菱公司的 PLC,等等当前比较流行的PLC,当然温控表,单片机,智能模块等工业现场控制设备也可以。
控制对象(比如锅炉等)的工作由上述控制设备(各种PLC等)控制;而控制对象的状态则用人机界面及在其上开发的应用程序进行监控。
人机界面的操作系统采用了微软的。是为各种嵌入式系统和产品设计的一种紧凑,,可伸缩的操作系统(OS),主要面向各种嵌入式系统和产品。其多线程、多任务、抢占式的特点是专门针对资源有限而设计的。OEM开发商可根据自己硬件组成的特点对进行选择裁剪,从而配置出稳定并且是特有的操作系统和相应的SDK开发包。在应用上,支持过1000个公共Microsoft Win32 API和几种附加的编程接口,用户可利用它们来开发应用程序。另外,微软为开发应用程序的人员了与Visual C++类似、支持MFC的Microsoft bbbbbded Visual C++语言。下面我们将介绍一下开发过程的细节问题。
三、软件流程
应用程序开发是在个人计算机上进行的。个人计算机的操作系统为bbbbbbS 2000。应用程序的开发平台是Microsoft bbbbbded Visual C++集成开发环境。
在应用程序开发时,还可以利用微软提供的测试模拟器(Emulator)。有了它可做到,即使没有人机界面,也可进行程序调试。
开发终生成的可执行文件,可使用Microsoft bbbbbded Visual c++开发环境提供的下载功能,通过串口或局域网,下载给人机界面。
工作时,PLC等工控设备运行它的控制程序,而人机界面则运行这个下载的可执行文件。两者通过串口进行通讯,但通讯的主动方为人机界面。人机界面依监控要求,向PLC等发送通讯命令,PLC则作相应的应答。
人机界面从PLC上收到应答的数据后,在触摸屏上,以图表、动画,文字等的界面显现出来,供用户观察。还可把这些数据进行存贮、打印,甚至于向ERP等管理信息系统传送。
如须对PLC或控制对象进行干预,也可在人机界面的触摸屏上,通过触摸键或触摸鼠标,向PLC发送命令或数据,以实现相应的控制。
四、画面构成
一般的工程监控画面有:文字显示,生产工艺流程显示(包括动画,柱状图显示等),报警,人员操作,趋势曲线等等。我们的系统架构是做一个基于主对话框的程序。再将这些不同的画面用子对话框表现出来。
主对话框负责初始化串口,打开串口,启动读串口线程等;而各子对话框则定时或根据需要向串口发送各种命令,通过主对话框的线程读回命令的应答,再在子对话框中以一定的形式提供给用户,以供监控现场作业。这其中主要的技术就是串口通讯。下面我们讲述通讯的实现。
五、通讯实现
人机界面提供的串口是符合通用标准的。下的串口通讯与bbbbbbs下的串口通讯原理相同。都是应用程序不直接控制硬件,而是通过操作系统提供的设备驱动程序,来进行数据传递。
是Win 32编程。串口在Win 32中是作为文件来进行处理的,不是直接对端口进行操作。对于串行通信,Win 32 提供了相应的文件I/O函数与通信函数。
但是也要注意所能支持的API函数只是bbbbbb API函数的子集。bbbbbbs有的,下不一定能使用。同时,字符集类似于bbbbbbs NT而不同于bbbbbbs 9x,它是基于Unicode的。这也是开发程序过程中从bbbbbbS转到的程序员遇到问题多的地方。另外在bbbbbbs下常用的一些通讯控件如MSComm等在下就不能正确使用了。
本监控系统采用API函数实现串口通讯。以下分几个问题介绍串口通讯及整个系统的实现。
1、打开串口
是打开串口,这是串口通讯的步。其代码为:
BOOL CMainDlg::OnInitDialog()
{
......
m_hComm=CreateFile(_T("COM1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0); //打开串口的操作,需要注意
系统与bbbbbbs系统表达方式的细微不同,需要在串口后加上冒号;
SetupComm(m_hComm,1024,1024); //初始化串口的输入,输出缓冲区参数;
SetCommState(m_hComm,&m_dcb) ; //配置串口参数;m_dcb为设置好的参数结构;
......
SetCommTimeouts(m_hComm,&timeout); //设置通讯时时间参数;
PurgeComm(m_hComm,PURGE_TXbbbbb|PURGE_RXbbbbb);
//清空输入,输出缓冲区的字符,为开始接受数据,进控状态做好准备;
......
}
2、读串口线程
其次是启动读串口线程,它让读串口程序不停地在后台运行,而不影响前台程序的工作。与此有关的代码为:
BOOL CMainDlg::OnInitDialog()
{
......
ReadFile(m_hComm,inBuffer+iBufLen,INBUFFERLEN-iBufLen,&dwBytes,NULL); //从串口读数据;
iBufLen+=dwBytes;
for(int i=0;i{
if(inBuffer[i>=="\r") //以连接的设备为OMRON PLC为例,其通讯协议规定应答应当以"\r"结尾;
inBuffer[i>=0; //字符串结束标志;
switch(m_iDlgType) // m_iDlgType为代表不同对话框的标志变量;
{
case 子对话框1标志:
子对话框1.ProcData(inBuffer,i); //不同对话框中对命令应答的处理,ProcData为处理函数名;
break;
......
}
......
}
3、各子对话框发送写命令
各个子对话框根据需要,采用定时器的形式,定时向PLC发送命令。以OMRON PLC为例,在发送命令时,根据OMRON PLC的通讯协议,还需对发送的命令字符串加校验码。这些程序代码为:
void 子对话框1类::OnTimer(UINT nIDEvent)
{
......
strcpy(m_szCmd,"@00RR00000001"); //OMRON PLC的命令字符串;
GenXor(m_szCmd,result); //进行校验码计算,调用 GenXor 函数;
sprintf(szTailer,"%02X*\r",result); //OMRON PLC通讯协议以“*\r”结尾;
strcat(m_szCmd,szTailer); //形成完整的通讯协议命令字符串;
WriteFile(m_hComm, m_szCmd, strlen(m_szCmd),&dwWriten,NULL);
//将命令字符串写入串口;
......
}
以下为上面所调用的计算校验码的代码:
void GenXor(LPCSTR strSource,char& result) //为计算校验码的函数,进行异或运算:
{
result=0; //为校验码赋初值;
int len=strlen(strSource); //命令协议字符串的长度;
for(int i=0;iresult︿=strSource[i>; //按位进行异或;
}
4、显示界面处理
后,读线程读到的数据,交由对应的子对话框进行处理。要对这些数据进行分析,并以动画,柱状图,趋势曲线等表现出来。以所连接的为OMRON PLC为例,其代码为:
void子对话框1类: ProcData(char *buffer, int len)
{
......sscanf(buffer+7,"%04X",&wData); //根据OMRON PLC的命令规约,从应答中将需要的数据取出到变量wData中;
....... //对获得的变量值根据需要进行处理,如以文字或动画等形式在子对话框中进行显示;
}
在进行界面处理时,有一些技巧,如动画显示时,可以用一个定时器控制图片的轮番显示。(在本系统中动画是通过CbitmapButton这个控件进行显示的。)
switch(m_iImage) // m_iImage为定义的动画显示标志;
{
case 1: //显示幅图片,同时将动画显示标志置为2;
CBitmapButton控件变量.LoadBitmaps(图片标志1);
m_iImage=2;
break;
case 2: //显示二幅图片,同时将动画显示标志置为1;
CBitmapButton控件变量.LoadBitmaps(图片标志2);
m_iImage=1;
break;
}
在显示实时曲线时,采用循环数组的方式,在内存中开辟一定大小的空间,使读上来的数形成一个循环数组,在界面上动态的显示出来。
本系统中以20个模拟量为一个数组大小,也就是实时趋势曲线一直显示20个点的信息,但因为使用了循环数组的技术,所以看上去很有动感。
void 子对话框类::循环数组函数(int ivalue) // ivalue为从命令应答中解析出来的有效数据;
{
int index=(m_iBegin+m_iCount)%20; //计算循环数组的下标,初始从0开始;
m_aryvalue[index>=ivalue; //为循环数组赋值;
m_iCount++; //循环数组的个数加1;
if(m_iCount>20) //判断个数是否过20个,如是,将下一个数组下标从1开始,依此类推;
{
m_iCount=20;
m_iBegin=(m_iBegin+1)%20;
}
......
}
通讯是本系统的关键。我们的实践证明,以上四步是实现整个监控系统基本之要点。
六、结论
随着嵌入式操作系统的兴起,各组态软件的开发商也纷纷开发出了嵌入式版的组态软件。但在实际应用中我们发现有许多企业,他们的生产控制流程比较固定,需要的人机界面的数量又比较大,对他们来说,按这里介绍的方法,针对企业自身的生产工艺特点进行开发,提供给用户的是终的运行系统,不需要用户再进行组态的二次开发。这样的系统对这样的用户来说,从时间,价格或性能上来说都比较适合。本系统在鹭岛公司研发的LEODO嵌入式工业控制人机界面上经过了测试运行,明其运行速度较快,比较稳定。效果很好,比较适合工业现场使用。当然LEODO的人机界面也内置了一套简明实用,画面**的ET组态软件,用户可根据实际情况决定自己用语言开发,还是用组态软件开发。
总之,可以看出,人机界面利用Microsoft bbbbbded C++开发应用程序,与在bbbbbbs系统下用Microsoft Visual C++开发程序,有许多相象的地方。借助这个软、硬件平台,多数用户可以开发出适合自己需要的应用程序。
在现代化的工业生产设备中,有大量的数字量及模拟量的控制装置,例如电机的起停,电磁阀的开闭,产品的计数,温度、压力、流量的设定与控制等,工业现场中的这些自动控制问题,若采用可编程序控制器(PLC)来解决自动控制问题已成为有效的工具之一,本文叙述PLC控制系统设计时应该注意的问题。
硬件选购目前市场上的PLC产品众多,除国产外,国外有:日本的 OMRON、MITSUBISHI、FUJJ、anasonic,德国的SIEMENS,韩国的LG等。近几年,PLC产品的价格有较大的下降,其性价比越来越高,这是众多技术人员选用PLC的重要原因。那么,如何选购PLC产品呢?
1、系统规模应确定系统用PLC单机控制,还是用PLC形成网络,由此计算PLC输入、输出点。数,并且在选购PLC时要在实际需要点数的基础上留有一定余量(10%)。
2、确定负载类型根据PLC输出端所带的负载是直流型还是交流型,是大电流还是小电流,以及PLC输出点动作的频率等,从而确定输出端采用继电器输出,还是晶体管输出,或品闸管输出。不同的负载选用不同的输出方式,对系统的稳定运行是很重要的。
3、存储容量与速度尽管国外各厂家的PLC产品大体相同,但也有一定的区别。目前还未发现各公司之间兼容的产品。各个公司的开发软件都不相同,而用户程序的存储容量和指令的执行速度是两个重要指标。一般存储容量越大、速度越快的PLC价格就越高,但应该根据系统的大小合理选用PLC产品。
4、编程器的选购PLC编程可采用三种方式:一是用一般的手持编程器编程,它只能用商家规定语句表中的语句编程。这种方式效率低,但对于系统容量小,用量小的产品比较适宜,并且体积小,易于现场调试,造价也较低。
一是用图形编程器编程,该编程器采用梯形图编程,方便直观,一般的电气人员短期内就可应用自如,但该编程器价格较高。
一是用IBM个人计算机加PLC软件包编程,这种方式是效率的一种方式,但大部分公司的PLC开发软件包价格昂贵,并且该方式不易于现场调试。
因此,应根据系统的大小与难易,开发周期的长短以及资金的情况合理选购PLC产品。5、尽量选用大公司的产品其质量,且技术支持好,一般售后服务也较好,还有利于你的产品扩展与软件升级。
一、输入回路的设计
1、电源回路PLC供电电源一般为 AC85—240V(也有DC24V),适应电源范围较宽,但为了抗干扰,应加装电源净化元件(如电源滤波器、1:1隔离变压器等)。
2、PLC上DC24V电源的使用各公司PLC产品上一般都有DC24V电源,但该电源容量小,为几十毫安至几百毫安,用其带负载时要注意容量,同时作好防短路措施(因为该电源的过载或短路都将影响PLC的运行)。
3、外部DC24V电源 若输入回路有DC24V供电的接近开关、光电开关等,而PLC上DC24V电源容量不够时,要从外部提供DC24V电源;但该电源的“—”端不要与 PLC的 DC24V的“—”端以及“COM”端相连,否则会影响PLC的运行。
4、输入的灵敏度各厂家对PLC的输人端电压和电流都有规定,如日本三菱公司F7n系列PLC的输入值为:DC24V、7mA,启动电流为4.5mA,关断电流小于1.5mA,因此,当输入回路串有二管或电阻(不能启动),或者有并联电阻或有漏电流时(不能切断),就会有误动作,灵敏度下降,对此应采取措施。另一方面,当输入器件的输入电流大于PLC的大输入电流时,也会引起误动作,应采用弱电流的输入器件,并且选用输人为共漏型输入的 PLC,Bp输入元件的公共点电位相对为负,电流是流出 PLC的输入端。
二、输出回路的设计
1、各种输出方式之间的比较
(1)继电器输出:优点是不同公共点之间可带不同的交、直流负载,且电压也可不同,带负载电流可达2A/点;但继电器输出方式不适用于高频动作的负载,这是由继电器的寿命决定的。其寿命随带负载电流的增加而减少,一般在几十万次至Jl百万次之间,有的公司产品可达1000万次以上,响应时间为10ms。
(2)晶闸管输出:带负载能力为0.2A/点,只能带交流负载,可适应动作,响应时间为1ms。
(3)晶体管输出:大优点是适应于高频动作,响应时间短,一般为0.2ms左右,但它只能带 DC 5—30V的负载,大输出负载电流为0./点,但每4点不得大于0.8A。
当你的系统输出频率为每分钟6次以下时,应继电器输出,因其电路设计简单,抗干扰和带负载能力强。当频率为10次/min以下时,既可采用继电器输出方式;也可采用PLC输出驱动达林顿三管(5—10A),再驱动负载,可大大减小。
2、抗干扰与外部互锁当 PLC输出带感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击,为此,对直流感性负载应在其旁边并接续流二管,对交流感性负载应并接浪涌吸收电路,可有效保护PLC。当两个物理量的输出在PLC内部已进行软件互锁后,在PLC的外部也应进行互锁,以加强系统的性。
3、“GOM“点的选择不同的 PLC产品,其“COM”点的数量是不一样的,有的一个“COM”点带8个输出点,有的带4个输出点,也有带2个或1个输出点的。当负载的种类多,且电流大时,采用一个“COM”点带1—2个输出点的 PLC产品;当负载数量多而种类少时,采用一个“COM”点带4—8个输出点的PLC产品。这样会对电路设计带来很多方便,每个“COM”点处加一熔丝,1—2个输出时加2A的熔丝,4—8点输出的加5—10A的熔丝,因 PLC内部一般没有熔丝。
4、PLC外部驱动电路对于 PLC输出不能直接带动负载的情况下,在外部采用驱动电路:可以用三管驱,也可以用固态继电器或晶闸管电路驱动,同时应采用保护电路和浪涌吸收电路,且每路有显示二管(LED)指示。印制板应做成插拔式,易于维修。
PLC的输入输出布线也有一定的要求,请看各公司的使用说明书。
三、扩展模块的选用
对于小的系统,如80点以内的系统.一般不需要扩展;当系统较大时,就要扩展。不同公司的产品,对系统总点数及扩展模块的数量都有限制,当扩展仍不能满足要求时,可采用网络结构;同时,有些厂家产品的个别指令不支持扩展模块,因此,在进行软件编制时要注意。当采用温度等模拟模块时,各厂家也有一些规定,请关的技术手册。
各公司的扩展模块种类很多,如单输入模块、单输出模块、输入输出模块、温度模块、高速输入模块等。 PLC的这种模块化设计为用户的产品开发提供了方便。
四、PLC的网络设计
当用PLC进行网络设计时,其难度比PLC单机控制大得多。你应选用自己较熟悉的机型,对其基本指令和功能指令有较深入的了解,并且指令的执行速度和用户程序存储容量也应仔细了解。否则,不能适应你的实时要求,造成系统崩溃。另外,对通信接口、通信协议、数据传送速度等也要考虑。
后,还要向 PLC的商家寻求网络设计和软件技术支持及详细的技术资料,至于选用几层工作站,依你的系统大小而定。
五、软件编制
在编制软件前,应熟悉所选用的 PLC产品的软件说明书,待熟练后再编程。若用图形编程器或软件包编程,则可直接编程,若用手持编程器编程,应先画出梯形图,然后编程,这样可少出错,速度也快。编程结束后先空调程序,待各个动作正常后,再在设备上调试。
PLC的硬件故障较为直观地就能发现,维修的基本方法就是换模块。根据故障指示灯和故障现象判断故障模块是检修的关键,盲目的换会带来不必要的损失。
(1)电源模块故障一个工作正常的电源模块,其上面的工作指示灯如“AC”、“24VDC”、“5VDC”、“BATT”等应该是长亮的,哪一个灯的颜色发生了变化或闪烁或熄灭就表示那一部分的电源有问题。“AC”灯表示PLC的交流总电源,“AC”灯不亮时多半无工作电源,整个PLC停止。这时就应该检查电源保险丝是否熔断,换熔丝是应用同规格同型号的保险丝,无同型号的进口熔丝时要用电流相同的快速熔丝代替。如重复烧保险丝说明电路板短路或损坏,换整个电源。“5VDC”、“24VDC”灯熄灭表示无相应的直流电源输出,当电源偏差出正常值5%时指示灯闪烁,此时虽然PLC仍能工作,但应引起重视,必要时停机检修。“BATT”变色灯是后备电源指示灯,正常,黄色电量低,红色故障。黄灯亮时就应该换后备电池,手册规定两到三年换锂电池一次,当红灯亮时表示后备电源系统故障,也需要换整个模块。
(2)I/O模块故障
输入模块一般由光电耦合电路组成;输出模块根据型号不同有继电输出、晶体管输出、光电输出等。每一点输入输出都有相应的发光二管指示。有输入信号但该点不亮或确定有输出但输出灯不亮时就应该怀疑I/O模块有故障。输入和输出模块有6到24个点,如果只是因为一个点的损坏就换整个模块在经济上不合算。通常的做法是找备用点替代,然后在程序中改相应的地址。但要注意,程序较大是查找具体地址有困难。特别强调的是,无论是换输入模块还是换输出模块,都要在PLC断电的情况下进行,S5带电插拔模块是不允许的。
(3)CPU模块故障
通用型S5PLC的CPU模块上往往包括有通信接口、EPROM插槽、运行开关等,故障的隐蔽性大,因为换CPU模块的费用很大,所以对它的故障分析、判断要尤为仔细。
检修实例:一台PLC合上电源时无法将开关拨到RUN状态,错误指示灯先闪烁后常亮,断电复位后故障依旧,换CPU模块后运行正常。在进行芯片级维修时换了CPU但故障灯仍然不停闪烁,至到换了通信借口板后功能才恢复正常。