CN117573579A - 一种通用io模块的数据处理方法、控制系统 - Google Patents

一种通用io模块的数据处理方法、控制系统 Download PDF

Info

Publication number
CN117573579A
CN117573579A CN202311567902.9A CN202311567902A CN117573579A CN 117573579 A CN117573579 A CN 117573579A CN 202311567902 A CN202311567902 A CN 202311567902A CN 117573579 A CN117573579 A CN 117573579A
Authority
CN
China
Prior art keywords
module
data
channel
output
bit number
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.)
Pending
Application number
CN202311567902.9A
Other languages
English (en)
Inventor
蒋宇飞
李华军
温宜明
周政强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Kangjisen Automation Technology Co ltd
Original Assignee
Hangzhou Kangjisen Automation Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Kangjisen Automation Technology Co ltd filed Critical Hangzhou Kangjisen Automation Technology Co ltd
Priority to CN202311567902.9A priority Critical patent/CN117573579A/zh
Publication of CN117573579A publication Critical patent/CN117573579A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开的一种通用IO模块的数据处理方法、控制系统,通过解析IO模块的组态数据更新指令对IO模块相应通道的信号类型和/或通道方向进行更改,根据预设数据排列规则通过判断通道更改模式对全部或部分通道的数据地址进行修改更新,并分配绑定新位号至更改的通道,同时检查所述IO模块对应的输入输出缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据和在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记,最后执行各位号,根据通道数据地址从输入或输出缓存中获取对应的未添加无效标记的通道数据,从而提高通用IO模块的安全性、可靠性。

Description

一种通用IO模块的数据处理方法、控制系统
技术领域
本发明涉及数据处理技术领域,尤其涉及通用IO模块的数据处理方法、控制系统。
背景技术
在工业自动化控制领域中,传统IO板卡由于可接信号的类型单一、搭建控制系统时灵活性不足,致使其并不能够适应工程信号类型配比变化的场景。通用IO模块此时应运而生,其可针对性地对每个通道进行类型配置,具有极高的灵活性。但与此同时,与传统IO模块相比,通用IO模块在配置信息发生更改时,常会出现寻址错误以及因数据处理不当所导致的数据输入输出等错误,导致可靠性低、安全性差等问题。
发明内容
本发明针对现有技术中的不足,提供了一种通用IO模块的数据处理方法,包括如下步骤:
S1,解析IO模块的组态数据更新指令,根据所述组态数据更新指令对IO模块相应通道的信号类型和/或通道方向进行更改;
S2,如果所述IO模块中的通道发生更改,则识别关联通道的更改模式是否符合预设通道更改模式,若符合则根据预设数据排序规则检查模块各通道的数据地址,并修改更新所有通道的数据地址,否则对发生更改的通道对应数据地址进行修改;所述预设数据排序规则被配置为在IO模块组态确定后,根据位号组态信息来对相同类型的数据按通道顺序分配存储空间的数据存储顺序的规则;
S3,将发生更改的通道与原绑定位号进行解绑后,重新分配新位号进行绑定;
S4,检查所述IO模块对应的输入缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据添加无效标记;检查所述IO模块对应的输出缓存,对在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记;
S5,执行各位号,查询各位号所属的IO模块及通道,从所属IO模块的组态配置中获取绑定的通道数据地址,根据通道数据地址从输入缓存或输出缓存中获取对应的未添加无效标记的通道数据。
优选的,所述预设通道更改模式包括预设采集通道更改模式和/或预设输出通道更改模式,所述预设采集通道更改模式包括但不限于:在无模拟量采集通道的IO模块中新配置模拟量采集通道、在无数字量采集通道的IO模块中新配置数字量采集通道、在配置有模拟量采集通道的IO模块中删除所有模拟量采集通道、或在配置有数字量采集通道的IO模块中删除所有数字量采集通道;所述预设输出通道更改模式包括但不限于在无模拟量输出通道的IO模块中新配置模拟量输出通道、在无数字量输出通道的IO模块中新配置数字量输出通道、在配置有模拟量输出通道的IO模块中删除所有模拟量输出通道、或在配置有数字量输出通道的IO模块中删除所有数字量输出通道。
优选的,所述步骤S5还包括:
根据更新后所述IO模块的组态配置中的输出通道类型和数量,分别计算数字信号和模拟信号的输出数据长度后作为对应信号类型的输出通道的回读数据长度,并按预设数据排序规则将所述IO模块的输出通道回读数据存入输入缓存,等待对应位号处理。
优选的,所述步骤S5还包括:将整个IO模块的输出数据作为一段连续的内存,根据数据长度发送至所述IO模块,各输入位号对所述输出数据中各输出模块对应数据进行分解排序后写入数据。
优选的,所述步骤S5还包括:
输入位号在检测到自身绑定到所述通用IO模块上后,将根据自身所属的模块及通道,通过所属IO模块的组态配置获取对应采集通道数据地址,从输入缓存的采集通道数据地址中取得对应的通道数据;
输出位号在检测到自身绑定到所述通用IO模块上后,将根据自身所属的模块及通道,通过所属IO模块的组态配置获取对应输出通道数据地址,将位号输出值按所述输出通道数据地址写入输出缓存,并在故障发生时以IO模块的输入缓存为基址,将自身的输出值作为回读数据回传录入输入缓存。
本发明还公开了一种控制装置,包括解析模块、地址变更模块、解绑模块、数据标记模块和位号执行模块。其中,解析模块,用于解析IO模块的组态数据更新指令,根据所述组态数据更新指令对IO模块相应通道的信号类型和/或通道方向进行更改;地址变更模块,用于在IO模块中的通道发生更改时,识别关联通道的更改模式是否符合预设通道更改模式,若符合则根据预设数据排序规则检查模块各通道的数据地址,并修改更新所有通道的数据地址,否则对发生更改的通道对应数据地址进行修改;所述预设数据排序规则被配置为在IO模块组态确定后,根据位号组态信息来对相同类型的数据按通道顺序分配存储空间的数据存储顺序的规则;解绑模块,用于将发生更改的通道与原绑定位号进行解绑后,重新分配新位号进行绑定;数据标记模块,用于检查所述IO模块对应的输入缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据添加无效标记;检查所述IO模块对应的输出缓存,对在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记;位号执行模块,用于执行各位号,查询各位号所属的IO模块及通道,从所属IO模块的组态配置中获取绑定的通道数据地址,根据通道数据地址从输入缓存或输出缓存中获取对应的未添加无效标记的通道数据。
优选的,所述预设通道更改模式包括预设采集通道更改模式和/或预设输出通道更改模式,所述预设采集通道更改模式包括但不限于:在无模拟量采集通道的IO模块中新配置模拟量采集通道、在无数字量采集通道的IO模块中新配置数字量采集通道、在配置有模拟量采集通道的IO模块中删除所有模拟量采集通道、或在配置有数字量采集通道的IO模块中删除所有数字量采集通道;所述预设输出通道更改模式包括但不限于在无模拟量输出通道的IO模块中新配置模拟量输出通道、在无数字量输出通道的IO模块中新配置数字量输出通道、在配置有模拟量输出通道的IO模块中删除所有模拟量输出通道、或在配置有数字量输出通道的IO模块中删除所有数字量输出通道。
优选的,所述位号执行模块被配置为根据更新后所述IO模块的组态配置中的输出通道类型和数量,分别计算数字信号和模拟信号的输出数据长度后作为对应信号类型的输出通道的回读数据长度,并按预设数据排序规则将所述IO模块的输出通道回读数据存入输入缓存,等待对应位号处理。
本发明还公开了一种控制系统,包括至少一通用IO模块和控制器模块,所述控制器模块通过总线与各通用IO模块通信,所述控制器模块包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一所述方法的步骤。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述方法的步骤。
本发明公开的通用IO模块的数据处理方法、控制系统,通过组态配置的方式对通用IO模块内各通道的信号类型和/或通道方向进行更改,并通过判断采集通道更改模式对全部或部分通道的数据地址进行修改更新,以保证位号处理时通道数据寻址的正确性,为发生更改的通道重新分配新位号进行绑定,同时检查所述IO模块对应的输入输出缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据和在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记,以增加在组态更新的瞬间位号值的安全性,最后在全部位号更新完毕后执行各位号,获取对应的未添加无效标记的通道数据,在总体上提高通用IO模块的安全性和可靠性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一实施例公开的一种通用IO模块的数据处理方法的步骤示意图。
图2为本发明一实施例公开的步骤S5的具体步骤示意图。
图3为本发明另一实施例公开的控制系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
通用IO模块相比传统IO模块,可自由配置各通道的信号类型和信号输出方向,具有极高的灵活性。但与此同时,与传统IO模块相比,通用IO模块在配置信息发生更改时,常会出现寻址错误以及因数据处理不当所导致的数据输入输出等错误,具有可靠性低、安全性差等问题。
对此,本实施例公开了一种通用IO模块的数据处理方法,如附图1所示,该数据处理方法具体可包括如下步骤:
步骤S1,解析IO模块的组态数据更新指令,根据所述组态数据更新指令对IO模块相应通道的信号类型和/或通道方向进行更改。
具体的,本实施例运用组态配置的方式,通过组态软件对IO模块各通道的信号类型以及数据传输方向进行配置,并将这些信息写入通用IO模块的通道组态信息中,为数据处理提供依据。其中,各通道的信号类型包括数字信号和模拟信号,各通道的通道方向包括输入方向和输出方向。
步骤S2,如果所述IO模块中的通道发生更改,则识别关联通道的更改模式是否符合预设通道更改模式,若符合则根据预设数据排序规则检查模块各通道的数据地址,并修改更新所有通道的数据地址,否则对发生更改的通道对应数据地址进行修改;所述预设数据排序规则被配置为在IO模块组态确定后,根据位号组态信息来对相同类型的数据按通道顺序分配存储空间的数据存储顺序的规则。
具体的,控制器内包含程序中用于负责处理IO模块各通道的位号以及提供给IO模块用于存储数据的数据存储区域。在本实施例的组态模式下,控制器按照预设数据排序规则及该IO模块的通道组态信息在数据存储区域中为其内部的各通道分配唯一的数据地址,并将该数据地址存入组态信息中,而后采用解耦的方式为IO模块配置位号,根据实际需要在不同位号和IO模块的不同通道之间进行灵活绑定,使得各通道所绑定的位号与为其分配的数据地址之间具有一一对应关系。由此产生的位号组态信息记录了该位号所绑定的模块以及通道。相比于传统IO模块,绑定到通用IO模块的位号其位号信息中会被打上标记,以此表明该位号被绑定到了通用IO模块上,此信息将作为位号处理时获取/写入数值时的分支依据。其中,控制器为通用IO模块提供两片数据区域,分别命名为输入数据区和输出数据区,用于存放输入类型的数据和输出类型的数据。
当IO模块中各通道组态信息发生更改时,所绑定的位号和为其分配的通道数据地址也需随之发生更改。为保证更改后输入输出寻址的正确性,避免因为因数据地址分配错误所导致的数据存取混乱,需对更改后的通道数据地址进行检查。其中,某些特殊设定下的通道更改模式可能引发严重的地址分配错误,导致数据损坏或读取错误、IO模块的性能及兼容性下降等多种问题发生。在本实施例中,可通过预先分析筛选此类设定情况,在该类情况下直接更新所有通道的数据地址,以保证位号处理时通道数据寻址的正确性,否则按照正常流程对更改的相应通道进行检查。
进一步地,所述预设数据排序规则还被配置为如果有通道的增加,则其后的通道数据依次移向之后的存储空间;如果有通道的删减,则其后的通道数据依次向前移动。该规则通过为每一模块分配连续的数据存储地址以及以增减的方式调控模块间各通道数据地址顺序的方式,使得各通道在配置信息发生改变时,尽可能减小存储地址的更改幅度,降低存储地址的更改错误几率。
所述预设通道更改模式包括预设采集通道更改模式和/或预设输出通道更改模式,所述预设采集通道更改模式包括但不限于:在无模拟量采集通道的IO模块中新配置模拟量采集通道、在无数字量采集通道的IO模块中新配置数字量采集通道、在配置有模拟量采集通道的IO模块中删除所有模拟量采集通道、或在配置有数字量采集通道的IO模块中删除所有数字量采集通道;所述预设输出通道更改模式包括但不限于在无模拟量输出通道的IO模块中新配置模拟量输出通道、在无数字量输出通道的IO模块中新配置数字量输出通道、在配置有模拟量输出通道的IO模块中删除所有模拟量输出通道、或在配置有数字量输出通道的IO模块中删除所有数字量输出通道。
具体的,当IO模块中的数字信号通道或者模拟信号通道的彻底消失或者首次出现时,可能导致数据的起始地址与对齐方式不匹配即内存错位现象的发生,致使程序崩溃或产生不可预测的现象。可通过预先设置在该类情况发生时直接更新所有通道的数据地址。为了减少使用空间,本实施例中将数字信号压缩成bit。
步骤S3,将发生更改的通道与原绑定位号进行解绑后,重新分配新位号进行绑定。
具体的,在通道组态信息更新后,控制器重新为该通道分配位号,原绑定位号将与该通道解绑,使得原位号处理时检测到自身未绑定通道,从而保持位号自身的值不变。位号自身的值是指该通道通过位号转换完成的最终数据。
步骤S4,检查所述IO模块对应的输入缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据添加无效标记;检查所述IO模块对应的输出缓存,对在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记。
具体的,对于输入缓存数据,新绑定的位号在取得通道数据后,对应地址上残留的旧数据可能会导致使新收到的数据不能适应。对于输出缓存数据,由于对数字量输出进行了压缩,在输出类型更改时,一个旧的模拟信号量数据将会同时影响多个数字量,如一个两字节的模拟量等效于16个数字量。因此,在组态更新后,需将对应地址上残留的输入缓存数据打上无效标记,以保证新数据不会受到旧数据的影响;在组态更新后、控制器所有位号更新前,控制器需要对输出缓存数据添加无效标记,以保证旧数据刷新前控制器不对通用IO模块进行数据的输出,确保工业现场数据的平稳。最终提高组态更新瞬间位号值的安全性。
步骤S5,执行各位号,查询各位号所属的IO模块及通道,从所属IO模块的组态配置中获取绑定的通道数据地址,根据通道数据地址从输入缓存或输出缓存中获取对应的未添加无效标记的通道数据。
在本实施例中,步骤S5还包括:
根据更新后所述IO模块的组态配置中的输出通道类型和数量,分别计算数字信号和模拟信号的输出数据长度后作为对应信号类型的输出通道的回读数据长度,并按预设数据排序规则将所述IO模块的输出通道回读数据存入输入缓存,等待对应位号处理。
具体的,当系统出现故障时,输出通道会将自身的输出值回传至控制器,此类回传的输出值在本实施例中被视为回读数据。回读数据也视为输入数据存入输入数据区中,遵循预设数据排序规则寻址。当回读数据产生时,控制器根据通用IO模块组态配置中的输出通道类型和数量,分别计算数字信号和模拟信号的输出数据长度,以此作为输出通道的回读数据长度,并按约定的数据排序规则将IO模块数据中的输出通道回读数据存入输入缓存,等待位号处理。且为保证回读数据处理的正确可靠,同输入数据一样,在组态更新后,回读数据收回前,该数据缓存将被认为是无效。其余处理与传统IO数据处理方式类似。
在本实施例中,步骤S5还包括:将整个IO模块的输出数据作为一段连续的内存,根据数据长度发送至所述IO模块,各输入位号对所述输出数据中各输出模块对应数据进行分解排序后写入数据。
具体的,数据的排序以及数值写入的工作由位号来完成。以整个模块为单位对输出数据进行传输后再进行分散处理,方便地对输出数据进行管理和操作,提高系统的效率和性能,使得输出数据的处理可以很好地应对模块通道类型变化的场景。
在本实施例中,如附图2所示,步骤S5还可以包括:
步骤S101,输入位号在检测到自身绑定到所述通用IO模块上后,将根据自身所属的模块及通道,通过所属IO模块的组态配置获取对应采集通道数据地址,从输入缓存的采集通道数据地址中取得对应的通道数据。
步骤S102,输出位号在检测到自身绑定到所述通用IO模块上后,将根据自身所属的模块及通道,通过所属IO模块的组态配置获取对应输出通道数据地址,将位号输出值按所述输出通道数据地址写入输出缓存,并在故障发生时以IO模块的输入缓存为基址,将自身的输出值作为回读数据回传录入输入缓存。
具体的,输入位号负责处理IO模块采集通道采集的数据,输出位号负责处理IO模块输出通道所有输出的数据。输入输出位号通过位号组态信息中所包含的模块和通道信息获取其一一对应的数据地址信息,并根据数据地址信息将所属通道中的缓存数据存入控制器中或输出至现场设备中。对于回读数据,输入缓存区中分配有特定的存储单元存储回读数据。
本实施例公开的通用IO模块的数据处理方法,通过组态配置的方式对通用IO模块内各通道的信号类型和/或通道方向进行更改,并通过判断采集通道更改模式对全部或部分通道的数据地址进行修改更新,以保证位号处理时通道数据寻址的正确性,为发生更改的通道重新分配新位号进行绑定,同时检查所述IO模块对应的输入输出缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据和在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记,以增加在组态更新的瞬间位号值的安全性,最后在全部位号更新完毕后执行各位号,获取对应的未添加无效标记的通道数据,在总体上提高通用IO模块的安全性和可靠性。
在另一实施例中,还公开了一种控制装置,包括解析模块、地址变更模块、解绑模块、数据标记模块和位号执行模块。其中,解析模块,用于解析IO模块的组态数据更新指令,根据所述组态数据更新指令对IO模块相应通道的信号类型和/或通道方向进行更改;地址变更模块,用于在IO模块中的通道发生更改时,识别关联通道的更改模式是否符合预设通道更改模式,若符合则根据预设数据排序规则检查模块各通道的数据地址,并修改更新所有通道的数据地址,否则对发生更改的通道对应数据地址进行修改;所述预设数据排序规则被配置为在IO模块组态确定后,根据位号组态信息来对相同类型的数据按通道顺序分配存储空间的数据存储顺序的规则;解绑模块,用于将发生更改的通道与原绑定位号进行解绑后,重新分配新位号进行绑定;数据标记模块,用于检查所述IO模块对应的输入缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据添加无效标记;检查所述IO模块对应的输出缓存,对在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记;位号执行模块,用于执行各位号,查询各位号所属的IO模块及通道,从所属IO模块的组态配置中获取绑定的通道数据地址,根据通道数据地址从输入缓存或输出缓存中获取对应的未添加无效标记的通道数据。
在本实施例中,该预设通道更改模式包括预设采集通道更改模式和/或预设输出通道更改模式,预设采集通道更改模式包括但不限于:在无模拟量采集通道的IO模块中新配置模拟量采集通道、在无数字量采集通道的IO模块中新配置数字量采集通道、在配置有模拟量采集通道的IO模块中删除所有模拟量采集通道、或在配置有数字量采集通道的IO模块中删除所有数字量采集通道;所述预设输出通道更改模式包括但不限于在无模拟量输出通道的IO模块中新配置模拟量输出通道、在无数字量输出通道的IO模块中新配置数字量输出通道、在配置有模拟量输出通道的IO模块中删除所有模拟量输出通道、或在配置有数字量输出通道的IO模块中删除所有数字量输出通道。
在本实施例中,该位号执行模块被配置为根据更新后所述IO模块的组态配置中的输出通道类型和数量,分别计算数字信号和模拟信号的输出数据长度后作为对应信号类型的输出通道的回读数据长度,并按预设数据排序规则将所述IO模块的输出通道回读数据存入输入缓存,等待对应位号处理。
上述控制装置的各功能与前面实施例所公开的通用IO模块的数据处理方法的各步骤基本对应,故在此不再详细展开描述,具体可参考前面公开的通用IO模块的数据处理方法各实施例。需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
在另一些实施例中,还公开了一种控制系统,如附图3所示,包括控制器模块1和至少一通用IO模块2,所述控制器模块1通过总线与各通用IO模块2通信,所述控制器模块1包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述各实施例中描述的通用IO模块的数据处理方法的各个步骤。
本领域技术人员可以理解,所述示意图仅仅是控制系统的示例,并不构成对控制系统设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述服务器设备的控制中心,利用各种接口和线路连接整个服务器设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述服务器设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述通用IO模块的数据处理方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (10)

1.一种通用IO模块的数据处理方法,其特征在于,包括如下步骤:
S1,解析IO模块的组态数据更新指令,根据所述组态数据更新指令对IO模块相应通道的信号类型和/或通道方向进行更改;
S2,如果所述IO模块中的通道发生更改,则识别关联通道的更改模式是否符合预设通道更改模式,若符合则根据预设数据排序规则检查模块各通道的数据地址,并修改更新所有通道的数据地址,否则对发生更改的通道对应数据地址进行修改;所述预设数据排序规则被配置为在IO模块组态确定后,根据位号组态信息来对相同类型的数据按通道顺序分配存储空间的数据存储顺序的规则;
S3,将发生更改的通道与原绑定位号进行解绑后,重新分配新位号进行绑定;
S4,检查所述IO模块对应的输入缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据添加无效标记;检查所述IO模块对应的输出缓存,对在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记;
S5,执行各位号,查询各位号所属的IO模块及通道,从所属IO模块的组态配置中获取绑定的通道数据地址,根据通道数据地址从输入缓存或输出缓存中获取对应的未添加无效标记的通道数据。
2.根据权利要求1所述的通用IO模块的数据处理方法,其特征在于,所述预设通道更改模式包括预设采集通道更改模式和/或预设输出通道更改模式,所述预设采集通道更改模式包括但不限于:在无模拟量采集通道的IO模块中新配置模拟量采集通道、在无数字量采集通道的IO模块中新配置数字量采集通道、在配置有模拟量采集通道的IO模块中删除所有模拟量采集通道、或在配置有数字量采集通道的IO模块中删除所有数字量采集通道;所述预设输出通道更改模式包括但不限于在无模拟量输出通道的IO模块中新配置模拟量输出通道、在无数字量输出通道的IO模块中新配置数字量输出通道、在配置有模拟量输出通道的IO模块中删除所有模拟量输出通道、或在配置有数字量输出通道的IO模块中删除所有数字量输出通道。
3.根据权利要求2所述的通用IO模块的数据处理方法,其特征在于,所述步骤S5还包括:
根据更新后所述IO模块的组态配置中的输出通道类型和数量,分别计算数字信号和模拟信号的输出数据长度后作为对应信号类型的输出通道的回读数据长度,并按预设数据排序规则将所述IO模块的输出通道回读数据存入输入缓存,等待对应位号处理。
4.根据权利要求3所述的通用IO模块的数据处理方法,其特征在于,所述步骤S5还包括:将整个IO模块的输出数据作为一段连续的内存,根据数据长度发送至所述IO模块,各输入位号对所述输出数据中各输出模块对应数据进行分解排序后写入数据。
5.根据权利要求4所述的通用IO模块的数据处理方法,其特征在于,所述步骤S5还包括:
输入位号在检测到自身绑定到所述通用IO模块上后,将根据自身所属的模块及通道,通过所属IO模块的组态配置获取对应采集通道数据地址,从输入缓存的采集通道数据地址中取得对应的通道数据;
输出位号在检测到自身绑定到所述通用IO模块上后,将根据自身所属的模块及通道,通过所属IO模块的组态配置获取对应输出通道数据地址,将位号输出值按所述输出通道数据地址写入输出缓存,并在故障发生时以IO模块的输入缓存为基址,将自身的输出值作为回读数据回传录入输入缓存。
6.一种控制装置,其特征在于,包括:
解析模块,用于解析IO模块的组态数据更新指令,根据所述组态数据更新指令对IO模块相应通道的信号类型和/或通道方向进行更改;
地址变更模块,用于在IO模块中的通道发生更改时,识别关联通道的更改模式是否符合预设通道更改模式,若符合则根据预设数据排序规则检查模块各通道的数据地址,并修改更新所有通道的数据地址,否则对发生更改的通道对应数据地址进行修改;所述预设数据排序规则被配置为在IO模块组态确定后,根据位号组态信息来对相同类型的数据按通道顺序分配存储空间的数据存储顺序的规则;
解绑模块,用于将发生更改的通道与原绑定位号进行解绑后,重新分配新位号进行绑定;
数据标记模块,用于检查所述IO模块对应的输入缓存,对在组态更改后收到的首个采集数据之前的所有输入缓存数据添加无效标记;检查所述IO模块对应的输出缓存,对在获取组态更新指令后但控制器所有位号完成更新前的输出缓存数据添加无效标记;
位号执行模块,用于执行各位号,查询各位号所属的IO模块及通道,从所属IO模块的组态配置中获取绑定的通道数据地址,根据通道数据地址从输入缓存或输出缓存中获取对应的未添加无效标记的通道数据。
7.根据权利要求6所述的控制装置,其特征在于,所述预设通道更改模式包括预设采集通道更改模式和/或预设输出通道更改模式,所述预设采集通道更改模式包括但不限于:在无模拟量采集通道的IO模块中新配置模拟量采集通道、在无数字量采集通道的IO模块中新配置数字量采集通道、在配置有模拟量采集通道的IO模块中删除所有模拟量采集通道、或在配置有数字量采集通道的IO模块中删除所有数字量采集通道;所述预设输出通道更改模式包括但不限于在无模拟量输出通道的IO模块中新配置模拟量输出通道、在无数字量输出通道的IO模块中新配置数字量输出通道、在配置有模拟量输出通道的IO模块中删除所有模拟量输出通道、或在配置有数字量输出通道的IO模块中删除所有数字量输出通道。
8.根据权利要求7所述的控制装置,其特征在于,所述位号执行模块被配置为根据更新后所述IO模块的组态配置中的输出通道类型和数量,分别计算数字信号和模拟信号的输出数据长度后作为对应信号类型的输出通道的回读数据长度,并按预设数据排序规则将所述IO模块的输出通道回读数据存入输入缓存,等待对应位号处理。
9.一种控制系统,包括至少一通用IO模块和控制器模块,所述控制器模块通过总线与各通用IO模块通信,所述控制器模块包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现如权利要求1-5任一所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5任一所述方法的步骤。
CN202311567902.9A 2023-11-21 2023-11-21 一种通用io模块的数据处理方法、控制系统 Pending CN117573579A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311567902.9A CN117573579A (zh) 2023-11-21 2023-11-21 一种通用io模块的数据处理方法、控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311567902.9A CN117573579A (zh) 2023-11-21 2023-11-21 一种通用io模块的数据处理方法、控制系统

Publications (1)

Publication Number Publication Date
CN117573579A true CN117573579A (zh) 2024-02-20

Family

ID=89884009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311567902.9A Pending CN117573579A (zh) 2023-11-21 2023-11-21 一种通用io模块的数据处理方法、控制系统

Country Status (1)

Country Link
CN (1) CN117573579A (zh)

Similar Documents

Publication Publication Date Title
CN100538659C (zh) 非易失性存储器系统内有效允许失序写处理的方法和装置
EP2460086B1 (en) Device identifier selection
CN104220991A (zh) 用于允许数据在nand闪存上的有效存储的架构
US20080270427A1 (en) Method and Apparatus for Configuring a Control Device, and Corresponding Control Device
CN102428452A (zh) 分割快闪存储器数据存储装置
CN107193560B (zh) 配置更新方法及装置
CN112014726A (zh) Dsp芯片测试装置及方法
CN116708193A (zh) 一种控制方法及装置
DE102021107336A1 (de) VORRICHTUNGEN, SYSTEME, UND VERFAHREN FÜR PCIe ENDPUNKT INTERRUPT
CN112000594B (zh) 一种PCIe设备管理方法及其运行系统
CN111415700A (zh) 一种修复方法、装置及计算机存储介质
CN117573579A (zh) 一种通用io模块的数据处理方法、控制系统
CN113345510A (zh) 一种flash的容量识别方法及容量识别系统
CN113177014A (zh) 基于检验方式的串口通讯方法和串口芯片
CN116389414A (zh) 地址分配方法、多设备系统及存储介质
CN116483745A (zh) 数据传输方法、装置、电源模块及存储介质
CN109144853B (zh) 一种软件定义无线电SoC芯片调试系统
CN103617135A (zh) 一种存储设备中数据读取的方法及装置
CN108460078B (zh) 辅助功能的执行方法、装置、存储介质及终端
US4531163A (en) Disc storage addressing circuit
US6003110A (en) Method and apparatus for converting memory addresses into memory selection signals
CN109871277B (zh) 进程间多请求管理方法、装置、终端设备及可读存储介质
CN107783813A (zh) 虚拟机监控和分配方法及装置
CN108614664A (zh) 基于NANDflash的读错误处理方法和装置
CN114760322A (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