一种S7-300与Carrier冷冻机的Modbus串行通讯

发布时间:2015-06-12 阅读量:1201 来源: 我爱方案网 作者:

【导读】我爱方案网小编为大家介绍一种S7-300与Carrier冷冻机的Modbus串行通讯,本文详细阐述了如何采用modbus协议实现s7-300与冷冻机之间的数据通信。实现了异种设备之间的连接,为实现公司的集中监控目标铺平了道路。

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协议的可靠性较好。
一种S7-300与Carrier冷冻机的Modbus串行通讯

3 carrier modbus rtu网关

3.1网关简介


carrier modbus网关是一种智能型基于微处理器的数据控制器,它可以作为modbus

slave站点,能将carrier冷冻机组转换成符合modbus

rtu协议提供给控制系统。它可以使carrier冷冻机组的内部运行状态参数全面被控制系统采集。

3.2网关设置


首先对网关的通信参数进行设置:波特率为9600bit/s,无校验位,1位停止位,站地址为16#b。

然后对需要采集的冷冻机变量及其在网关中的地址进行组态设置,其对应关系如表1所示。
一种S7-300与Carrier冷冻机的Modbus串行通讯

 

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网关设置相同。

(5)模式选择:进入interface界面(见图2),把操作模式选择为half duplex(rs485) two-wiremode。表示此通信运行在rs485半双工模式。

一种S7-300与Carrier冷冻机的Modbus串行通讯
 
 

6 软件编程


硬件组态完成后,接下来就进行软件编程,在ob1中调用fb3发送程序块。

call fb 3,db22

req :=m0.0

r :=

laddr :=256

db-n0 :=10

len :=8

done :=

error :=

status :=

引脚说明:

req:发送请求,每个上升沿发送一帧数据

r:复位请求

laddr:cp340的逻辑地址(硬件组态中的地址)

db_no:指定发送区(db块)

dbb_no:指定发送区在db中的起始字节

len:发送字节的长度

done:发送完成输出一个脉冲

error:发送失败输出1

status:状态字

此程序的功能为,当m0.0每个上升沿的时候把数据块db10中的前8个字节的数据从cp340的通信口发出,数据内如表2所示。
一种S7-300与Carrier冷冻机的Modbus串行通讯

该发送数据包内容可以解释为,请求读取站地址为16#b的通信处理器中从16#4100开始的22个寄存器中的数据。即前面提到的网关变量表中的内容。

图中byte7(db10.dbb6),byte8(db10.dbb8)两个字节是crc校验字,crc校验的步骤如下:

(1)装载16#ffff到一个16位crc寄存器;

(2)将crc寄存器的高8位字节与信息中的第一个8位字节相异或,结果返回到crc寄存器中;

(3)将crc寄存器数据向右移动一位;

(4)如果溢出的位等于1,则将crc寄存器与16#a001相异或,结果返回到crc寄存器中;

(5)如果溢出的位等于0,则重复第3步;

(6)重复第3、4步骤,直到已经移位了8次;

(7)将crc寄存器的高8位字节与信息中的下一个8位字节相异或,结果返回到crc寄存器中;

(8)重复第3步到第6步,直到信息中所有字节都与crc寄存器相异或,并都移位了8次;

(9)最后的crc寄存器中的结果即为crc校验码,最后被添加到信息(数据)的末尾(交换!低8位在前,高8位在后!)。

 按照以上校验步骤,编写crc校验功能子程序fc6(见表3)。
一种S7-300与Carrier冷冻机的Modbus串行通讯

在ob1中调用子程序fc6,计算出db10中的crc校验值。

call fc 6

db_no :=db10 //发送数据块

start_byte :=0 //起始字节

length :=6 //字节个数

crc_msb :=db10.dbb6 //crc高8位

crc_lsb :=db10.dbb7 //crc低8位

然后在ob1中调用串口数据接收功能块fb2:

all fb 2,db21

en-r :=m0.0

r :=

laddr :=256

db-n0 :=11

dbb-no :=0

ndr :=

error :=

len :=

status :=

引脚说明:

en_r:接收使能

laddr:cp340的逻辑地址

db_no:指定接收db

dbb_no:指定接收db中的起始字节。

ndr:接收新数据输出一个脉冲

error:接收失败输出1

len:输出接收字节的长度

status:状态字

此程序的含义为,在m0.1为1的时候从cp340接收数据,并把数据存在数据块db11中。

之后再提取db11中的数据,得到以下冷冻机的实际运行参数值(见表4)。

一种S7-300与Carrier冷冻机的Modbus串行通讯

相关文章

一款运用OPC实现WinCC与西门子SIMOTION的通讯设计

一款PLC与ABB变频器之间的现场总线通讯技术

健康云监测——基于蓝牙通讯的智能脉搏血氧检测方案
相关资讯
面板双虎6月营收承压 大摩预警第三季度价格疲软延续

中国台湾面板大厂友达光电与群创光电相继公布2025年6月营收数据,显示行业整体仍面临下行压力。友达光电6月合并营收为219.2亿元新台币,环比下滑9.3%,同比减少13.1%。群创光电当月营收185亿元新台币,较5月微降1.14%,同比略减1.23%。

三星显示加速推进,为苹果可折叠iPhone铺平OLED道路

全球显示技术领导者三星显示(Samsung Display)已正式启动为苹果公司(Apple Inc.)专属可折叠iPhone打造OLED显示屏的生产准备工作。据悉,这一关键举措的核心是在其韩国忠清南道牙山的A3工厂内,建设一条专为可折叠面板设计的全新生产线。消息人士透露,该产线所需的关键设备更换与调试工作已于2023年下半年全面展开,目前项目进展顺利,已进入最后的冲刺与收尾阶段,为后续的批量试产和最终量产奠定了坚实基础。

赛力斯2025上半年预盈超27亿,净利润同比劲增最高近97%

7月10日,中国新能源汽车领域的重要参与者赛力斯集团(601127.SH)发布了2025年半年度业绩预告。公告显示,公司预计2025年1至6月实现归属于上市公司股东的净利润在27亿元至32亿元之间,相比上年同期的16.25亿元,同比增幅达到66.2%至96.98%,展现出强劲的增长势头。

联发科Q2营收突破1500亿台币,AI与定制化芯片驱动未来增长

联发科技(MediaTek)公布2024年6月合并营收达564.34亿台币,强势重返500亿大关,创下近33个月新高。该业绩较上月增长24.9%,同比提升30.9%,显著拉动第二季度整体表现达标。

革命性零恢复特性!Nexperia发布1200V SiC二极管攻占工业能源市场

在全球能源效率需求持续提升的背景下,宽禁带半导体技术迎来爆发式增长。Nexperia作为功率电子领域的领先企业,近期扩充了其碳化硅(SiC)产品线,推出两款1200V/20A规格的肖特基二极管——PSC20120J与PSC20120L。这两款新器件瞄准工业级高能效应用场景,为解决高功率系统能量转换损耗问题提供了创新解决方案。