首页 / 专利库 / 电脑零配件 / 看门狗定时器 / 主输入输出子模块及其诊断方法、可编辑逻辑控制器

主输入输出子模及其诊断方法、可编辑逻辑控制器

阅读:551发布:2020-05-13

专利汇可以提供主输入输出子模及其诊断方法、可编辑逻辑控制器专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种主输入输出子模 块 及其诊断方法、可编辑逻辑 控制器 ,属于工业过程控制领域。诊断方法包括:对主输入输出子模块包括的多个单元中的每个单元进行诊断;在主输入输出子模块中的除 主控制器 之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发从输入输出子模块的相应单元开始工作,且输出报警 信号 ;在主输入输出子模块中的主控制器出现故障时,输出报警信号;主输入输出子模块包括:诊断单元和报警单元;可编辑逻辑控制器包括:主输入输出子模块与从输入输出子模块。本发明通过对输入输出模块的故障进行自动诊断和报警,避免了因进行人工诊断而造成的时间浪费,提高了可编程逻辑控制器的工作效率。,下面是主输入输出子模及其诊断方法、可编辑逻辑控制器专利的具体信息内容。

1.一种诊断方法,其特征在于,用于可编辑逻辑控制器中的主输入输出子模,所述可编辑逻辑控制器包括所述主输入输出子模块和从输入输出子模块,所述主输入输出子模块与所述从输入输出子模块均包括多个单元,所述多个单元包括主控制器,所述主输入输出子模块与所述从输入输出子模块共用一主控制器,所述方法包括:
检测所述主输入输出子模块是否执行其他程序,所述其他程序为除诊断程序之外的任意程序,所述诊断程序为对所述主输入输出子模块包括的多个单元中的每个单元进行诊断的程序;
在所述主输入输出子模块未执行其他程序时,对所述主输入输出子模块包括的多个单元中的每个单元进行诊断;
在所述主输入输出子模块执行其他程序时,禁止执行所述诊断程序;
在所述主输入输出子模块中的除所述主控制器之外的单元出现故障时,禁止所述主输入输出子模块的相应单元的工作,触发所述从输入输出子模块的相应单元开始工作,且输出报警信号
在所述主控制器内添加看定时器电路对所述主控制器进行诊断,在所述主输入输出子模块中的主控制器出现故障时,输出报警信号。
2.根据权利要求1所述方法,其特征在于,在所述诊断程序执行过程中,所述其他程序的线程挂起。
3.根据权利要求1所述方法,其特征在于,所述主输入输出子模块中每个单元对应连接一诊断电路,对于所述主输入输出子模块中的第一单元,第一诊断电路能够采集所述第一单元中的数据,所述第一单元为所述主输入输出子模块中的任一单元,所述第一诊断电路为与所述第一单元对应的诊断电路,
所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断,包括:
判断每个诊断电路的对应的单元中的数据是否处于预设数据范围;
在任一诊断电路对应的单元中的数据不处于预设数据范围时,确定所述任一诊断电路的对应的单元出现故障;
在所有诊断电路的对应的单元中的数据处于预设数据范围时,确定所述主输入输出子模块未出现故障。
4.根据权利要求1所述方法,其特征在于,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述输入输出单元用于连接外部输入输出设备,所述通讯单元用于连接可编程逻辑控制器主机,所述输入输出单元与所述输入输出设备间建立有两个数据传输通道,所述两个数据传输通道用于传输相同来源的数据,所述传输通道为输入通道或者输出通道;
所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断,包括:
监听所述两个数据传输通道中的数据是否一致;
在所述两个数据传输通道中的数据不一致时,确定所述输入输出单元出现故障;
在所述两个数据传输通道中的数据一致时,确定所述输入输出单元未出现故障。
5.根据权利要求1所述方法,其特征在于,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述主输入输出子模块还包括:两个存储器,主控制器用于将获取的数据同步存储在所述两个存储器中,
所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断,包括:
检测所述两个存储器中的数据是否一致;
在所述两个存储器中的数据不一致时,确定所述主控制器出现故障;
在所述两个存储器中的数据一致时,确定所述主控制器未出现故障。
6.一种主输入输出子模块,其特征在于,所述主输入输出子模块位于可编辑逻辑控制器中,所述可编辑逻辑控制器包括所述主输入输出子模块和从输入输出子模块,所述主输入输出子模块与所述从输入输出子模块均包括多个单元,所述多个单元包括主控制器,所述主输入输出子模块与所述从输入输出子模块共用一主控制器,所述主输入输出子模块包括:
检测单元,用于在诊断单元对所述主输入输出子模块包括的多个单元中的每个单元进行诊断之前,检测所述主输入输出子模块是否执行其他程序,所述其他程序为除诊断程序之外的任意程序,所述诊断程序为对所述主输入输出子模块包括的多个单元中的每个单元进行诊断的程序;
诊断单元,用于在所述主输入输出子模块未执行其他程序时,对所述主输入输出子模块包括的多个单元中的每个单元进行诊断;
所述诊断单元具体用于在所述检测单元检测到所述主输入输出子模块在执行其他程序时,禁止所述诊断单元执行所述诊断程序;
报警单元,用于在所述主输入输出子模块中的除所述主控制器之外的单元出现故障时,禁止所述主输入输出子模块的相应单元的工作,触发所述从输入输出子模块的相应单元开始工作,且输出报警信号;在所述主控制器内添加看门狗定时器电路对所述主控制器进行诊断,在所述主输入输出子模块中的主控制器出现故障时,输出报警信号。
7.根据权利要求6所述的主输入输出子模块,其特征在于,在所述诊断单元执行所述诊断程序过程中,所述其他程序的线程挂起。
8.根据权利要求6所述的主输入输出子模块,其特征在于,所述主输入输出子模块中每个单元对应连接一诊断电路,对于所述主输入输出子模块中的第一单元,第一诊断电路能够采集所述第一单元中的数据,所述第一单元为所述主输入输出子模块中的任一单元,所述第一诊断电路为与所述第一单元对应的诊断电路,
所述诊断单元用于:
判断每个诊断电路对应的单元中的数据是否处于预设数据范围;
在任一诊断电路对应的单元中的数据不处于预设数据范围时,确定所述任一诊断电路的对应的单元出现故障;在所有诊断电路采集的对应的单元中的数据处于预设数据范围时,确定所述主输入输出子模块未出现故障。
9.根据权利要求6所述的主输入输出子模块,其特征在于,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述输入输出单元用于连接外部输入输出设备,所述通讯单元用于连接可编程逻辑控制器主机,所述输入输出单元与所述输入输出设备间建立有两个数据传输通道,所述两个数据传输通道用于传输相同来源的数据,所述传输通道为输入通道或者输出通道;
所述诊断单元用于:
监听所述两个数据传输通道中的数据是否一致;
在所述两个数据传输通道中的数据不一致时,确定所述输入输出单元出现故障;在所述两个数据传输通道中的数据一致时,确定所述输入输出单元未出现故障。
10.根据权利要求6所述的主输入输出子模块,其特征在于,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述主输入输出子模块还包括:两个存储器,主控制器用于将获取的数据同步存储在所述两个存储器中,
所述诊断单元用于:
检测所述两个存储器中的数据是否一致;
在所述两个存储器中的数据不一致时,确定所述主控制器出现故障;在所述两个存储器中的数据一致时,确定所述主控制器未出现故障。
11.一种可编程逻辑控制器,其特征在于,所述可编辑逻辑控制器包括权利要求5至10任一所述的主输入输出子模块和从输入输出子模块,所述主输入输出子模块与所述从输入输出子模块均包括多个单元,所述多个单元包括主控制器,所述主输入输出子模块与所述从输入输出子模块共用一主控制器,
所述主输入输出子模块用于:
检测所述主输入输出子模块是否执行其他程序,所述其他程序为除诊断程序之外的任意程序,所述诊断程序为对所述主输入输出子模块包括的多个单元中的每个单元进行诊断的程序;
在所述主输入输出子模块未执行其他程序时,对所述主输入输出子模块包括的多个单元中的每个单元进行诊断;
在所述主输入输出子模块执行其他程序时,禁止执行所述诊断程序;
在所述主输入输出子模块中的除所述主控制器之外的单元出现故障时,禁止所述主输入输出子模块的相应单元的工作,触发所述从输入输出子模块的相应单元开始工作,且输出报警信号;
在所述主控制器内添加看门狗定时器电路对所述主控制器进行诊断,在所述主输入输出子模块中的主控制器出现故障时,输出报警信号。

说明书全文

主输入输出子模及其诊断方法、可编辑逻辑控制器

技术领域

[0001] 本发明涉及工业过程控制领域,特别涉及一种主输入输出子模块及其诊断方法、可编辑逻辑控制器。

背景技术

[0002] 在工业过程控制领域中,对于可编程逻辑控制器的应用比较普遍。可编程逻辑控制器一般包括电源、存储器、通讯接口中央处理器和输入输出模块,由于现代工业控制现场的环境变得越来越复杂,各种干扰因素也越来越多,导致可编程逻辑控制器的输入输出模块出现故障,因此需要对输入输出模块的故障进行诊断。
[0003] 目前,在可编程逻辑控制器的输入输出模块出现故障时,通常需要停止可编程逻辑控制器的工作状态,并通过人工对输入输出模块进行诊断。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 在可编程逻辑控制器的输入输出模块出现故障时,通过人工进行诊断会耗费大量时间,导致可编程逻辑控制器的工作效率降低。

发明内容

[0006] 为了解决现有技术中可编程逻辑控制器的工作效率较低的问题,本发明实施例提供了一种主输入输出子模块及其诊断方法、可编辑逻辑控制器。所述技术方案如下:
[0007] 一方面,提供了一种诊断方法,用于可编辑逻辑控制器的主输入输出子模块,所述可编辑逻辑控制器包括所述主输入输出子模块和从输入输出子模块,所述主输入输出子模块与所述从输入输出子模块均包括多个单元,所述多个单元包括主控制器,所述主输入输出子模块与所述从输入输出模共用一主控制器,所述方法包括:
[0008] 对所述主输入输出子模块包括的多个单元中的每个单元进行诊断;
[0009] 在所述主输入输出子模块中的除所述主控制器之外的单元出现故障时,禁止所述主输入输出子模块的相应单元的工作,触发所述从输入输出子模块的相应单元开始工作,且输出报警信号
[0010] 在所述主输入输出子模块中的主控制器出现故障时,输出报警信号。
[0011] 可选的,在所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断之前,所述方法还包括:
[0012] 检测所述主输入输出子模块是否执行其他程序,所述其他程序为除诊断程序之外的任意程序,所述诊断程序为对所述主输入输出子模块包括的多个单元中的每个单元进行诊断的程序;
[0013] 所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断,包括:
[0014] 在所述主输入输出子模块未执行其他程序时,对所述主输入输出子模块包括的多个单元中的每个单元进行诊断。
[0015] 可选的所述检测所述主输入输出子模块是否执行其他程序之后,所述方法还包括:
[0016] 在所述主输入输出子模块执行其他程序时,禁止执行所述诊断程序。
[0017] 可选的,在所述诊断程序执行过程中,所述其他程序的线程挂起。
[0018] 可选的,所述主输入输出子模块中每个单元对应连接一诊断电路,对于所述主输入输出子模块中的第一单元,所述第一诊断电路能够采集所述第一单元中的数据,所述第一单元为所述主输入输出子模块中的任一单元,所述第一诊断电路为与所述第一单元对应的诊断电路,
[0019] 所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断,包括:
[0020] 判断每个诊断电路的对应的单元中的数据是否处于预设数据范围;
[0021] 在任一诊断电路对应的单元中的数据不处于预设数据范围时,确定所述任一诊断电路的对应的单元出现故障;
[0022] 在所有诊断电路的对应的单元中的数据处于预设数据范围时,确定所述主输入输出子模块未出现故障。
[0023] 可选的,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述输入输出单元用于连接外部输入输出设备,所述通讯单元用于连接可编程逻辑控制器主机,所述输入输出单元与所述输入输出设备间建立有两个传输通道,所述两个传输通道用于传输相同来源的数据,所述传输通道为输入通道或者输出通道;
[0024] 所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断,包括:
[0025] 监听所述两个数据传输通道中的数据是否一致;
[0026] 在所述两个数据传输通道中的数据不一致时,确定所述输入输出单元出现故障;
[0027] 在所述两个数据传输通道中的数据一致时,确定所述输入输出单元未出现故障。
[0028] 可选的,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述主输入输出子模块还包括:两个存储器,主控制器用于将获取的数据同步存储在所述两个存储器中,
[0029] 所述对所述主输入输出子模块包括的多个单元中的每个单元进行诊断,包括:
[0030] 检测所述两个存储器中的数据是否一致;
[0031] 在所述两个存储器中的数据不一致时,确定所述主控制器出现故障;
[0032] 在所述两个存储器中的数据一致时,确定所述主控制器未出现故障。
[0033] 另一方面,提供了一种主输入输出子模块,所述主输入输出子模块位于可编辑逻辑控制器中,所述可编辑逻辑控制器包括所述主输入输出子模块和从输入输出子模块,所述主输入输出子模块与所述从输入输出子模块均包括多个单元,所述多个单元包括主控制器,所述主输入输出子模块与所述从输入输出模共用一主控制器,所述主输入输出子模块包括:
[0034] 诊断单元,用于对所述主输入输出子模块包括的多个单元中的每个单元进行诊断;
[0035] 报警单元,用于在所述主输入输出子模块中的除所述主控制器之外的单元出现故障时,禁止所述主输入输出子模块的相应单元的工作,触发所述从输入输出子模块的相应单元开始工作,且输出报警信号;在所述主输入输出子模块中的主控制器出现故障时,输出报警信号。
[0036] 可选的,所述主输入输出子模块还包括:
[0037] 检测单元,用于在所述诊断单元对所述主输入输出子模块包括的多个单元中的每个单元进行诊断之前,检测所述主输入输出子模块是否执行其他程序,所述诊断程序为对所述主输入输出子模块包括的多个单元中的每个单元进行诊断的程序;
[0038] 所述诊断单元,还用于在所述主输入输出子模块未执行其他程序时,对所述主输入输出子模块包括的多个单元中的每个单元进行诊断。
[0039] 可选的,所述诊断单元具体用于在所述检测单元检测到所述主输入输出子模块在执行其他程序时,禁止所述诊断单元执行所述诊断程序。
[0040] 可选的,在所述诊断单元执行所述诊断程序过程中,所述其他程序的线程挂起。
[0041] 可选的,所述主输入输出子模块中每个单元对应连接一诊断电路,对于所述主输入输出子模块中的第一单元,第一诊断电路能够采集所述第一单元中的数据,所述第一单元为所述主输入输出子模块中的任一单元,所述第一诊断电路为与所述第一单元对应的诊断电路,
[0042] 所述诊断单元用于:
[0043] 判断每个诊断电路对应的单元中的数据是否处于预设数据范围;
[0044] 在任一诊断电路对应的单元中的数据不处于预设数据范围时,确定所述任一诊断电路的对应的单元出现故障;在所有诊断电路采集的对应的单元中的数据处于预设数据范围时,确定所述主输入输出子模块未出现故障。
[0045] 可选的,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述输入输出单元用于连接外部输入输出设备,所述通讯单元用于连接可编程逻辑控制器主机,所述输入输出单元与所述输入输出设备间建立有两个传输通道,所述两个传输通道用于传输相同来源的数据,所述传输通道为输入通道或者输出通道;
[0046] 所述诊断单元用于:
[0047] 监听所述两个数据传输通道中的数据是否一致;
[0048] 在所述两个数据传输通道中的数据不一致时,确定所述输入输出单元出现故障;在所述两个数据传输通道中的数据一致时,确定所述输入输出单元未出现故障。
[0049] 可选的,所述主输入输出子模块包括依次连接的输入输出单元、主控制器和通讯单元,所述主输入输出子模块还包括:两个存储器,主控制器用于将获取的数据同步存储在所述两个存储器中,
[0050] 所述诊断单元用于:
[0051] 检测所述两个存储器中的数据是否一致;
[0052] 在所述两个存储器中的数据不一致时,确定所述主控制器出现故障;在所述两个存储器中的数据一致时,确定所述主控制器未出现故障。
[0053] 又一方面,提供了一种可编程逻辑控制器,所述可编辑逻辑控制器包括主输入输出子模块和从输入输出子模块,所述主输入输出子模块与所述从输入输出子模块均包括多个单元,所述多个单元包括主控制器,所述主输入输出子模块与所述从输入输出模共用一主控制器,
[0054] 所述主输入输出子模块用于:
[0055] 对所述主输入输出子模块包括的多个单元中的每个单元进行诊断;
[0056] 在所述主输入输出子模块中的除所述主控制器之外的单元出现故障时,禁止所述主输入输出子模块的相应单元的工作,触发所述从输入输出子模块的相应单元开始工作,且输出报警信号;
[0057] 在所述主输入输出子模块中的主控制器出现故障时,输出报警信号。
[0058] 本发明实施例提供的技术方案带来的有益效果是:
[0059] 本发明实施例提供的一种主输入输出子模块及其诊断方法、可编辑逻辑控制器,可编辑逻辑控制器包括主输入输出子模块和从输入输出子模块,主输入输出子模块包括多个单元,通过对主输入输出子模块包括的多个单元中的每个单元进行诊断,当除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发冗余的从输入输出子模块的相应单元开始工作,且输出报警信号;当主输入输出子模块中的主控制器出现故障时,输出报警信号。从而实现主输入输出子模块的自动诊断、故障处理和报警,避免了因进行人工诊断而造成的时间浪费,提高了可编程逻辑控制器的工作效率。附图说明
[0060] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061] 图1是本发明实施例提供的一种可编程逻辑控制器的框图
[0062] 图2是本发明实施例提供的一种可编程逻辑控制器的主输入输出子模块诊断方法流程图
[0063] 图3是本发明实施例根据图2提供的一种可编程逻辑控制器的主输入输出子模块诊断方法流程图;
[0064] 图4是本发明实施例提供的一种通过诊断电路进行诊断的方法流程图;
[0065] 图5是本发明实施例提供的一种主控制器的诊断方法流程图;
[0066] 图6是本发明实施例提供的一种输入输出单元的诊断方法流程图;
[0067] 图7是本发明实施例提供的一种可编程逻辑控制器的主输入输出子模块框图;
[0068] 图8是本发明实施例提供的另一种可编程逻辑控制器的主输入输出子模块框图。
[0069] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

具体实施方式

[0070] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0071] 本发明实施例提供一种诊断方法,该诊断方法可以用于可编辑逻辑控制器的主输入输出子模块,如图1所示,其示出了一种可编程逻辑控制器的框图,可编程逻辑控制器可以包括输入输出模块0、输入输出设备02和主机03,输入输出模块0包括:主输入输出子模块00和从输入输出子模块01,主输入输出子模块00包括:输入输出单元001、主控制器002、设置在主控制器002内的处理器003、通训单元004和诊断单元005。其中,输入输出单元001用于连接外部输入输出设备02,通训单元004用于连接主机03,主输入输出子模块00与从输入输出模01共用一主控制器002。
[0072] 进一步的,从输入输出子模块包括输入输出单元和通讯单元,主控制器还可以与从输入输出子模块连接,用于在主输入输出子模块中的除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发从输入输出子模块的相应单元开始工作。
[0073] 需要说明的是,在实际应用中,主输入输出子模块和从输入输出子模块同属于可编程逻辑控制器的输入输出模块,两者作为一个整体工作。
[0074] 进一步需要说明的是,由于主输入输出子模块中的主控制器可以控制主输入输出子模块的输入输出单元和通讯单元,也可以在主输入输出子模块的输入输出单元和通讯单元出现故障时控制从输入输出子模块的输入输出单元和通讯单元,所以从输入输出子模块中可以不用冗余另一个主控制器,这样节省了可编辑逻辑控制器的制造成本。
[0075] 如图2所示,其示出了本发明实施例提供的一种可编程逻辑控制器的主输入输出子模块诊断方法流程图,该方法可用于如图1所示的可编辑逻辑控制器的主输入输出子模块,该方法流程具体如下:
[0076] 步骤101、对主输入输出子模块包括的多个单元中的每个单元进行诊断。
[0077] 步骤102、在主输入输出子模块中的除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发从输入输出子模块的相应单元开始工作,且输出报警信号;在主输入输出子模块中的主控制器出现故障时,输出报警信号。
[0078] 在现有技术中,可编程逻辑控制器只包含一个输入输出模块,该输入输出模块包括输入输出单主控制器和通讯单元,在其中任一单元发生故障时,可编程逻辑控制器只能停止工作等待故障排除。在本发明实施例中,可编程逻辑控制器包括主输入输出子模块和从输入输出子模块,从输入输出子模块包括的输入输出单元和通讯单元和主控制器连接,受到主控制器的控制,在主输入输出子模块中的输入输出单元和通讯单元出现故障时,从输入输出子模块的相应单元可以作为冗余的输入输出模块进行工作,可以使可编程逻辑控制器在主输入输出子模块的相应单元发生故障时继续保持一段时间的正常工作,直到主输入输出子模块相应单元的故障被排除,此时再由主控制器切换到主输入输出子模块的相应单元进行工作。
[0079] 本发明实施例提供的一种诊断方法,通过对主输入输出子模块包括的多个单元中的每个单元进行诊断,当除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发冗余的从输入输出子模块的相应单元开始工作,且输出报警信号;当主输入输出子模块中的主控制器出现故障时,输出报警信号。从而实现主输入输出子模块的自动诊断、故障处理和报警,避免了因进行人工诊断而造成的时间浪费,提高了可编程逻辑控制器的工作效率。
[0080] 进一步的,主输入输出子模块与从输入输出模共用一主控制器,主输入输出子模块用于:
[0081] 对主输入输出子模块包括的多个单元中的每个单元进行诊断;在主输入输出子模块中的除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发从输入输出子模块的相应单元开始工作,且输出报警信号;在主输入输出子模块中的主控制器出现故障时,输出报警信号。
[0082] 需要说明的是,在本发明实施例中,从输入输出子模块包括输入输出单元和通讯单元,主控制器还可以与从输入输出子模块连接,用于在主输入输出子模块中的除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发从输入输出子模块的相应单元开始工作。
[0083] 基于图1提供的可编程逻辑控制器,本发明实施例提供的另一种可编程逻辑控制器的主输入输出子模块诊断方法,该方法可以用于图1中的主输入输出子模块,如图3所示,该方法流程具体如下:
[0084] 步骤301、主机与主输入输出子模块通讯,并发出工作指令。
[0085] 针对该步骤,如图1所示,主机03通过通讯单元004与主输入输出子模块00连接,主机03发出的工作指令传输到通讯单元004中,再由通讯单元004发送给主控制器002。示例的,当主机03需要主输入输出子模块00进行数据采集时,由主机03发出数据采集指令,并通过通讯单元004传输给主控制器002。
[0086] 步骤302、检测主输入输出子模块是否在执行其他程序。当主输入输出子模块在执行其他程序时,执行步骤303,当主输入输出子模块没有在执行其他程序时,执行步骤304。
[0087] 具体的,上述其他程序为除诊断程序之外的任意程序。示例的,其他程序可以为主输入输出子模块的数据输入输出功能,或者为主输入输出子模块与主机的通讯功能,本发明实施例对此不做限定。
[0088] 步骤303、主输入输出子模块执行其他程序。
[0089] 具体的,当检测到主输入输出子模块正在执行其他程序时,禁止主输入输出子模块执行诊断程序,即其他程序的优先级高于诊断程序,诊断程序在其他程序空闲的时候进行诊断,这样可以使得诊断程序不影响主输入输出子模块其他程序的正常运行,提高了主输入输出子模块的可靠性。在其他程序执行完毕后,可以执行步骤304。
[0090] 步骤304、对主输入输出子模块包括的多个单元中的每个单元进行诊断。
[0091] 需要说明的是,主输入输出子模块的诊断功能可以由诊断单元执行。
[0092] 具体的,当诊断程序执行过程中,其他程序的线程挂起。程序的线程挂起指的是该程序暂时从内存的进程中淘汰。在内存资源不足的情况下,对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,该过程即为线程的挂起。
[0093] 步骤305、在主输入输出子模块中的除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发从输入输出子模块的相应单元开始工作,且输出报警信号;在主输入输出子模块中的主控制器出现故障时,输出报警信号。
[0094] 实际应用中,主输入输出子模块可以通过多种方式发出报警信号,例如向主机发出报警信号,由主机提示操作人员,又例如,在可编程逻辑控制器中可以设置有发光二极管(英语:Light-Emitting Diode,简称LED),并通过电路与主输入输出子模块的主控制器连接,在主输入输出子模块正常工作的情况下,该电路处于断开状态,当检测到主输入输出子模块中任一单元(包括主控制器)出现故障时,该电路导通,LED灯点亮,发出报警信号。
[0095] 需要说明的是,在步骤304中,针对不同的单元,对主输入输出子模块包括的每个单元进行诊断的方法可以有多种可实现方式,本发明实施例以以下几种可实现方式为例进行示意性说明:
[0096] 第一种可实现方式,假设该单元为输入输出单元,则对该输入输出单元的诊断方法可以参照图4所示,通过诊断电路对输入输出单元进行诊断,具体步骤如下:
[0097] 步骤3041a、诊断电路对对应单元中的数据进行采集。
[0098] 具体的,主输入输出子模块中的输入输出单元与对应诊断电路连接,诊断电路可以采集输入输出单元中的数据,需要说明的是,该数据既可以为数字量数据,也可以为模拟量数据,数据的类型由图1中所示的输入输出设备02的类型决定。
[0099] 步骤3042a、判断诊断电路采集的对应单元中的数据是否处于预设数据范围。
[0100] 具体的,诊断电路可以与图1所示的主控制器002中的处理器003连接,并将采集到的数据发送给处理器003,由处理器003判断该数据是否处于预设数据范围内,需要说明的是,处理器003中预设的数据范围的数据类型既可以为数字量数据,也可以为模拟量数据,数据的类型由图1中所示的输入输出设备02的类型决定。
[0101] 步骤3043a、在诊断电路采集的对应单元中的数据不处于预设数据范围时,确定任一诊断电路的对应的单元出现故障,在诊断电路采集的对应单元中的数据处于预设数据范围时,确定主输入输出子模块未出现故障。
[0102] 第二种可实现方式,假设该单元为主控制器,则对该主控制器的诊断方法可以包括如下三方面:
[0103] 第一方面,可以参照第一种实现方式中通过诊断电路对输入输出单元进行诊断的方法,其具体诊断步骤可以参考图4,本发明实施例在此不做赘述。
[0104] 第二方面,如图5所示,具体步骤如下:
[0105] 步骤3041b、主控制器将获取的数据同步存储在所述两个存储器中。
[0106] 在该步骤中,主控制器获取的数据可以为输入输出单元对输入输出设备采集到的数据,也可以为通讯单元接收到的主机所发出的数据,本发明实施例对此不做限定。
[0107] 步骤3042b、检测两个存储器中的数据是否一致。
[0108] 步骤3043b、在两个存储器中的数据不一致时,确定主控制器出现故障,在两个存储器中的数据一致时,确定主控制器未出现故障。
[0109] 第三方面,通过在主控制器内添加看定时器电路来对主控制器进行诊断。其具体方法是,主控制器定时的发送给看门狗定时器电路一个高电平(或低电平)信号,电平信号发送后看门狗开始倒计数,如果主控制器运行正常,过一段时间处理器发出指令让看门狗定时器复位,并重新开始倒计数。如果看门狗定时器归零就认为主控制器发生故障。
[0110] 第三种可实现方式,假设该单元为通讯单元,则对该通讯单元的诊断方法可以包括如下两方面:
[0111] 第一方面,可以参照第一种实现方式中通过诊断电路对输入输出单元进行诊断的方法,其具体诊断步骤可以参考图4,本发明实施例在此不做赘述。
[0112] 第二方面,通过奇偶校验来对通讯单元进行诊断,具体实施方式是通过通讯单元发送一组二进制代码给主控制器中的处理器,由处理器判断二进制代码的数位中“1”的个数是奇数还是偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先设定好的,例如,若采用奇校验,当处理器接收到这组二进制代码时,若其中“1”的个数为偶数,则确定通讯单元出现故障。
[0113] 需要说明的是,实际应用中也可以不进行主输入输出子模块是否执行其他程序的检测,相应的,对主输入输出子模块包括的多个单元中的每个单元进行诊断的过程可以参考步骤304。
[0114] 进一步的,当不进行主输入输出子模块是否执行其他程序的检测时,对输入输出单元的诊断方法还可以如图6所示,具体步骤如下:
[0115] 步骤3041c、在输入输出设备与输入输出单元间建立两个传输通道。
[0116] 具体的,如图1所示,输入输出设备02与输入输出单元001间建立有两个传输通道,两个传输通道用于传输相同来源的数据,传输通道可以为输入通道或者输出通道。
[0117] 需要说明的是,从输入输出子模块中的输入输出单元与输入输出设备之间只有一个默认的传输通道,并不需要冗余额外的传输通道。
[0118] 步骤3042c、监听两个数据传输通道中的数据是否一致。
[0119] 步骤3043c、在两个数据传输通道中的数据不一致时,确定输入输出单元出现故障,在两个数据传输通道中的数据一致时,确定输入输出单元未出现故障。
[0120] 在使用该诊断方法对输入输出单元进行诊断时,因为数据传输通道对相同来源的数据传输是一个瞬时过程,对内存的占有率可以忽略不计,因此,在使用上述诊断方法时,主输入输出子模块可以不进行是否执行其他程序的检测。
[0121] 需要说明的是,本发明实施例提供的一种主输入输出子模块的诊断方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
[0122] 综上所述,本发明实施例提供的一种主输入输出子模块诊断方法,通过对主输入输出子模块包括的多个单元中的每个单元进行诊断,当除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发冗余的从输入输出子模块的相应单元开始工作,且输出报警信号;当主输入输出子模块中的主控制器出现故障时,输出报警信号。从而实现主输入输出子模块的自动诊断、故障处理和报警,避免了因进行人工诊断而造成的时间浪费,提高了可编程逻辑控制器的工作效率。。
[0123] 本发明实施例提供一种可编程逻辑控制器的主输入输出子模块,如图7所示,主输入输出子模块00包括:
[0124] 诊断单元710,用于对所述主输入输出子模块包括的多个单元中的每个单元进行诊断。
[0125] 报警单元720,用于在所述主输入输出子模块中的除所述主控制器之外的单元出现故障时,禁止所述主输入输出子模块的相应单元的工作,触发所述从输入输出子模块的相应单元开始工作,且输出报警信号;在所述主输入输出子模块中的主控制器出现故障时,输出报警信号。
[0126] 综上所述,本发明实施例提供的一种可编程逻辑控制器的主输入输出子模块,主输入输出子模块包括多个单元,通过对主输入输出子模块包括的多个单元中的每个单元进行诊断,当除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发冗余的从输入输出子模块的相应单元开始工作,且输出报警信号;当主输入输出子模块中的主控制器出现故障时,输出报警信号。从而实现主输入输出子模块的自动诊断、故障处理和报警,避免了因进行人工诊断而造成的时间浪费,提高了可编程逻辑控制器的工作效率。
[0127] 进一步的,如图8所示,主输入输出子模块00还可以包括:
[0128] 检测单元730,用于在诊断单元710对主输入输出子模块00包括的多个单元中的每个单元进行诊断之前,检测主输入输出子模块00是否执行其他程序。
[0129] 需要说明的是,诊断程序为对主输入输出子模块包括的多个单元中的每个单元进行诊断的程序,所述诊断单元,在检测单元检测到主输入输出子模块未执行其他程序时,对主输入输出子模块包括的多个单元中的每个单元进行诊断。
[0130] 具体的,诊断单元具体用于在检测单元检测到主输入输出子模块在执行其他程序时,禁止诊断单元执行诊断程序。诊断单元执行诊断程序过程中,其他程序的线程挂起,诊断单元在其他程序空闲的时候进行诊断,这样可以使得诊断程序不影响主输入输出子模块其他程序的正常运行,提高了主输入输出子模块的可靠性。
[0131] 具体的,主输入输出子模块中每个单元对应连接一诊断电路,对于主输入输出子模块中的第一单元,第一诊断电路能够采集第一单元中的数据,第一单元为主输入输出子模块中的任一单元,第一诊断电路为与第一单元对应的诊断电路。诊断单元用于判断每个诊断电路采集的对应的单元中的数据是否处于预设数据范围,在任一诊断电路采集的对应的单元中的数据不处于预设数据范围时,确定主输入输出子模块出现故障;在所有诊断电路采集的对应的单元中的数据处于预设数据范围时,确定主输入输出子模块未出现故障。
[0132] 需要说明的是,当该诊断方法由主控制器执行的时候,诊断单元可以设置在主控制器中,诊断电路与图1所示的主控制器002连接,由诊断单元判断该数据是否处于预设数据范围内,需要说明的是,主控制器002中预设的数据范围的数据类型既可以为数字量数据,也可以为模拟量数据,数据的类型由图1中所示的输入输出设备02的类型决定。
[0133] 具体的,主输入输出子模块包括依次连接的如图1所示的输入输出单元001、主控制器002和通讯单元004,输入输出单元001用于连接外部输入输出设备02,通讯单元004用于连接主机03,输入输出设备02与输入输出单元001间建立有两个传输通道(图中未绘出),两个传输通道用于传输相同来源的数据,传输通道可以为输入通道或者输出通道。诊断单元用于监听两个数据传输通道中的数据是否一致,在两个数据传输通道中的数据不一致时,确定输入输出单元出现故障;在两个数据传输通道中的数据一致时,确定输入输出单元未出现故障。
[0134] 具体的,主输入输出子模块包括依次连接的如图1所示的输入输出单元001、主控制器002和通讯单元004,主输入输出子模块00还包括:两个存储器(图中未绘出),两个存储器设置在主控制器002内,主控制器002用于将获取的数据同步存储在两个存储器中。诊断单元用于检测两个存储器中的数据是否一致,在两个存储器中的数据不一致时,确定主控制器出现故障;在两个存储器中的数据一致时,确定主控制器未出现故障。
[0135] 本发明实施例提供的一种主输入输出子模块及其诊断方法、可编辑逻辑控制器,可编辑逻辑控制器包括主输入输出子模块和从输入输出子模块,主输入输出子模块包括多个单元,通过对主输入输出子模块包括的多个单元中的每个单元进行诊断,当除主控制器之外的单元出现故障时,禁止主输入输出子模块的相应单元的工作,触发冗余的从输入输出子模块的相应单元开始工作,且输出报警信号;当主输入输出子模块中的主控制器出现故障时,输出报警信号。从而实现主输入输出子模块的自动诊断、故障处理和报警,避免了因进行人工诊断而造成的时间浪费,提高了可编程逻辑控制器的工作效率。
[0136] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的可编程逻辑控制器的输入输出模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0137] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈