本发明涉及plc(programmablelogiccontroller,可编程逻辑控制器)领域,更具体地说,涉及plc的硬件配置方法、装置、可读存储介质及plc。
背景技术:
工业自动化控制的应用领域广泛,包括石油、化工、医药、冶金、楼宇、交通运输和农业等应用领域。目前工业自动化控制采用的现场总线协议,包括canopen、modbus、profibus-dp、ethercat、devicenet和ethernet/ip等数十种。不同现场总线协议具有自身应用领域的优势,所以目前工控领域的现场总线协议纷繁复杂,多种多样。
即使是同一种现场总线协议,在不同的应用场景需要带载的从站个数也不相同。因此,现在亟需一种plc高扩展性的硬件配置方法。
技术实现要素:
有鉴于此,本发明提出plc的硬件配置方法、装置、可读存储介质及plc,欲实现灵活支持各种现场总线协议,以及支持每种现场总线协议带载不同的从站个数的目的。
为了实现上述目的,现提出的方案如下:
第一方面,提供一种plc的硬件配置方法,包括:
接收所述plc的配置信息,所述配置信息包括至少一个通信板卡标识和与每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息;
根据每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息,对每个所述通信板卡标识对应的通信板卡进行配置。
可选的,所述根据与每个所述通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与每个所述通信板卡标识对应的通信板卡进行配置,包括:
在所述通信板卡标识对应的配置类型为增加操作时,根据所述通信板卡标识对应的现场总线协议标识,从预先存储的多种现场总线协议驱动程序中匹配得到与所述通信板卡标识对应的现场总线协议驱动程序,并存储所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系;
根据与所述通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与所述通信板卡标识对应的通信板卡进行配置。
可选的,所述根据与每个所述通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与每个所述通信板卡标识对应的通信板卡进行配置,还包括:
在所述通信板卡标识对应的配置类型为修改操作时,根据所述通信板卡标识,将存储的所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系删除;
根据所述通信板卡标识对应的现场总线协议标识,从预先存储的多种现场总线协议驱动程序中匹配得到与所述通信板卡标识对应的现场总线协议驱动程序,并存储所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系;
根据与所述通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与所述通信板卡标识对应的通信板卡进行配置。
可选的,所述根据与每个所述通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与每个所述通信板卡标识对应的通信板卡进行配置,还包括:
在所述通信板卡标识对应的配置类型为删除操作时,根据所述通信板卡标识,将存储的所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系删除。
可选的,所述多种现场总线协议驱动程序以动态链接库的形式存在。
第二方面,提供一种plc的硬件配置装置,包括:
接收单元,用于接收所述plc的配置信息,所述配置信息包括至少一个通信板卡标识和与每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息;
配置单元,用于根据每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息,对每个所述通信板卡标识对应的通信板卡进行配置。
可选的,所述配置单元,具体用于:
在所述通信板卡标识对应的配置类型为增加操作时,根据所述通信板卡标识对应的现场总线协议标识,从预先存储的多种现场总线协议驱动程序中匹配得到与所述通信板卡标识对应的现场总线协议驱动程序,并存储所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系;
根据与所述通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与所述通信板卡标识对应的通信板卡进行配置。
可选的,所述配置单元,具体还用于:
在所述通信板卡标识对应的配置类型为修改操作时,根据所述通信板卡标识,将存储的所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系删除;
根据所述通信板卡标识对应的现场总线协议标识,从预先存储的多种现场总线协议驱动程序中匹配得到与所述通信板卡标识对应的现场总线协议驱动程序,并存储所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系;
根据与所述通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与所述通信板卡标识对应的通信板卡进行配置;
和/或,所述配置单元,还用于:
在所述通信板卡标识对应的配置类型为删除操作时,根据所述通信板卡标识,将存储的所述通信板卡标识和与所述通信板卡标识对应的现场总线协议驱动程序之间的对应关系删除。
第三方面,提供一种可读存储介质,其上存储有程序,所述程序被处理器执行时,实现第一方面中任意一种plc的硬件配置方法的各个步骤。
第四方面,提供一种plc,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如第一方面中任意一种plc的硬件配置方法的各个步骤
与现有技术相比,本发明的技术方案具有以下优点:
上述技术方案提供的一种plc的硬件配置方法、装置、可读存储介质及plc,方法包括接收所述plc的配置信息,配置信息包括至少一个通信板卡标识和与每个通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息;根据每个通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息,对每个通信板卡标识对应的通信板卡进行配置。本发明采用面向对象思想,将现场总线协议与具体的通信板卡进行解耦,这样每个通信板卡通过配置均可以实现不同的现场总线协议,plc的处理器只是面对通信板卡的标准接口进行输入、输出和诊断交互,不再关注现场总线协议。这样通过在plc中增加或删除不同类型的现场总线协议驱动程序,实现了对现场总线协议类型的高可扩展性,并通过增加或删除不同通信板卡与相应现场总线协议驱动程序之间的对应关系,实现支持现场总线协议组带载不同的从站个数的,从而保证方便了plc在现实场景应用中的硬件配置。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种plc的硬件配置方法的流程图;
图2为本发明实施例提供的一种通信板卡进行配置的方法的流程图;
图3为本发明实施例提供的一种plc的硬件配置装置的逻辑结构示意图;
图4为本发明实施例提供的一种plc的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供一种plc的硬件配置方法,参见图1,该plc的硬件配置方法包括步骤:
s11:接收plc的配置信息,配置信息包括至少一个通信板卡标识和与每个通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息。
管理人员利用组态工具对plc进行硬件配置。plc的硬件配置指的是根据plc的实际使用场景配置plc的实现相应现场总线协议的通信板卡和从站个数等信息。管理人员在组态工具的操作界面设置不同通信板卡要实现的具体现场总线协议。
在一个具体实施例中采用槽位slot作为通信板卡标识,用来表示插在槽位slot的通信板卡。现场总线协议包括但不限于canopen、modbus、profibus-dp、ethercat、devicenet和ethernet/ip等,每种现场总线协议设置一个对应的标识,即现场总线协议标识。配置类型包括增加操作、删除操作和修改操作。增加操作指的是通信板卡原来没有配置具体的现场总线协议和其它信息,通过增加操作对通信板卡进行配置。删除操作指的是对已经配置好的通信板卡进行配置信息的删除,使得通信板卡复位到未配置的状态。修改操作指的是对已经配置好的通信板卡修改为其它配置。从站配置信息包括从站个数等。
s12:根据每个通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息,对每个通信板卡标识对应的通信板卡进行配置。
预先在plc中存储多种现场总线协议驱动程序。现场总线协议驱动程序用于生成相应通信板卡的输入接口、输出接口、复位接口和诊断处理接口等,以实现plc的处理器与相应通信板卡之间的信息交互。
本实施例提供的上述plc的硬件配置方法,采用面向对象思想,将现场总线协议与具体的通信板卡进行解耦,这样每个通信板卡通过配置均可以实现不同的现场总线协议,plc的处理器只是面对通信板卡的标准接口进行输入、输出和诊断交互,不再关注现场总线协议。这样通过在plc中增加或删除不同类型的现场总线协议驱动程序,实现了对现场总线协议类型的高可扩展性;并通过增加或删除不同通信板卡与相应现场总线协议驱动程序之间的对应关系,实现支持现场总线协议组带载不同的从站个数的,从而保证方便了plc在现实场景应用中的硬件配置。
每个现场总线协议驱动程序在plc中的配置运行系统都以动态链接库的形式存在,以方便现场总线协议驱动程序的加载和卸载。在接收plc的配置信息,对通信板卡进行配置之前,还包括初始化过程。初始化过程具体包括但不限于以下内容:(1)获取每个现场总线协议驱动程序的动态链接库名称和初始化接口。即获取plc支持的现场总线协议种类,以及每个现场总线协议种类的初始化接口函数;(2)调用每种现场总线协议的初始化接口函数,初始化每种现场总线协议的标识cid和下载安装处理接口。
参见图2,对与通信板卡标识对应的通信板卡进行配置的过程,可以包括步骤:
s21:识别与每个通信板卡标识slot对应的配置类型,在通信板卡标识对应的配置类型为增加操作时执行步骤s22,在通信板卡标识对应的配置类型为修改操作时执行步骤s24,在通信板卡标识对应的配置类型为删除操作时执行步骤s27。
s22:根据通信板卡标识slot对应的现场总线协议标识cid,从预先存储的多种现场总线协议驱动程序driver中匹配得到与通信板卡标识slot对应的现场总线协议驱动程序driver,并存储通信板卡标识slot和与通信板卡标识slot对应的现场总线协议驱动程序driver之间的对应关系。
预先存储现场总线协议驱动程序driver时,还对应存储了现场总线协议驱动程序driver的标识cid,以区别不同的现场总线协议驱动程序driver。进而在配置过程中,通过现场总线协议标识cid匹配到相应的现场总线协议驱动程序driver。
s23:根据与通信板卡标识slot对应的现场总线协议驱动程序driver和从站配置信息,对与通信板卡标识slot对应的通信板卡进行配置。
通信板卡标识对应的现场总线协议驱动程序用于该通信板卡标识对应的通信板卡与plc的处理器之间的信息交互。将从站配置信息发送至通信板卡进行从站配置。
s24:根据通信板卡标识slot,将存储的通信板卡标识slot和与通信板卡标识slot对应的现场总线协议驱动程序driver之间的对应关系删除。
s25:根据通信板卡标识slot对应的现场总线协议标识cid,从预先存储的多种现场总线协议驱动程序driver中匹配得到与通信板卡标识slot对应的现场总线协议驱动程序driver,并存储通信板卡标识slot和与通信板卡标识slot对应的现场总线协议驱动程序driver之间的对应关系。
s26:根据与通信板卡标识slot对应的现场总线协议驱动程序driver和从站配置信息,对与通信板卡标识slot对应的通信板卡进行配置。
s27:根据通信板卡标识slot,将存储的通信板卡标识slot和与通信板卡标识slot对应的现场总线协议驱动程序driver之间的对应关系删除。
在plc实际工作过程中,遍历与每个通信板卡标识对应的现场总线协议驱动程序;根据现场总线协议驱动程序中的输出映射表读取第一内存区域的数据输出到通信板卡标识对应的通信板卡;读取通信板卡输入接口输入的数据,并根据现场总线协议驱动程序中的输入映射表保存到第二内存区域;读取通信板卡的诊断数据,并根据现场总线协议驱动程序中的诊断映射表保存到第三内存区域。
第一内存区域是plc的一片内存区域,plc组态工具将它作为各个通信板卡输出数据保存的内存区域;第二内存区域是plc的另一片内存区域,plc组态工具将它作为各个通信板卡输入数据保存的内存区域;第三内存区域是plc的又一片内存区域,plc组态工具将它作为各个通信板卡诊断数据保存的内存区域。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
本实施例提供一种plc的硬件配置装置,参见图3,该plc的硬件配置装置可以包括接收单元31和配置单元32。
接收单元31,用于接收所述plc的配置信息,配置信息包括至少一个通信板卡标识和与每个通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息。
配置单元32,用于根据每个通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息,对每个通信板卡标识对应的通信板卡进行配置。
本实施例提供的上述plc的硬件配置装置,采用面向对象思想,将现场总线协议与具体的通信板卡进行解耦,这样每个通信板卡通过配置均可以实现不同的现场总线协议,plc的处理器只是面对通信板卡的标准接口进行输入、输出和诊断交互,不再关注现场总线协议。通过在plc中增加或删除不同类型的现场总线协议驱动程序,实现了对现场总线协议类型的高可扩展性;并通过增加或删除不同通信板卡与相应现场总线协议驱动程序之间的对应关系,实现支持现场总线协议组带载不同的从站个数的,从而保证方便了plc在现实场景应用中的硬件配置。
在一个具体实施例中,配置单元32具体用于:在通信板卡标识对应的配置类型为增加操作时,根据通信板卡标识对应的现场总线协议标识,从预先存储的多种现场总线协议驱动程序中匹配得到与通信板卡标识对应的现场总线协议驱动程序,并存储通信板卡标识和与通信板卡标识对应的现场总线协议驱动程序之间的对应关系;根据与通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与通信板卡标识对应的通信板卡进行配置。
配置单元32具体还用于:在所述通信板卡标识对应的配置类型为修改操作时,根据通信板卡标识,将存储的通信板卡标识和与通信板卡标识对应的现场总线协议驱动程序之间的对应关系删除;根据通信板卡标识对应的现场总线协议标识,从预先存储的多种现场总线协议驱动程序中匹配得到与通信板卡标识对应的现场总线协议驱动程序,并存储通信板卡标识和与通信板卡标识对应的现场总线协议驱动程序之间的对应关系;根据与通信板卡标识对应的现场总线协议驱动程序和从站配置信息,对与通信板卡标识对应的通信板卡进行配置。
以及配置单元32,具体还用于:在通信板卡标识对应的配置类型为删除操作时,根据通信板卡标识,将存储的通信板卡标识和与通信板卡标识对应的现场总线协议驱动程序之间的对应关系删除。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
参见图4,为本实施例提供的一种plc的硬件结构示意图。该plc的硬件结构可以包括:至少一个处理器41,至少一个通信接口42,至少一个存储器43和至少一个通信总线44;且处理器41、通信接口42、存储器43通过通信总线44完成相互间的通信。
处理器41在一些实施例中可以是一个cpu(centralprocessingunit,中央处理器),或者是asic(applicationspecificintegratedcircuit,特定集成电路),或者是被配置成实施本发明实施例的一个或多个集成电路等。
通信接口42可以包括标准的有线接口和/或无线接口。通常用于在pcl与其他电子设备或系统之间建立通信连接,例如与plc组态工具、从站之间建立通信连接。
存储器43包括至少一种类型的可读存储介质。可读存储介质可以为如闪存、硬盘、多媒体卡、卡型存储器等nvm(non-volatilememory,非易失性存储器)。可读存储介质还可以是高速ram(randomaccessmemory,随机存取存储器)存储器。
其中,存储器43存储有计算机程序,处理器41可调用存储器43存储的计算机程序,所述计算机程序用于:
接收所述plc的配置信息,所述配置信息包括至少一个通信板卡标识和与每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息;
根据每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息,对每个所述通信板卡标识对应的通信板卡进行配置。
所述程序的细化功能和扩展功能可参照上文描述。
图4仅示出了具有组件41~44的plc,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该plc还可以包括用户接口,用户接口可以包括输入单元(比如键盘)、语音输入装置(比如包含麦克风的具有语音识别功能的设备)和/或语音输出装置(比如音响、耳机等)。可选地,用户接口还可以包括标准的有线接口和/或无线接口。
可选地,该plc还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)显示器等。显示器用于显示在数据校验设备中处理的信息以及用于显示可视化的用户界面。
可选地,该plc还包括触摸传感器。触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
此外,该plc的显示器的面积可以与触摸传感器的面积相同,也可以不同。可选地,将显示器与触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
本发明实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
接收所述plc的配置信息,所述配置信息包括至少一个通信板卡标识和与每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息;
根据每个所述通信板卡标识对应的现场总线协议标识、配置类型以及从站配置信息,对每个所述通信板卡标识对应的通信板卡进行配置。
所述程序的细化功能和扩展功能可参照上文描述。
需要说明的是,本公开上述的可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。在本公开中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。上述可读存储介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对本发明所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。