自定义串口协议转modbus转换器SS-430
- 格式:pdf
- 大小:1.16 MB
- 文档页数:45
根据客户要求定制SS-431的串口通信协议摘要:根据客户要求对SS-431的串口通信协议做定制开发,以满足客户的一些特殊需求,并通过SS-431的转换连接到Modbus 网络。
关键词:定制开发 串口通信协议 Modbus 协议转换一. 简介泗博自动化的智能串口协议转换模块SS-431具有2个串口,可分别设置为不同的通信协议,以实现串口协议间的转换功能。
由于串口协议种类繁多,对于一些通信机制复杂,有特殊要求的协议,或者为了简化配置等,采取定制开发的方式更能满足客户的需求。
二. SS-431使用定制协议连接设备到Modbus 网络案例中定制协议要连接的设备是逆变器,SS-431对逆变器中的数据进行预采集,提高Modbus 总线读取数据的效率;通过Modbus 总线控制逆变器,SS-431与逆变器的写操作采用Modbus 写命令触发方式,提高控制的反应时间和可靠性,并可减少对数据预采集功能的影响。
如图1所示:PLC……逆变器逆变器逆变器定制通信协议图1:网络连接图在上图中,泗博自动化的转换模块SS-431与PLC 连接端作为Modbus 从站,与多台逆变器连接端采用定制通信协议。
三. 定制开发案例中的SS-431规格1. SS-431采用数据映射式原理,分为输入数据缓冲区和输出数据缓冲区两部分a) 输入数据传输方向2. 输输4字节大2048字节 串 串口1作为dbus 从站接口四. PLC 读取现场设备数据PLC 通过SS-431器数据。
SS-431的两个串口之间的数据转换通过“映射”关读取的数据放入到输入数据缓冲区,供PLC 读取。
PLC 写入的数据放入输出可以通过定制开发服务来满足客户对串口通协议的特殊需求。
虽然SS-431目前已可以连接百种串口通信协议设备,但是对于目前不能支持的协议还需使用定制开发的方式实现。
b) 输出数据传输方向 入出数据缓冲区大小a) 输入数据缓冲区最大1024字节 b) 输出数据缓冲区最大102c) 输入+输出数据缓冲区最3. 口2作为定制协议通信接口4. Mo 读写逆变系来建立。
DMXC2000MBus转Modbus转换器使用说明书二零一四年三月北京黑蚂蚁节能技术有限公司第一章产品简介1.1产品概述MBUS转MODBUS是指MBUS协议和MODBUS协议的互相转换,使用于任何MODBUS主站读取MBUS设备的数据。
转换器最多支持256块热能表数据的读取,支持所有欧洲标准协议的超声波仪表,如:卡姆鲁普(Kamstrup)、西门子、兰吉尔(Landis+Gyr)、恩乐曼、埃创、非特拉、天罡、伟岸、瑞纳、爱拓利、真兰、荷德鲁美特、丹佛斯等公司生产的热量表、水表通讯。
支持所有国家标准(CJ-T_188)的超声波仪表和水表。
也可以跟据用户的实际需求,定制读取其他MBUS仪表的数据。
模块支持多类型表同时挂接。
提供配套管理软件,可以配置MODBUS地址、波特率、校验位及仪表类型等。
转换器采用DC12V输入电压,MBUS接口用于连接MBUS仪表(具有总线短路保护功能),RS485用于和MODBUS主站连接,RS485采用光电隔离。
如果读取欧洲标准协议的仪表,可以采用一级地址读取仪表数据,仪表地址必须设成1~256,如果采用二级地址采集仪表数据,就需要把仪表的二级地址和逻辑短地址(1~255)进行映射,通过逻辑短地址(1~255)读取仪表数据,仪表的型号可以由用户设定。
注:国家标准(CJ-T_188)协议不支持多级地址,只能通过地址映射来实现短地址(1~255)的通信。
1.2产品技术特性1、供电电压:DC12V输入。
2、隔离:电源、MBUS、RS485三端隔离。
3、MODBUS:MODBUS RTU从设备(波特率1200-115200可配置,地址可配置,校验可配置,8位数据,1位停止位)4、MODBUS连接方式:RS4855、负载:最多支持256块仪表,表的型号可设置;6、MBUS波特率:默认2400波特率,8位数据,偶校验,1位停止位,可设置;7、出厂设置:MODBUS波特率:9600,无校验,1位停止位8、工作温度:-20~+70度1.3MODBUS寄存器与超声波热表的数据对应表MODBUS寄存器地址对应数据备注40001-40002累计热量精确到小数点后2位40003-40004累计流量精确到小数点后2位40005-40006热功率精确到小数点后2位40007-40008流速精确到小数点后2位40009进水温度,单位:0.01℃精确到小数点后2位40010回水温度,单位:0.01℃精确到小数点后2位40011-40012累计工作时间,单位:小时40013-40014累计故障时间,单位:小时40015-40018累计热量单位字符串格式类似于"MWh","GJ"40019-40022累计流量单位字符串格式类似于"m^3"40023-40026热功率单位字符串格式类似于“W”,“kW”40027-40030流速单位字符串格式类似于"l/h","m^3/h"1.4MODBUS寄存器与远传水表的数据对应表MODBUS寄存器地址对应数据备注40100-40101当前累计流量精确到小数点后2位40102-40103结算日累计流量精确到小数点后2位,部分水表没有该数据。
(19)中华人民共和国国家知识产权局(12)实用新型专利(10)申请公布号CN205545358U(43)申请公布日 2016.08.31(21)申请号CN201620235071.4(22)申请日2016.03.25(71)申请人四川零点自动化系统有限公司地址621050 四川省绵阳市绵阳高新区普明南路东段95号(72)发明人郭静;王永贵;廖亮(74)专利代理机构代理人(51)Int.CI权利要求说明书说明书幅图(54)发明名称一种CANopen转Modbus TCP的协议转换器(57)摘要本实用新型提供了一种CANopen转Modbus TCP的协议转换器,其特征在于:包括电源保护模块、电源模块、嵌入式ARM处理器、CANopen通信模块、Modbus TCP网络连接芯片,电源保护模块连接有电源模块,电源模块连接嵌入式ARM处理器、CANopen通信模块和ModbusTCP网络连接芯片,嵌入式ARM处理器连接有CANopen通信模块,CANopen通信模块设有接口电路,嵌入式ARM处理器设有CPU时钟电路、调试接口和指示电路,嵌入式ARM处理器连接ModbusTCP网络连接芯片。
本实用新型装置解决了CANopen设备与Modbus TCP设备之间的互联的问题,实现了不同网络之间的数据交换。
法律状态法律状态公告日法律状态信息法律状态2016-08-31授权授权权利要求说明书一种CANopen转Modbus TCP的协议转换器的权利要求说明书内容是....请下载后查看说明书一种CANopen转Modbus TCP的协议转换器的说明书内容是....请下载后查看。
一种低成本的Profibus与Modbus转换接口的设计
史宝库;王建国
【期刊名称】《中国仪器仪表》
【年(卷),期】2011(0)S1
【摘要】工业控制中各种设备大都具备通信功能,但是它们所支持的通信协议往往是不相同的,因而各种设备之间的数据交换较难,且通信速率偏低。
本文通过一个协议转换接口的设计,实现了Profibus-DP和Modbus这两种应用广泛的现场总线系统的互连。
【总页数】4页(P90-93)
【关键词】现场总线;Profibus-DP;Modbus;协议转换
【作者】史宝库;王建国
【作者单位】东北电力大学
【正文语种】中文
【中图分类】TH7
【相关文献】
1.一种用低成本实现的Modbus/TCP转换器 [J], 李勇;黄健
2.一种MODBUS——ProFiBus节点通信控制与协议转换模块设计 [J], 金红;蒋存波;陈小琴
3.一种基于dsPIC30F6014和SPC3的Profibus-DP/Modbus协议转换装置 [J], 燕传洋;王克成
4.Profibus-DP/Modbus协议转换模块研究与设计 [J], 惠明坤
5.Modbus-RTU与Profibus-DP协议转换网关的设计 [J], 张子齐
因版权原因,仅展示原文概要,查看原文内容请购买。
实现一个/一组串口设备通过SS-431变成Modbus 设备——泗博自动化通用串口转Modbus 转换模块的应用摘要:介绍带有Modbus 通信接口的PLC 与3种非Modbus 协议的串口设备实现通信的方法,泗博自动化的智能串口协议转换模块SS-431在其中的应用。
关键词:Modbus 通用串口 串口协议 串口通信 协议转换一. 引言现代工业的迅速发展,不断促进着自动化控制技术及设备通信技术的创新和发展。
当前,PLC 、DCS 、智能仪表等已广泛应用到现场生产控制系统中,并发展到由上述设备相互协同、共同面向整个生产过程的分布式工业控制系统。
在此系统中,现场总线通信技术至关重要。
本文就非Modbus 连接到Modbus 网络,实现数据的预采集和控制,泗博自动化的智能串口协议转换模块SS-431正是起到这关键的作用。
二. SS-431将非Modbus 设备转换成Modbus 设备SS-431智能串口协议转换模块使用通用模式与这些非Modbus 协议串口设备建立通信,实现数据的预采集和控制。
SS-431的另一侧设置为Modbus 从站,与带有Modbus 主站接口的PLC 或工控机等控制器进行数据的双向交换。
如下图1所示:……变频器条码扫描仪多功能电能监测仪表PLCSS-431……变频器条码扫描仪多功能电能监测仪表……变频器条码扫描仪多功能电能监测仪表SS-431SS-431图1 系统结构图上图中有三种非Modbus 协议的串口设备,串口协议1、串口协议2和串口协议3是三种不同的通信协议,其中串口协议1和串口协议2的通信方式为问答式通信,串口协议3是设备有数据时立即发送数据的通信方式。
三. Modbus协议简介Modbus协议是一种适用于工业控制领域的主从式串口通讯协议,它采用查询通讯方式进行主从设备的信息传输,可寻址1-247个设备地址范围。
协议包括广播查询和单独设备查询两种方式,二者区别就是广播查询不需要从设备回应信息,主、从设备查询通讯过程见如图2所示:主设备查询图2 Modbus主、从设备查询响应Modbus协议常用功能码如图3所示:图3 Modbus协议常用功能码Modbus协议有两种传输模式:ASCII模式和RTU模式。
modbus协议转换代码由于Modbus协议可以使用不同的物理层和传输层,所以转换代码实现的方式也可能不同。
以下是一种常见的Modbus TCP/IP协议转换为Modbus RTU协议的代码示例。
在此示例中,使用Python语言和PyModbus 库。
```python。
from pymodbus.client.sync import ModbusTcpClient。
from pymodbus.transaction import ModbusRtuFramer。
from pymodbus.constants import Endian。
from pymodbus.payload import BinaryPayloadDecoder, BinaryPayloadBuilder。
import serial。
# 创建Modbus TCP/IP客户端。
client_tcp = ModbusTcpClient('localhost', port=502)。
# 创建Modbus RTU串行连接。
serial_conn = serial.Serial('/dev/ttyUSB0', 9600, parity='N', stopbits=1, bytesize=8)。
# 使用Modbus RTU帧格式进行传输。
client_rtu = ModbusTcpClient('localhost', port=502,framer=ModbusRtuFramer)。
# 从Modbus TCP/IP读取数据。
result_tcp = client_tcp.read_holding_registers(address=0, count=1, unit=1)。
#解码二进制数据。
decoder =BinaryPayloadDecoder.fromRegisters(result_tcp.registers, byteorder=Endian.Big)。
先看看串口的接口,因为接口是复用的,可以作为IO也可以作为外设接口,所以要在P3SEL做一下设置。
接下来看看串口的设置流程,这点这个430的datasheet说的很清楚,我也很推荐这样的datasheet说明方式,不像有的公司,介绍了很多寄存器,但是这个功能怎么用,从开始初始化,设置寄存器,然后启动该应用没有介绍。
这点,应该给MSP430单片机掌声,还有就是TI公司提供了一些简单的例程,可以学习一下,也挺方便大家使用430单片机的,这点蛮好的啊。
这个图片里面的5步就是告诉你怎么设置一个串口,很方便的吧,你只要对照这5步来,就行了。
很方便的。
我们需要完成的工作就是第二步的那句初始化USART寄存器。
接下来看看相关的寄存器吧。
我把程序弄上来,对照程序说比较方便。
1: P3SEL |= 0x30; // 选择P3.4和P3.5做UART通信端口2: ME1 |= UTXE0 + URXE0; // 使能USART0的发送和接受3: UCTL0 |= CHAR; // 选择8位字符4: UTCTL0 |= SSEL0; // UCLK = ACLK(32768HZ)5: UBR00 = 0x03; // 波特率96006: UBR10 = 0x00; //7: UMCTL0 = 0x4A; // Modulation8: UCTL0 &= ~SWRST; // 初始化UART状态机9: IE1 |= URXIE0; // 使能USART0的接收中断第1,2 3 4句程序不解释了,自己看看寄存器就好了,我主要说一下波特率的设置,在串口调试里面这点,都是比较繁琐的,像51还要和相关的定时器配合使用,430单片机不需要定时器配合,只要有UCLK时钟就好了,这里时钟是32768HZ。
在datasheet里面有实例计算,如果你想具体了解,你可以看datasheet。
程序第8,9句都是按照上面串口设置流程来的啊,不多了,也简单。