CN115857428B - 一种控制plc设备的方法、装置、存储介质及终端 - Google Patents

一种控制plc设备的方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN115857428B
CN115857428B CN202310050962.7A CN202310050962A CN115857428B CN 115857428 B CN115857428 B CN 115857428B CN 202310050962 A CN202310050962 A CN 202310050962A CN 115857428 B CN115857428 B CN 115857428B
Authority
CN
China
Prior art keywords
plc
interface
production line
driving
target
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.)
Active
Application number
CN202310050962.7A
Other languages
English (en)
Other versions
CN115857428A (zh
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.)
Advanced Institute of Information Technology AIIT of Peking University
Hangzhou Weiming Information Technology Co Ltd
Original Assignee
Advanced Institute of Information Technology AIIT of Peking University
Hangzhou Weiming Information 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 Advanced Institute of Information Technology AIIT of Peking University, Hangzhou Weiming Information Technology Co Ltd filed Critical Advanced Institute of Information Technology AIIT of Peking University
Priority to CN202310050962.7A priority Critical patent/CN115857428B/zh
Publication of CN115857428A publication Critical patent/CN115857428A/zh
Application granted granted Critical
Publication of CN115857428B publication Critical patent/CN115857428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

  • Programmable Controllers (AREA)

Abstract

本发明公开了一种控制PLC设备的方法、装置、存储介质及终端,方法包括:获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中;根据软件系统中注册的控制接口对PLC设备进行控制。由于本申请借鉴了Unix操作系统中对设备驱动的设计,将不同PLC型号的每个PLC设备的驱动文件封装在统一的设备驱动接口中,隐藏了对PLC控制的复杂操作,使得不同PLC设备的驱动接口统一到标准接口,从而降低了开发和维护的难度,提高了软件开发效率。

Description

一种控制PLC设备的方法、装置、存储介质及终端
技术领域
本发明涉及电子技术领域,特别涉及一种控制PLC设备的方法、装置、存储介质及终端。
背景技术
在电子技术领域,可编程逻辑控制器(Programmable Logic Controller,PLC)是常见的工业控制设备。PLC设备厂家较多,主要以国外厂家为主,例如西门子、三菱、贝加莱、欧姆龙等,其中每个厂商具备自己的私有协议,开发工程师在编写PLC程序时需要精通每个厂商的PLC相关知识,导致PLC软件的操作专业化程度高,开发效率低,对于大多数软件工程师而言,非常不友好。
而在实际的工业现场,PLC设备种类繁多,数量众多,往往一条生产线,会由多个PLC设备组成,而这些PLC设备,可能归属于不同厂家,而且随着生产线的升级换代,会出现多个厂家的不同型号的产品。因此,如何管理这些数目繁多的PLC设备,以及如何将这些设备和产线结合起来,高效统一快捷的管理这些工业现场设备,是工业控制领域所面临的一个难题。
发明内容
本申请实施例提供了一种控制PLC设备的方法、装置、存储介质及终端。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种控制PLC设备的方法,PLC设备是多条产线中不同PLC型号的多个PLC设备,方法包括:
获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;
基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中;
根据软件系统中注册的控制接口对PLC设备进行控制。
可选的,基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,包括:
将每个PLC设备的设备驱动注册至软件系统中,生成目标驱动链表;
通过软件系统读取产线配置文件,并基于产线配置文件获取多条产线信息;
根据每条产线信息在PLC配置文件中读取每条产线所包含的PLC设备信息;
根据目标驱动链表和每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备。
可选的,根据目标驱动链表和每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备,包括:
在每条产线所包含的PLC设备信息中获取每个PLC设备的设备驱动接口标识;
根据每个PLC设备的设备驱动接口标识遍历目标驱动链表,得到每条产线上各PLC设备的驱动信息;
将每条产线上各PLC设备的驱动信息关联到与其对应的PLC设备上,以初始化每条产线中不同PLC型号的多个PLC设备。
可选的,根据软件系统中注册的控制接口对PLC设备进行控制,包括:
在接收到针对任一产线上的任一目标PLC设备的操作指令时,根据操作指令在软件系统中注册的控制接口中调用目标驱动接口;
基于目标驱动接口对目标PLC设备进行控制。
可选的,操作指令至少包括PLC开启指令、PLC关闭指令、PLC读取指令、PLC写入指令以及附加功能指令;附加功能指令至少包括同步指令、连接指令以及配置指令;
根据操作指令在软件系统中注册的控制接口中调用目标驱动接口,包括:
当操作指令为PLC开启指令时,在软件系统中注册的控制接口中调用open()接口,并将open()接口确定为目标驱动接口;或者,
当操作指令为PLC关闭指令时,在软件系统中注册的控制接口中调用close()接口,并将close()接口确定为目标驱动接口;或者,
当操作指令为PLC读取指令时,在软件系统中注册的控制接口中调用read()接口,并将read()接口确定为目标驱动接口;或者,
当操作指令为PLC写入指令时,在软件系统中注册的控制接口中调用write()接口,并将write ()接口确定为目标驱动接口;或者,
当操作指令为附加功能指令时,在软件系统中注册的控制接口中调用ioctl()接口,并将ioctl()接口确定为目标驱动接口。
可选的,基于目标驱动接口对目标PLC设备进行控制,包括:
当目标驱动接口为open()接口时,将目标PLC设备的信息注册到操作系统中,并在目标PLC设备目录下增设设备节点;或者,
当目标驱动接口为close()接口时,将目标PLC设备的节点进行关闭;或者,
当目标驱动接口为read()接口时,对目标PLC设备的变量进行读取;或者,
当目标驱动接口为write()接口时,对目标PLC设备的寄存器写入预设参数;或者,
当目标驱动接口为ioctl()接口时,对目标PLC设备进行同步功能、连接功能或配置功能中的一种。
可选的,软件系统包括产线层、设备层以及驱动层;产线层用于描述任意一条产线所需要实现的功能,以及配置在该产线的PLC设备信息;设备层用于描述工业现场的具体设备;驱动层用于描述PLC设备的设备驱动。
第二方面,本申请实施例提供了一种控制PLC设备的装置,PLC设备是多条产线中不同PLC型号的多个PLC设备,装置包括:
驱动封装模块,用于获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;
驱动初始化模块,用于基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中;
PLC设备控制模块,用于根据软件系统中注册的控制接口对PLC设备进行控制。
第三方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,控制PLC设备的装置首先获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动,然后基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中,最后根据软件系统中注册的控制接口对PLC设备进行控制。由于本申请借鉴了Unix操作系统中对设备驱动的设计,将不同PLC型号的每个PLC设备的驱动文件封装在统一的设备驱动接口中,隐藏了对PLC控制的复杂操作,使得不同PLC设备的驱动接口统一到标准接口,从而降低了开发和维护的难度,提高了软件开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的一种控制PLC设备的方法的流程示意图;
图2是本申请实施例提供的一种软件系统的架构示意图;
图3是本申请实施例提供的一种软件系统中架构之间调用示意图;
图4是本申请实施例提供的一种软件系统的启动过程示意图;
图5是本申请实施例提供的一种控制PLC设备的装置的结构示意图;
图6是本申请实施例提供的一种终端的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请提供了一种控制PLC设备的方法、装置、存储介质及终端,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,由于本申请借鉴了Unix操作系统中对设备驱动的设计,将不同PLC型号的每个PLC设备的驱动文件封装在统一的设备驱动接口中,隐藏了对PLC控制的复杂操作,使得不同PLC设备的驱动接口统一到标准接口,从而降低了开发和维护的难度,提高了软件开发效率,下面采用示例性的实施例进行详细说明。
下面将结合附图1-附图4,对本申请实施例提供的控制PLC设备的方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的控制PLC设备的装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
请参见图1,为本申请实施例提供了一种控制PLC设备的方法的流程示意图,PLC设备是多条产线中不同PLC型号的多个PLC设备。如图1所示,本申请实施例的方法可以包括以下步骤:
S101,获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;
其中,不同PLC型号的每个PLC设备是一条产线上所具备的全部PLC设备,实际场景存在多条产线,产线即生产线。Unix操作系统是一种多用户、多进程的计算机操作系统。驱动文件是基于私有协议所构造的用于操作PLC设备的驱动接口生成的,比如三菱、西门子厂商提供的PLC设备的驱动文件,由于各厂商的一些私有协议的不同,导致控制方式并不完全一样,在这里面会实现相关的操作。
在本申请实施例中,Unix系统里,对用户程序而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供了一致的接口,一般来说是把设备映射为一个特殊的设备文件,用户程序可以象对其它文件一样对此设备文件进行操作。因此在对多条产线中不同PLC型号的多个PLC设备进行控制时,首先获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动。本实施例中由于不同PLC设备的驱动文件统一到了标准接口,从而提高了控制软件的通用性,后续通过统一的接口可实现对不同PLC设备进行操作,对于提高软件开发的效率,减少代码冗余也有很大的作用。
S102,基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中;
在本申请实施例中,在基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备时,首先将每个PLC设备的设备驱动注册至软件系统中,生成目标驱动链表,然后通过软件系统读取产线配置文件,并基于产线配置文件获取多条产线信息,其次根据每条产线信息在PLC配置文件中读取每条产线所包含的PLC设备信息,最后根据目标驱动链表和每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备。
具体的,在根据目标驱动链表和每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备时,首先在每条产线所包含的PLC设备信息中获取每个PLC设备的设备驱动接口标识,然后根据每个PLC设备的设备驱动接口标识遍历目标驱动链表,得到每条产线上各PLC设备的驱动信息,最后将每条产线上各PLC设备的驱动信息关联到与其对应的PLC设备上,以初始化每条产线中不同PLC型号的多个PLC设备。
本申请通过生成目标驱动链表,可通过查链表的方式快速遍历出每条产线上各PLC设备的驱动信息,提升了控制接口的注册效率。
S103,根据软件系统中注册的控制接口对PLC设备进行控制。
在本申请实施例中,在根据软件系统中注册的控制接口对PLC设备进行控制时,首先在接收到针对任一产线上的任一目标PLC设备的操作指令时,根据操作指令在软件系统中注册的控制接口中调用目标驱动接口,然后基于目标驱动接口对目标PLC设备进行控制。
具体的,操作指令至少包括PLC开启指令、PLC关闭指令、PLC读取指令、PLC写入指令以及附加功能指令;附加功能指令至少包括同步指令、连接指令以及配置指令。
具体的,在根据操作指令在软件系统中注册的控制接口中调用目标驱动接口时,当操作指令为PLC开启指令时,在软件系统中注册的控制接口中调用open()接口,并将open()接口确定为目标驱动接口;或者,当操作指令为PLC关闭指令时,在软件系统中注册的控制接口中调用close()接口,并将close()接口确定为目标驱动接口;或者,当操作指令为PLC读取指令时,在软件系统中注册的控制接口中调用read()接口,并将read()接口确定为目标驱动接口;或者,当操作指令为PLC写入指令时,在软件系统中注册的控制接口中调用write()接口,并将write ()接口确定为目标驱动接口;或者,当操作指令为附加功能指令时,在软件系统中注册的控制接口中调用ioctl()接口,并将ioctl()接口确定为目标驱动接口。
具体的,在基于目标驱动接口对目标PLC设备进行控制时,首先当目标驱动接口为open()接口时,将目标PLC设备的信息注册到操作系统中,并在目标PLC设备目录下增设设备节点;或者,当目标驱动接口为close()接口时,将目标PLC设备的节点进行关闭;或者,当目标驱动接口为read()接口时,对目标PLC设备的变量进行读取;或者,当目标驱动接口为write()接口时,对目标PLC设备的寄存器写入预设参数;或者,当目标驱动接口为ioctl()接口时,对目标PLC设备进行同步功能、连接功能或配置功能中的一种。
例如,驱动接口采用了Unix标准文件接口实现,具体如下:
open()接口:这部分是实现PLC的开启,当调用该接口,会将PLC设备的信息注册到操作系统里,在设备目录下,添加一个plc1作为一个设备节点,为之后的操作使用。
close()接口:关闭该节点。当close掉该节点后,就无法对该设备进行操作。
read()接口:实现了对PLC的变量读取操作,考虑到PLC设备的复杂性,在复杂情况下,该接口会和ioctl部分进行统一使用,这个是根据PLC设备的复杂程度进行调整的。
write()接口:实现了对PLC的寄存器写入的操作,里面包括了写入参数等值,同样的,对于一些特殊的操作,该接口可以和ioctl接口协同使用。
ioctl()接口:实现了一些PLC除了读写以外的操作,比如除了寄存器的操作以外,PLC还可以实现同步,连接,配置等功能,这些功能都在该接口实现。Ioctl里面包括了抽象出来的命令集,这些命令集不重复,一些命令是在各个厂商间的通用命令,而一些则是厂商间的特殊命令,该部分命令仅可以在该厂商单独使用。
通过以上接口的实现,一个软件工程师就可以很方便的对产线上的PLC设备进行灵活的控制。
具体的,例如图2所示,软件系统包括产线层、设备层以及驱动层;产线层用于描述任意一条产线所需要实现的功能,以及配置在该产线的PLC设备信息;设备层用于描述工业现场的具体设备;驱动层用于描述PLC设备的设备驱动。产线层包含了该产线上的PLC数量,种类,类型,功能等信息,实现的是对产线功能的软件抽象。设备层描述了PLC设备的基础信息,包括IP地址,设备名称等,设备层的设备从属于产线层产线节点,一般多个PLC设备组成了一个产线。驱动层包含了根据不同PLC型号而设计的驱动库。比如三菱、西门子,由于一些私有协议的不同,导致控制方式并不完全一样,在这里面会实现相关的操作。
具体的,采用了配置文件作为灵活配置产线和设备的手段,以此来实现对产线和PLC设备的控制。如图3所示,产线层和设备层会有对应的配置文件用于配置相关设备。在本实施例中,这些配置文件采用了json格式作为文件格式,并使用第三方的json库对json文件进行解析。
在产线层的配置文件中包括了产线名称、产线功能、产线实现、产线PLC数量等参数。而在设备层的配置文件中则包括了名称,产品类型,设备驱动名称等信息,其中设备驱动名称可以关联到驱动层的驱动设备。
具体的,例如图4所示,在该软件启动后,如步骤(一)所示,设备驱动,也就是PLC设备驱动,会依次注册到软件系统中,该软件会将其作为整合成一个驱动链表,存放在软件系统里。随后该软件会读取产线配置文件,如步骤(二)所示,来获取多条产线信息,包括产线功能、编号、产线类型等,该软件可以支持多条产线的PLC设备控制,当获取完产线信息。之后如步骤(三)所示,每条产线再读取该产线所包含的PLC设备信息。产线层知道对应的PLC设备后,如步骤(四)所示,会初始化PLC设备,注册设备信息。在初始化PLC设备时,该软件会获取当前PLC设备的相关数据,其中包括了该PLC的设备驱动接口标识,该驱动标识与设备初始化形成的驱动链表有关联,该软件会根据驱动标识遍历驱动链表,找到驱动信息后,会将该接口驱动关联到当前PLC设备上。而后,如步骤(六)所示,软件会依次将该产线节点的PLC设备均初始化完成。当该产线初始化完成,如步骤(七)所示,则开始下一个产线的设备初始化,当所有产线初始化完成,则完成了整个软件按系统初始化操作。此时,软件系统对PLC控制的相关接口已经全部注册到软件系统中,用户可以根据注册后的接口,通过软件来实现对PLC的相关控制。
在本申请实施例中,控制PLC设备的装置首先获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动,然后基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中,最后根据软件系统中注册的控制接口对PLC设备进行控制。由于本申请借鉴了Unix操作系统中对设备驱动的设计,将不同PLC型号的每个PLC设备的驱动文件封装在统一的设备驱动接口中,隐藏了对PLC控制的复杂操作,使得不同PLC设备的驱动接口统一到标准接口,从而降低了开发和维护的难度,提高了软件开发效率。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参见图5,其示出了本发明一个示例性实施例提供的控制PLC设备的装置的结构示意图,PLC设备是多条产线中不同PLC型号的多个PLC设备。该控制PLC设备的装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置1包括驱动封装模块10、驱动初始化模块20、PLC设备控制模块30。
驱动封装模块10,用于获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;
驱动初始化模块20,用于基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中;
PLC设备控制模块30,用于根据软件系统中注册的控制接口对PLC设备进行控制。
需要说明的是,上述实施例提供的控制PLC设备的装置在执行控制PLC设备的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制PLC设备的装置与控制PLC设备的方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,控制PLC设备的装置首先获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动,然后基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中,最后根据软件系统中注册的控制接口对PLC设备进行控制。由于本申请借鉴了Unix操作系统中对设备驱动的设计,将不同PLC型号的每个PLC设备的驱动文件封装在统一的设备驱动接口中,隐藏了对PLC控制的复杂操作,使得不同PLC设备的驱动接口统一到标准接口,从而降低了开发和维护的难度,提高了软件开发效率。
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的控制PLC设备的方法。
本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例的控制PLC设备的方法。
请参见图6,为本申请实施例提供了一种终端的结构示意图。如图6所示,终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种接口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(RandomAccess Memory,RAM),也可以包括只读存储器(Read-OnlyMemory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及控制PLC设备的应用程序。
在图6所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的控制PLC设备的应用程序,并具体执行以下操作:
获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;
基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中;
根据软件系统中注册的控制接口对PLC设备进行控制。
在一个实施例中,处理器1001在执行基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备时,具体执行以下操作:
将每个PLC设备的设备驱动注册至软件系统中,生成目标驱动链表;
通过软件系统读取产线配置文件,并基于产线配置文件获取多条产线信息;
根据每条产线信息在PLC配置文件中读取每条产线所包含的PLC设备信息;
根据目标驱动链表和每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备。
在一个实施例中,处理器1001在执行根据目标驱动链表和每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备时,具体执行以下操作:
在每条产线所包含的PLC设备信息中获取每个PLC设备的设备驱动接口标识;
根据每个PLC设备的设备驱动接口标识遍历目标驱动链表,得到每条产线上各PLC设备的驱动信息;
将每条产线上各PLC设备的驱动信息关联到与其对应的PLC设备上,以初始化每条产线中不同PLC型号的多个PLC设备。
在一个实施例中,处理器1001在执行根据软件系统中注册的控制接口对PLC设备进行控制时,具体执行以下操作:
在接收到针对任一产线上的任一目标PLC设备的操作指令时,根据操作指令在软件系统中注册的控制接口中调用目标驱动接口;
基于目标驱动接口对目标PLC设备进行控制。
在一个实施例中,处理器1001在执行根据操作指令在软件系统中注册的控制接口中调用目标驱动接口时,具体执行以下操作:
当操作指令为PLC开启指令时,在软件系统中注册的控制接口中调用open()接口,并将open()接口确定为目标驱动接口;或者,
当操作指令为PLC关闭指令时,在软件系统中注册的控制接口中调用close()接口,并将close()接口确定为目标驱动接口;或者,
当操作指令为PLC读取指令时,在软件系统中注册的控制接口中调用read()接口,并将read()接口确定为目标驱动接口;或者,
当操作指令为PLC写入指令时,在软件系统中注册的控制接口中调用write()接口,并将write ()接口确定为目标驱动接口;或者,
当操作指令为附加功能指令时,在软件系统中注册的控制接口中调用ioctl()接口,并将ioctl()接口确定为目标驱动接口。
在一个实施例中,处理器1001在执行基于目标驱动接口对目标PLC设备进行控制时,具体执行以下操作:
当目标驱动接口为open()接口时,将目标PLC设备的信息注册到操作系统中,并在目标PLC设备目录下增设设备节点;或者,
当目标驱动接口为close()接口时,将目标PLC设备的节点进行关闭;或者,
当目标驱动接口为read()接口时,对目标PLC设备的变量进行读取;或者,
当目标驱动接口为write()接口时,对目标PLC设备的寄存器写入预设参数;或者,
当目标驱动接口为ioctl()接口时,对目标PLC设备进行同步功能、连接功能或配置功能中的一种。
在本申请实施例中,控制PLC设备的装置首先获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动,然后基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将设备驱动的控制接口全部注册至软件系统中,最后根据软件系统中注册的控制接口对PLC设备进行控制。由于本申请借鉴了Unix操作系统中对设备驱动的设计,将不同PLC型号的每个PLC设备的驱动文件封装在统一的设备驱动接口中,隐藏了对PLC控制的复杂操作,使得不同PLC设备的驱动接口统一到标准接口,从而降低了开发和维护的难度,提高了软件开发效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,控制PLC设备的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,控制PLC设备的程序的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (9)

1.一种控制PLC设备的方法,其特征在于,所述PLC设备是多条产线中不同PLC型号的多个PLC设备,所述方法包括:
获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;
基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将所述设备驱动的控制接口全部注册至软件系统中;其中,
所述基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,包括:
将每个PLC设备的设备驱动注册至软件系统中,生成目标驱动链表;
通过所述软件系统读取产线配置文件,并基于所述产线配置文件获取多条产线信息;
根据每条产线信息在PLC配置文件中读取每条产线所包含的PLC设备信息;
根据所述目标驱动链表和所述每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备;
根据所述软件系统中注册的控制接口对所述PLC设备进行控制。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标驱动链表和所述每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备,包括:
在所述每条产线所包含的PLC设备信息中获取每个PLC设备的设备驱动接口标识;
根据所述每个PLC设备的设备驱动接口标识遍历所述目标驱动链表,得到每条产线上各PLC设备的驱动信息;
将每条产线上各PLC设备的驱动信息关联到与其对应的PLC设备上,以初始化每条产线中不同PLC型号的多个PLC设备。
3.根据权利要求1所述的方法,其特征在于,所述根据所述软件系统中注册的控制接口对所述PLC设备进行控制,包括:
在接收到针对任一产线上的任一目标PLC设备的操作指令时,根据所述操作指令在所述软件系统中注册的控制接口中调用目标驱动接口;
基于所述目标驱动接口对所述目标PLC设备进行控制。
4.根据权利要求3所述的方法,其特征在于,所述操作指令至少包括PLC开启指令、PLC关闭指令、PLC读取指令、PLC写入指令以及附加功能指令;所述附加功能指令至少包括同步指令、连接指令以及配置指令;
所述根据所述操作指令在所述软件系统中注册的控制接口中调用目标驱动接口,包括:
当所述操作指令为PLC开启指令时,在所述软件系统中注册的控制接口中调用open()接口,并将open()接口确定为目标驱动接口;或者,
当所述操作指令为PLC关闭指令时,在所述软件系统中注册的控制接口中调用close()接口,并将close()接口确定为目标驱动接口;或者,
当所述操作指令为PLC读取指令时,在所述软件系统中注册的控制接口中调用read()接口,并将read()接口确定为目标驱动接口;或者,
当所述操作指令为PLC写入指令时,在所述软件系统中注册的控制接口中调用write()接口,并将write ()接口确定为目标驱动接口;或者,
当所述操作指令为附加功能指令时,在所述软件系统中注册的控制接口中调用ioctl()接口,并将ioctl()接口确定为目标驱动接口。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标驱动接口对所述目标PLC设备进行控制,包括:
当所述目标驱动接口为open()接口时,将所述目标PLC设备的信息注册到操作系统中,并在所述目标PLC设备目录下增设设备节点;或者,
当所述目标驱动接口为close()接口时,将所述目标PLC设备的节点进行关闭;或者,
当所述目标驱动接口为read()接口时,对所述目标PLC设备的变量进行读取;或者,
当所述目标驱动接口为write()接口时,对所述目标PLC设备的寄存器写入预设参数;或者,
当所述目标驱动接口为ioctl()接口时,对所述目标PLC设备进行同步功能、连接功能或配置功能中的一种。
6.根据权利要求1所述的方法,其特征在于,所述软件系统包括产线层、设备层以及驱动层;所述产线层用于描述任意一条产线所需要实现的功能,以及配置在该产线的PLC设备信息;所述设备层用于描述工业现场的具体设备;所述驱动层用于描述PLC设备的设备驱动。
7.一种控制PLC设备的装置,其特征在于,所述PLC设备是多条产线中不同PLC型号的多个PLC设备,所述装置包括:
驱动封装模块,用于获取不同PLC型号的每个PLC设备的驱动文件,并将每个PLC设备的驱动文件封装至Unix操作系统的设备驱动接口中,得到每个PLC设备的设备驱动;
驱动初始化模块,用于基于每个PLC设备的设备驱动,初始化每条产线中不同PLC型号的多个PLC设备,以将所述设备驱动的控制接口全部注册至软件系统中;其中,
所述驱动初始化模块具体用于:
将每个PLC设备的设备驱动注册至软件系统中,生成目标驱动链表;
通过所述软件系统读取产线配置文件,并基于所述产线配置文件获取多条产线信息;
根据每条产线信息在PLC配置文件中读取每条产线所包含的PLC设备信息;
根据所述目标驱动链表和所述每条产线所包含的PLC设备信息,初始化每条产线中不同PLC型号的多个PLC设备;
PLC设备控制模块,用于根据所述软件系统中注册的控制接口对所述PLC设备进行控制。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-6任意一项所述的方法。
9.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-6任意一项所述的方法。
CN202310050962.7A 2023-02-02 2023-02-02 一种控制plc设备的方法、装置、存储介质及终端 Active CN115857428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310050962.7A CN115857428B (zh) 2023-02-02 2023-02-02 一种控制plc设备的方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310050962.7A CN115857428B (zh) 2023-02-02 2023-02-02 一种控制plc设备的方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN115857428A CN115857428A (zh) 2023-03-28
CN115857428B true CN115857428B (zh) 2023-06-16

Family

ID=85657448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310050962.7A Active CN115857428B (zh) 2023-02-02 2023-02-02 一种控制plc设备的方法、装置、存储介质及终端

Country Status (1)

Country Link
CN (1) CN115857428B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237146A (zh) * 2021-11-24 2022-03-25 深圳市海浦蒙特科技有限公司 一种软plc控制功能实现方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942078B (zh) * 2014-04-30 2017-11-17 华为技术有限公司 一种加载驱动程序的方法及嵌入式设备
CN111045840A (zh) * 2019-12-06 2020-04-21 北京和利时智能技术有限公司 Plc固件系统、封装接口方法、装置、存储介质及电子设备
CN111045393A (zh) * 2019-12-31 2020-04-21 上海新时达机器人有限公司 驱控一体伺服实现系统
CN113791636A (zh) * 2021-08-24 2021-12-14 上海机电工程研究所 组态化执行控制系统和方法
CN114510452A (zh) * 2022-01-10 2022-05-17 杭州未名信科科技有限公司 片上系统soc集成方法、装置及电子设备
CN115033230B (zh) * 2022-06-27 2024-02-27 中国电力科学研究院有限公司 嵌入式硬件平台的驱动程序生成方法、装置、设备及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237146A (zh) * 2021-11-24 2022-03-25 深圳市海浦蒙特科技有限公司 一种软plc控制功能实现方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115857428A (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
JP7189383B1 (ja) 検証システムおよび検証方法
US7987305B2 (en) Remote virtual placeholder configuration for distributed input/output modules
EP2498156A2 (en) Industrial simulation using redirected I/O module configurations
CN105940355B (zh) 用于启动工业自动化网络的方法以及现场设备
US11988998B2 (en) Method and apparatus for computer aided simulation of a modular technical system
CN114461478A (zh) 模拟器,驱动测试方法,电子设备及计算机可读存储介质
US11165745B2 (en) Control system, controller, and control method
CN115857428B (zh) 一种控制plc设备的方法、装置、存储介质及终端
JP3456692B2 (ja) データ処理装置
US5717588A (en) Programming system
US9391797B2 (en) Dynamic host profiles for option modules
CN112639636B (zh) 开发支援装置、开发支援方法以及存储介质
WO2019176336A1 (ja) 制御システム、開発支援装置、および開発支援プログラム
KR102359331B1 (ko) 기판 처리 시스템, 저장 매체 및 신규 장치를 등록하는 방법
JP2003131709A (ja) 制御表示装置、制御プログラムおよびそれを記録した記録媒体
CN111107100B (zh) 用于传输工业协议流量报文的设备
US20220100174A1 (en) Streamlining the commission of network identifiers
JP2004126817A (ja) 設定ツール装置及びプログラム製品
JPH07225831A (ja) 表示制御装置用のデータ作成支援装置
JP3269164B2 (ja) プログラマブルコントローラの周辺装置
JP7091986B2 (ja) 制御システム、制御方法、および開発支援プログラム
CN111541566A (zh) 交换机设备组网方法、支持profinet协议交换机设备及存储介质
JP2007172128A (ja) I/oシミュレータ装置
CN111413918A (zh) Opc通信标签的创建数据处理方法、系统和存储介质
JP4037941B2 (ja) 制御装置

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
GR01 Patent grant
GR01 Patent grant