课程简介

S7-200SMART 在喷枪系统上的应用

会员

2400人已观看 2022-08-08

本文版权归西门子1847工业学习平台所有,未经允许,不得转载。
PLC编程夏日专攻计划

文章摘要

S7-200SMART在喷枪系统的应用

文章内容

1 项目简介

喷枪系统是涂装系统中的一部分,主要应用于油漆的喷涂。传统的喷枪系统由喷枪控制器和喷枪组成,每个喷枪独立控制,当需要改动喷枪参数的时候,需要逐个更改控制器参数,工作量大,不方便操作。本项目的目的是通过PLC对多个喷枪控制器进行统一管理和集中控制,实现在触摸屏上完成多个喷枪的控制。

图1 现场效果图

2 控制系统设计方案

2.1 系统的技术要求

(1)可通过触摸屏控制喷枪的启动和停止。既可以对单个喷枪进行启停,也可以一键全部启停。

(2)可通过触摸屏更改喷枪的参数。既可以对单个喷枪进行参数调整,也可以一键全部调整所有参数。

(3)该系统可以控制48把喷枪。

2.2 系统设计方案

由于该项目要求的最高喷枪控制数量为48把,每把喷枪的数据量为20个字节,故选用CPU ST20作为主控PLC。喷枪系统方面,采用的是CAN通讯方式。由于Simatic S7-200 Smart自带一个RS485串口,但是不支持CAN通讯协议。RS485数字信号采用差分传输方式,两线间电压差为+2V~+6V表示逻辑“1”,电压差为-2V~-6V表示逻辑“0”;CAN传输数字信号同样采用差分传输方式,两线间电压差为1.5V~2.5V表示逻辑“1”,电压差为0表示逻辑“0”。由此可见,RS485总线和CAN总线在电气接口方面存在差异,所以需要增加第三方协议转换模块对电气信号进行转换。为保证PLC和喷枪系统能正常通讯,除了电气信号兼容外,还需要协议一致,使两方都能识别传输的数据内容,PLC端需要根据CAN协议规范编写自由口程序。

综合考虑Simatic S7-200 Smart支持的协议类型以及市场通用性,选用第三方CAN-485通讯协议转换模块,搭建图2.2.1所示的系统框图。

图2.2.1 喷枪系统框图

使用CPU ST20集成的485串口与转换模块进行自由口通讯,转换模块再将信号转换成CAN信号进行转发,反之,假如喷枪系统有数据返回,也是通过模块将CAN信号转换成485信号转发到PLC,从而完成CPU ST20与喷枪系统之间的数据交换。需要注意,每个CAN-RS485转换模块最多只能带32个从站,当从站数量超过32个,需要使用多个转换模块,如本项目中有48个CAN从站,需要使用两个转换模块。除了转换模块所带从站数量存在限制外,RS485网络也同样存在限制,RS485 网络允许每一个网段的最大通信节点数为 32 个,超过该数量限制则需要添加 RS485 中继器拓展网络连接。

根据系统框图,搭建程序框图2.2.2.将程序分为两大部分,一部分为串口通讯程序,另一部分为喷枪指令处理程序。其中指令处理程序通过指针和循环指令,完成48把喷枪数据的处理。

图2.2.2 程序框图

3 主要功能实现方式

CAN通讯有它固定的通讯格式,CPU ST20需要通过自由口的方式根据CAN报文格式发送数据和接收数据。为了更好地处理每一个控制器的数据,在该应用中也使用了指针的功能。

3.1 自由口通讯配置

Simatic S7-200 Smart集成的串口是半双工RS485串行通讯口,在收发数据之前,需要设置该通讯口的参数,主要包括两个部分,一是串行字符通讯的格式,二是通讯波特率(常见的波特率有9600 Baud、19200 Baud、38400 Baud、115200 Baud)。其中串行字符通讯格式指起始位、每个字符数据位、校验位、停止位,校验位分为奇校验、偶校验、无校验三种。根据CAN-RS485转换模块的设置,将通讯格式设置为1个起始位,8位字符,无校验,1个停止位,通讯波特率设置为115200。在用户程序中,通过特殊寄存器SMB30(集成通讯口)或SMB130(信号板)设置通讯口的工作模式。

图3.1.1 设置通讯口工作模式

根据文档说明,将SMB30设置为2#00011001。

需要注意的是,在使用XMT指令和RCV指令进行数据传输的时候,不能同时使用MODBUS RTU MASTER库和MODBUS RTU SLAVE 库,否则会造成数据冲突。如果需要同时使用自由协议和MODBUS RTU协议,建议增加一个CM01通讯信号板。

系统通过发送指令XMT和接收指令RCV进行数据收发。本项目中,由于转换模块只需要接收控制指令,而没有反馈信息,所以只用到发送指令XMT,如图3.1.2。

图3.1.2 发送程序

XMT指令引脚主要分为三部分,“EN”端用来触发发送指令,通常使用边沿信号触发;“TBL”引脚需要填写发送的数据;“PORT”引脚填写端口号,其中0代表PLC集成的RS485端口,1代表CM01信号板端口。在该程序中,PLC上电后通过定时器T37延时触发发送指令和中断指令,发送一次数据并产生发送完成中断。

图3.1.3 端口说明

在填写“TBL”引脚,需要使用指针的方式实现发送数据的读取,如图3.1.2,指针的表示使用符号“*”,如“*VD2004”表示读取VD2004中存储的存储单元地址对应的数据内容。需要注意的是,在编辑数据的时候,需要在实际发送的数据前面,定义发送数据的长度(字节),如图3.1.4

图3.1.4 发送数据定义

为了实现自动发送数据的功能,还需要使用中断的功能。在Simatic S7-200 Smart中,每个中断事件对应一个中断事件号,通过查找技术手册可知,RS485端口0发送完成的中断事件号为9(可通过STEP 7-MicroWIN SMART软件的帮助文件查找中断事件号)。

图3.1.5 中断事件说明

如图3.1.6所示,中断功能需要使用指令“ATCH”进行中断关联,其中“INT”引脚填写中断程序的程序名称,“EVNT”引脚填写中断事件号,除此之外,使用“ENI”指令打开全局中断,最后使用上升沿触发,启用中断功能。至此,即可完成自动发送数据的功能。当数据发送完毕后,会触发一个中断事件,系统执行该事件对应的中断程序。在中断程序内,只需要重新触发一次发送指令,当发送完成后会重新触发中断,循环往复。由于中断程序只会在中断事件触发后执行一次,所以发送指令的“EN”使用SM0.0进行触发即可。

图3.1.6 程序说明

3.2 指针功能运用

CPU 将信息存储在不同存储单元,每个位置均具有唯一的地址。在用户程序中,通常使用绝对寻址的方式访问数据存储区,绝对寻址即是通过直接访问数据地址的方式获取存储单元的数据,该地址包括存储器标识符、字节地址和位号。另一种访问方式为间接寻址,在Simatic S7-200 Smart中,间接寻址方式是通过指针的方式访问存储单元,指针是包含另一个存储单元地址的双字存储单元,通过符号“&”和“*”进行标识。指针可以通过地址偏移的方式对存储单元进行访问,不需要直接访问数据地址,可以更方便访问数据,符合该项目快速修改大量参数的功能。

在本项目中,指针的运用分为三部分:创建指针、赋值到指针指向的存储区、指针偏移。

第一步:创建指针

创建指针是通过符号“&“获取数据存储区的第一个字节的地址(非内容),创建该位置的一个指针。以图3.2.1为例,数据存储在VB1010~VB1019存储单元,共10个字节,VB1010存储的数据为16#12,VB1011存储的数据为16#34,当创建指针的时候,由于需要使用双字存储单元地址,故使用MOV_DW指令,通过”&VB1010“将VB1010存储单元的数据地址存储在VD2066中。需要注意的是,此时VD2066存储的是VB1010的数据地址,而非VB1010存储的内容16#12。

图3.2.1 创建指针

第二步:向指针指向的寄存器赋值

指针创建完成后,即可通过符号 “ * ” 访问指针指向位置的数据内容。访问的数据长度则是通过不同的MOV指令进行区分。MOV_B是引用一个字节长度数据,MOV_W引用两个字节数据,MOV_DW引用四个字节数据。

以图3.2.2为例,假如“*VD2066”指向的地址是VB1010,“*VD2034”指向的地址是VB100,现需要将VB1010这个存储单元的一个字节数据16#12传输到VB100存储单元。首先通过“VD2066”获取到VB1010这个寄存器的地址,然后通过“*VD2066”访问到VB1010这个存储单元数据,最后通过MOV_B指令,将数据传输到VB100存储单元。

图3.2.2 赋值到指针指向的数据区域

第三步:指针偏移

至此,第一组数据处理完毕,在进行下一组数组处理前,需要对数据地址进行偏移。采用指针这种方式,只需要对指针进行数学运算,即可完成数据地址的偏移工作。

以图3.2.3为例,第一组数据存储在VB1010~VB1019,第二组数据存储在VB1020~VB1029,指针VB2066存储的地址为VB1010,现需要将指针指向VB1020,只需要将VD2066加10即可。

图3.2.3 指针偏移,进入下一个循环

最后通过循环指令,对48组数据进行处理。如图3.2.4,以传输一个数据为例,当M1.0接通(全部数据修改),将指针“*VD2066“的数据传输到“*VD2034”指向的寄存器VB100,然后对指针进行偏移,完成一个循环。循环指令每完成一次循环,INDX加1,直到INDX等于48,完成全部工作,退出循环。

图3.2.4 循环写入

对比传统的数据处理方式,每一组数据都需要单独使用一段程序进行处理,使用指针的方法既可以减少在数据赋值时出错的可能性,又可以起到减少程序量的作用,而且具备一定的可拓展性,当需要增减数据处理量时,只需要修改循环次数即可,无需增减程序段。图3.2.5为使用指针方法前后程序大小的对比,两个程序实现的功能是一样的,但是在使用指针后,程序量减少了30%。

图3.2.5 使用指针方法程序大小对比

3.3 工艺要求的实现

每把喷枪的指令使用12个字节存储器存储,48把喷枪共48组存储器,如图3.3.1。PLC中使用3.1章节所述中断方法,通过串口将这48把喷枪指令发送到CAN-RS485转换模块,从而分发到每个喷枪从站中。

图3.3.1 指令寄存器分配

在触摸屏上,每把喷枪使用5个变量分别存储粉量、雾化、电压、电流、程序(配方)五个数据,修改完数据后,单击修改按钮,程序会将触摸屏上的数据写入到对应喷枪的指令当中,完成一个数据修改的过程。该过程使用了3.2章节所述指针的方法。

图3.3.2 单个数据修改

全部数据修改数据的原理和单个数据修改方法相同,区别在于当触发全部修改按钮后,程序会触摸屏上的数据写入到全部喷枪的指令当中。

图3.3.3 全部数据修改

触摸屏上设置48个开关对喷枪进行开关操作,当需要单独打开某个喷枪时,只需要点击对应开关,程序中会将开命令或者关命令写入到对应的喷枪指令当中。当点击全部开/全部关,程序会将开命令/关命令写入到全部喷枪指令中。

图3.3.4 喷枪开关操作

4 应用体会

SIMATIC  S7-200 Smart系列PLC具有丰富的通讯接口,除了支持PROFINET协议,S7协议外,还支持MODBUS RTU,MODBUS TCP,TCP等开放式协议,可以方便同第三方设备进行通讯互联,增加了该产品的应用范围。除此之外,西门子还有完善的通讯库,只需要简单的调用,即可实现与第三方设备通讯。在该项目中,配合指针的运用,既减少了设备开发的时间,也增加了设备可拓展性。针对这种与可模块化设备进行通讯的应用,很适合使用指针的方法。

5 作者介绍

梁祖标,电气工程师,主要从事中小型PLC项目设计。

6 参考文献

【1】SIMATIC  S7-200 SMART 系统手册 。

可试看部分内容,登录后可免费观看完整内容

学习中遇到技术问题,速点 ,最快2分钟有解决答案!
亮点介绍

S7-200SMART在喷枪系统改造中的应用

用户收益

了解S7-200SMART在喷枪系统当中,特别是自由口通信和间接寻址的应用

适用人群

初学者

19

关注

5897

浏览

1

订阅

35

收藏

2

作品

S7-200SMART在喷枪系统的应用

已完结 共2集

1. S7-200SMART 在喷枪系统上的应用

会员

2. S7-200 SMART在喷枪系统中的应用

会员
PLC编程夏日专攻计划

相关推荐