6ES7231-7PC22-0XA0型号大全
1 引言
西门子工控产品在工控领域应用市场中有较高的占有率,S7—200系列PLC是西门子SIMATIC PLC家族中的成员之一,在西门子工控领域应用中占有重要地位。S7—200系列PLC体积小,软硬件功能强大,系统配置方便,由它组成的系统可以与强大的Profibus现场总线相连接。它一推向市场就在各行各业得到了广泛应用。但是在实际工程应用中遇到了监控计算机与S7—200系列PLC通信问题。由于西门子公司S7—200系列PLC比监控组态软件WinCC推出晚,因此WinCC中没有集成S7—200系列PLC的通信驱动程序;S7—200系列PLC的通信协议也不公开.应用第三方软件编制监控程序也有问题。这些问题给S7—200系列PLC的应用带来了一定的限制,为了解决这个实际工程问题,作者做了一些研究,本文就S7—200系列PLC与监控计算机通信问题研究结果展开讨论。
2 S7—200系列PLC监控的主要方法
在大多数控制系统中,仅仅是实现控制是不够的,在许多情况下也需要组态监控界面对系统进行监控。通过监控可以增加人机交互的能力,使操作人员实时地监控系统工作情况并使系统操作变得方便。
对S7—200系列PLC组成的控制系统进行监控一般有三种方法:组态软件监控、第三方软件编制的监控软件监控、触摸屏监控。
用组态软件WinCC实现监控,功能强大,灵活性好,可靠性高。但软件价格高,并需要解决WinCC与S7—200系列PLC的通信问题。在复杂控制系统中可以采用此方法。
用第三方软件编制的监控软件实现监控,灵活性好,系统投资低,能适用于各种系统。但开发系统工作量大、可靠性难保证,对技术人员的经验和技术水平的要求高,还必须购买通信协议软件。在系统资金投资有限,技术人员水平较高的情况下可以采用此方法。
触摸屏进行监控,可靠性高,监控实现容易,触摸屏与PLC之间的通信问题生产厂商已处理好.用户不用考虑通信问题,可以大大缩短工程周期。但灵活性一般,功能有限,不能满足复杂控制系统的监控要求.而且价格高。在系统可靠性要求高、工期短的情况下可以采用此方法。
3 WinCC组态软件与S7—200系列PLC的通信
SIMATIC WinCC采用了新的32位技术的过程监控软件,具有良好的开放性和灵活性。无论是单用户系统,还是冗余多服务器,多用户系统。WinCC均是较好选择。通过ActiveX,OPC,SQL等标准接口.WinCC可以方便地与其它软件进行通信。WinCC与S7—200系列PLC的通信.可以采用PPI和Profibus两种通信协议之一进行。
1、WinCC与S7—200系列PLC通过Proilbus 协议进行通信的实现
(1)软硬件要求:
*PC机,bbbbbbs 98操作系统:
*S7—200系列PLC;
*CP5412板卡或者其他同类板卡,例如:CP5611,CP5613;
*EM277 Profibus DP模块:
*Profibus电缆及接头;
*安装CP5412板卡的驱动;
*安装WinCC 4. 0或以上版本:
*安装COM Profibus软件。
硬件连接如图1。
监控计算机:DP主站,地址为1
图1 WinCC与S7—200系列PLC通信实现硬件连接
(2)组态
打开SIMATIC NET\COM Pmfibus,新加一个组态,主站为SOFTNET—DP,从站是EM277 Profihus—DP。主站的地址选择从1到126。从站的地址选择从3到99,与EM277的地址一致。然后用该软件对从站进行配置:打开从站属性,在Configure选项中,选择8bytes in/8bytes out(可根据实际需要选定)。在bbbbbeterize中可以选择偏移地址.地址对应于S7—200系列PLC的数据区(即V区),默认为0,即从VBO开始。组态完成后,导出(Export)NCM文件,生成*.txt和*.ldb文件。
(3)设置PG/PC interface。
在AccessPoint of the Application中选择CP-L2_1,在Interface bbbbbeter Assignment选择CP5412A2(Profibus)。在属性里的激活DP协议,并在DP-Database参数中输入*jdb文件的完全路径。设置完成后可以诊断硬件配置是否正确、通信是否成功。
(4)WinCC的设置。
在WinCC变量管理器中添加一个新的驱动程序,新的驱动程序选择PROFIBUS DPCHN。选择CP5412(A2)Board 1.在Syatem bbbbbeters设定参数。CP5412(A2)board参数为1.表示板卡的编号;Config参数为组态时生成的*.1xt文件的完全路径;Watchdog time参数为0。新建一个连接.从站地址与EM277的地址一致。
(5)建立变量。
WinCC中的变量类型有In和Out。In和Out是相对于主站来说的.即In表示WinCC从S7—200系列PLC读入数据,Out表示WinCC向s7—200系列PLC写出数据。In和Out与数据存储区V区划应。在该例中,Out与PLC中数据存储区的VB0~VB7对应,1n与PLC中的存储区的VB8~VBl5对应。
(6)优缺点。
优点:该方法数据传输速度快、易扩展、实时性好。缺点:传送数据区域有限(大“字节),在PLC中也必须进行相应的处理.且硬件成本高.需要的CP5412、EM277 Profibus—DP、Profibu9总线等硬件.还需要Com Pmfibus软件。应用场合:适用于在要求高速数据通信和实时性要求高的系统。
2、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 98操作系统;
*S7—200系列PLC。
*PC/PPI电缆。
*安装S7—200 OPC Server软件。
*安装WinCC 4.0软件。
(2)连接:
在控制面板中设定PG/PC接口参数。在Access Point of the Application中选择Computing,Interface参数选择PC/PPI Cable。
在WinCC变量管理器中添加个新的驱动程序。新的驱动程序选择OPC CHN,在OPC GROUP中新建一个连接,打开属性,选择OPC Group Setting,OPC服务器名称为OPCServerMicroComputing。然后在新添加的连接中新建变量.变量的Item Name与s7—200系列PLC中用于监控的变量名对应:例如:Item Name为M00。
(3)优缺点
优点:该方法连接简单、硬件投资少、可以读写S7—200系列PLC中所有存储区域。缺点:通信速度比较慢、需要OPC软件及相应授权、系统扩展不方便。应用场合:用于低速、实时性要求不高、系统投资资金有限的系统。
另外,也可以通过其他公司的OPC软件进行通信.例如用开普的KEPServerEx作为OPC服务器.用WinCC作为OPC客户端来读写S7—200系列PLC内部数据区。实现与上述第二种系列PLC中存储地址对应。
在复杂系统中,如果系统中同时有S7—200系列PLC和B7-300系列PLC存在。S7—200系列PLC一般作为S7—300系列PLC的从站挂到Profibus总线上,WinCC通过S7-300系列PLC对S7-200系列PLC进行监控。
可编程控制器PC(Programmable Controller),为与个人计算机PC(Personal Computer)相区别,可简称为PLC。它是按照成熟而有效的继电控制概念和设计思想,用先进的单片机技术来实现I/O的实时检测和控制,可靠性高,编程简单、易学,因此,得到广泛应用。
将PLC技术引进电工学、电力拖动课程,是课程建设现代化的重要措施。在教学经费相对紧张的情况下,我们自己动手,以AT89C51单片机为核心,设计并研制了LD型微型PLC,应用于继电控制实验,取得了良好的效果。
用单片机构成的PLC,实际上就是一个单片机测控系统。用这样一个程序控制的计算机系统去执行继电控制的梯形图程序,由于继电控制梯形图中各被控电器之间是并行关系,而计算机程序控制中,各被控电器之间在时间上是串行关系,二者显然不协调。若简单地像一般单片机测控系统一样,对梯形图各程序行依次实时采集输入端子状态,进行处理后实时输出,是达不到控制目的的。为此,必须采用一次性采集全部输入端子状态,并将其存入输入缓冲区。然后,按梯形图程序行的逻辑关系,从输入缓冲区读取相应输入端子状态,处理后将待输出的结果存入输出缓冲区。后,待梯形图程序行全部执行完毕,一次性将输出缓冲区的值输出到相应的输出端子,从而完成一个程序执行周期。如此往复,自动进行下一轮的采集输入端子状态……。这种工作方式即称为扫描方式,它将串行程序工作和电器并行工作两种关系协调了起来。另外,单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,而对其状态变化的采集和处理也是实时的,从而满足了实时控制的要求。
系统硬件配置以AT89C51(以下简称51)单片机为核心,如图1所示。该单片机有4 KB闪存,不必扩展程序存储器,其4个I/O口共32个I/O引脚,都可供用户使用,其中P0.7~0.0,P2.4~2.0共13个脚经光耦隔离后连到相应的输入端子X07~X00,X14~X10。可以用行程开关、液位开关、霍耳开关和手动按钮等进行输入。开关接通时,相应引脚为"0",取反后存入输入缓冲区。
P1.7~1.0共8个引脚用于输出控制:P1.i为"0"时,相应的PNP管导通,继电器Ji线圈通电,其触点Y5i接通,可驱动220 V/3 A的负载。
为了与PC机进行通信,系统扩展了RS-232C接口电路。51单片机的RXD和TXD信号经RS-232C电平变换后接至9芯插座。由此可与PC机进行串行通信。一方面,在编程状态时,可接收PC机上梯形图汇编程序编译结果的OBJ指令代码,并存入程序存储器;另一方面,在运行状态时,可将I/O口的状态和处理结果实时地发送给上位机。
程序存储器选用有SPI接口的X25045芯片。这是带可编程看门狗和电源监控功能的E2PROM,有512字节,每字节可擦写10万次,数据可保存100年。上电时自动提供200 ms高电平复位脉冲;有三种可编程看门狗周期;电源欠压,VCC降到转折点时,自动提供复位脉冲。E2PROM采用三线总线的串行外设接口SPI,既节省了I/O口线和电路板空间,又降低了系统成本。因此,该芯片是性价比极好的组合芯片。
软件设计分为PC机梯形图汇编程序编译软件和51单片机软件两部分。前者用IBM-PC汇编语言编写,我们称之为PLC编译软件。本机中我们自己设计了一套TD型PLC的梯形图汇编语言指令系统,有LD/LDI、AN/ANI、OR/ORI、TM/TMI、CN/CNI、MA/MAI、OUT、JP/JE和END等16条基本指令和X00~07、X10~14、Y00~07、CN0~1、TM00~07、MA00~07、10~17等器件。用它们来描述继电器梯形图,即设计梯形图汇编程序。用全屏幕编辑软件将其输入到PC机,即建立了源程序文件。然后用PLC编译软件将其编译成PLC目标程序文件(OBJ文件),并经串行通信口发送到单片机,由单片机将其写入E2PROM。
51单片机软件由编程软件和运行软件组成。编程软件主要有串行通信和写E2PROM两个模块。此时,须将面版上的手动开关设置P2.7="0",单片机即处于编程状态。当P2.7="1"时,单片机即处于运行状态。运行状态的程序主要有:
(1)输入端子采集模块
该模块两次采集P0口和P1口状态,结果全同时为有效,即将其存入输入缓冲区,否则重新采集。用软件滤波的方法,tigao了抗干扰能力。
(2)指令分析模块
该模块从000H地址开始,依次读取E2PROM中的字节内容,先读出操作码,对其分析后转向相应的处理程序;接着读操作数,供处理程序操作,从而完成一条梯形图汇编指令的执行。然后再读取下一条指令的操作码……。遇到OUT指令时,将待输出的数据存入相应的输出缓冲区。
(3)输出模块
当CPU从E2PROM中读到END指令的二进制代码时,表示一次扫描周期结束,即将输出缓冲区的内容一次性输出到P1口,从而完成输出端子的刷新。
该PLC的应用可以用水塔水位控制的例子来说明。
图2(a)是硬件接线图,SB1/SB2是启动/停止按钮;SAC是水池液位开关:水浸到时接通,无水时断开;SAH、SAL分别是水塔的高低液位开关;M是水泵电机。
图2(b)是继电器梯形图,图2(c)是继电器汇编程序,即TD型PLC源程序。其中y50是PLC输出端子,我们将它的软件触点y50作为水位上升或下降的标志:y50="0",表示电机已停,水位下降,此时SAL虽已接通,但电机不动作;y50="1",表示电机正在抽水,水位上升,此时SAL接通,电机通电,继续抽水,直到高水位。
3.1 流程控制
流程控制部分分为手动和自动控制两种方式。在按顺序启动上料皮带、拌缸、集料皮带之后,操作者可以通过自动或手动的方式来启动后续流程设备。在生产流程中自动控制和手动控制的主要区别在于:自动控制过程中五种骨料和粉料的配料变频器由程序自动来控制启停和调节其输出频率,不需要人工干预;而手动控制模式下人工可随意启停各个配料变频器,并且可以手动调节各个变频器的输出频率。配料变频器的启动与停止是有固定的顺序的,各个变频器的启停之间有一定的时间间隔,该时间间隔可以在上位机监控画面的参数设定部分进行设定和调整。另外,还有一些相关的设备如空压机、电铃、成品料仓仓门等设备需要人工来启动。
3.2 自锁控制
根据机械生产厂家的要求,在程序部分设置自锁控制功能。厂家出于货款回收方面的考虑,对控制系统提出设置自锁功能的要求,基本思想就是设置两个时间密码,在设备运至生产现场之后与货款全部收回之前,输入个时间期限,当设备运行到所设置的时间之后,控制系统将会自动锁死,无法进行正常操作。当收回全部货款之后,输出时间密码,控制系统可以一直运行。可以通过TODR指令读取实时时钟。将所读取的实时时钟与设置的时间密码进行比较,即可得到设置时间是否用完。
3.3 PLC与变频器的通讯
本系统采用PLC与变频器进行通讯的方式来实现PLC对变频器的启停控制和频率设定以及读取变频的一系列运行数据。PLC与变频器之间采用ModbusRTU方式通讯,波特率设为9.6K,采用CRC校验。在RTU模式下,消息发送至少要以3.5个字符时间的停顿间隔开始,程序中以10ms为间隔进行数据的发送与接收。PLC和变频器采用主从的方式进行通讯,PLC是主机,变频器是从机。一共有六台变频器,在其参数设置中将其地址设为1-6号。PLC与变频器之间的通讯是一个“查询-回应”的过程,如图4所示。
PLC中的通讯部分程序大体分为以下几块:通讯初始化、发送完成中断程序、接受完成中断程序、发送组码程序、生成校验码、数据发送与接收。
通讯初始化部分程序在PLC的个扫描周期运行,其主要功能是设置CPU226的自由端口的通讯格式、数据接收格式及复位各寄存区、连接中断。
发送完成中断程序主要完成的任务是:定义开始接收数据,并且置位接收标志,复位发送标志。
接收完成中断程序主要完成的任务是:根据接收到的数据重新计算校验码,并与接收到的CRC域中的值进行比较。如果两者一致,则说明数据传输正确,将接收到的数据存入对应的寄存器中。
生成校验码:根据CRC检测方法生成校验码,具体生成方法是:①装入一个16位的寄存器,所有数位均为1;②该16位寄存器的高位字节与开始8位字节进行"异或"运算。运算结果放入这个16位寄存器;③把这个16寄存器向右移一位;④若向右(标记位)移出的数位是1,则生成多项式1010000000000001和这个寄存器进行"异或"运算;若向右移出的数位是0,则返回③;⑤重复③和④,直至移出8位;⑥另外8位与该十六位寄存器进行"异或"运算;⑦重复~③⑥,直至该报文所有字节均与16位寄存器进行"异或"运算,并移位8次;⑧这个16位寄存器的内容即2字节CRC错误校验,被加到报文的高有效位。
4 上位机WinCC监控画面设计
根据用户需求以及工程实际应用的考虑,本系统在上位机监控画面的组态上主要考虑到以下几个原则:监控画面能够清晰直观地显示设备的运行状态;能够对生产关键数据进行实时显示;能够对生产过程中物料配比数据进行修改;能够对设备运行过程中产生的故障报警信息进行显示和存储,可以进行报警历史记录进行查询;具有报表功能,能够将用户关心的生产数据自动生成个性化报表,并且能够自动在每班生产结束之后保存在指定位置,用户能够按照指定条件查询报表数据。
基于以上基本原则和要求,本课题以WinCC为开发平台,对稳定土厂拌站自动控制系统的上位机监控组态程序进行了设计开发。本系统设计的上位机监控界面的主画面如图5所示。
有系统当前的运主画面主要用来显示设备的整体生产流程,监控生产过程中的设备启停状态、显示生产数据、报警指示等,并且行模式指示(“手动运行”与“自动运行”)。
生产数据主要由几个部分组成:骨料和粉料的设定比例、设定liuliang;骨料和粉料的实际比例、实际liuliang;设备的设定产量、瞬时产量和累计产量等。
在主画面的底部有一系列按钮,如“参数设定”、“配料设定”等。点击按钮,即可进入对应的子画面。