CN107864081B - 基于ModbusRTU协议的同步电机数据通信*** - Google Patents
基于ModbusRTU协议的同步电机数据通信*** Download PDFInfo
- Publication number
- CN107864081B CN107864081B CN201711100134.0A CN201711100134A CN107864081B CN 107864081 B CN107864081 B CN 107864081B CN 201711100134 A CN201711100134 A CN 201711100134A CN 107864081 B CN107864081 B CN 107864081B
- Authority
- CN
- China
- Prior art keywords
- message
- touch screen
- data
- link
- dsp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
一种基于Modbus RTU协议的同步电机数据通信***,属于电力电子及交流传动***的数据通信技术领域。包括:四台带有DSP控制板,蓝海微星触摸屏,RS485转换芯片,双绞线,RS485总线。将每个DSP控制板上的SCI输出管脚由双绞线并联后,并由其中任意一个管脚用双绞线引入RS485转换芯片。将RS485转换芯片的输出端由一条RS485数据总线连接在触摸屏的RS485接口上。优点在于:解决由于过多的***同时以很快的速度发送大量的数据包,提高了触摸屏发送端的数据吞吐量,在其中一台或是几台通讯出问题的情况下,能够做出有效的判断,保护***的安全和可靠。
Description
技术领域
本发明属于电力电子及交流传动***的数据通信技术领域,具体涉及一种基于Modbus RTU协议的同步电机数据通信***。
背景技术
Modbus RTU协议是一种电子控制器上的工业通讯协议,它采用一主多从站的方式构建通讯网络,具有标准,开放和较高的可靠性。由于协议数据包短小,传输快捷,而被广泛应用于工各领域。
但ModBus RTU主要采用查询式的交互方式在主***和从机之间交换信息,每一次的查询请求遍对应每一次的回应消息。而这种交互方式容错性小,往往一台机器的一条查询请求由于断电,操作失误或是其他不可预估的的意外而导致出错,就会使其他从机收到影响,乃至于整个通讯***的瘫痪。
Sliding Window机制是TCP协议一种应用,用于解决网络拥堵和由于其他因素导致的信息丢失和延迟的一种方法。由于Sliding Window机制不必让发送方每发一个数据包就停下来等待确认,因此可以加速数据的传输,提高通讯***的吞吐量。
发明内容
本发明的目的是提供一种基于Modbus RTU协议的同步电机数据通信***,解决了***单一发送单一接收的问题;解决由于过多的***同时以很快的速度发送大量的数据包,提高了触摸屏发送端的数据吞吐量,在其中一台或是几台通讯出问题的情况下,能够做出有效的判断,保护***的安全和可靠。提高了通讯***的信息吞吐量和其容错率。
实施本发明的主要技术方案如下:该数据通信***实现了外部设备触摸屏与每台同步电机的主控制器TI公司的TMS320F28335DSP之间的双向数据传递。具体实现是将4个DSP控制板的SCI发送口通过双绞线分别并联起来,用一条双绞线引出信号,经由RS485转换芯片,通过一条RS485总线与触摸屏的RS485串口相连。
本发明包括:四台带有DSP控制板,蓝海微星触摸屏,RS485转换芯片,双绞线,RS485总线。将每个DSP控制板上的SCI输出管脚由双绞线并联后,并由其中任意一个管脚用双绞线引入RS485转换芯片。将RS485转换芯片的输出端由一条RS485数据总线连接在触摸屏的RS485接口上。触摸屏端的***在Virtual Studio2010环境下基于WinCE6.0的***中自主开发的通讯***。该***包括主站发送端(即触摸屏)的屏幕上的触摸和按键事件的识别环节、动作处理环节、命令产生环节、Sliding Window消息控制环节、消息发送和接受环节和接受端的命令识别环节,命令执行环节,回传消息回传。
上述触摸屏端的所有环节,通过C#VisualStudio 2010进行编程实现各个环节及其每个环节之间的数据交互。电机控制端使用DSP这一芯片做位电机控制的主要芯片。通过CCS3.0进行编程处理从触摸屏接受到的消息。
与以往ModBus协议不同,在本***中,一个从站使用多个地址来模拟SlidingWindow***中的ACK码。在命令生成环节,主站依据命令的序列及其相应的从站产生地址码并放入Sliding Window的缓存队列中。
Sliding Window控制环节,触摸屏会依据设定好的窗口大小将队列中的数放入发送窗口。发送过程中,发送窗口中的所有数据包保存起来以防止由于数据传输导致的数据错误或其它问题。等待从机对传回消息进行确认,将数据提交。
在DSP接收端,通过串口读取报文,若是芯片空闲,处理报文,生成回传报文,并发送。若是正在运行,将其置于缓存队列,等稍后进行处理。主机端接受到DSP的回传报文,对其进行解析,判断回复报文的顺序与正确性。
若回文与主站所发报文的ACK匹配,发送窗口下移对其中报文进行更新。若不匹配,找的最初不匹配的那一条报文,将此报文所对应的从机的窗口中的报文重新发送,若多次不成功,认为从机通讯出故障,判断其他机器知否可以继续运行。存在继续运行的条件,重启出错的DSP使得***正常运行,反之,在保证其他从机安全正常的情况下,发出警示信号,并停机。
本发明相比于现有技术,其优点在于:
1、本发明的通信方法采用Sliding Window机制,解决由于过多的***同时以很快的速度发送大量的数据包,而导致的数据包丢失,进而致使***不能够正常的维持运行的问题。
2、这种利用地址位进行Sliding Window ACK序号验证的模式,在没有增加数据长度的情况下,合理利用了富余的下位机地址,提高了触摸屏发送端的数据吞吐量。
3、本发明形成了一套完善的工程化的多台电机控制***的数据通信方法,在其中一台或是几台通讯出问题的情况下,能够做出有效的判断,保护***的安全和可靠。
附图说明
图1触摸屏与单一DSP信息交互示意图。
图2Sliding Window机制在发送端和接收端的流程图。
具体实施方式
本发明包括:四台带有DSP控制板,蓝海微星触摸屏,RS485转换芯片,双绞线,RS485总线。将每个DSP控制板上的SCI输出管脚由双绞线并联后,并由其中任意一个管脚用双绞线引入RS485转换芯片。将RS485转换芯片的输出端由一条RS485数据总线连接在触摸屏的RS485接口上。触摸屏端的***在Virtual Studio2010环境下基于WinCE6.0的***中自主开发的通讯***。该***包括主站发送端(即触摸屏)的屏幕上的触摸和按键事件的识别环节、动作处理环节、命令产生环节、Sliding Window消息控制环节、消息发送和接受环节和接受端的命令识别环节,命令执行环节,回传消息回传。
在通信***连接上,采用一个主站,四个从站通讯方式,将四台相同的DSP28335电机控制板的串口输与一条***的数据总线进行连接,将数据总线触摸屏的串口进行连接。在通讯过程中,触摸屏通过数据总线将命令传输给四个从站,完成信息的交互。
在地址码的分配上,每一个DSP从站都会被分到32个连续的地址码;1-32是DSP1所分配的地址码,33-64是DSP2的地址码,以此类推,将128个地址码分别分给4个DSP,用在Sliding Window机制中模拟ACK功能码。
在触摸屏中,每100ms会产生发给每一个DSP控制板的轮询命令,同时触摸屏输入会产生写命令,按钮的按下于抬起会产生线圈置0/1的写命令,这些命令通过命令生产环节转换成标准的ModBus通讯报文。每一条报文地址码会在所对应的DSP地址码范围内按先后顺序依次递增,若是超出范围重新从第一个地址码开始。例如,给DPS2发送的报文从地址码33开始依次递增,地址码64用完,新的报文的地址码重新从33开始依次递增。
这些生成好的命令会依次的传递给***中的Sliding Window机制环节。在本***中,Sliding Window的窗口数据量设定为31,这是为了防止窗口中有地址码相同的数据。窗口中的命令将会逐条的发送给数据总线做链接的4个DSP从机。
每一个从机接收到数据总线上的数据后,通过中断的方式对报文进行处理,首先通过与运算,判断报文的地址码是否是属于本从机的,则通过地址码继续判断该条报文是否是这一从机应该接受的下一条报文。例如对于DSP4上一条接收的报文地址码是113,当它接收到了一条新的报文则会判断该条报文的地址码是否为114。若这些判断通过,DSP则按照ModBus所设定的功能码执行相应的功能并生成回传报文。回传报文的地址码与所接收的地址码相同。若是不同,所接收的地址码addr1小于应接收的地址码addr0,从缓存队列中剔除,执行下一条,直至与addr0相同为止。若是addr1>addr0,说明传输过程中,由于某种原因addr0的数据丢失,生成地址码为addr0-1的报错报文并回传。
当主站接收到从站回传的信息,也会通过地址码进行判断,若接收的地址码addr2小于的待接收的地址码addr0,重发所有窗口内所对应从机的报文。Addr2=addr0,报文正常接收,窗口下滑,将缓存队列中的新的消息添加进窗口。若addr2>addr0,则分为两种情况,若功能码是读操作,数据丢失,需要重新发送获取数据,生成新的命令,放置在窗口最后,窗口下滑,等待重发,若是写操作,窗口下滑,待判断的地址码加1,重复这一过程,直至与addr2相等。
通过这样的主从交互方式,将Sliding Window中的ACK功能码的作用添加进ModBus地址码,能够保证每一条消息传输给了从站,主机也能够确认,每一条消息是否被从机执行。这样主机不用每一条都是等待到从机正确的回复报文才继续执行。
Claims (3)
1.一种基于Modbus RTU协议的同步电机数据通信***,其特征在于:四台带有DSP芯片的控制板,蓝海微星触摸屏,RS485转换芯片,双绞线,RS485总线;将每个DSP控制板上的SCI输出管脚由双绞线并联后,并由其中任意一个管脚用双绞线引入RS485转换芯片;将RS485转换芯片的输出端由一条RS485数据总线连接在触摸屏的RS485接口上;触摸屏端的***是在VirtualStudio2010环境下基于WinCE6.0平台上开发的通讯***;该通讯***的主站发送端包括如下环节:屏幕上的触摸和按键事件的识别环节、动作处理环节、命令产生环节、Sliding Window消息控制环节、消息发送和接受环节和接受端的命令识别环节,命令执行环节,回传消息回传环节;
上述主站通过C#VisualStudio 2010进行编程和从站进行数据交互;从站通过CCS3.0进行编程处理从主站触摸屏接受到的消息;
在本同步电机数据通信***中,一个从站使用多个地址来模拟Sliding Window***中的ACK码。在命令生成环节,主站依据命令的序列及其相应的从站产生地址码并放入Sliding Window的缓存队列中。在地址码的分配上,每一个DSP从站都会被分到32个连续的地址码;1-32是DSP1所分配的地址码,33-64是DSP2的地址码,以此类推,将128个地址码分别分给4个DSP,用在Sliding Window机制中模拟ACK功能码;
2.根据权利要求1所述的同步电机数据通信***,其特征在于:Sliding Window控制环节,触摸屏会依据设定好的窗口大小将队列中的数据放入发送窗口;发送过程中,发送窗口中的所有数据包保存起来以防止由于数据传输导致的数据错误或其它问题;对从机的回传消息进行确认,将数据提交。
3.根据权利要求1所述的同步电机数据通信***,其特征在于:在DSP接收端,通过串口读取报文,若是芯片空闲,处理报文,生成回传报文,并发送;当DSP芯片不处于空闲状态时,将其置于缓存队列,等稍后进行处理;主机端接受到DSP的回传报文,对其进行解析,判断回复报文的顺序与正确性;
当回文与主站所发报文的ACK匹配,发送窗口下移对其中报文进行更新;当不匹配,找到最初不匹配的那一条报文,将此报文所对应的从机的窗口中的报文重新发送,当多次不成功,认为从机通讯出故障,判断其他机器是否继续运行;如果其他机器可以继续运行且本机重启不会影响其他机器的工作状态时重启,重启出错的DSP使得***正常运行,反之,在保证其他从机安全正常的情况下,发出警示信号,并停机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711100134.0A CN107864081B (zh) | 2017-11-09 | 2017-11-09 | 基于ModbusRTU协议的同步电机数据通信*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711100134.0A CN107864081B (zh) | 2017-11-09 | 2017-11-09 | 基于ModbusRTU协议的同步电机数据通信*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107864081A CN107864081A (zh) | 2018-03-30 |
CN107864081B true CN107864081B (zh) | 2020-11-24 |
Family
ID=61701454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711100134.0A Active CN107864081B (zh) | 2017-11-09 | 2017-11-09 | 基于ModbusRTU协议的同步电机数据通信*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107864081B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533019A (zh) * | 2012-07-03 | 2014-01-22 | 宏正自动科技股份有限公司 | 远程管理方法及使用该方法的远程管理装置 |
CN106533874A (zh) * | 2016-11-22 | 2017-03-22 | 北京金自天正智能控制股份有限公司 | 一种基于Modbus RTU协议的永磁同步电机数据通信***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130231793A1 (en) * | 2012-03-01 | 2013-09-05 | Leviton Manufacturing Co., Inc. | Relay system with branch circuit metering |
-
2017
- 2017-11-09 CN CN201711100134.0A patent/CN107864081B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533019A (zh) * | 2012-07-03 | 2014-01-22 | 宏正自动科技股份有限公司 | 远程管理方法及使用该方法的远程管理装置 |
CN106533874A (zh) * | 2016-11-22 | 2017-03-22 | 北京金自天正智能控制股份有限公司 | 一种基于Modbus RTU协议的永磁同步电机数据通信***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107864081A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453383B (zh) | 一种基于uart的主从多机通讯***及方法 | |
CN105610876B (zh) | 工业控制自动化网络通信协议转换器及通信协议转换方法 | |
CN201740999U (zh) | 用于自动化设备的输入和/或输出安全模块 | |
EP2455832B1 (en) | Programmable controller | |
CN110955626A (zh) | 一种在串行链路上实现Modbus通信的方法与*** | |
CN109932966B (zh) | 一种基于m-lvds总线实时高效数据传输方法 | |
CN1671141A (zh) | 多主通信*** | |
CN103746889B (zh) | 半竞争式rs-485总线多主通讯***及其工作方法 | |
CN109495215B (zh) | 一种半双工总线的通信方法、***、装置及可读存储介质 | |
CN111124986A (zh) | 一种与Modbus兼容且更高效的异步串口通信协议 | |
CN104852825A (zh) | 总线通讯测试方法及*** | |
CN102811152B (zh) | 一种多主总线网络通讯实时交易数据交换实现方法 | |
CN113626365A (zh) | 一种基于spi总线的通信方法 | |
CN103186440A (zh) | 检测子卡在位的方法、装置及*** | |
CN111948993B (zh) | 样本处理流水线控制*** | |
CN103428050A (zh) | 一种基于can总线的多路can仿真*** | |
CN107864081B (zh) | 基于ModbusRTU协议的同步电机数据通信*** | |
CN112165422B (zh) | 一种一主多从温度控制***的地址自动匹配方法 | |
CN106874228A (zh) | 基于i2c总线的控制器及通信方法、多控制器间的通信方法 | |
CN103809547A (zh) | 一种伺服驱动器现场总线接口的控制***及方法 | |
CN103248547A (zh) | Modbus RTU从站快速捕获数据的方法及从站 | |
CN113965432B (zh) | 一种双通道can总线通信的控制*** | |
CN104216329A (zh) | 安全控制*** | |
CN201349219Y (zh) | 异步通信控制器 | |
CN212324117U (zh) | 一种rs485总线多主机竞争切换*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |