当前位置: 首页 > 专利查询>之江实验室专利>正文

用于工控系统中DO模块的多通道脉宽输出实现方法技术方案

技术编号:39039894 阅读:12 留言:0更新日期:2023-10-10 11:52
本说明书公开了一种用于工控系统中DO模块的多通道脉宽输出实现方法,终端设备可以根据接收到的控制命令,实时更新每个输出通道的控制命令相关数据,并且会为每个输出通道设有独立的脉宽计数器,在执行控制命令过程中,可以根据脉宽定时器的计时,实时同步更新相应的输出通道的脉宽计数器的计数。从而能够保证在接收到冗余控制命令或者前后间隔时间较短的两条控制命令时,工控系统中DO模块的各个输出通道的独立控制以及各个输出通道的脉宽输出的计时准确性以及实时性。的计时准确性以及实时性。的计时准确性以及实时性。

【技术实现步骤摘要】
用于工控系统中DO模块的多通道脉宽输出实现方法


[0001]本说明书涉及计算机
,尤其涉及一种用于工控系统中DO模块的多通道脉宽输出实现方法。

技术介绍

[0002]现如今,工控系统中的用于控制信号输出的数字信号输出(Digital Output,DO)模块可以根据接收到的上位机下发的控制命令来输出控制命令中指定时长的脉冲信号(例如,控制命令中会规定每个输出通道中需要输出的脉冲信号以及脉冲信号的输出时长),这大大提高了工控系统的工作效率,促进了现代社会的发展和人类社会的进步。
[0003]而在实际应用中,为了确保工控系统中发出控制命令的上位机和接收控制命令的底层DO模块之间的通信稳定不中断,上位机会通过与DO模块之间建立的冗余通信链路发送冗余的控制命令,以避免通信链路中断导致的通信失败的情况。
[0004]然而,现有的通信控制方法中当DO模块接收到冗余控制命令时,由于用于计算控制命令中电平信号输出时长的微控制器(MCU)的脉宽定时器是一种外设资源,而微控制器(Micro Control Unit,MCU)的外设资源有限,因此,常规的控制方法分为两种:其一,各个输出通道同时触发脉宽定时器的计数器,即各个输出通道的脉宽计时起点一致,这种方法缺点是各个输出通道是关联的,无法独立控制各个输出通道;其二,各个输出通道分别计时,可独立控制各个输出通道,但是会由于计时起点不一致导致无法通过清空计时器计数器,所以对于毫秒级的脉宽定时器而言,输出通道输出的脉宽值会根据命令到来的时间,在
±
1ms的范围内波动,脉宽值控制不够精确,且上述两种方法在重复执行冗余控制命令或者两条命令间隔时间较短时,均会导致脉宽值重新计数,变相的延长了脉宽时间。由此可见,重复处理冗余控制命令会造成DO模块输出脉宽值计时不准确。可见现有的控制方法都无法完成各个输出通道输出的脉冲信号的准确计时,因此,无法很好的执行控制命令。
[0005]因此,如何使得DO模块在接收到冗余控制命令或者间隔时长较短的两条控制命令时,依然能够实现DO模块中各个输出通道独立、互不干扰的输出,则是个亟待解决的问题。

技术实现思路

[0006]本说明书提供一种用于工控系统中DO模块的多通道脉宽输出实现方法,以部分的解决现有技术存在的上述问题。
[0007]本说明书采用下述技术方案:本说明书提供了一种用于工控系统中DO模块的多通道脉宽输出实现方法,包括:接收控制命令,置位脉宽输出更新标志位;当接收到脉宽定时器发送的信号,判断所述脉宽输出更新标志位是否为置位状态,若确定所述脉宽输出更新标志位为置位状态,则根据所述控制命令,确定每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,并清空所述脉宽输出更新标志位,所述脉宽定时器每隔预设时间间隔发送信号;
接收所述脉宽定时器发送的信号,并响应于所述脉宽定时器发送的信号,根据所述每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,在每个输出通道输出脉冲信号时同步更新每个输出通道对应的脉宽计数器的计数,其中,针对每个输出通道,该输出通道的脉宽计数器的计数用于表示该输出通道已经持续输出的脉冲信号的时长;遍历每个输出通道,以在当检测到所有输出通道的脉宽计数器的计数均为结束状态对应的计数时,清空各输出通道对应的脉宽定时器的计数器,其中,所述脉宽定时器的计数器用于监测需要监控的输出通道所输出的脉冲信号的时长。
[0008]可选地,根据所述控制命令,确定每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,具体包括:根据所述控制命令,确定每个输出通道以脉宽输出形式输出所述控制命令对应的脉冲信号时对应的控制命令相关数据,其中,所述控制命令相关数据至少包括是否需要输出脉冲信号以及脉冲信号输出时长;针对每个输出通道,根据该输出通道对应的控制命令相关数据,确定该输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号。
[0009]可选地,所述方法还包括:每当接收到所述脉宽定时器发送的信号,则遍历每个输出通道,针对每个输出通道,当检测到该输出通道的脉宽计数器的计数大于该输出通道对应的控制命令相关数据中的脉冲信号输出时长,并且该输出通道正在输出脉冲信号时,则清空该输出通道的脉宽计数器的计数,并关闭该输出通道的脉冲信号的输出。
[0010]可选地,所述方法还包括:遍历每个输出通道,针对每个输出通道,当检测到该输出通道的脉宽计数器计数为结束状态对应的计数时,则更新脉宽结束标志位的数值,其中,所述脉宽结束标志位的数值用于表示工作状态为结束状态的输出通道的个数;当检测到所有输出通道的脉宽计数器计数均为结束状态对应的计数时,具体包括:当检测到更新脉宽结束标志位的数值等于所有输出通道的总数时,则确定所有输出通道的脉宽计数器计数均为结束状态对应的计数。
[0011]可选的,所述方法还包括:遍历每个输出通道,针对每个输出通道,当检测到该输出通道正在输出脉冲信号,则将该输出通道对应的输出使能标志确定为工作状态对应的使能标志,其中,所述输出使能标志用于表示输出通道的工作状态;当检测到该输出通道正在输出脉冲信号,具体包括:当检测到该输出通道对应的输出使能标志为工作状态对应的使能标志,则确定该输出通道正在输出脉冲信号。
[0012]本说明书提供了一种用于工控系统中DO模块的多通道脉宽输出的装置,包括:接收模块,用于接收控制命令,置位脉宽输出更新标志位;判断模块,用于当接收到脉宽定时器发送的信号,判断所述脉宽输出更新标志位是否为置位状态,若确定所述脉宽输出更新标志位为置位状态,则根据所述控制命令,确定
每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,并清空所述脉宽输出更新标志位,所述脉宽定时器每隔预设时间间隔发送信号;响应模块,用于接收所述脉宽定时器发送的信号,并响应于所述脉宽定时器发送的信号,根据所述每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,在每个输出通道输出脉冲信号时同步更新每个输出通道对应的脉宽计数器的计数,其中,针对每个输出通道,该输出通道的脉宽计数器的计数用于表示该输出通道已经持续输出的脉冲信号的时长;遍历模块,用于遍历每个输出通道,以在当检测到所有输出通道的脉宽计数器的计数均为结束状态对应的计数时,清空各输出通道对应的脉宽定时器的计数器,其中,所述脉宽定时器的计数器用于监测需要监控的输出通道所输出的脉冲信号的时长。
[0013]可选的,所述判断模块具体用于,根据所述控制命令,确定每个输出通道以脉宽输出形式输出所述控制命令对应的脉冲信号时对应的控制命令相关数据,其中,所述控制命令相关数据至少包括是否需要输出脉冲信号以及脉冲信号输出时长;针对每个输出通道,根据该输出通道对应的控制命令相关数据,确定该输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号。
[0014]可选的,所述装置还包括:清空模块,其中,所述清空模块用于每当接收到所述脉宽定时器发送的信号,则遍历每个输出通道,针对每个输出通道,当检测到该输出通道的脉宽计数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于工控系统中DO模块的多通道脉宽输出实现方法,其特征在于,所述方法包括:接收控制命令,置位脉宽输出更新标志位;当接收到脉宽定时器发送的信号,判断所述脉宽输出更新标志位是否为置位状态,若确定所述脉宽输出更新标志位为置位状态,则根据所述控制命令,确定每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,并清空所述脉宽输出更新标志位,所述脉宽定时器每隔预设时间间隔发送信号;接收所述脉宽定时器发送的信号,并响应于所述脉宽定时器发送的信号,根据所述每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,在每个输出通道输出脉冲信号时同步更新每个输出通道对应的脉宽计数器的计数,其中,针对每个输出通道,该输出通道的脉宽计数器的计数用于表示该输出通道已经持续输出的脉冲信号的时长;遍历每个输出通道,以在当检测到所有输出通道的脉宽计数器的计数均为结束状态对应的计数时,清空各输出通道对应的脉宽定时器的计数器,其中,所述脉宽定时器的计数器用于监测需要监控的输出通道所输出的脉冲信号的时长。2.如权利要求1所述的方法,其特征在于,根据所述控制命令,确定每个输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号,具体包括:根据所述控制命令,确定每个输出通道以脉宽输出形式输出所述控制命令对应的脉冲信号时对应的控制命令相关数据,其中,所述控制命令相关数据至少包括是否需要输出脉冲信号以及脉冲信号输出时长;针对每个输出通道,根据该输出通道对应的控制命令相关数据,确定该输出通道以脉宽输出形式所输出的所述控制命令对应的脉冲信号。3.如权利要求1所述的方法,其特征在于,所述方法还包括:每当接收到所述脉宽定时器发送的信号,则遍历每个输出通道,针对每个输出通道,当检测到该输出通道的脉宽计数器的计数大于该输出通道对应的控制命令相关数据中的脉冲信号输出时长,并且该输出通道正在输出脉冲信号时,则清空该输出通道的脉宽计数器的计数,并关闭该输出通道的脉冲信号的输出。4.如权利要求1所述的方法,其特征在于,所述方法还包括:遍历每个输出通道,针对每个输出通道,当检测到该输出通道的脉宽计数器计数为结束状态对应的计数时,则更新脉宽结束标志位的数值,其中,所述脉宽结束标志位的数值用于表示工作状态为结束状态的输出通道的个数;当检测到所有输出通道的脉宽计数器计数均为结束状态对应的计数时,具体包括:当检测到更新脉宽结束标志位的数值等于所有输出通道的总数时,则确定所有输出通道的脉宽计数器计数均为结束状态对应的计数。5.如权利要求3所述的方法,其特征在于,所述方法还包括:遍历每个输出通道,针对每个输出通道,当检测到该输出通道正在输出脉冲...

【专利技术属性】
技术研发人员:鹿洪飞李绍勇林嵩松杨汶佼
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1