一种环路通信总线、自动编址及广播通信方法转让专利

申请号 : CN201910953894.9

文献号 : CN110535741B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 雷雨田刘旭超

申请人 : 陕西菲拉姆消防科技有限公司

摘要 :

本发明提供了一种FIRAMBUS环路通信总线,包括环路卡和多个现场单元,所述环路卡与多个现场单元依次串联形成环形信道,环形信道包括正极信号线及负极信号线;所述环路卡包括CPU、码型控制电路、首端控制电路、末端控制电路及电流采样电路;所述首端控制电路及末端控制电路分别设有两个控制开关,所述码型控制电路通过正极信号线分别与首端控制电路及末端控制电路的其中一个控制开关连接,以从首端控制电路及末端控制电路向环形信道上供应电源;所述电流采样电路通过负极信号线分别与环路卡的CPU及首端控制电路及末端控制电路的另一个控制开关连接。本发明使得总线中发生故障时,故障部位不会影响非故障部位的正常工作,提高通信总线的稳定性。

权利要求 :

1.一种FIRAMBUS环路通信总线,其特征在于:包括环路卡和多个现场单元,所述环路卡与多个现场单元依次串联形成环形信道,环形信道包括正极信号线及负极信号线;

所述环路卡包括CPU、码型控制电路、首端控制电路、末端控制电路及电流采样电路;

所述首端控制电路及末端控制电路分别设有两个控制开关,所述码型控制电路通过正极信号线分别与首端控制电路及末端控制电路的其中一个控制开关连接,以从首端控制电路及末端控制电路向环形信道上供应电源;所述电流采样电路通过负极信号线分别与环路卡的CPU及首端控制电路及末端控制电路的另一个控制开关连接;所述环路卡的电流采样电路用于检测环形信道上是否及时返回应答帧信息;

所述现场单元包括窃电电路、电平采样电路、电流采样电路、CPU、电流码控制电路、EEPROM、探测电路以及控制电路;

所述环路卡的首端控制电路的正极输出端分别与电流码控制电路、电平采样电路连接;所述环路卡的首端控制电路的接地端分别与电流码控制电路、现场单元的电流采样电路连接;所述现场单元的CPU分别与电平采样电路、电流码控制电路、现场单元的电流采样电路、控制电路、探测电路及EEPROM连接;所述电平采样电路以及现场单元的电流采样电路用于环形信道中信息的识别。

2.如权利要求1所述的FIRAMBUS环路通信总线,其特征在于:所述FIRAMBUS环路通信总线在没有数字信号发出时,所述码型控制电路从首端或末端向环路信道上供应电源;在有数字信号要发送时,发送完一帧信息后,环路卡再向环路信道上供应电源,并用现场单元的电流采样电路检测环形信道上是否及时返回应答帧信息。

3.如权利要求1所述的FIRAMBUS环路通信总线,其特征在于:所述窃电电路从环形信道上窃取电源储存并转换为现场单元的工作电源;探测电路将传感元件的模拟信号发送至现场单元的CPU,CPU对模拟信号进行A/D转换;环形信道上的帧信息经电平采样电路和现场单元的电流采样电路串行送入现场单元的CPU,CPU根据帧信息中的命令码进行相应的操作;

若帧信息包含地址码,则还需和存于EEPROM中的本机地址码匹配;若接到控制命令,现场单元的CPU通过控制电路完成设备的控制;命令处理完后,现场单元的CPU组织一帧应答信息,通过电流码控制电路串行发向环形信道上。

4.如权利要求1所述的FIRAMBUS环路通信总线,其特征在于:所述环路卡还包括两个滤波器,所述环路卡的滤波器分别设于首端控制电路及末端控制电路之后,以对环路卡的电信号进行滤波。

5.如权利要求1所述的FIRAMBUS环路通信总线,其特征在于:所述现场单元还包括滤波器,所述现场单元的滤波器与环路卡的滤波器的对应连接,以对现场单元的电信号进行滤波。

6.如权利要求1所述的FIRAMBUS环路通信总线,其特征在于:所述码型控制电路从首端控制电路或末端控制电路向信道上供应24V电源。

7.一种FIRAMBUS环路通信总线的编址方法,其特征在于:应用于权利要求1‑6任一项所述的FIRAMBUS环路通信总线,包括以下步骤,S10、按照序列号从大到小的顺序,对现场单元进行登记,并给登记的现场单元赋予一个暂时短地址;

S20、每个现场单元的电流码控制电路逐次给环路通信总线发送一个电流冲击,以使从该节点到控制器首端的最短路径上的所有现场单元都能通过电流采样电路采到这一冲击信号,根据每个现场单元接到冲击信号的个数和冲击之间的相互关系,确定环路通信总线网络节点的拓扑结构;

S30、控制器按照拓扑结构和编址规则给所有现场单元编排新的短地址码以取代暂时短地址码,完成自动编址。

8.如权利要求7所述的FIRAMBUS环路通信总线的编址方法,其特征在于:所述步骤S20具体包括,

S21、控制器按照暂时短地址的顺序,逐次让每个现场单元给发送电流冲击,在每个现场单元中产生一个记忆序列;

S22、控制器按照暂时短地址的顺序,让每个现场单元返回冲击电流的记忆序列,根据每个现场单元接到的电流冲击信号的个数和冲击之间的关系,确定树型拓扑结构;

S23、末端上电,首端断开,让树型拓扑结构的首个现场单元,也就是根节点发送电流冲击信号,判断哪个叶节点收到了电流冲击信号,收到电流冲击信号的叶节点即为环形主干线的末节点,从而找到了环形主干线。

9.如权利要求7所述的FIRAMBUS环路通信总线的编址方法,其特征在于:所述步骤S30具体包括,

S31、控制器按照树型拓扑结构和编址规则给所有现场单元编排新的短地址码,然后按照暂时短地址的顺序,即给每个单元发送新的短地址码,此时,现场单元既有暂时短地址,又有新的短地址码;

S32、给环路通信总线断电,当环路通信总线再次上电时,每个现场单元都用新的短地址码代替暂时短地址码,完成自动编址。

10.一种FIRAMBUS环路通信总线的广播通信方法,其特征在于:应用于权利要求1‑6任一项所述的FIRAMBUS环路通信总线,包括以下步骤,S41、控制器通过环路卡定时向环路通信总线上的现场单元发送询问信号;

S42、每个现场单元在接收到询问信号后,若现场单元有检测到有新情况发生,则发生了新情况的现场单元同时给控制器回复一个高电平信号;

S43、控制器在接收到高电平信号后,通过环路卡向环路通信总线上的所有现场单元发送一个倒计时信号;

S44、发生了新情况的现场单元在接收到倒计时信号后,按照各自预设定的倒计时时间进行倒计时,倒计时结束后向控制器发送一个高电平信号;

S45、控制器在接收到高电平信号后,按照倒计时的时间,确定发生新情况的现场单元的地址;

S46、控制器根据发生新情况的现场单元的地址,向现场单元发送一个情况问询信息;

S47、发生新情况的现场单元根据发生的新情况,向控制器反馈发生的情况信息。

说明书 :

一种环路通信总线、自动编址及广播通信方法

技术领域

[0001] 本发明涉及一种通信总线、编址及广播通信方法,尤其是指一种环路通信总线、自动编址及广播通信方法。

背景技术

[0002] 现场总线是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级
控制系统之间的信息传递问题。但目前总线技术还有如下缺点:
[0003] 总线保护差。回路总线只有短路保护而没有断路保护。短路保护是将回路总线上的现场单元分段,每段之间安装一个总线隔离器,当总线的两根线在某一处短路时,短路点
前面最近一个隔离器跳开,切断该隔离器后面的所有现场单元,只确保其前面的现场单元
继续工作。当总线在某一处断路时,也只有断点前面的现场单元能继续工作。如果短路断路
点靠前,甚至根部故障,保护的现场单元很少甚至不保护。
[0004] 手动编址。在现场单元安装之前必须根据安装位置图预先给予分配地址编码。用拨码开关对现场单元的编址是靠人工手动拨码实现的;用电子编码方式编址,需借助于电
子编码器这一额外的设备,人工操作完成。这二者都是在现场单元安装之前一个一个单独
手动编址,安装调试人员的手工工作量相当大,容易编错或装错,且一旦错误,则很难找出。
[0005] 轮巡通信。回路总线为半双工异步串行通信总线,回路卡和现场单元的通信只能采取轮巡方式。回路卡按照现场单元的地址顺序,一个接一个地去查询。这样大大降低了通
讯的效率。各个厂家为了能够提高通讯效率或满足国家标准,只能一味地提高通信频率。通
信频率越高,信号越容易失真,反而造成通信不可靠。

发明内容

[0006] 本发明所要解决的技术问题是:提供一种环路通信总线、自动编址及广播通信方法,旨在提高通信总线的稳定性及通信效率。
[0007] 为了解决上述技术问题,本发明采用的技术方案为:一种FIRAMBUS环路通信总线,包括环路卡和多个现场单元,所述环路卡与多个现场单元依次串联形成环形信道,环形信
道包括正极信号线及负极信号线;
[0008] 所述环路卡包括CPU、码型控制电路、首端控制电路、末端控制电路及电流采样电路;
[0009] 所述首端控制电路及末端控制电路分别设有两个控制开关,所述码型控制电路通过正极信号线分别与首端控制电路及末端控制电路的其中一个控制开关连接,以从首端控
制电路及末端控制电路向环形信道上供应电源;所述电流采样电路通过负极信号线分别与
环路卡的CPU及首端控制电路及末端控制电路的另一个控制开关连接;所述环路卡的电流
采样电路用于检测环形信道上是否及时返回应答帧信息;
[0010] 所述现场单元包括窃电电路、电平采样电路、电流采样电路、CPU、电流码控制电路、EEPROM、探测电路以及控制电路;
[0011] 所述环路卡的首端控制电路的正极输出端分别与电流码控制电路、电平采样电路连接;所述环路卡的首端控制电路的接地端分别与电流码控制电路、现场单元的电流采样
电路连接;所述现场单元的CPU分别与电平采样电路、电流码控制电路、现场单元的电流采
样电路、控制电路、探测电路及EEPROM连接;所述电平采样电路以及现场单元的电流采样电
路用于环形信道中信息的识别。
[0012] 进一步的,所述FIRAMBUS环路通信总线在没有数字信号发出时,所述码型控制电路从首端或末端向环路信道上供应电源;在有数字信号要发送时,发送完一帧信息后,环路
卡再向环路信道上供应电源,并用现场单元的电流采样电路检测环形信道上是否及时返回
应答帧信息。
[0013] 进一步的,所述窃电电路从环形信道上窃取电源储存并转换为现场单元的工作电源;探测电路将传感元件的模拟信号发送至现场单元的CPU,CPU对模拟信号进行A/D转换;
环形信道上的帧信息经电平采样电路和现场单元的电流采样电路串行送入现场单元的
CPU,CPU根据帧信息中的命令码进行相应的操作;若帧信息包含地址码,则还需和存于
EEPROM中的本机地址码匹配;若接到控制命令,现场单元的CPU通过控制电路完成设备的控
制;命令处理完后,现场单元的CPU组织一帧应答信息,通过电流码控制电路串行发向环形
信道上。
[0014] 进一步的,所述环路卡还包括两个滤波器,所述环路卡的滤波器分别设于首端控制电路及末端控制电路之后,以对环路卡的电信号进行滤波。
[0015] 进一步的,所述现场单元还包括滤波器,所述现场单元的滤波器与环路卡的滤波器的对应连接,以对现场单元的电信号进行滤波。
[0016] 进一步的,所述码型控制电路从首端控制电路或末端控制电路向信道上供应24V电源。
[0017] 一种FIRAMBUS环路通信总线的编址方法,包括以下步骤,
[0018] S10、按照序列号从大到小的顺序,对现场单元进行登记,并给登记的现场单元赋予一个暂时短地址;
[0019] S20、每个现场单元的电流码控制电路逐次给环路通信总线发送一个电流冲击,以使从该节点到控制器首端的最短路径上的所有现场单元都能通过电流采样电路采到这一
冲击信号,根据每个现场单元接到冲击信号的个数和冲击之间的相互关系,确定环路通信
总线网络节点的拓扑结构;
[0020] S30、控制器按照拓扑结构和编址规则给所有现场单元编排新的短地址码以取代暂时短地址码,完成自动编址。
[0021] 进一步的,所述步骤S20具体包括,
[0022] S21、控制器按照暂时短地址的顺序,逐次让每个现场单元给发送电流冲击,在每个现场单元中产生一个记忆序列;
[0023] S22、控制器按照暂时短地址的顺序,让每个现场单元返回冲击电流的记忆序列,根据每个现场单元接到的电流冲击信号的个数和冲击之间的关系,确定树型拓扑结构;
[0024] S23、末端上电,首端断开,让树型拓扑结构的首个现场单元,也就是根节点发送电流冲击信号,判断哪个叶节点收到了电流冲击信号,收到电流冲击信号的叶节点即为环形
主干线的末节点,从而找到了环形主干线。
[0025] 进一步的,所述步骤S30具体包括,
[0026] S31、控制器按照树型拓扑结构和编址规则给所有现场单元编排新的短地址码,然后按照暂时短地址的顺序,即给每个单元发送新的短地址码,此时,现场单元既有暂时短地
址,又有新的短地址码;
[0027] S32、给环路通信总线断电,当环路通信总线再次上电时,每个现场单元都用新的短地址码代替暂时短地址码,完成自动编址。
[0028] 一种FIRAMBUS环路通信总线的广播通信方法,包括以下步骤,
[0029] S41、控制器通过环路卡定时向环路通信总线上的现场单元发送询问信号;
[0030] S42、每个现场单元在接收到询问信号后,若现场单元有检测到有新情况发生,则发生了新情况的现场单元同时给控制器回复一个高电平信号;
[0031] S43、控制器在接收到高电平信号后,通过环路卡向环路通信总线上的所有现场单元发送一个倒计时信号;
[0032] S44、发生了新情况的现场单元在接收到倒计时信号后,按照各自预设定的倒计时时间进行倒计时,倒计时结束后向控制器发送一个高电平信号;
[0033] S45、控制器在接收到高电平信号后,按照倒计时的时间,确定发生新情况的现场单元的地址;
[0034] S46、控制器根据发生新情况的现场单元的地址,向现场单元发送一个情况问询信息;
[0035] S47、发生新情况的现场单元根据发生的新情况,向控制器反馈发生的情况信息。
[0036] 本发明的有益效果在于:通过首端控制电路及末端控制电路都可给通信总线进行通信,提高了总线保护的强度,使得总线中发生故障时,故障部位不会影响非故障部位的正
常工作,提高通信总线的稳定性;通过电流采样电路及电平采样电路,能够实现全自动拓扑
编址,现场接线顺序一目了然,大大地减少了安装调试人员的工作量,提高了安装调试人员
的工作效率;通过广播通信,大大地提高了通信的效率,可使现场单元或设备做出快速的报
警或响应。

附图说明

[0037] 下面结合附图详述本发明的具体结构。
[0038] 图1为本发明的FIRAMBUS环路通信总线图;
[0039] 图2为本发明的FIRAMBUS常规信号码型图;
[0040] 图3为本发明的FIRAMBUS读序列号信号码型图;
[0041] 图4为本发明的FIRAMBUS的网络拓扑结构图;
[0042] 图5为本发明的控制器自动登记程序流程图;
[0043] 图6为本发明的现场单元自动登记程序流程图;
[0044] 图7为本发明的自动登记结果示例图;
[0045] 图8为本发明的网络节点子孙个数图;
[0046] 图9为本发明的网络节点拓扑地址图;
[0047] 图10为本发明的9#命令信号码型图;
[0048] 图11为本发明的10#命令信号码型图;
[0049] 图12为本发明的控制器广播通信程序流程图;
[0050] 图13为本发明的现场单元广播通信程序流程图。

具体实施方式

[0051] 为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0052] 如图1所示,本发明的一具体实施例为:一种FIRAMBUS环路通信总线,包括环路卡和多个现场单元,所述环路卡与多个现场单元依次串联形成环形信道,环形信道包括正极
信号线及负极信号线;
[0053] 所述环路卡包括CPU、码型控制电路、首端控制电路、末端控制电路及电流采样电路;
[0054] 所述首端控制电路及末端控制电路分别设有两个控制开关,所述码型控制电路通过正极信号线分别与首端控制电路及末端控制电路的其中一个控制开关连接,以从首端控
制电路及末端控制电路向环形信道上供应电源;所述电流采样电路通过负极信号线分别与
环路卡的CPU及首端控制电路及末端控制电路的另一个控制开关连接;所述环路卡的电流
采样电路用于检测环形信道上是否及时返回应答帧信息;
[0055] 所述现场单元包括窃电电路、电平采样电路、电流采样电路、CPU、电流码控制电路、EEPROM、探测电路以及控制电路;
[0056] 所述环路卡的首端控制电路的正极输出端分别与电流码控制电路、电平采样电路连接;所述环路卡的首端控制电路的接地端分别与电流码控制电路、现场单元的电流采样
电路连接;所述现场单元的CPU分别与电平采样电路、电流码控制电路、现场单元的电流采
样电路、控制电路、探测电路及EEPROM连接;所述电平采样电路以及现场单元的电流采样电
路用于环形信道中信息的识别。
[0057] 进一步的,所述FIRAMBUS环路通信总线在没有数字信号发出时,所述码型控制电路从首端或末端向环路信道上供应电源;在有数字信号要发送时,发送完一帧信息后,环路
卡再向环路信道上供应电源,并用现场单元的电流采样电路检测环形信道上是否及时返回
应答帧信息。
[0058] 进一步的,所述窃电电路从环形信道上窃取电源储存并转换为现场单元的工作电源;探测电路将传感元件的模拟信号发送至现场单元的CPU,CPU对模拟信号进行A/D转换;
环形信道上的帧信息经电平采样电路和现场单元的电流采样电路串行送入现场单元的
CPU,CPU根据帧信息中的命令码进行相应的操作;若帧信息包含地址码,则还需和存于
EEPROM中的本机地址码匹配;若接到控制命令,现场单元的CPU通过控制电路完成设备的控
制;命令处理完后,现场单元的CPU组织一帧应答信息,通过电流码控制电路串行发向环形
信道上。
[0059] 进一步的,所述环路卡还包括两个滤波器,所述环路卡的滤波器分别设于首端控制电路及末端控制电路之后,以对环路卡的电信号进行滤波。
[0060] 进一步的,所述现场单元还包括滤波器,所述现场单元的滤波器与环路卡的滤波器的对应连接,以对现场单元的电信号进行滤波。
[0061] 进一步的,所述码型控制电路从首端控制电路或末端控制电路向信道上供应24V电源。
[0062] 本实施例中,通过首端控制电路及末端控制电路都可给通信总线进行通信,提高了总线保护的强度,使得总线中发生故障时,故障部位不会影响非故障部位的正常工作,提
高通信总线的稳定性。
[0063] 当无数字信号发出时,码型控制电路从首端或末端向信道上供应24V电源。当有数字信号要发送时,CPU将命令码、地址码(若有)和数据码组合成一串二进制码,加上帧同步
码构成一帧信息,控制码型控制电路将其串行发向信道上,信道上二进制码的脉冲高电平
为24V,低电平为9V,帧同步电平为0V。发送完一帧信息后,环路卡再向信道上供应24V,并用
电流采样电路检测信道上是否及时返回应答帧信息。若正确返回,则本次通信完成,否则通
信失败。
[0064] 窃电电路从信道上窃取24V电源储存并转换为现场单元的工作电源。探测电路将传感元件的模拟信号送CPU,CPU对之进行A/D转换,根据一定的判断依据进行判断。信道上
的帧信息经电平采样和电流采样电路,串行送入CPU,CPU根据帧信息中的命令码进行不同
的操作。若帧信息包含地址码,则还需和存于EEPROM中的本机地址码匹配。若接到控制命
令,CPU通过控制电路完成设备的控制。命令处理完后,CPU根据需要,组织一帧应答信息,通
过电流码控制电路串行发向信道上。
[0065] FIRAMBUS和其它总线,在电气原理上最大的区别是,现场单元中既有电平采样电路又有电流采样电路,用两种采样方法来完成信道中信息的识别。电流采样是在信道的负
极性信号线上采样的,因此,现场单元负极性信号线的接线端子有两个,即入端和出端。正
是由于多了电流采样电路,才使得基于FIRAMBUS的控制系统,具有自动拓扑编址和广播通
信的特点。
[0066] 本发明的另一具体实施例为:一种FIRAMBUS环路通信总线的编址方法,包括以下步骤,
[0067] S10、按照序列号从大到小的顺序,对现场单元进行登记,并给登记的现场单元赋予一个暂时短地址;
[0068] S20、每个现场单元的电流码控制电路逐次给环路通信总线发送一个电流冲击,以使从该节点到控制器首端的最短路径上的所有现场单元都能通过电流采样电路采到这一
冲击信号,根据每个现场单元接到冲击信号的个数和冲击之间的相互关系,确定环路通信
总线网络节点的拓扑结构;
[0069] S30、控制器按照拓扑结构和编址规则给所有现场单元编排新的短地址码以取代暂时短地址码,完成自动编址。
[0070] 进一步的,所述步骤S20具体包括,
[0071] S21、控制器按照暂时短地址的顺序,逐次让每个现场单元给发送电流冲击,在每个现场单元中产生一个记忆序列;
[0072] S22、控制器按照暂时短地址的顺序,让每个现场单元返回冲击电流的记忆序列,根据每个现场单元接到的电流冲击信号的个数和冲击之间的关系,确定树型拓扑结构;
[0073] S23、末端上电,首端断开,让树型拓扑结构的首个现场单元,也就是根节点发送电流冲击信号,判断哪个叶节点收到了电流冲击信号,收到电流冲击信号的叶节点即为环形
主干线的末节点,从而找到了环形主干线。
[0074] 进一步的,所述步骤S30具体包括,
[0075] S31、控制器按照树型拓扑结构和编址规则给所有现场单元编排新的短地址码,然后按照暂时短地址的顺序,即给每个单元发送新的短地址码,此时,现场单元既有暂时短地
址,又有新的短地址码;
[0076] S32、给环路通信总线断电,当环路通信总线再次上电时,每个现场单元都用新的短地址码代替暂时短地址码,完成自动编址。
[0077] 本实施例中,通过电流采样电路及电平采样电路,能够实现全自动拓扑编址,现场接线顺序一目了然,大大地减少了安装调试人员的工作量,提高了安装调试人员的工作效
率。
[0078] 数字基带信号的码型种类繁多,传统型总线和智能型总线所采用的信号码型为最常见的单极性不归零(NRZ)码,FIRAMBUS是在单极性NRZ码基础上,引入多电平码和电流码,
形成的一种混合性编码。环路卡发向现场单元的信号采用多电平码;现场单元向环路卡的
应答信号采用电流码。
[0079] FIRAMBUS大部分通信命令采用常规信号码型,如图2所示,图中细线为电平信号,粗线为电流信号。电平信号有0V、9V和19V三种,0V电平为帧同步信号,9V和19V电平分别代
表二进制码的“0”和“1”。我们将电流信号折射到电压波形上,当有电流冲击时为0V电平,代
表二进制码的“1”;当无电流冲击时为9V电平,代表二进制码的“0”。当环路卡要向现场单元
发送一帧信息时,首先发送T1宽度的0V电平作为帧同步信号,延时T2,发送命令字节CMD,再
延时Tc,发送若干个数据字节DATA1~DATAn。每个数据字节之间同样有Tc的延时间隔。环路
卡发送完一帧信息后,延时T3,发送td宽度的9V电平以启动现场单元返回第一个数据字节
data1,再延时T4,发送td宽度的9V电平以启动现场单元返回第二个数据字节data2,……,
如此反复,直至现场单元所有数据返回完成。所有字节都由8位数据位和1位校验位组成。
[0080] FIRAMBUS为了完成特殊功能,专门设计了一个具有非常规编码的特殊通信命令,即环路卡读取现场单元序列号命令。
[0081] 读取序列号命令的信号码型如图3所示,其中(a)为读序列号命令帧格式,(b)为序列号首字节为二进制码“11001010”的码型示例。读取过程如下:
[0082] 1、环路卡发送读取总线单元序列号的命令(CMD=2)及暂时短地址(TSA),延时T3,发送T4宽度的9V电平启动现场单元返回序列号。
[0083] 2、现场单元接到命令后,将4字节序列号的第一个字节(b7~b0)取出,加上奇校验位(bv)组成9位二进制串,从最高位开始按位进行应答。若该位为“1”,则发tw宽度的电流冲
击(0V电平);若该位为“0”,则保持tw宽度的9V电平。环路卡若检测到有电流冲击,则延时tw
宽度的9V电平;若未检测到电流冲击,则发送tw宽度的19V电平。对于校验位,若不正确,环
路卡延时tw宽度的9V电平,告诉现场单元通信中途失败,终止本次通信;若正确,则发送tw
宽度的19V电平,告诉现场单元,本字节通信正确。
[0084] 3、当一字节序列号通信正确后,环路卡保持T3宽度的19V电平,然后发送T4宽度的9V电平启动现场单元返回下一字节序列号。重复第②步中一个字节的通信过程,如此反复,
直至4字节序列号全部通信完成。
[0085] FIRAMBUS的所有功能,都是由控制器和现场单元通过信息交换协调完成的。通信协议是在满足信道的电气标准和编码原理的基础上,根据通信内容而规定的、发送方和接
收方都能遵守的信息约定。传统型总线的通信协议是一个固定协议,完全取决于编解码芯
片本身。智能型总线和FIRAMBUS的通信属于计算机网络通信,其协议完全由设计者去制定。
[0086] 传统型总线和智能型总线基于信道电气原理和编码方式的限定,只能进行单址通信,又称一对一通信,即网络从节点,在同一时刻只能有一个对网络主节点的询问产生应
答。而FIRAMBUS除了能进行单址通信外,还能进行多址通信,又称广播通信,即在同一时刻
可以有多个网络从节点对网络主节点的询问产生应答。FIRAMBUS将单址通信和广播通信有
机地结合在一起,形成了一种混合通信协议,也即总线上既传送单址通信命令,也传送广播
通信命令。
[0087] FIRAMBUS的通信命令很多,本节仅对和本文有关的几个通信命令作以简单说明,见表3.1。其中命令码为2#、9#和10#的通信命令为广播通信命令。
[0088] 表3.1FIRAMBUS通信协议表:
[0089]
[0090] 控制器要实现对现场单元的自动编址,首先要能够自动识别出总线网络的拓扑结构。网络的拓扑和结构,泛指网络的布局和形状,可以进一步分为物理配置结构和逻辑配置
结构。本文指的是物理配置结构,即指网络节点和传输链路的布局或几何排列,反映了网络
的物理形状和物理上的连接性。FIRAMBUS的网络拓扑结构如图4所示。
[0091] 在总线网络中,控制器为网络主节点,现场单元为网络从节点。系统采用主从工作方式,由控制器管理和协调网络节点间的通信。正常情况下,控制器末端断开,从首端向总
线供电,并和现场单元通信。当环形主干线上有短路或断路故障时,控制器从首、末端同时
供电和通信。如果环形主干线上最后一个现场单元不接回控制器的末端,则FIRAMBUS的网
络拓扑结构演化为“串形+分支”结构,即通信主干线为串形,在串形线上可以接分支,实际
上是一种简单的树形结构。
[0092] 所谓拓扑编址,就是根据拓扑结构,给每个网络节点分配一个地址编码。拓扑结构是唯一的,但地址码的编排顺序却可以人为选择。例如,对于“串形”结构,若从前到后编,第
一个网络节点的地址码是“1”;若从后到前编,则最后一个网络节点的地址码是“1”。为了便
于讨论问题,我们要求每种拓扑结构只遵循一种编址规则。
[0093] 针对FIRAMBUS的网络拓扑结构,我们所采取的编址规则是,从首端开始,按连接顺序排到末端。如果没有分支,环形主干线上的现场单元严格按照自然数顺序不间断排列。如
果有分支,环形主干线上出现间断,分支点后,先将分支上的排完,再接着排分支点后主干
线上的。一条分支上的现场单元,也是按照自然数顺序不间断排列。
[0094] 要实现自动拓扑编址,必须首先要知道拓扑结构,然后才能按照编址规则进行编址,因此如何自动确定拓扑结构就成拓扑编址的核心问题,我们将自动确定拓扑结构的过
程称为拓扑识别。
[0095] 拓扑结构实质上就是一种连接关系,拓扑识别就是要找出这种连接关系。不同的拓扑结构,有不同的连接关系。对于任何一种结构,用“父子”关系表就可以唯一地表示出其
节点间的连接关系。因此,对于FIRAMBUS,拓扑识别就是要确定现场单元间的父子关系。
[0096] 对于FIRAMBUS的控制系统,在每个现场单元的电路原理中,都包含一个电流码控制电路和电流采样电路。当某个现场单元的电流码控制电路给总线上产生一个电流冲击
时,从该节点到控制器首端的最短路径上的所有现场单元都能通过电流采样电路采到这一
冲击信号,而其它现场单元通过电流采样电路都采不到这一冲击信号。采到冲击信号的现
场单元都是该节点的“祖先”,该节点则是“子孙”。系统正是依据每个现场单元接到冲击信
号的个数和相互关系,通过一定的算法来确定环路总线网络节点的父子关系图,即拓扑结
构。
[0097] 基于FIRAMBUS的控制系统,自动拓扑编址的实现过程如下:
[0098] 控制器首端上电,末端断开,FIRAMBUS呈树型网结构。
[0099] 控制器向总线上发送2#命令,登记当前总线上还未被登记到的序列号最大的现场单元,并给该单元赋予一暂时通信的短地址(TSA)。重复发送2#命令,直至所有单元登记完
成。此时,所有单元都有一个暂时短地址,而不是一个拓扑地址。暂时短地址按照序列号从
大到小的顺序排列,即序列号最大者暂时短地址为1、次之为2,依次类推。
[0100] 控制器按照暂时短地址的顺序,逐次向每个单元发送3#命令,让每个单元发送电流冲击信号,其它单元记忆是否收到该单元的电流冲击信号,直至所有单元都发送了一次
电流冲击。该过程完成后,每个单元都产生一个记忆序列,记录了其它单元的电流冲击信号
该单元是否收到。
[0101] 控制器按照暂时短地址的顺序,逐次向每个单元发送5#命令,让每个单元返回冲击电流记忆序列。控制器根据每个单元接到的冲击个数和冲击间的关系,确定树型拓扑结
构。
[0102] 控制器末端上电,首端断开,发3#命令让树型结构的首单元(根节点)发送电流冲击信号,判断哪个叶节点收到了冲击信号。收到冲击信号的叶节点即为环形主干线的末节
点,从而找到了环形主干线。
[0103] 控制器按照拓扑结构和编址规则给所有现场单元编排新的短地址码(SA),然后按照暂时短地址的顺序,逐次给每个单元发送6#命令,即给每个单元发送其短地址码SA。此
时,现场单元既有暂时短地址TSA,又有(拓扑)短地址SA。
[0104] 给环路总线断电。当环路总线再次上电时,每个现场单元都用其短地址码SA代替暂时短地址码TSA,至此,自动拓扑编址结束。
[0105] 由此可见,自动拓扑编址过程可分为自动登记、拓扑识别和拓扑编址三个主要过程,以下将分别详细介绍各过程的实现方法。
[0106] 自动登记,也就是控制器将FIRAMBUS上所有单元登记回来,并给每个单元分配一个暂时通信的短地址TSA。登记就是为了使得控制器和现场单元能够通信,可是现场单元还
没有通信地址;因此,每个现场单元就必须有一个能够唯一代表其自身的标识,暂时利用该
标识来与控制器进行通信,由此引入“序列号”的概念。
[0107] “序列号”指产品序列号,是产品的出厂代号,具有唯一性。所有现场单元,作为一个独立出售的产品,出厂前都有唯一代表其自身的出厂代号,该代号既包含了产品的类型
信息,又包含了在同类产品中它的生产(或出厂)顺序号,在此我们只关心它的唯一性。假设
一个智能现场单元,其序列号为一个占用4个字节31位的整数代码,即序列号范围为1~
2147483647。该序列号出厂前已固化到智能现场单元的EEPROM中,且单元外壳上也贴有序
列号标签。
[0108] 控制器按序列号登记现场单元并分配暂时短地址TSA,但控制器此时并不知道总线上连接了哪些序列号的现场单元,如果按约21亿的序列号范围逐一查询时,时间上是绝
对不允许的。基于FIRAMBUS的系统,利用FIRAMBUS的特点,开创了另外一种巧妙的登记方
法,即利用2#命令进行登记。2#命令为读取当前序列号最大的单元序列号并分配暂时短地
址TSA(见表2.1),其通信码型如图3所示。此处介绍如何利用2#命令实现自动登记。
[0109] 自动登记的实现方法和步骤如下:
[0110] 1、控制器向FIRAMBUS上发送2#命令,读取当前还未登记的序列号最大的单元序列号,并给该单元分配暂时短地址TSA,TSA的值从1开始,逐次加1。
[0111] 2、所有还未被登记过的现场单元接到2#命令后,将4字节序列号的最高一个字节(b7~b0)取出,加上奇校验位(bv)组成9位二进制串,从最高位开始按位进行应答。对于8位
字节位,若该位为“1”,则发tw宽度的电流冲击;若该位为“0”,则不发电流冲击。环路卡若检
测到有电流冲击,则在该位记“1”,并延时tw宽度的9V电平,告诉那些本次发电流冲击的单
元,下一位时继续参与本次登记;同时告诉那些本次未发电流冲击的单元,从此退出本次登
记。环路卡若未检测到电流冲击,则在该位记“0”,并发送tw宽度的19V电平,告诉所有本次
参与登记的单元,下一位时继续参与。对于校验位,若不正确,环路卡延时tw宽度的9V电平,
告诉现场单元通信中途失败,终止本次登记;若正确,则发送tw宽度的19V电平,告诉现场单
元,本字节通信正确。
[0112] 3、当一字节序列号通信正确后,环路卡保持T3宽度的19V电平,然后发送T4宽度的9V电平启动现场单元返回下一字节序列号。重复第②步中一个字节的通信过程,如此反复,
直至4字节序列号全部通信完成。
[0113] 4、至此,一直参与本次登记的那个现场单元,就是当前还未被登记过的序列号最大的现场单元,现在已被登记,不再参与下次登记,其序列号在本次登记过程中已由环路卡
逐位记录下来。该单元将本次登记接到的TSA作为其暂时短地址储存下来。
[0114] 5、重复1~4步,直至控制器接到的序列号为“0”,表示FIRAMBUS上的所有现场单元全部登记完成。登记结果可以显示于控制器的显示器上。
[0115] 控制器和现场单元实现自动登记的程序流程如图5,图6所示。
[0116] 自动登记结束以后,FIRAMBUS上的所有现场单元都有了一个按序列号大小,而不是按拓扑结构分配的暂时短地址。控制器按TSA和每个现场单元取得联系,利用FIRAMBUS的
原理,依据“冲击电流记忆序列”找出网络节点间的拓扑关系,完成了拓扑识别。为了便于理
解,我们按照FIRAMBUS的布线规则,任意构造如图7所示的一个网络结构为例,对拓扑识别
的方法和实现过程进行详细的论述。
[0117] 如图7所示的FIRAMBUS网络示例图,共有12个网络节点,两个分支。方括号中的数字为现场单元的序列号,是无序随意安装在总线上的。该总线在自动登记后给每个单元按
序列号顺序分配了一个暂时短地址TSA,圆括号中的数字即为TSA。该总线网络的拓扑识别
方法和过程如下:
[0118] 1、控制器按照TSA=1~12的顺序,逐一向FIRAMBUS上每个单元发送3#命令,让该单元产生一位电流冲击信号,其它单元对这一电流冲击信号进行采样,采到冲击信号就记
“1”,表示其为发送电流冲击的那个单元的祖先;未采到冲击信号就记“0”,表示其不是发送
电流冲击的那个单元的祖先。如(12)号单元发电流冲击,则(5)、(10)、(2)和(6)号单元能采
到电流冲击信号,为(12)号的祖先。再如(8)号单元发电流冲击,则(5)、(10)、(2)和(9)号单
元能采到电流冲击信号,为(8)号的祖先。这样,当12个单元全部发完电流冲击后,每个单元
都有一个12位的电流冲击记忆序列,记忆序列按照TSA=1~12的顺序从高到低排列,哪位
为“1”,说明这一位代表的那个单元是该单元的子孙,“1”的个数就是所采集到的电流冲击
数,也即为子孙的个数。表6.1给出本步结束后所有单元的记忆序、冲击总数、及子孙。
[0119] 表6.1现场单元电流冲击记忆序列:
[0120] 暂时短地址TSA 电流冲击记忆序列 冲击总数 子孙(1) 000000100000 1 (7)
(2) 10110111101 9 (1)(3)(4)(6)(7)(8)(9)(11)(12)
(3) 000100000010 2 (4)(11)
(4) 000000000000 0 ‑‑
(5) 111101111111 11 (1)(2)(3)(4)(6)(7)(8)(9)(10)(11)(12)
(6) 101100111011 8 (1)(3)(4)(7)(8)(9)(11)(12)
(7) 000000000000 0 ‑‑
(8) 000000000000 0 ‑‑
(9) 000000010000 1 (8)
(10) 111101111011 10 (1)(2)(3)(4)(6)(7)(8)(9)(11)(12)
(11) 00010000000 1 (4)
(12) 101100100010 5 (1)(3)(4)(7)
[0121] 2、控制器按照TSA=1~12的顺序,逐一向FIRAMBUS上每个单元发送5#命令,读取每个单元的电流冲击记忆序列。控制器对每个单元电流冲击记忆序列中“1”的个数进行统
计,从而得出每个单元所采集到的电流冲击总数,即该单元的子孙个数。如图8所示,中花括
号中的数字即为每个单元的子孙个数。控制器正是利用每个单元的子孙个数和各单元记忆
序列间的关系确定树型拓扑结构。(5)号单元子孙最多为根节点,(8)、(4)和(7)号单元无子
孙为叶节点,其它为中间节点;(2)、(10)和(5)号子孙个数依次少1,则(2)号为(10)号的子
节点,(10)号为(5)号的子节点;(9)号只有一个子孙,(8)、(4)和(7)号单元三个叶节点中哪
个为(9)号的子节点。根据记忆序列间的关系,(9)号只接到(8)号的电流冲击,所以(8)号是
(9)号的子节点;比(2)号子孙个数少的所有节点中,(6)号子孙个数最多,(6)号肯定是(2)
号的子节点,但(6)号和(2)号的子孙数不连续,说明(2)号后出现了分支,再从(6)号的记忆
序列中查出,(9)号和(8)号不是(6)号的子孙,所以(9)号和(8)号是(2)号后的另一条分支
上的单元,(9)号子孙多于(8)号,(9)号是(2)号的另一子节点。
[0122] 3、控制器右端(B端)上电,左端(A端)断开,将原树型网络结构变为一个倒挂的树型结构。控制器发3#命令让原树型结构的根节点(5)号单元发送电流冲击信号,判断(8)、
(4)和(7)号三个叶节点中哪个收到了冲击信号?结果(4)号收到冲击信号,(4)号即为环形
主干线的末节点,(5)号和(4)号间的最短路径也就是环形主干线。至此,一个“环形+分支”
的网络拓扑结构完全识别出来。
[0123] 拓扑识别结束以后,控制器根据识别出的拓扑结构,按照编址规则对FIRAMBUS上的每个现场单元都分配一个能代表其拓扑位置的地址码,这一过程叫自动编址。自动编址
是伴随着拓扑识别的过程并行进行的,其方法和过程如下:
[0124] 1、当控制器统计出所有单元的子孙数量后,按子孙数量由大到小的顺序排序,控制器正是按这一排序顺序确定拓扑地址的,方法如下:
[0125] 1)若子孙数量按排序顺序由大到小不间断递减,则说明为纯环形(无分支)结构,排序顺序号即为拓扑地址SA。
[0126] 2)若子孙数量按排序顺序由大到小间断递减并有数量相同现象,则说明为“环形+分支”结构,我们仍以上节图7的例子为对象,编址方法是:
[0127] a)按子孙数量由大到小的顺序找到第一个间断点(6)号,则(6)号前面的三个单元(5)、(10)和(2)号,拓扑地址SA可以确定下来,分别为1、2和3。
[0128] b)提取(6)号的记忆序列“101100111011”,查出在还未确定SA的单元中,(8)号和(9)号不是(6)号的子孙,则(8)号和(9)号是(2)号后的一个分支,(6)号和其它是另一分支。
将两个分支分别排序,(8)号和(9)号这一路分支子孙数量不间断递减,而(6)号这一路分支
出现间断,说明前者真分支,后者为主干线。真分支的拓扑地址SA可以确定下来,(9)号的SA
=4,(8)号的SA=5。主干线的下一个间断点(3)号前的(6)号和(12)号,拓扑地址SA也可以
确定下来,分别为6和7。
[0129] c)提取(3)号的记忆序列“000100000010”,查出在还未确定SA的单元中,(1)号和(7)号不是(3)号的子孙,则(1)号和(7)号是(12)号后的一个分支,(3)号、(11)号和(4)号是
另一分支。将两个分支分别排序,子孙数量皆不间断递减,说明到了最后一处分支点。
[0130] d)控制器B端上电,A端断开,发3#命令让根节点(5)号单元发送电流冲击信号,判断(4)号和(7)号两个叶节点中哪个收到了冲击信号?结果(4)号收到冲击信号,说明(1)号
和(7)号这一路分支出是真分支,(3)号、(11)号和(4)号这一路分支出是环形主干线,这样
确定出(1)号的SA=8,(7)号的SA=9,(3)号的SA=10,(11)号的SA=11,(4)号的SA=12。至
此,图7的网络拓扑编址已经完成,地址分配见如图9所示。图中,每个网络节点正上方的数
字即为该节点的拓扑地址SA。
[0131] 2、控制器按照TSA=1~12的顺序,逐一向FIRAMBUS上每个单元发送6#命令,将该单元的拓扑地址SA送之存储。
[0132] 3、控制器将总线断电。再次上电后,每个现场单元用其SA替代TSA,从此控制器和现场单元将用SA联络通讯,进行正常的控制工作。
[0133] 本发明的又一具体实施例为:一种FIRAMBUS环路通信总线的广播通信方法,包括以下步骤,
[0134] S41、控制器通过环路卡定时向环路通信总线上的现场单元发送询问信号;
[0135] S42、每个现场单元在接收到询问信号后,若现场单元有检测到有新情况发生,则发生了新情况的现场单元同时给控制器回复一个高电平信号;
[0136] S43、控制器在接收到高电平信号后,通过环路卡向环路通信总线上的所有现场单元发送一个倒计时信号;
[0137] S44、发生了新情况的现场单元在接收到倒计时信号后,按照各自预设定的倒计时时间进行倒计时,倒计时结束后向控制器发送一个高电平信号;
[0138] S45、控制器在接收到高电平信号后,按照倒计时的时间,确定发生新情况的现场单元的地址;
[0139] S46、控制器根据发生新情况的现场单元的地址,向现场单元发送一个情况问询信息;
[0140] S47、发生新情况的现场单元根据发生的新情况,向控制器反馈发生的情况信息。
[0141] 本实施例中,通过广播通信,大大地提高了通信的效率,可使现场单元或设备做出快速的报警或响应。
[0142] 9#命令为让所有有新情况的单元同时发1位确认电流,即控制器向FIRAMBUS上发送命令码为“9”的通信命令,总线上的所有单元接到该命令后,凡是探测到有新情况的单
元,同时向总线上发1位确认电流,而没有新情况的单元则不发确认电流。该命令从微观上
讲,所有单元是同时发送1位反馈信息的,完全可能造成信息的重叠,但由于该命令是一个
快速综合判断命令,所有单元的反馈信息是“或”的关系,“重叠”并不影响判断结果,即控制
器只要收到一位冲击确认电流,就会认为总线上至少有一个现场单元探测到新情况,否则
一个都没有。这一命令是一个没有引入“时隙”的特殊的广播通信命令。9#命令的信号码型
如图10所示。
[0143] 10#命令为让所有单元按地址顺序分时发送1位有无新情况的确认电流,即控制器向FIRAMBUS上发送命令码为“10”的通信命令,总线上的所有单元接到该命令后,按照拓扑
地址(SA)从高到低的顺序,逐个向总线上发送1位固定宽度的有无新情况的确认电流。由此
可见,10#命令是一个典型的、引入“时隙”概念的广播通信命令。10#命令的信号码型如图11
所示,每8个确认位组成一个确认字节datan,字节间有一个T4宽度的19V电平和一个td宽度
的9V电平,以启动下一确认字节的发送。由于FIRAMBUS上最多可挂接255个现场单元,255位
组成32个确认字节,最高位空缺。255个单元的位反馈信息宏观上好像是同时发出的,是重
叠的,微观上则是分时发出的,是不重叠的。控制器接到255个单元的位反馈信息,逐位进行
判断,若某位为“1”,即有冲击确认电流,则表示该位所对应的单元探测到新情况,否则无新
情况。
[0144] 定时和同步是TDMA系统的关键问题,通信的双方必须在严格的帧同步、时隙同步和比特同步的条件下进行。针对于FIRAMBUS系统,定义了一个时隙就是一个比特位,因此通
信双方必须在严格的帧同步和比特同步的条件下进行。我们以10#命令为例,结合10#命令
的信号码型,来详细介绍广播通信的实现过程。具体过程如下:
[0145] 1、控制器向总线上发送T1宽度的0V电平作为帧同步信号。
[0146] 2、控制器经过T2间隔的19V电平,向总线上发送一字节命令码(CMD),该例CMD=10。命令码字节为9位,8位数据位,一位奇校验位。
[0147] 3、控制器经过T3间隔的19V电平,向总线上发送td宽度的0V电平作为首字节(前8个比特位)的同步信号。首字节最高位空缺,其它7位分别代表拓扑地址为1~7的7个单元的
反馈信息。所有现场单元接到首字节同步信号后,第7~1号单元,严格按照比特同步的要
求,首比特位空缺,然后按照遵地址从大到小的顺序,逐个发送一位反馈信息。有新情况的
单元,在其时隙内发送一比特位宽度的冲击电流信号,否则,则保持一比特位宽度的当前电
平。
[0148] 4、控制器收到一个字节的反馈信号后,经过T3间隔的19V电平,向总线上发送td宽度的0V电平作为下一字节的同步信号。现场单元接到该同步信号后,按地址顺序接下来的8
个单元,分时在自己的时隙内发出一位反馈信息。
[0149] 5、重复第④步,直至总线上255个单元全部发出自己的反馈信息。若总线上未挂满255个单元,没有的单元,对应位空缺。
[0150] 6、控制器收到32个字节的反馈信号后,逐位检查反馈信息,若某位为“1”,即有冲击电流信号,则表示其对应的单元发生了新情况,否则表示没有新情况,直至255位全部判
断完,就得到了所有单元的信息。
[0151] 控制器和现场单元实现广播通信的程序流程如图12,图13所示。
[0152] 之后,控制器对10#命令已确定探测到新情况的那些现场单元发送11#一对一通信命令,询问该单元的具体情况,单元接到11#命令后,将其具体情况发送给控制器,并将该情
况标记为已报过状态,以免下一次重报。
[0153] 此处第一、第二……只代表其名称的区分,不代表它们的重要程度和位置有什么不同。
[0154] 此处,上、下、左、右、前、后只代表其相对位置而不表示其绝对位置。
[0155] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本发明的专利保护范围内。