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

发布者:tetsika最新更新时间:2014-09-25 来源: ofweek关键字: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网关。再通过接收数据功能块接收响应的数据,实现数据采集的功能。[page]

  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半双工模式。

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所示。

  该发送数据包内容可以解释为,请求读取站地址为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位在后!)。

[page]

  按照以上校验步骤,编写crc校验功能子程序fc6(见表3)。

  在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)。

7 结束语

  本文详细阐述了如何采用modbus协议实现s7-300与冷冻机之间的数据通信。实现了异种设备之间的连接,为实现公司的集中监控目标铺平了道路。

关键字:S7-300  冷冻机  Modbus  串行通讯 引用地址:S7-300与Carrier冷冻机的Modbus串行通讯

上一篇:多通道数据实时采集系统设计
下一篇:基于公网通信采集电能信息系统

推荐阅读最新更新时间:2024-05-02 23:12

自动化行业中的以太网:Modbus TCP和PROFINET
以太网解决方案具有卓越的带宽优势和设备成本优势,还能轻松延伸到整个工厂,用单个网络就能连通车间系统和企业IT系统。以第三个特性为基础,我们还在第二部分开始探讨了融合型全厂以太网架构(CPwE),这是罗克韦尔自动化有限公司与思科公司联合开发的一种参考架构,其目的是鼓励通过结合使用标准以太网和IP套件实现IAC系统的现代化。1 CPwE概述与总结 从本质上来讲,CPwE是为了帮助制造商越过不同传统串行网络的复杂性并实现必要的服务整合、简便维护和高可用性,帮助他们为工业物联网等应用案例做好准备。通过把IT和控制工程师以及他们各自负责的系统整合起来,CPwE能够地最大限度地优化工业作业,大幅提高原材料的利用率,确保产品和服
[工业控制]
两机串行通讯
C代码: /*************** writer:shopping.w ******************/ #include reg52.h #define uint unsigned int #define uchar unsigned char sbit LED1 = P1^0; sbit LED2 = P1^3; sbit K1 = P1^7; uchar Operation_NO = 0; uchar code DSY_CODE = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; void Delay(uint x) { uchar i;
[单片机]
两机<font color='red'>串行通讯</font>
基于CAN总线的87C196CA单片机串行通讯的应用
1  前言   CAN 是国际上应用很广泛的一种现场总线,MCS96 系列单片机是目前在工业界推广应用较广泛的嵌入式控制器,其87C196CA 单片机内核本身带有CAN 控制器,支持标准和扩展的信息帧,即遵循CAN2.0A 和CAN2.0B 协议。由此而构成的CAN 总线支持分布式控制和实时控制,其串行通信方式灵活可靠,传输距离较远。由于CAN 总线具有通信速率高、工作可靠性高、现场抗干扰能力强、网络连接方便和性能价格比高等优点,在汽车发动机控制部件、汽车抗滑系统、工业自动化、机床、电梯控制等领域得到了较为广泛的应用。 2  硬件构成 2. 1 CAN 总线连接   基于CAN 总线的两个87C196 单片机网络联接时,分别将
[单片机]
基于CAN总线的87C196CA单片机<font color='red'>串行通讯</font>的应用
基于CAN总线的嵌入式控制器串行通讯的应用
1  引言 CAN 是国际上应用很广泛的一种现场总线,MCS96 系列单片机是目前在工业界推广应用较广泛的嵌入式控制器,其87C196CA 单片机内核本身带有CAN 控制器,支持标准和扩展的信息帧,即遵循CAN2.0A 和CAN2.0B 协议。由此而构成的CAN 总线支持分布式控制和实时控制,其串行通信方式灵活可靠,传输距离较远。由于CAN 总线具有通信速率高、工作可靠性高、现场抗干扰能力强、网络连接方便和性能价格比高等优点,在汽车发动机控制部件、汽车抗滑系统、工业自动化、机床、电梯控制等领域得到了较为广泛的应用。 2  硬件构成 2. 1 CAN 总线连接 基于CAN 总线的两个87C196 单片机网络联
[单片机]
基于CAN总线的嵌入式控制器<font color='red'>串行通讯</font>的应用
基于S7-300的交流伺服系统在汽车仪表板生产线中的应用
0 引言   以前的伺服驱动系统多以直流系统为主,这是因为直流电机调速比较方便,本身的机械特性较硬,但直流电机由于有电刷换向,不适用于防爆场合,且结构复杂,维修不便。近年来由于电子技术飞速发展,交流调速技术日趋成熟,其调速性能可与直流系统相媲美,并正逐步取代直流电机调速。   我公司的原系统为CANN0N公司独立研制,以STD总线、Z80CPU为核心的单片机组成的直流伺服控制系统。该系统抗干扰能力差,软硬件资料不详, 维修困难, 且备件价格贵, 采购周期长, 经常造成停机。因此我们采用西门子S7—300PLC及位控模块FM357、 SIM0DRIVE611A伺服驱动模块、1FK6伺服电机构成的数控系统对原系统进行了改造。 1 系统
[嵌入式]
Modbus通讯协议在空气压缩机监控系统中的应用
引言     广东某铅锌矿运转工区的空气压缩机组是采矿生产中的关键设备,共有六台进口的英格索兰CENTAC空气压缩机,它的运行稳定与否直接关系到整个矿区的安全生产和经济效益。     原上位机监控软件为英格索兰公司的CEM2.52,由于其数据处理量大,数据更新速度慢;并且软件必须运行在Windows英文版操作平台上,操作人员很难看懂英文数据,软件版本也无法升级;另外,上位机的报警功能失效,远程操作与管理功能无法实现,造成操作人员无法及时发现问题,处理突发事件。为了解决上述存在的问题,提高生产自动化程度,决定对空气压缩机组原有的监控系统进行改造。控制系统间的通讯是改造过程中的难点,本文介绍了采用Modbus通讯协议实现上述通
[嵌入式]
S7-300的PID控制调节二
1.PID的库指令——FB41 首先在软件里找到Standard Library—PIC control Blocks—FB41。 2.FB41的各管脚含义: COM_RST:开关量,1为重启PID,复位PID内部参数. MAN_ON:1为手动,0为自动. P_SEL:比例选择位,一般为1. I_SEL:积分选择位,一般为1. D_SEL:微分选择位,一般为0. CYCLE:采样时间(如T#500ms,即500ms测一次,不要低于OB35设置的循环时间,一般OB35的循环时间默认为100ms.) SP_INT:设定值. PV_IN:反馈值(实时测到的模拟量). LMN:输出的工程量,是实数,无单位,是个百分比值. LMN_
[嵌入式]
<font color='red'>S7-300</font>的PID控制调节二
PIC单片机与触摸屏串行通信的MODBUS协议实现
  摘要:介绍一种在PIC单片机与触摸屏之间采用Modbus协议实现异步串行通信的方法。简单介绍了Modbus通信协议,给出了硬件电路连接图、程序流程图以及用PIC单片机C语言编写的部分通信程序。实际使用证明该方法数据传输稳定可靠,并提供了良好的人机交互环境。   关键词:触摸屏 PIC单片机 Modbus协议 通信   工控中经常需要观察系统的运行状态或者修改运行参数。触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。单片机广泛应用于工控领域中,与触摸屏配合,可组成良好的人机交互环境。触摸屏和单片机通信,需要根据触摸屏采用的通信协议为单片机编写相应的通信程序。Modbus
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved