时间:2012年6月17日 来源:网络 关键词:S7-300 Modbus 串行通讯

  1 引言  近年来,随着自动化水平的提高,公司正在逐步建立以西门子s7-300plc为基础的工业集中监控网络。由于目前公司有几台carrier冷冻机,其采用的是专用的通讯协议,与s7-300不兼容,plc无法采集到冷冻机的数据,导致实现集中监控系统遇到了瓶颈。  经咨询了解到carrier公司有自己的modbus网关,可以把其冷冻机专用协议转化为通用的modbustru串口协议,而s7-300有自己的串口通信模块cp340。所以可以采用modbus通信的方法实现s7-300对冷冻机的数据采集。  2 modbus协议简介  modbus协议由modicon公司开发,目前已经是工业领域全球最流行的协议之一。此协议支持传统的rs-232、rs-422、rs-485和以太网设备。许多工业设备,包括plc、dcs、智能仪表等都在使用modbus协议作为他们之间的通讯标准。  当在网络上通信时,modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用modbus协议发送给询问方。  modbus协议包括ascii、rtu、tcp等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。modbus的ascii、rtu协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用maser/slave方式,master端发出数据请求消息,slave端接收到正确消息后就可以发送数据到master端以响应请求。  modbus协议需要对数据进行校验,rtu模式采用16位crc校验,另外,modbus采用主从方式定时收发数据,在实际使用中如果某slave站点断开后(如故障或关机),master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,modbus协议的可靠性较好。  

  3 carrier modbus rtu网关  3.1网关简介  carrier modbus网关是一种智能型基于微处理器的数据控制器,它可以作为modbus  slave站点,能将carrier冷冻机组转换成符合modbus  rtu协议提供给控制系统。它可以使carrier冷冻机组的内部运行状态参数全面被控制系统采集。  3.2网关设置  首先对网关的通信参数进行设置:波特率为9600bit/s,无校验位,1位停止位,站地址为16#b。  然后对需要采集的冷冻机变量及其在网关中的地址进行组态设置,其对应关系如表1所示。  

  4 cp340简介  西门子s7-300系列有支持modbus协议的通信处理器cp341,但是cp341加载modbusrtu格式通信协议必须购买软件,而且该软件价格比较高。所以我采用了普通的串口通信模块cp340,通过编写modbus主机请求报文程序,通过串口数据发送功能块把报文发送给carriermodbus网关。再通过接收数据功能块接收响应的数据,实现数据采集的功能。  cp340有三种接口方式,包括rs232c,rs422/rs485和20ma tty接口。本例中按carriermodbus网关的要求选择了rs422/rs485接口形式。  5 cp340硬件组态  (1)安装驱动:安装cp340的驱动光盘,安装后可以对cp340进行硬件配置,可以调用cp340的发送、接收功能块fb3、fb2。  (2)新建项目:打开西门子编程软件step7,选择菜单“file”→“new”新建一个项目,在“name”中输入项目名称。  (3)组态s7-300站:插入一个“simatic300  station”,然后对硬件进行组态,按安装次序依次插入机架、电源、cpu和cp340。  (4)组态串行通信模块参数:双击“cp340”栏,在弹出界面中点击“parameter”按钮,进入参数化界面,选择ascii驱动,双击“protocol”栏,进入ascii参数化界面(见图1),在endid of receive message frame 栏中,选择用两个字符的间隔时间来判断报文是否结束(on expiry ofdelay time),字符延长时间为20ms。在speed格中传输速率选择9600bit/s。在“characerframe‘栏中选择数据位8位,停止位1位、无校验,与冷冻机的modbus网关设置相同。
共两页 第1页   第2页