新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > WinCC和S7-200在橡胶三角带生产中的应用

WinCC和S7-200在橡胶三角带生产中的应用

作者:时间:2014-02-21来源:网络收藏

三. 控制系统完成的功能

  1. 对硫化机来说由于机台数量多,笔者应用西门子程控器编程所特有的库程序,将8台设备为一组,先编制库程序。为简化编程,在库程序中要求输入编号,V区中为每个硫化机子程序保留30个字节暂存区,为每个硫化罐子程序保留20个字节暂存区,用于保存8台机组的运行状态、硫化计时、硫化时间到达输出提示、硫化时间出错输出报警及及硫化过程结束输出归档信号等。72台硫化机共调用9次,编号为0-8。52台硫化罐调用7次,编号0-6。

  11

  硫化机子程序输入输出要求:

  输入:

  编号 双字,根据编号分配缓存区地址

  压力信号 字,输入压力和二次硫化信号,8台硫化机共16位。

  运行状态 双字,采用间接寻址,用vbxxxx格式输入,硫化机实际运行状态,将当前输入状态保存,用于判断边缘。

  时间设定 双字,采用间接寻址,用vbxxxx格式输入,一二次硫化设定时间(字)

  实际时间 双字,采用间接寻址,用vbxxxx格式输入,一二次硫化实际时间(字)

  硫化次数 双字,采用间接寻址,用vbxxxx格式输入,一二次硫化次数(字节)

  输出:

  报警输出 字,每台硫化机2个位,分别代表一二次硫化时间故障

  次数报警 字节,两次硫化次数不等时报警

  完成输出 字节,硫化到时输出提示信号

  一次脉冲 字,一次硫化卸压时输出5秒脉冲,用于归档

  二次脉冲 字,二次硫化卸压时输出5秒脉冲,用于归档

  次数脉冲 字节,当二次硫化信号消失时为二次硫化结束,输出3秒脉冲,用于归档

  2. 由于采用了库程序,S7-224的编程比较简单。需要注意的是符号定义,对符号采用连续成块的定义。这样既便于了PC Access的变量读取,也方便的变量的添加和使用。

  3. 库程序的编制难点在于对8台机组进行计时。信号输入,每台硫化机有2点输入(压力、二次硫化选择)共16位一个字,时间设定采用间接寻址方法输入地址,实际硫化时间也是采用间接寻址方法,输出端不能输入地址信号,是通过输入端送入。对每台设备的硫化时间的计时,由于库程序无法使用计时器,笔者采用字加1的办法实现计时,只要保证子程序每秒运行一次,则该数字就是实际时间,时间单位为秒。

  硫化机库库程序简介:

  程序运行,需要30个字节内存保存运行时的数据,实时时间计时保存,每台一个字,共16个字节。输出报警状态暂存2个字节,当前运行状态保存,每台2位,共16位2个字节。硫化次数保存,每台一个字节,共8个字节。2次硫化次数不一致时的次数报警暂存1个字节。共29个字节,保留1个字节。其存储器起始地址,由库程序调用时定义。

  以1#-8#硫化机为例,计时处理,IW0是输入信号,VW2000是1#一次硫化设定时间,VW2002是1#二次硫化时间设定。VW2400是1#一次实际硫化时间,VW2402是1#二次实际时间。采用vb2000和vb2400输入库程序。在每次运行,先将压力信号移到LW29临时寄存器,L29.0是1#机压力信号,L29.1是1#机的二次硫化信号。只要有压力信号就对计时保存字加1,并根据L29.1状态分别将当前时间送到实际时间地址中(间接寻址输入程序)。当实际时间到达设定时间时,对提示位置1,一旦压力信号为0时,提示位复位,同时根据状态暂存位状态判断是否首次为0,是首次为0,运行比较程序段,比较时间值,小于设定值或大于一定值输出报警位,同时硫化次数加1。每循环一次,LW29右移2位,实际时间地址的间接寻址数加4。循环8次,可以对8台硫化机处理完。

  由于库程序中要处理多种位信号和数字,在循环处理时,必需做到一一对应,程序结束时,将当前运行状态信号、时间报警状态,次数报警状态及归档脉冲信号保留至暂存内存相应地址中。在编制时,多次对试验后的结果进行调整,造成内容繁杂,有些内容可以简化,但是在程序中,用了大量的临时地址,一旦改动输入输出的数量和数据格式,会造成L地址的变动。鉴于现程序在实际应用中工作正常,为避免产生差错,也就保留一下多余程序段。具体参见附件程序。

四. 项目运行

  系统于2006年5月投入工作,运行情况良好,用户感到使用方便。集中监控系统使得车间工艺员更便于管理,只需要在车间办公室就可对所有设备进行时间设定和监视。均比以前有了很大的提高。更直观,更可靠。保证了三角带的硫化时间,稳定产品质量。同时,通过历史数据的分析,可以优化品种的搭配,直接提高了产量,增加效益。

五. 应用体会

  1. 对库程序的编制有了更深刻的了解,在编制8台硫化机的库程序时,先对一台进行编程,然后再循环运行。为了保证能一一对应,先将信号输入字,暂存临时地址,每次均以L0.0和L0.1作为当前信号输入处理,并在每次循环时右移2位。循环结束后并将其保存在缓存区中,以便下次调用时作比较用。

  2. 计时处理:库程序不能采用定时器,就采用字加一来计时。定义库程序每秒运行一次,则字中的数字就是时间,单位是秒。为了对应,硫化时间的设定也是以秒为单位。通过字比较,可以判断硫化到时或出错。笔者采用定时中断,100mS中断一次,1秒为一个周期。子程序分时运行,保证每100mS只运行一个编号子程序,所有子程序每秒运行一次。在实际使用中,其时间误差为1秒。

  3. 库程序中需判断信号输入的首次和结束,库程序无法采用边沿指令,笔者采用信号输入位与暂存信号位比较来确定。当信号输入位是1,暂存信号位是0,此时就是首次信号输入,运行首次程序段,并对暂存位置位。当信号输入位是0,暂存信号位是1,此时就是信号输入结束,运行结束程序段,并对暂存位复位。

  4. 项目的硫化时间数据保存要求,对过程时间记录毫无意义,只需要每次硫化结束时保存结果数据。的故障记录和数据归档,采用触发归档,由程序给出一个脉冲信号进行触发。这样数据量少,查找方便。

  5. PC Access作为程控器的OPC服务器,对与200通讯有一个缺点。开始做试验时,用一台只进行数据移动运行,PC Access组态对PLC读写,在上观察从数据写入到数据读出,其响应速度很快。后将两台PLC的变量全部配置好,在公司进行模拟运行,发现运行速度很慢,数据输入到显示要等上近20秒!反复检查硬件和软件都没有问题,当时几乎想放弃使用PC Access改用别的OPC。直到后来订货的2台PLC到齐后,全部连上再次试其通讯速度又很快。分析后发现是通讯等待响应问题。原来在以前试验时,只接了一台PLC,PC Access在通讯时,对不存在的PLC通讯会反复进行,大量的时间浪费在这上面!建议PC Access应能设定通讯重试间隔时间,并对每次通讯重发次数进行限制。这样会给现场调试使用带来方便。

六. 结束语

  首次使用WinCC配PC Access,深感其使用方便,尤其是变量的导入,几乎不需花费时间,几分钟就全部完成。为底端PLC也能用上高端的组态软件提供了良好的应用条件,便于开发出更多的产品。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭