一种基于制造技术

技术编号:39725943 阅读:9 留言:0更新日期:2023-12-17 23:30
本申请涉及一种基于

【技术实现步骤摘要】
一种基于RS485通讯的远程IO模块控制系统及方法


[0001]本申请涉及远程
IO
模块的领域,尤其是涉及一种基于
RS485
通讯的远程
IO
模块控制系统及方法


技术介绍

[0002]IO
模块,是工业级远程采集与控制模块,可用于数据收集和各种控制的应用,可分为离散

模拟和特殊模块等多种类型
,
这些模块都可以安装在带有多个插槽的导轨或者机架上
,
每个模块插人其中一个插槽
。IO
模块导轨的背面安装带有连接器的印刷电路板,可以将插入
IO
模块的各插槽连接起来
,
而带有
IO
模块

电源

远程
IO
通信卡并且安装在远离本地
IO
导轨的导轨则被称为远程
I/O
导轨

[0003]远程
IO
模块根据功能,可分为开关量输入输出

继电器输出

脉冲输出

脉冲输入

电流电压输入

电流电压输出和
RTD
输入等,这些模块的数据结构各异,但都通过基于
RS485
的内部总线实现数据与命令通讯

[0004]耦合器与远程
IO
模块之间的内部总线上分为两种信号线,一种为标准的
RS485
通讯线,一种为控制线,所有的远程
IO
模块都挂载在
RS485
通讯线上,控制线则采用一进一出的方式,针对耦合器而言,控制线是连接在耦合器
CPU
一个
IO
引脚上的输出,针对远程
IO
模块而言一根控制线是连接在远程
IO
模块
CPU
一个
IO
引脚上的输入,另一根控制线是连接在远程
IO
引脚上的输出

[0005]参照图1,
IO
模块的上电复位的运行机制为:
[0006]步骤
(1)、
远程
IO
系统组装连接完成后上电,所有远程
IO
模块进入内部总线待初始化状态,设置为
RS485
接收模式;耦合器设置为
RS485
接收模式,并且控制线
Out
从低电平变为一个高电平输出一个上升沿;
[0007]步骤
(2)、
第一个
IO
模块通过上升沿中断检测上升沿后,通过
RS485
总线发送本身的模块类型信息,此处其他模块不会发送任何数据,耦合器接收到模块类型信息后为该类型模块分配内存建立数据结构,并通过
RS485
总线发送给第一个模块分配的地址,第一个模块接收地址后控制线
Out
输出一个上升沿;
[0008]步骤
(3)、
第二个
IO
模块通过上升沿中断检测上升沿后,执行与
(2)
相同的步骤,最后耦合器发送给第二个
IO
模块分配的地址,第二个
IO
模块输出一个上升沿,重复步骤
(2)

(3)
,可将所有的远程
IO
模块都遍历一遍,当最后一个模块设置完成后,可以在耦合器程序中定义一个超时时间来判断是否遍历了所有的远程
IO
模块;
[0009]步骤
(4)、RS485
为一主多从总线,只有地址匹配的模块会回复,在所有的远程
IO
模块地址设置完成后,耦合器向1号地址开始发送地址
+
类型信息,1号模块收到判断正确后回复类型并将控制线
Out
拉低,其他模块也是如此操作,当对所有的模块发送至地址
+
类型信息并收到正确回复后,耦合器将控制线
Out
拉低,此时,所有模块的控制线
Out
都会恢复至低电平的状态;
[0010]步骤
(5)、
进入数据轮询通讯阶段,耦合器根据前面的步骤
(1)

(4)
获得的地址表
信息,依次轮询所有
IO
模块的数据或者下发相关指令

[0011]现有的远程
IO
系统中握手通讯只在整个系统中所有硬件上电复位的时候运行一次,若在握手通讯完成后的数据轮询通讯过程中加入模块或者更换模块后,内部总线不能支持热插拔,并把远程
IO
模块变化后的系统完整运行起来,比如在一些振动强度大的场合,如果出现远程
IO
模块松开后又恢复的情况,则整个系统都需要重启


技术实现思路

[0012]第一方面,为了实现远程
IO
模块的热插拔功能,本申请提供一种基于
RS485
通讯的远程
IO
模块控制系统

[0013]本申请提供的一种基于
RS485
通讯的远程
IO
模块控制系统,采用如下的技术方案:
[0014]一种基于
RS485
通讯的远程
IO
模块控制系统,包括耦合器,其第一输出端连接于一远程
IO
模块,各远程
IO
模块输入端与输出端前后相接,末端的远程
IO
模块输出端悬空,所述耦合器的第二输出端通过
485
总线与各远程
IO
模块连接;
[0015]还包括:
[0016]电平调节模块,用于拉高或拉低耦合器第一输出端的电平信号;
[0017]第一超时判断模块,用于在耦合器对远程
IO
模块轮询数据发生超时时控制电平调节模块拉高耦合器第一输出端的电平信号;
[0018]第二超时判断模块,用于当耦合器第二输入端在设定反馈时长内未接收到新的远程
IO
模块的模块类型信息时控制电平调节模块拉低耦合器第一输出端的电平信号

[0019]通过采用上述技术方案,当某个远程
IO
模块被震松或者被拔出,则耦合器对远程
IO
模块轮询数据会发生超时,第一超时判断模块拉高耦合器第一输出端的电平信号,此时位于前列的正常的远程
IO
模块会转发该高电平,若此时离线的远程
IO
模块被重新插入,则会开始重新上电并进入握手通讯状态,并收到上一远程
IO
模块控制线上转发来的上升沿本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
RS485
通讯的远程
IO
模块控制系统,其特征在于,包括耦合器,其第一输出端连接于一远程
IO
模块,各远程
IO
模块输入端与输出端前后相接,末端的远程
IO
模块输出端悬空,所述耦合器的第二输出端通过
485
总线与各远程
IO
模块连接;还包括:电平调节模块,用于拉高或拉低耦合器第一输出端的电平信号;第一超时判断模块,用于在耦合器对远程
IO
模块轮询数据发生超时时控制电平调节模块拉高耦合器第一输出端的电平信号;第二超时判断模块,用于当耦合器第二输入端在设定反馈时长内未接收到新的远程
IO
模块的模块类型信息时控制电平调节模块拉低耦合器第一输出端的电平信号
。2.
根据权利要求1所述的基于
RS485
通讯的远程
IO
模块控制系统,其特征在于,所述第一超时判断模块包括第一时长确定子模块及第一时长比较子模块,所述第一时长确定子模块用于获取各远程
IO
模块在数据轮询时的最大时长并依据所有远程
IO
模块的最大时长生成第一设定需求时长;所述第一时长比较子模块用于比较耦合器发起数据轮询后的轮询时长与第一设定需求时长,若轮询时长超过第一设定需求时长时则控制电平调节模块拉高耦合器第一输出端的电平信号
。3.
根据权利要求1所述的基于
RS485
通讯的远程
IO
模块控制系统,其特征在于,所述第一超时判断模块包括第二时长确定子模块及第二时长比较子模块,所述第二时长确定子模块用于获取各远程
IO
模块在数据轮询时的最大时长并依据当前未互动成功的远程
IO
模块的最大时长整合生成的第二设定需求时长;所述第二时长比较子模块用于比较耦合器在数据轮询时最后一次与远程
IO
模块互动结束后的空档时长与第二设定需求时长,若空档时长超过第二设定需求时长时则控制电平调节模块拉高耦合器第一输出端的电平信号
。4.
根据权利要求1所述的基于
RS485
通讯的远程
IO
模块控制系统,其特征在于,所述耦合器连接有报错模块,所述报错模块包括:注册信息读取子模块,用于读取预存的所有远程
IO
模块与耦合器的连接顺序并生成注册信息;分配信息查询子模块,用于查询耦合器当前已完成地址分配的远程
IO
模块并生成分配信息;异常查找子模块,用于依据注册信息及分配信息查找尚未完成地址分配且位于连接顺序最前列的远程
IO
模块,生成异常信息;异常信息上传子模块,用于上传异常信息
。5.
根据权利要求1所述的基于
RS485
通讯的远程
IO
模块控制系统,其特征在于,所述耦合器连接有信号监控模块,所述信号监控模块包括:状态响应子模块,连接于电平调节模块,用于检测电平调节模块的执行状态;备用信号输出子模块,连接于各远程
IO
模块,用于控制远程
IO
模块输入端的电平信号以激活远程
IO
模块;信号控制子模块,连接于备用信号输出子模块,用于控制备用信号输出子模块输出电平信号;
当状态响应子模块检测到所述电平调节模块拉高耦合器第一输出端的电平信号时,所述信号控制子模块控制备用信号输出子模块按照远程
IO
模块与耦合器的连接顺序从前至后依次拉高各远程
IO
模块的输入端电平信号
。6.
根据权利要求5所述的基于
RS485

【专利技术属性】
技术研发人员:金瑶周路顺张扬扬王建军徐建明
申请(专利权)人:杭州力为科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1