CN107528798B - 基于rs485总线系统的优化调度方法 - Google Patents
基于rs485总线系统的优化调度方法 Download PDFInfo
- Publication number
- CN107528798B CN107528798B CN201610473621.0A CN201610473621A CN107528798B CN 107528798 B CN107528798 B CN 107528798B CN 201610473621 A CN201610473621 A CN 201610473621A CN 107528798 B CN107528798 B CN 107528798B
- Authority
- CN
- China
- Prior art keywords
- priority
- node
- node unit
- upper computer
- data transmission
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims description 47
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 16
- 238000001514 detection method Methods 0.000 abstract description 4
- 238000012545 processing Methods 0.000 abstract description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/821—Prioritising resource allocation or reservation requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于RS485总线系统的优化调度方法,该检测系统通过RS485总线和控制信号线连接上位机和多个节点单元,上位机采用DSP,节点单元采用PLC,该系统可实现分布式控制。本系统针对节点通讯紧急程度的不同,提出动态竞争策略更新节点单元优先级的调度方法,自动调整占用总线的优先级,合理分配占用总线时间。该系统可发挥上位机大量数据快速处理和节点单元高可靠性的优势,且具有调试简单的特点。
Description
技术领域
本发明涉及一种基于RS485总线系统的优化调度方法。
背景技术
RS485 作为一种串行通信标准,采用采用平衡驱动和差分接收的方式来驱动总线,具有通信距离远,传输速度快,抗噪声干扰性好等优点。由于RS485可应用于多站互连,一个发送器可以连接多个负载设备,已被广泛应用于各种领域。RS485 网络的通信方式分主从式和总线式2 种。在总线通信协议上从式RS485 通信网络容易搭建,具有良好的扩展性和通用性,在工业控制中一般采用主从式的通信方式。但是在多站连接中,往往会出现节点通讯堵塞的问题,因此,很有必要设计一个高效稳定的RS485总线系统的优化调度方法。
目前针对RS485总线系统的优化已有研究,中国发明专利公布的“一种基于RS485分布式总线系统的控制方法”(申请号CN201510625106.5)利用总线空闲进行数据交互。发明专利“一种基于RS485的轮询通讯方法”(申请号:CN201510302444.5)通过查询的方法通讯,这些方法存在对紧急信息考虑不够,对于需要紧急处理的数据应该优先传输。本发明针对现有技术的缺陷,提出一种新的基于RS485总线系统的优化调度方法,该方法考虑信息传输的紧急程度,实现主从式系统的信息通讯。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种基于RS485总线系统的优化调度方法,系统由上位机和多个节点单元组成,上位机和各节点单元之间通过RS485总线和控制信号线连接,控制信号线包括请求发送信号、优先级信号以及片选信号,所述优化调度方法特征在于,其包括如下步骤:
1)根据数据实时性要求高低,制定数据传输优先级;
2)上位机根据各节点单元需要完成的任务,依次通过片选信号选中节点单元,通过RS485总线传输相应的初始化参数,对各节点单元进行初始化;
3)上位机发送任务开始命令给各节点单元,使各节点单元工作,各节点单元完成任务后,发送数据传输请求信号和优先级信号给上位机;
4)上位机查询各节点单元的数据传输请求信号和优先级信号,确定各节点单元向上位机发送数据的优先级高低;
5)上位机选定步骤4)确定的最高优先级所对应节点单元,将其数据接收,并处理;
6)上位机再次查询各节点单元的数据传输请求信号和优先级信号,采用动态竞争策略更新节点单元优先级;
7)上位机根据新的优先级,选定节点单元传输数据,并处理,返回步骤6),直到所有节点单元任务完成。
其中步骤6)采用动态竞争策略更新节点单元优先级,为各节点单元分配优先级编码,优先级编码包括节点单元优先级段和竞争代码段,节点单元优先级段是由节点单元发送的优先级信号得到,而节点单元发送的优先级信号根据事先制定的数据传输优先级确定。竞争代码段包括竞争次数代码段和节点单元请求信号次序代码段两部分。优先级编码具体包括如下步骤:
a、上位机依次对各节点单元是否有数据传输请求信号进行第一轮查询,将各个具有数据传输请求信号节点单元的竞争次数代码段置1,将请求信号次序代码段依次编号,得到竞争代码段;
b、然后读取具有数据传输请求信号节点单元的优先级信号,得到节点单元优先级段,将节点单元优先级段和上述竞争代码段组合,得到节点单元优先级编码;
c、选定优先级编码最高的节点单元,传输数据,相应节点单元请求发送信号清除。然后上位机依次对未编码的节点单元进行第二轮查询,并将第二轮查询中各个具有数据传输请求信号节点单元的竞争次数代码段置1,将请求信号次序代码段依次编号,而第一轮编码后但未处理的节点单元的竞争次数代码段置2,将节点单元优先级段和上述竞争代码段组合,得到节点单元优先级编码;
d、选定优先级编码最高的节点单元,传输数据,相应节点单元请求发送信号清除。接着再进行三轮查询,以此类推,每轮查询后未处理的节点单元的竞争次数代码段加1,直至所有节点单元发送的数据传输请求信号处理完成;
优选地,所述的基于RS485总线系统的优化调度方法,其特征在于:当节点单元竞争次数超过节点单元次数的2倍时,调整节点单元优先级段,优先处理该节点单元。
采用上述优化调度方法可使各节点单元根据不同的优先级向上位机传输检测数据,这样可避免出现总线系统出现死循环,保证总线系统的通讯资源得到充分利用,同时该方法还可优先处理需要紧急传输的数据。另外在数据在等待次数过长的情况下,可调整节点单元优先级,增加系统了的灵活性,使系统更加的可靠。该系统采用RS485总线进行通信连接还具有调试简单的优点。
附图说明
图1为本发明基于RS485总线系统的优化调度方法实施例的框图。
图2为本发明基于RS485总线系统的优化调度方法的流程图。
图3为本发明节点单元的优先级编码图。
图4为本发明实施例节点单元的优先级编码图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地实施。
如图1所示,本发明基于RS485总线系统,其包括:一上位机1和数个节点单元2,节点单元2通过RS485总线和控制信号线与上位机连接,控制信号线包括请求发送信号、优先级信号以及片选信号连接。各节点单元请求发送信号通过一个端口与上位机相连,低电平有效。各节点单元优先级通过一个端口与上位机相连,低电平表示数据传输紧急,高电平表示数据传输不紧急,而数据的紧急与否根据事先制定的数据传输优先级确定。片选信号是上位机用来选中节点单元,使能节点单元传输数据,低电平有效。上位机1可对各节点单元2进行初始化设置,并接收各节点单元2反馈的数据。
上位机可以采用DSP处理器,外接MAX485芯片后与485总线相连,节点单元2可以采用PLC,PLC的自由端可以直接连接RS485总线,非常方便,这样系统可以发挥DSP快速处理大量数据的能力和PLC高稳定性的优势。该检测系统可以根据实际需要,增加节点单元。该系统采用RS485总线进行通信连接还具有调试简单的优点。
在该系统中,上位机1与节点单元2是通过RS485总线进行通信连接的,每次只能有一个节点单元来发送数据。而由于节点单元2发送数据传输请求信号的时间也各不相同,为了保证每个节点单元都能获得总线使用权,并且不会出现在总线仲裁时出现死循环的情况,如图2所示,本发明公开了一种基于RS485总线系统的优化调度方法,该方法包括如下步骤:
1)根据数据实时性要求高低,制定数据传输优先级;
2)上位机根据各节点单元需要完成的任务,依次通过片选信号选中节点单元,通过RS485总线传输相应的初始化参数,对各节点单元进行初始化;
3)上位机发送任务开始命令给各节点单元,使各节点单元工作,各节点单元完成任务后,发送数据传输请求信号和优先级信号给上位机;
4)上位机查询各节点单元的数据传输请求信号和优先级信号,确定各节点单元向上位机发送数据的优先级高低;
5)上位机选定步骤4)确定的最高优先级所对应节点单元,将其数据接收,并处理;
6)上位机再次查询各节点单元的数据传输请求信号和优先级信号,采用动态竞争策略更新节点单元优先级;
7)上位机根据新的优先级,选定节点单元传输数据,并处理,返回步骤6),直到所有节点单元任务完成。
其中步骤6)采用动态竞争策略更新节点单元优先级,为各节点单元分配优先级编码,优先级编码包括节点单元优先级段和竞争代码段,节点单元优先级段是由节点单元发送的优先级信号得到,而节点单元发送的优先级信号根据事先制定的数据传输优先级确定。竞争代码段包括竞争次数代码段和节点单元请求信号次序代码段两部分。优先级编码各段长度可根据实际调整。优先级编码具体包括如下步骤:
首先,上位机依次对各节点单元是否有数据传输请求信号进行第一轮查询,将各个具有数据传输请求信号节点单元的竞争次数代码段置1,如图3所示,将竞争次数代码段B3B2B1B0置1,根据查询次序将请求信号次序代码段C3C2C1C0依次编号,得到竞争代码段。
其次,读取具有数据传输请求信号节点单元的优先级信号,得到节点单元优先级段A1A0,如图3所示,紧急请求发送信号用11表示,不紧急请求信号用00表示,将节点单元优先级段和上述竞争代码段组合,得到节点单元优先级编码。
然后,选定优先级编码最高的节点单元,传输数据,相应节点单元请求发送信号清除。然后上位机依次对未编码的节点单元进行第二轮查询,并将第二轮查询中各个具有数据传输请求信号节点单元的竞争次数代码段B3B2B1B0置1,将请求信号次序代码段依次编号C3C2C1C0,而第一轮编码后但未处理的节点单元的竞争次数代码段置2,将节点单元优先级段和上述竞争代码段组合,得到节点单元优先级编码。编码越大,优先级越高。
最后,选定优先级编码最高的节点单元,传输数据,相应节点单元请求发送信号清除。接着再进行三轮查询,以此类推,每轮查询后未处理的节点单元的竞争次数代码段加1,直至所有节点单元发送的数据传输请求信号处理完成。当节点单元竞争次数超过节点单元次数的2倍时,调整节点单元优先级段,优先处理该节点单元。
为了进一步理解上述优先级的优化调度方法,下面根据一具体实施例做进一步的描述:假设该系统中上位机1与4个节点单元2连接。如图4所示,该优先级编码中节点单元优先级段占两位A1A0,竞争代码段包括竞争次数代码段B3B2B1B0和节点单元请求信号次序代码段C3C2C1C0。
在进行第一轮查询时,上位机按照1号、2号、3号、4号节点单元次序查询,查询到有1、3号节点单元有数据传输请求信号,然后查询1、3号节点单元的优先级信号,查到3号节点单元的优先级信号为低电平,1号节点单元的优先级信号为高电平,此时1号节点单元的优先级编码为0000010001,3号节点单元的优先级编码为1100010002。由于3号节点单元的优先级编码大于1号节点单元的优先级编码,故上位机通过片选信号选中3号节点单元,3号节点单元的数据传输,同时清除3号节点单元的数据请求信号,并将3号节点单元的优先级编码删除。
在进行第二轮查询时,上位机按照2号、3号、4号节点单元次序查询,查询到有2、3号节点单元有数据传输请求信号,然后查询2、3号节点单元的优先级信号,查到3号节点单元的优先级信号为低电平,1号节点单元的优先级信号为高电平,此时2号节点单元的优先级编码为0000010001,3号节点单元的优先级编码为1100010002,1号节点单元的优先级编码为0000100002。由于3号节点单元的优先级编码大于1号节点单元和2号的优先级编码,故上位机通过片选信号选中3号节点单元,3号节点单元的数据传输,同时清除3号节点单元的数据请求信号,并将3号节点单元的优先级编码删除。
在进行第三轮查询时,上位机按照3号、4号节点单元次序查询,查询到有3号、4号节点单元有数据传输请求信号,然后查询2、3号节点单元的优先级信号,3号、4号节点单元的优先级信号均为高电平,此时3号节点单元的优先级编码为0000010001,4号节点单元的优先级编码为0000000002,1号节点单元的优先级编码为0000110002,2号节点单元的优先级编码为0000100002。由于4个节点单元的优先级编码中,1号节点单元优先级编码最大,故上位机通过片选信号选中1号节点单元,1号节点单元的数据传输,同时清除1号节点单元的数据请求信号,并将1号节点单元的优先级编码删除。
以此类推,循环执行优先级编码,直至全部通讯任务完成。假设1号节点单元竞争次数大于8(本实例4个节点,所以取2×4=8),可将其优先级段直接修改为10,这样既提升了1号节点单元的优先级,同时也没有干扰紧急数据传输的需求。
综上所述,采用上述优先级调度优化方法可使各节点单元根据不同的优先级向上位机传输检测数据,这样可避免出现总线系统出现死循环,保证总线系统的通讯资源得到充分利用,同时考虑了节点单元的数据传输紧急程度,以及依据等待次数提升优先级,增加了系统的灵活性,合理分配占用总线时间,提升了系统的实时性能,使系统更加的可靠。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
Claims (2)
1.一种基于RS485总线系统的优化调度方法,系统由上位机和多个节点单元组成,上位机和各节点单元之间通过RS485总线和控制信号线连接,控制信号包括数据传输请求信号、优先级信号以及片选信号,所述优化调度方法特征在于,其包括如下步骤:
1)根据数据实时性要求高低,制定数据传输优先级;
2)上位机根据各节点单元需要完成的任务,依次通过片选信号选中节点单元,通过RS485总线传输相应的初始化参数,对各节点单元进行初始化;
3)上位机发送任务开始命令给各节点单元,使各节点单元工作,各节点单元完成任务后,发送数据传输请求信号和优先级信号给上位机;
4)上位机查询各节点单元的数据传输请求信号和优先级信号,确定各节点单元向上位机发送数据的优先级高低;
5)上位机选定步骤4)确定的最高优先级所对应节点单元,将其数据接收,并处理;
6)上位机再次查询各节点单元的数据传输请求信号和优先级信号,采用动态竞争策略更新节点单元优先级;
7)上位机根据新的优先级,选定节点单元传输数据,并处理,返回步骤6),直到所有节点单元任务完成;
其中步骤6)采用动态竞争策略更新节点单元优先级,为各节点单元分配优先级编码,优先级编码包括节点单元优先级段和竞争代码段,节点单元优先级段是由节点单元发送的优先级信号得到,而节点单元发送的优先级信号根据事先制定的数据传输优先级确定;
竞争代码段包括竞争次数代码段和节点单元请求信号次序代码段两部分;
优先级编码具体包括如下步骤:
a、上位机依次对各节点单元是否有数据传输请求信号进行第一轮查询,将各个具有数据传输请求信号的节点单元的竞争次数代码段置1,将请求信号次序代码段依次编号,得到竞争代码段;
b、然后读取具有数据传输请求信号的节点单元的优先级信号,得到节点单元优先级段,将节点单元优先级段和上述竞争代码段组合,得到节点单元优先级编码;
c、选定优先级编码最高的节点单元,传输数据,将相应节点单元的数据传输请求信号清除,然后上位机依次对未编码的节点单元进行第二轮查询,并将第二轮查询中各个具有数据传输请求信号的节点单元的竞争次数代码段置1,将请求信号次序代码段依次编号,而第一轮编码后但未处理的节点单元的竞争次数代码段置2,将节点单元优先级段和上述竞争代码段组合,得到节点单元优先级编码;
d、选定优先级编码最高的节点单元,传输数据,将相应节点单元的数据传输请求信号清除,接着再进行三轮查询,以此类推,每轮查询后未处理的节点单元的竞争次数代码段加1,直至所有节点单元发送的数据传输请求信号处理完成。
2.根据权利要求1所述的基于RS485总线系统的优化调度方法,其特征在于:当节点单元竞争次数超过全部节点单元数目的2倍时,调整节点单元优先级段,优先处理该节点单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610473621.0A CN107528798B (zh) | 2016-06-22 | 2016-06-22 | 基于rs485总线系统的优化调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610473621.0A CN107528798B (zh) | 2016-06-22 | 2016-06-22 | 基于rs485总线系统的优化调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107528798A CN107528798A (zh) | 2017-12-29 |
CN107528798B true CN107528798B (zh) | 2020-09-08 |
Family
ID=60735590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610473621.0A Expired - Fee Related CN107528798B (zh) | 2016-06-22 | 2016-06-22 | 基于rs485总线系统的优化调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107528798B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108390807B (zh) * | 2018-02-11 | 2020-12-15 | 宁波工程学院 | 一种基于单片机的多机通讯方法 |
CN109413217B (zh) * | 2018-12-31 | 2021-06-08 | 宁波工程学院 | 一种农业物联网数据通讯方法 |
CN115378758B (zh) * | 2022-07-27 | 2023-09-26 | 中国船舶集团有限公司第七二四研究所 | 基于优先级策略的多节点srio总线自适应流控方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547149A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于can网络的osek com消息动态调度方法 |
WO2012012961A1 (zh) * | 2010-07-30 | 2012-02-02 | 中兴通讯股份有限公司 | 总线调度方法及装置 |
CN105007209A (zh) * | 2015-06-04 | 2015-10-28 | 烟台东方威思顿电气股份有限公司 | 一种基于rs485的轮询通讯方法 |
CN105354159A (zh) * | 2015-09-28 | 2016-02-24 | 上海海视电子有限公司 | 一种基于rs485分布式总线系统的控制方法 |
-
2016
- 2016-06-22 CN CN201610473621.0A patent/CN107528798B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547149A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于can网络的osek com消息动态调度方法 |
WO2012012961A1 (zh) * | 2010-07-30 | 2012-02-02 | 中兴通讯股份有限公司 | 总线调度方法及装置 |
CN105007209A (zh) * | 2015-06-04 | 2015-10-28 | 烟台东方威思顿电气股份有限公司 | 一种基于rs485的轮询通讯方法 |
CN105354159A (zh) * | 2015-09-28 | 2016-02-24 | 上海海视电子有限公司 | 一种基于rs485分布式总线系统的控制方法 |
Non-Patent Citations (1)
Title |
---|
基于新型485总线的分布式数据采集控制系统;宋晓伟等;《机电一体化》;20081020;第67-71页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107528798A (zh) | 2017-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107528798B (zh) | 基于rs485总线系统的优化调度方法 | |
KR20160065206A (ko) | 카메라 제어 인터페이스 슬레이브 디바이스 대 슬레이브 디바이스 통신 | |
CN110635982B (zh) | 通讯总线上双主机通讯方法、系统、工控网关及储存介质 | |
CN105282209A (zh) | 车辆用网络系统和其中异构通信控制器的数据传输方法 | |
CN101309192A (zh) | 总线通信方法 | |
CN104021034A (zh) | 任务处理方法及系统 | |
CN110601943B (zh) | 基于rs485总线的通信系统及其通信方法 | |
CN105101370A (zh) | 一种数据的连接方法、装置及wifi模块 | |
CN101631148A (zh) | 串行通信协议中地址动态分配的通信方法 | |
US20060114824A1 (en) | Multiple device communications | |
US7206882B2 (en) | Triggered communication network for CANOpen networks | |
CN113890781B (zh) | 基于定时器扩展的通信方法、系统及存储介质 | |
CN106875664B (zh) | 一种基于can总线的独占式数据采集方法 | |
CN105162671A (zh) | 任意主机的焊台控制系统及其控制方法 | |
US6907485B2 (en) | Hybrid change of state protocol for CANOpen networks | |
CN106953809B (zh) | 一种基于485分时通信的设备资源采集方法 | |
CN102043397A (zh) | 一种楼宇自动控制系统的网络通讯方法 | |
CN1125866A (zh) | 在一条共用线上传输信号的方法与装置 | |
CN104506642A (zh) | 一种客户端消息高效的收发和处理方法及系统 | |
CN108628796A (zh) | 一种串行通信方法和系统 | |
CN113434441A (zh) | 一种dma传输方法、装置、控制器及可读存储介质 | |
CN201584967U (zh) | Asi中继模块 | |
CN105656740A (zh) | 一种rs422-can总线转换器 | |
CN111813723A (zh) | 一种电源总线数据传输方法、装置及计算机可读存储介质 | |
CN114817264B (zh) | 面向图计算的拓扑查询结构、查询方法、电子设备及介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200908 |