西门子CPU模块6ES7515-2AM02-0AB0型号规格
1.前言
可编程控制器(PLC)作为一种高性能的工业现场控制装置,已广泛地用于工业控制的各个领域。目前,工业自动控制对PLC的网络通信能力要求越来越高, PLC与上位机之间、PLC与PLC之间都要能够进行数据共享和控制。
飞剪控制系统要求在远离PLC的控制室里,实时监控电机、供纸、刀辊等设备。上位机为普通PC机,下位机为 SIEMENS S7-222 PLC。在实际开发中,采用自由口通信模式,自定义 PC与 PLC的通信协议,用Step7编写PLC端的通信程序,而在 PC端用VC6.0实现串行通信的控制和监控界面的显示。
2.通信方式及原理
S7-200系列PLC通信方式有三种:一种是点对点(PPI)方式,用于与西门子公司的PLC编程器或其它产品通信,其通信协议是不公开的。另一种为DP方式,这种方式使得PLC可通过Profibus的DP通信接口接入现场总线网络,从而扩大PLC的使用范围。后一种方式是自由口(FreePort)通信方式,由用户定义通信协议,实现PLC与外设的通信。本系统中采用自由口通信方式。它是S7-200系列PLC一个很有特色的功能。这种方式不需要增加投资,具有较好的灵活性,适合小规模控制系统。自由口通信在物理接口上要求双方都使用RS485接口,波特率高为38400bps。虽然PC机的标准串口为RS232,但西门子公司提供的PC/PPI电缆带有RS232 /RS485电平转换器,因此在不增加任何硬件的情况下,可以很方便地将PLC和PC机互联。
2.1自由口模式的初始化
PLC的自由口模式通信编程首先是对串口初始化。对S7-200PLC的初始化是通过对特殊存储字节SMB30(端口0)写入通信控制字,来设置通信的波特率、奇偶校验、停止位和数据位数。显然,这些设定必须与上位机设定值相一致。另外还可选择通信模式和主从站模式,各具体存储位内容可参考SIMATIC S7-200系统手册。
2.2自由口模式下收发数据
初始化自由端口通信模式后,就可以进行数据的收发。
(1) 发送数据指令 XMT
格式:XMT Table,Port。可以用 XMT指令发送数据,XMT指令激活发送缓冲区(从Table开始的变量存储区)中的数据。数据缓冲区的个数据指明了要发送的字节数,Port指明了用于发送的端口,缓冲区多可以有255个字符。在发完缓冲区的后一个字符时,会产生一个中断 (对端口 0为中断事件9)。本例的XMT缓冲区的格式如表1。其中,状态字节表示PLC是否正确接收了上位机所传数据;上传数据为PLC上传给PC的数据,需将9字节的16进制数编码为18字节的ASIIC码,所以字节数为18;BCC为上传数据的异或和,同样将16进制数编码为ASIIC码;结束字符的值为26。
表1 发送缓冲区
表2 接收缓冲区
RCV Table,Port。用 RCV指令接收多为255个字符的数据,这些字符存储在缓冲区中。在接收到结束字符时,会产生一个中断(对端口 0为中断事件23)。本例的RCV缓冲区的格式如表2。其中,命令类型表示上位机让PLC 执行什么操作,如读或写;目标站号是分配给PLC的一个代号;起始地址是PLC要进行读写的存储区的起始地址;读写字节数是PLC接到命令后,对存储区进行读写的字节数,本例中多写入16字节、读出9字节;写入数据是上位机要写入PLC的数据,对于读命令不起作用;BCC是从命令类型开始到写入数据为止的43字节数据的异或和。从目标站号到BCC这几项内容,都是把16进制数编码为ASIIC码来表示的。
3.自由口通信程序设计
通信程序的设计需遵循一定的规则,如中断通信处理程序要短小精悍、要避免XMT与RCV指令同时在一个端口执行等。整个PLC通信程序包括主程序、通信初始化子程序、校验子程序、读写数据子程序和发送完成、接收完成中断服务程序。
3.1主程序
通信主程序是PLC实现接收、发送功能的主框架。其主要流程为查询接收是否完成,校验,再根据命令类型执行读、写等操作。它的作用是控制程序的主流程,校验、读写等具体工作由相应的子程序完成。流程如图1。
3.2通信初始化程序
通信初始化子程序设置自由口通信的有关参数,对接收信息控制寄存器SMB87写入控制字,定义起始字符、结束字符和接收超时。设好自由口模式的这些参数后,还要连接中断事件和中断服务程序,并打开中断。后,把接收、发送缓冲区写入初值即可。
3.3校验子程序
每次PLC接收完1帧数据,就调用此子程序进行校验。进入子程序后,先清除接收完成标志位,再计算所接收数据的校验和BCC。如果正确,还要检验结束字符是否为‘G’。不是的话,说明数据报文长度不对或传输过程中发生了错误,需要向上位机返回相应的出错信息。流程如图2。
图1 主程序流程图
图2 校验子程序流程图
3.4读、写数据子程序
这2个子程序的任务是把PLC存储区中的数据发给上位机或把上位机传来的数据写入PLC存储区。二者的流程相似,只是数据流向不同。进入子程序后,先停止接收,然后完成数据传输,后发送应答报文。不同之处就是应答报文中的状态字节:读操作时是1、写操作时是2。
3.5接收、发送完成中断服务程序
当PLC接收到结束字符后产生中断(事件号9)或数据发送结束后产生中断(事件号23),这两个服务程序被执行。接收完,先把接收完标志置1,然后再次启动接收。发送完,先清除校验正确标志,再把接收缓冲区中的结束字符和计算出的接收BCC结果清零,后再次启动接收。
由于是半双工通信,因此PLC无论是发送和接收完数据后,都必须将通信口设置成接收状态。否则,PLC就接收不到任何数据了。
4.上位机的通信编程
上位机通过RS232口与PLC进行通信,bbbbbbs环境串口通信程序利用VC6编写。VC6编写串口通信程序通常有MSCOMM控件和通信API两种方法。二者各有优缺点。MSCOMM控件封装了微机串口通信的基本功能,使用者只需设置一些基本参数,就可以通过串口收发数据了。这种方法简单,易于编程人员使用,现在已有很多例子供参考。用通信API编写串口程序相对复杂一些。开发者要直接使用bbbbbbs提供的一组API函数来完成上述控件封装好的功能。所以使用API编程比使用控件更复杂,但同时也更灵活。通信控件已经封装好的功能是无法改变的,而使用API就能针对通信协议编写效率更高的代码。
在飞剪控制系统的上位机程序中,使用通信API编写了串口读写的模块。接收时,程序要查找起始字符‘g’,以确定1帧数据的开始;再根据下一个状态字节判断通信的正确性;后,把长度为23字节的数据帧接收好,并准备接收下一帧。发送过程不用判断数据内容,执行发送函数即可。需要注意的是:由于PLC通信口是半双工的,所以在PLC向上位机上传数据时,上位机要等1帧数据接收完毕,再执行发送操作,以避免收发冲突。
图3 上位机串口通信流程图
5.结束语
本系统取PC机和PLC各自的特点,实现了对飞剪系统的实时监控。通过利用PLC(下位机 )的自由口通信协议和上位机的VC开发工具,可以方便地开发出PC机和PLC通信应用软件。这种方法节省投资,对小规模的系统极具现实意义。系统具有实时性好、速度快、可靠性高、操作方便等优点,达到了预期的效果。经现场调试及运行表明,该系统适合于飞剪系统的实时监控
整个工程共包括原燃料、槽下配料、无钟炉顶、热风炉、净环、浊环、渣处理、出铁场除尘以及高炉煤气清洗和TRT子系统。主要设备为1750m3高炉一座、顶燃式热风炉三座、炉顶为串罐式无料钟结构。本工程的自动化设计由济南钢铁公司设计院设计完成,应用两级自动化控制实现高炉的自动化控制。整个高炉基础自动化系统由电气和仪表系统组成,主要功能完成对从原燃料上料、槽下配料、无钟炉顶布料、煤粉制备喷吹以及炉体水冷和净环、浊环系统等生产过程进行数据采集、顺序控制、连续控制、监控操作、人机对话和数据通信(包括接受过程自动化系统的设定值和发送实际过程数据给过程自动化系统)。采用电仪一体化(电气、仪表共用)的PLC控制系统、HMI人机界面、控制软件及相关的环型工业以太网组成。
控制系统联接网络共有四层:1.设备网(DeviceNet);2.控制网(冗余ControlNet); 3.工业以太网(EtherNet/IP)。
现场设备联接的设备网有DeviceNet,如探尺编码器,第三方设备如MODICON的PLC通过位于本体的第三方通讯模块经过以太网进行通讯。
各子系统PLC主机与RIO分站之间以冗余的ControlNet网通讯,保证系统网络的安全、稳定性。
整个高炉区域通过光纤连接成一个100M TCP/IP 工业以太网,2#、3#高炉各子系统及公用部分的PLC、操作站、服务器之间采用工业以太网(EtherNet/IP)连为一体,实现PLC、操作站、服务器数据共享、实时交换。其中高炉的原燃料、槽下、无钟炉顶、炉体水冷、高炉软水密闭循环、热风炉等对于高炉连续生产相对比校重要的子系统链接成环形工业以太网,其他辅助系统如煤粉喷吹子系统,渣处理、高炉干法除尘等子系统子系统成树型拓扑结构连接在环形以太网上。所有链接在网络上的服务器、操作站、PLC处理器都有相应的地址规划,并保留了一些地址用于以后的扩建如图所示。
高炉服务器采用DELL中高端配置服务器。HMI服务器、域控制器操作系统平台为bbbbbbs2003。操作站采用西门子工控机,其操作系统平台为bbbbbbsXP,操作站上位监控软件为监控软件使用Rockwell Automation公司的RSView SE,从各级设备中采集数据、并分配到整个系统,以实现生产过程的实时监控,同时具备历史数据存储、报警、统计、报表打印等功能。
2.2.控制系统特点
ControlLogix控制器平台是将高速离散控制、过程控制、协调传动控制、运动控制、批次控制和安全控制融于一体的一个控制平台。允许混合使用多个处理器、多种网络和I/O。系统灵活性强、易于集成、模块化设计、开放式结构,特有的升级固件,使得系统在应用**能强大、安全可靠,而且极大地节省培训费用和工程实施费用。
ControlLogix在济钢高炉自动化控制中应用的技术,具有下述特点:
1、控制器:每台Logix5555控制器大寻址量128000点DI/O,4000点AI/O及回路。ControlLogix平台通过背板提供了高速数据传输。各控制器能产生(广播)和使用(接收)系统标签,这种技术使得多个控制器共享输入信息和输出状态,非常实用。控制器采用1756-L55M16:带有7.5M内存,位执行时间为0.08μs,支持浮点运算及快速事件处理,适用于大规模、复杂控制过程的编程需求。I/O扩展方式灵活,能适应多分站、远距离的结构。支持控制器冗余,在槽下配料,炉顶控制等重要环节采用处理器冗余提高了系统的可靠性,具有与controlNET、Ethernet/IP、DeviceNET、DH+、RS-232(DF1)、DH-485通讯功能。
2、1756系列智能I/O模块:I/O模块种类繁多,可拆卸端子,具有带电拔插、分变则报(COS)、自诊断、时间标记、模块标识、闪存升级、电子保险、单独隔离等功能。模块广播数据的速率可设定。
3、网络设置:网络分层、分工明确、安全可靠。控制网ControlNet冗余、开放、高速、实时、对等传送数据信息,ControlNet能够可靠预测数据何时发送,具有高度的确定性。设备网DevicelNet,是一种开放式的底层通用网络,基于标准的CAN技术,具有互操作性。成本及维护费用低。
2.3.控制系统主要功能及效果
整个系统可以实现原燃料输送、槽下配料、无钟炉顶控制、热风炉换炉控制、净环水处理、浊环水处理、渣处理、出铁场除尘等工艺的生产参数的在线检测、数据处理运算、显示、存储、管理、控制输出、记录操作过程等功能。程序全自动时,设备由计算机控制,操作人员可通过人机对话修改设定值、可直接控制设备运行。大大减小了控制室监控人员的劳动强度。槽下配料,无钟炉顶控制是炼铁工艺中比较复杂的工艺对象,在济钢高炉控制系统中通过一些创新的程序处理,使这些工艺对象控制得非常理想。
三、结语
**的控制系统是一个现代化工厂的标志,对于企业有着深远的社会效益和经济效益。ControlLogix系统在济钢高炉一炼铁车间的成功使用,为济钢节约了能源、降低了成本、减少了操作人员,提高了生产的安全性,提高了产品的合格率、生产率。本系统自投运以来情况良好,画面清晰,易于维护,便于操作。根据工艺要求实现设备相互连锁,利于设备的启停及运行操作;利于系统操作和工艺参数的修改;完整的故障信息报表可及时发现系统的某一环节故障,减少系统的故障停机时间。保障生产顺利进行,提高了监控与管理水平。3#1750高炉自2005年9月18日投产后,在较短的时间内,各项生产指标较快地达到设计要求。