西门子S7-200CN PLC在水泥散装系统中的应用探讨

[复制链接]
查看892 | 回复0 | 2011-11-1 20:56:44 | 显示全部楼层 |阅读模式
<
摘要 本文以实现水泥厂自动定量散装及出厂数据管理为目的。运用了西门子S7-200CNPLC及由VB语言编写的上位机软件。实现了水泥自动定量散装、产品出厂数据记录、记录数据管理等功能,并且通过以太网和条形码扫描系统将本系统与水泥厂的ERP系统完美的结合。
    关键词 S7-200CNPLC;MPI;VB;RS232;RS485;自由口
    1 引言
    目前大部分水泥厂散装水泥出厂,都是由传统的手动灌装,然后门口过秤方式,这样不但步骤麻烦,每个部门之间也只能通过手动单据来传递数据,更谈不上数据的统一管理。所以随着网络、计算机、信息、控制技术以及现代化管理理念的发展,上述这种传统的水泥产品出厂已经不能满足当前工厂的需要,为了更好的解决此问题,几年来我们一直致力于集成整个发运系统的研究,为用户带来了完美地解决方安,并且已在很多水泥厂广泛的应用,得到用户一致好评。
    本文以有梅特勒-托利多(常州)称重系统有限公司为台泥(英德)水泥有限公司提供的水泥出厂管理系统为基础,详细介绍了整个发运系统的构成。本系统以一套西门子S7-200CNPLC为执行部分硬件基础,以VB编写的上位机部分,台泥自己的ERP服务器作为数据管理部分组成了整个水泥散装发运系统。并通过以太网和条形码扫描系统将执行部分与数据管理部分有机的结合起来,为用户提供了完美的数据管理及查询系统,为决策层提供了快捷、有效的数据支持。
    2 系统构成
    硬件组成
    1、西门子S7-200CNPLC+IO扩展模块+EM277
    2、梅特勒-托利多150T模拟汽车衡+Panther称重仪表
    3、Dell计算机
    4、西门子CP5611通讯卡
    5、MOXAA52/53RS232/485转换器
    6、条形码扫描器
    7、以及相应的低压电气
    本系统以西门子S7-200CNPLC作为核心执行、计算、通讯部分。由它通过自由口来读取Panther称重仪表的重量数据,并且通过接收上位机的命令来控制现场所有设备的启动、停止等动作。上位机安装CP5611卡,通过MPI与安装在西门子S7-200CNPLC通讯。
    总体配置图如下:
    3 虽然网络配置和硬件配置比较简单,但本系统却实现了水泥散装系统的全部功能。下面我们来详细讨论。
    第一西门子S7-200CNPLC及其与Panther仪表通讯
    这部分我们主要来讨论西门子S7-200CNPLC的主要作用和用法。
    S7-200CNPLC在这里主要是启到了中枢神经及大脑的作用。
S7-200CNPLC的主要用途是来控制定量散装所需要的各种现场设备,包括:罗茨风机、流量阀、开关阀、除尘器、除尘风机、散装机等。
    更重要的我们需要用S7-200CNPLC读取Panther称重仪表的读数。数据传输有很多种方式,经过硬件成本及数据准确性等多方面的比较,我们这里采用了??的读数,但是中间出现了一个问题,Panther称重仪表只有通过RS232的输出,然而S7-200CNPLC的自由口却是RS485格式的,所以中间增加了MOXA的A52_53RS232/485转化器,将此问题解决。
    第二上位机及其与西门子S7-200CNPLC通讯
    这部分我们主要来讨论上位机的主要作用和通讯方法。一般上位机主要是用来监控现场各个设备的运行情况,向PLC下达一些动作的。
    4 命令、报警显示及一些数据的归档。
    在这里上位机除了担任以上任务外还要与ERP的服务器进行通讯,通过条形码扫描器识别槽车信息,通过网络读取装车单、允装量,写入皮重值、净重值等。我们为了提高与PLC的通讯速率,我们在PLC端加了EM277,计算机端加了CP5611卡,之间用MPI来通讯。而计算机与ERP服务器之间通过以太网来通讯。
    软件部分
    这里主要包括两个部分,PLC软件和VB编制的上位机软件
    第一PLC软件
    在PLC软件方面除了包括常规设备洛茨风机等常规设备的控制外,主要工作还包括了通过中断程序读取Panther称重仪表的数值、通过一定的算法来控制定量装车值。中断读取Panther称重仪表的数值这部分比较简单,设置好自由口后,经过ASCII码转换为16进制数据经过一些简单的运算即可得到Panther称重仪表的数值。在得到Panther称重仪表的数值后,主要的问题就是怎样来控制才能做到定量装车,如果简单的一想,有了Panther称重仪表的数值,只要我们和要求的目标值进行比较就可以做到定量装车了。其实则不然,因为一般的水泥槽车都有至少两个装车口,甚至更多,当地一个口装车完毕后,槽车必须向前移动,再装第二个口,问题就出来了,卡车前移,车头一般都会走出汽车衡一段距离,所以现在Panther称重仪表的数值就不是真实的总重值了。为了解决这个问题,我没引入了累计净重,所谓累计净重,就是每次暂停装车时(也就是车向前移动前),我将净重记录,然后再移动槽车,假定移动后槽车头出了汽车衡,这时(第二次启动装车前)记录总重,作为本次装车的皮重,来计算本次的净重,本次的净重加上累计净重就是当前的净重值,把当前净重值再去和允装量比较,便可以做到定量装车。现场可得运行结果一般误差都在1%以内。
    5 第二VB编写上位机软件
    此部分由VB程序编写的上位机程序。
    由于VB的灵活性,以及此上位机软件与ERP通讯的要求,我们选择了用VB来开发上位机软件。当然VB开发上位机软件的主要过程比组态软件多出了很多不便之处,例如,我们需要自己编写用户管理、报警显示、报警信息查询、数据归档及查询等功能块,但是最重要的就是和PLC的通讯接口了,西门子为我们提供了PCAccess软件,此软件包括了计算机和PLC通讯的驱动程序,我们在VB中调用其部件便可以和PLC通讯。
这里用了OPC通讯协议。     
    6  完成了和PLC的连接后就是上位机和服务器的通讯(SQLServer2000数据库),每次装车前我们会从司机手里拿??再由服务器读到所有的装车信息,包括:允装量、车号、单位等,启动装车后我们首先将皮重传给服务器,在装车完毕后我们再把净重值、装车时间、操作人员等信息传递给服务器。我们直接通过字符串来连接数据服务器(详细过程不再叙述)。其主要操作界面如下。
    第三数据查询及数据打印
    我们用VB开发了数据查询终端,用此软件,用户可以随时随意按照各种组合要求来查询数据。例如:可以安装时间日期、车号、客户等等。为了使水泥购买客户随时打印装车单或销售单据,本系统设置了打印中心,客户可以到打印中心打印各种需要的单据,打印后灌装数据回自动更新到销售中心,当客户回到销售中心,可以按照实际灌装量退补差价。当然,在打印中心用户可以随时打印各种报表,例如销售数据的日月年报表,灌装数据的报表等。
    7 结论
    本文系统不仅仅实现了西门子S7-200CNPLC控制,并且更深入的用到了西门子S7-200CNPLC与称重仪表串口通讯,VB常规软件与PLC通讯,实现对设备的监控、报警纪录、数据采集功能、变量记录等功能,对数据的处理,SQLServer2000数据库的应用。
    当然,作为一套新型的多部门集成系统,肯定存在很多不足之处,希望各位能提出宝贵的意见。谢谢!
热帖推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则