7
西门子6ES7231-0HC22-0XA8诚信合作
型PLC是为特殊用途的机器设备而设计的,用于关键型控制和型应用。这些控制器通常是仪表系统(SIS)的一部分,用在检测具有潜在危险的流程工业环境中。一旦出危险,SIS的应用程序能自动作用,把流程切换到状态。谈到这里,用户可能会有一系列的问题:常规PLC已经成功地使用了这么多年了,与PLC相比有什么不同?为什么在关键型控制和型应用中,不能使用常规的PLC?
一、综述
一台PLC采用了特殊的设计,能够实现两个重要目标:
1.系统不会失效(采用冗余的工作方式),即使元件的失效不可避免;
2.失效是在可预测的范围内,一旦失效,系统将进入模式。
在设计PLC时,要考虑到很多因素,需要很多的特殊设计。比如:一台PLC强调内部诊断,结合硬件和软件,可以让设备随时检测自身工作状态的不适;一台PLC具有的软件,要使用一系列的特殊技术,能确保软件的性;一台PLC具有冗余功能,即使一部分失效,也能够维持系统运行;一台PLC还具有外加的机制,不允许通过数字通信接口随便读写内部的数据。
PLC与常规PLC的不同还在于:PLC需要得到三方机构的认证,满足苛刻的性和性标准。地采用系统方法,来设计和测试PLC。德国的TUV和美国的FM会提供对PLC设计和测试过程的、三方立的确认和验证,特殊的电子线路,细致的诊断软件分析,再加上对所有可能失效进行测试的完整性设计,确保了PLC具有测定99%以上的内部元件潜在危险失效的能力。一种失效模式、影响和诊断分析(FMEDA)方法一直指导着设计,这种方法会指出每个元件是怎样引起系统失效,并且告诉你系统应该如何检测这个失效。TUV的工程师会亲自执行失效测试,把它作为他们认证过程的一个部分。
严格的标准软件应用于PLC。这些标准需要特殊技术,避免复杂性。进一步的分析和测试,细致地检查操作系统的任务交互操作。这种测试包括实时的交互操作,比如多任务(当使用时)和中断。还需要进行一种特殊的诊断,被称为"程序流控制"和"数据确认"。程序流检查能确保基本功能能按正确的顺序执行,数据确认使所有的关键数据在存储器里进行冗余存储,并且在使用前进行有效性测试。在软件开发过程中,一个PLC需要附加的软件测试技术。为了核实数据完整性检查,执行一系列"软件失效注入"测试,也就是人为对程序进行故意破坏,来检查PLC的响应是否运行在预计的方式。软件的设计和测试带有详细的文件资料,这样三方的检查员就能够明白PLC的运行原理,而多数软件开发没有使用这种规范的操作流程,这也正好说明为什么众多的垃圾软件会出现那么多的臭虫而无法发现了。
二、举例
下面试通过施耐德电气公司的一款PLC,来具体地说明PLC与常规PLC的区别。
2.1PLC与常规PLC的CPU的差别
常规PLC内部CPU的数量有一个或多个,它或它们的作用是:执行用户的程序、进行I/O的扫描和系统的诊断。但用户的程序通常就进行一次处理,多个CPU的功能是把程序中的逻辑运算、算数运算、通信功能等分担实现,也就是协作处理。
而PLC的CPU至少有两个或多个,两个CPU的功能是:分别对同一个用户程序各自执行一次,然后再把两个结果放在一起进行比较,如果比较的结果是一致的,就输出这个,如果是不一致的,选择的输出。由此看出,这才是PLC与常规PLC大的不同:冗余+比较。
2.2PLC内部CPU的结构
PLC包含2个处理器,每个处理器在自己的存储器区中,执行它们自己的逻辑,然后在每个周期的结尾和对方的结果进行比较,每个处理器有它自己立的停机通道,如果检测到结果的不同或有失效成分,它能够实现系统停机,切到状态。这种双处理结构被称为内部的二选一结构。
PLC通常都有两个处理器,同时进行解码和执行。这种差异提供了失效的下列优点:
两个可执行码自生成,编译的差异性使得在代码生成时,容易检测系统失效。
两个生成码由不同的处理器执行,因此,CPU能够在代码执行时,出系统失效和PLC的随机失效。
两个立的存储器区用于两个处理器,因此,CPU能够出RAM的随机失效,而这在每个扫描周期的全部RAM检查时测不出来。
这里我们接着引出PLC与常规PLC二个大的不同:随时+步步进行诊断和检测。这种检测有的是通过自身信息进行的,称为自检;还有的通过对方的信息进行检测,称为互检。后面我们还会提到多的检测。
2.3PLCCPU中的检测
时钟测量:在处理器电路中,有两个不同的振荡器交叉检查它们的行为,每个处理器使用一个时钟检查另外一个是否运行。如果在一个确定的周期里,检测到对方没有运行,CPU就会进入状态。固件每秒钟会检查两个振荡器的精度。
监视时钟:一个硬件和一个固件的监视时钟检查PLC的活动和执行用户逻辑的执行时间。这和常规的PLC系统是相同的。
序列检查:序列检查监视CPU操作系统不同部分的执行。
存储器检查:所有静态存储器区,包括Flash存储器和RAM,使用循环冗余码(CRC)进行检测,并且双码执行。动态存储器区由双码执行保护,周期性进行检测。在冷启动时,这些检测重新进行初始化。
从上面的分析可以看出,PLC的诊断和检测比常规的PLC的检测要多很多,所以相对来说,硬件和软件的设计复杂。当然,检测和诊断的范围也广范,细致。
2.4PLCI/O诊断概述
上面我们对PLC的CPU的情况进行了一个简单的分析,下面我们再来看看输入/输出模块的情况。
所有I/O模块都要执行以下两个诊断功能:
多的系统层面的诊断,包括了:RAM测试、ROM测试、以及
根据模块的类型不同,现场层面的诊断,
下面的表格列出了I/O模块的现场诊断情况:
还有,PLC要对CPU和I/O之间的通信进行诊断,比如使用CRC校验。因此,不仅要检查接收的数据是否等于发送的数据,而且要检查数据变化。为了解决扰动问题,比如EMC的影响,它可能瞬间破坏你的数据,所以你需要对每个模块,配置一个很大的连续CRC错误诊断。
上电时诊断:在上电时,I/O模块执行扩展的自检程序,如果测试出现错误,模块被认为不健康,输入输出全部置为0。
运行时的诊断:在系统运行时,I/O模块执行自检程序,输入模块检验是否能够从传感器读取整个范围的数据,输出模块对它们的开关执行脉冲测试,周期小于1ms,在数字量输入和数字量输出模块,上电自检失效和模块没有接到外部的24V电源时,模块不工作。
过压诊断:因为电子元件,从理论上说,电源电压过了大值时,它们不应该工作,所以I/O模块对来自背板的电源电压进行监视。
下表描述了对电源电压的监视:
2.5PLC的模拟量输入模块
接地断线检测:模拟量输入模块具有监视接地失效(漏电流)的功能。外接线一端通常要连接到中性地,在接地端子与中性地之间可以接入一个分流电阻(比如250欧姆),那么模拟量输入的漏电流就可以通过这个电阻上的电压,出来。
内部诊断:现场侧包括了8个隔离立的输入通道,每个输入具有2个相同的电路构成,每个电路的微处理器通过驱动它的模拟量-数字量转换器、再经过隔离器得到输入值。)另外,当进行诊断时,微处理器还驱动它的数字量-模拟量转换器并且把它置成高阻抗(非干涉)或者低阻抗,强迫做为模拟量-数字量转换器的输入。
模拟量输入模块执行:
短期间的自检。使用常规的、周期的差异值检测,判断内部是否失效。
长期间的自检。使用每个通道的健康状态来核实内部是否失效。
现场电源监督:没有电源监督,这个功能由模拟量-数字量转换器期间,对模拟量-数字量转换器和数字量-模拟量转换器提供的根据它们电源电压的值来实现。
2.6PLC的数字量输入模块
内部诊断:每个输入通道使用一个公共输入电路和2个立链路,每个微处理器驱动一个数字输入串行器(DIS)来实现对输入信息的采样。另外,微处理器还驱动一个数字输入还原器(DID),再驱动诊断功能块进行诊断,实现还原数据与输入数据的同步比较。
输入通道错误检测:数字量输视现场侧电源,利用外部接线来进行漏电流的检测,小的漏电流是1mA,如果没有漏电流,就代表外部电路出现开路故障,在干接点的情况下,在接点两端并联一个10k的上拉电阻,用于外部线路的断线检测。每个输入电路都配置了开关,周期地强制为1或0,用于检测电路是否健康。每个输入电路立进行检测,如果发现问题就对诊断位置1,声明通道处于非健康状态。
2.7PLC的数字量输出模块
内部诊断:为了开关是否能够断开与闭合,要在输出模块(在模块内部电路,插入周期性的诊断循环)进行一个脉冲测试。
诊断序列包括:
关命令,这个时间非常短,不会影响执行器,大不过1ms;
核实测试结果,并且
恢复正确的开关命令。
电源监视:每个输出电路包括两个串联的开关,有两个处理器分别进行控制。个微处理器使用数字量输出还原器(DOD)驱动它的开关,而二个微处理器则在还原器之后驱动它的开关。在每个周期里,两个微处理器系统的中点电压要与一个阀值进行比较,然后还要交换它们的如果,评估中点的状态,诊断开关的状态。如果在一个通道查到出错的行为,那么立即停机,并且设置诊断位,通知CPU。
三、小结
通过两个章节的介绍,了解了PLC和常规PLC的基本不同点,实际上还有象:外部传感器接线方式的不同、内部操作系统的不同、软件功能块的设置不同、软件编制的要求不同、以及通信协议的规范不同等,会再与读者进行交流。
当然,PLC和常规PLC还有很多相似之处,比如说:两者都具有执行逻辑和算数计算的能力;两者都具有典型的输入和输出(I/O)模块,提供解释来自流程传感器信号和执行控制到终元件的能力;两者都是采用扫描输入,然后进行计算,后写到输出;两者都具有典型的数字通信接口。但常规PLC不是基于容错和失效而设计的,这是两者的基本的不同。
由于很多用户发现常规的PLC不能用于关键应用的保护,因此产生了对PLC的需求。对PLC的设计、制造和安装的要求标准是非常高的。如果在项目的设施中,忽略这些标准,或者按这些高标准的方法执行,从职业和社会的角度来看,都是靠不住的、不负责任



一、分析被控对象并提出控制要求
详细分析被控对象的工艺过程及工作特点,了解被控对象机、电、液之间的配合,提出被控对象对PLC控制系统的控制要求,确定控制方案,拟定设计任务书。
二、确定输入/输出设备
根据系统的控制要求,确定系统所需的全部输入设备(如:按纽、位置开关、转换开关及各种传感器等)和输出设备(如:接触器、电磁阀、信号指示灯及其它执行器等),从而确定与PLC有关的输入/输出设备,以确定PLC的I/O点数。
三、选择PLC
PLC选择包括对PLC的机型、容量、I/O模块、电源等的选择,详见本章二节。
四、分配I/O点并设计PLC外围硬件线路
1.分配I/O点
画出PLC的I/O点与输入/输出设备的连接图或对应关系表,该部分也可在2步中进行。
2.设计PLC外围硬件线路
画出系统其它部分的电气线路图,包括主电路和未进入可编程控制器的控制电路等。
由PLC的I/O连接图和PLC外围电气线路图组成系统的电气原理图。到此为止系统的硬件电气线路已经确定。
五、程序设计
1.程序设计
根据系统的控制要求,采用合适的设计方法来设计PLC程序。程序要以满足系统控制要求为主线,逐一编写实现各控制功能或各子任务的程序,逐步完善系统的功能。除此之外,程序通常还应包括以下内容:
1)初始化程序。在PLC上电后,一般都要做一些初始化的操作,为启动作必要的准备,避免系统发生误动作。初始化程序的主要内容有:对某些数据区、计数器等进行清零,对某些数据区所需数据进行恢复,对某些继电器进行置位或复位,对某些初始状态进行显示等等。
2)检测、故障诊断和显示等程序。这些程序相对立,一般在程序设计基本完成时再添加。
3)保护和连锁程序。保护和连锁是程序中不可缺少的部分,认真加以考虑。它可以避免由于非法操作而引起的控制逻辑混乱。
2.程序模拟调试
程序模拟调试的基本思想是,以方便的形式模拟产生现场实际状态,为程序的运行创造必要的环境条件。根据产生现场信号的方式不同,模拟调试有硬件模拟法和软件模拟法两种形式。
1)硬件模拟法是使用一些硬件设备(如用另一台PLC或一些输入器件等)模拟产生现场的信号,并将这些信号以硬接线的方式连到PLC系统的输入端,其时效性较强。
2)软件模拟法是在PLC中另外编写一套模拟程序,模拟提供现场信号,其简单易行,但时效性不易保证。模拟调试过程中,可采用分段调试的方法,并利用编程器的监控功能。
六、硬件实施
硬件实施方面主要是进行控制柜(台)等硬件的设计及现场施工。主要内容有:
1)设计控制柜和操作台等部分的电器布置图及安装接线图。
2)设计系统各部分之间的电气互连图。
3)根据施工图纸进行现场接线,并进行详细检查。
由于程序设计与硬件实施可同时进行,因此PLC控制系统的设计周期可大大缩短。
七、联机调试
联机调试是将通过模拟调试的程序进一步进行在线统调。联机调试过程应循序渐进,从PLC只连接输入设备、再连接输出设备、再接上实际负载等逐步进行调试。如不符合要求,则对硬件和程序作调整。通常只需修改部份程序即可。
全部调试完毕后,交付试运行。经过一段时间运行,如果工作正常、程序不需要修改,应将程序固化到EPROM中,以防程序丢失。
八、整理和编写技术文件
技术文件包括设计说明书、硬件原理图、安装接线图、电气元件明细表、PLC程序以及使用说明书等。
如果无法建立与PLC的通讯连接, 请按以下步骤进行排查:
a)检查所用电缆 。
如果是和S7 -200/300/400 进行PPI/MPI/Profibus/通讯, 可使用MPI电缆(两端针脚对应为:3-3,4-4,5-5,8-8)或Profibus电缆(两端针脚对应为:3-3,8-8)。
使用西门子紫色的Profibus电缆和Profibus总线连接器(或称DP接头)。
可以使用自制的屏蔽双绞电缆, 但应妥善处理屏蔽和接地问题。西门子不对自制电缆做任何形式的承诺和保证。
如果使用DP接头连接网络上的多个站时, 请务必注意DP接头终端电阻的状态::网络两端的接头为ON, 中间的为 OFF; 两端接头进线端接电缆。
b) 检查和确认PLC 通讯口的设置。
波特率是多少?
站地址是多少?
选择的是什么协议?
c) 在ProTool 和WinCC Flexible 中检查通讯设置。
通讯同级的地址要填PLC实际站地址一致。注意:如果是S7-300/400的话,需要设置槽号(槽号要Step7硬件组态中CPU的槽号一致)。
OP的地址是的,不能和该网络中任何设备的地址重复。
波特率和PLC设置的一致。
配置文件Profile 要与网络使用的协议一致。注意:与S7-200通讯时, 面板可以有多种选择,而PLC是协议自适应的, 无须在MicroWin中设置, 只需在MicroWin的系统块中设置端口号和波特率即可。
选择“总线上的主站”。
d) 检查是否正确使用面板背后的通讯端口。
与S7-200/300/400 进行PPI/MPI/Profibus 通讯时使用的是IF1B口, 面板背后的IF1B的拨段开关应保持出厂设置,都拨向OFF。
如果通过以上的排查和确认,还是无法解决,请记录下出问题时,面板上和计算机上所显示的错误信息或错误代码,以及所用电缆的型号或线序,然后拨打技术支持热线400-8104288-1 寻求西门子技术支持工程师的帮助。
CPU 在程序循环处理过程中有一段连续的地址区域存储过程信号叫做过程映象区,他处于CPU的系统存储区中。这样CPU 可以访问内部存储区获得I/O 信号而不用直接访问I/O 模块。
过程映象区中的I/O 值不反映当前的I/O 信号,他记录的是循环扫描起始期的I/O 值。当输入模块中的一个信号状态发生改变,过程映象区中该信号的状态直到下次循环开始时才会新。
通过过程映像区访问时,地址格式是I/Q(输入/输出),小可以访问到位,如I0.0,Q10.0
一般通过过程映像区访问的循环程序运行流程如下:
1. 执行CPU 内部任务
2. 将过程映像区输出区(PIQ)送到模块输出通道
3. 从模块的输入通道到过程映像区输入区(PII)
4. 执行用户程序段
但是过程映象区仅有128 个字节,而对于新型的CPU315-2DP(2AG10),它支持的数字量通道是16384,即有2048byte,有时候在I/O 量很大的情况下有必要采用直接I/O 访问的方式而不占用过程映像区,小访问单位是字节。地址格式如下:
PIB/ P 256 ,PIW / PQW 256,PID / PQD 256。
注意:直接I/O 访问,小按字节进行,不能单对位进行操作。
CPU 系统循环扫描周期:
一般在循环扫描周期中,过程映象区会自动地新,但在S7-400 和CPU 318 中您可以取消这样的新方式,进行直接的I/O 访问或者在程序的不同地方调用SFC26”UPDAT_PI”
和SFC27”UPDAT_PO”来新过程映象区。
通讯也可考虑采用PPI,硬件费用很低,实现起来也简单
1、主站:wincc6可以通过modbus opc server实现。从站:在s7200项目中添加modbus slave协议库(microwin帮助中有详细介绍)。主从站的通讯参数一致。
2、pc access其实就是一个s7 200 opc server(ppi),比采用modbus简单易用,由于采用ppi协议,PLC项目中不必另嵌通讯处理程序。
3、pc/ppi电缆也可以用市售的rs232/485转换器代替。
WinCC与S7-200系列PLC通过PPI协议进行通信的实现。
PPI协议是西门子S7-200系列PLC常用通信协议,但WinCC中没有集成该协议,即WinCC不能直接监控S7-200系列PLC组成的控制系统。S7-200 OPC Server是西门子公司推出的专为解决上位机监控S7-200系列PLC控制系统的接口软件。因此,WinCC可以通过该软件与S7-200系列PLC很方便的建立通信。
(1) 软硬件要求:
* PC机 ,bbbbbbs 操作系统;
* S7-200系列PLC。
* PC/PPI电缆。
* 安装S7-200 OPC Server 软件。
* 安装WinCC 6.0软件。
(2)连接:
在控制面板中设定PG/PC接口参数。在Access Point of the Application中选择Computing,Interface参数选择PC/PPI Cable。
在WinCC变量管理器中添加一个新的驱动程序,新的驱动程序选择OPC.CHN,在OPC GROUP中新建一个连接,打开属性,选择 OPC Group Setting,OPC服务器名称为OPCServer.MicroComputing。然后在新添加的连接中新建变量,变量的Item Name与S7-200系列PLC中用于监控的变量名对应。例如:Item Name为M0.0。
(3)优缺点
优点:该方法连接简单、硬件投资少、可以读写S7-200系列PLC中所有存储区域。缺点:通信速度比较慢、需要OPC软件及相应授权、系统扩展不方便。应用场合:用于低速、实时性要求不高、系统投资资金有限的系统。
另外,也可以通过其他公司的OPC软件进行通信,例如用开普的KEPServerEx作为OPC服务器,用WinCC作为OPC客户端来读写S7-200系列PLC内部数据区。实现与上述二种方法类似,不同的是在OPC服务器中建立标签与S7-200系列PLC中存储地址对应