基于PLC的跨语言平台通信方法、系统、设备及介质技术方案

技术编号:36864916 阅读:12 留言:0更新日期:2023-03-15 18:59
本发明专利技术提供一种基于PLC的跨语言平台通信方法、系统、设备及介质,基于PLC的跨语言平台通信方法包括:创建队列函数库;由第一语言编写待发送数据,并将所述待发送数据发送至所述队列函数库;所述队列函数库对所述待发送数据进行运算,并发送由第二语言编写的运算结果。解决了跨语言编写任务交互时,由于语言不通导致的通信不便的问题。致的通信不便的问题。致的通信不便的问题。

【技术实现步骤摘要】
基于PLC的跨语言平台通信方法、系统、设备及介质


[0001]本专利技术涉及跨语言通信
,具体涉及一种基于PLC的跨语言平台通信方法、系统、设备及介质。

技术介绍

[0002]在风电领域应用的PLC中,通常需要运行两套程序。一套是PLC的控制策略,另一套为发电机的算法程序。这两种程序的编写语言是不统一的,控制策略使用ST(Structured Text,结构化文本)语言开发,而算法程序使用C/C++语言。在PLC中运行两套差异如此大的程序,通信就是一个无法回避的问题。
[0003]在Codesys编程中提供了一种称为SVI(Switch Virtual Interface,交换机虚拟接口)的数据通信接口。只要把全局变量加入到符号配置表中,通过SVI接口函数就可以找到该变量的相关信息。通过获取变量地址就可以去访问该变量,从而实现应用程序与驱动程序之间的通信。Codesys提供的SVI的通信接口,其实就是一种内存共享。虽然通过该方式可以实现应用程序与驱动程序之间的通信,但是功能过于单一,并且操作不方便。每次加入到符合配置表中的变量,首先写入到mconfig文件中,而且变量的路径也必须准确。通过变量的路径找到变量的地址,然后才可以进行使用。如此一来,控制器策略程序和算法程序和msconfig(Microsoft System Configuration,系统配置实用程序)的解析文件三方需要约定好变量,对控制策略的操作和算法程序进行跨语言编写任务交互时,由于语言不通导致通信不便。因此,需要提供一种基于PLC的跨语言平台通信方法、系统、设备及介质。

技术实现思路

[0004]鉴于以上现有技术的缺点,本专利技术的目的在于提供一种基于PLC的跨语言平台通信方法,以改善现有技术中,跨语言编写任务交互时,由于语言不通导致通信不便的问题。
[0005]为实现上述目的及其它相关目的,本专利技术提一种基于PLC的跨语言平台通信方法,包括以下过程:。
[0006]创建队列函数库;
[0007]由第一语言编写待发送数据,并将所述待发送数据发送至所述队列函数库;
[0008]所述队列函数库对所述待发送数据进行运算,并发送由第二语言编写的运算结果。
[0009]在本专利技术一实施例中,所述第一语言为结构化文本语言或C语言,所述第二语言对应为C语言或结构化文本语言。
[0010]在本专利技术一实施例中,所述队列函数库由第一语言平台创建,并在创建成功后,向所述第一语言平台返回创建成功信息。
[0011]在本专利技术一实施例中,所述所述由第一语言编写待发送数据,并将所述待发送数据发送至所述队列函数库包括以下过程:
[0012]解析对应的发送请求,并根据所述发送请求编写所述待发送数据;
[0013]将所述待发送数据通过预设的发送函数,发送至所述队列函数库。
[0014]在本专利技术一实施例中,所述队列函数库对所述待发送数据进行运算,并发送由第二语言编写的运算结果,包括以下过程:
[0015]将所述待发送数据对应的函数名与队列函数库中预存的多个函数名进行匹配,获得与所述待发送数据的函数名相应的队列函数库中的函数体;
[0016]将所述待发送数据代入至所述函数体中进行运算;
[0017]所述队列函数库将运算结果通过预设的接收函数发送至第二语言平台代入。
[0018]在本专利技术一实施例中,所述创建队列函数库之前,还包括:创建信号量函数,并判断所述信号量函数的创建状态,若所述信号量函数创建成功则发出信号量函数创建成功信息。
[0019]在本专利技术一实施例中,在所述信号量函数创建成功之后,获取所述信号量函数的信号,若获取成功则所述队列函数库执行对应的运算,否则进入阻塞状态,直至获取成功。
[0020]在本专利技术一实施例中,还提供一种基于PLC的跨语言平台通信系统,所述系统包括:
[0021]队列函数库创建模块,用于创建队列函数库;
[0022]待发送数据获取模块,用于由第一语言编写待发送数据,并将所述待发送数据发送至所述队列函数库;
[0023]运算结果获取模块,用于所述队列函数库对所述待发送数据进行运算,并发送由第二语言编写的运算结果。
[0024]在本专利技术一实施例中,还提供一种基于PLC的跨语言平台通信的设备,包括处理器,所述处理器与存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述任一项所述的方法。
[0025]在本专利技术一实施例中,还提供一种计算机可读存储介质,包括程序,当所述程序在计算机上运行时,使得计算机执行上述中任一项所述的方法。
[0026]综上所述,本专利技术中,第一语言和第二语言实现通信时,通过将待发送数据通过对应接口发送至创建的队列函数库中,在队列函数库中进行运算,运算完成后,队列函数库将运算结果发送至第二语言平台。实现了两种不同语言的通信。解决了第一语言和第二语言之间的编写任务交互时的通信问题。方便了两个不同领域工程师的任务协作,提高了跨语言的开发效率。能够简单快速的实现两个跨平台语言的跨端调用。
附图说明
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1显示为本专利技术一实施例中基于PLC的跨语言平台通信方法的流程示意图;
[0029]图2显示为本专利技术一实施例中步骤S2的流程示意图;
[0030]图3显示为本专利技术一实施例中步骤S3的流程示意图;
[0031]图4显示为本专利技术一实施例中基于PLC的跨语言平台通信系统的原理结构示意图。
[0032]元件标号说明:
[0033]10、基于PLC的跨语言平台通信系统;11、队列函数库创建模块;12、待发送数据获取模块;13、运算结果获取模块。
具体实施方式
[0034]以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其它优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。还应当理解,本专利技术实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本专利技术的保护范围。下列实施例中未注明具体条件的试验方法,通常按照常规条件,或者按照各制造商所建议的条件。
[0035]请参阅图1至图4。须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本专利技术可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于PLC的跨语言平台通信方法,其特征在于,包括以下过程:创建队列函数库;由第一语言编写待发送数据,并将所述待发送数据发送至所述队列函数库;所述队列函数库对所述待发送数据进行运算,并发送由第二语言编写的运算结果。2.根据权利要求1所述的基于PLC的跨语言平台通信方法,其特征在于,所述队列函数库由第一语言平台创建,并在创建成功后,向所述第一语言平台返回创建成功信息。3.根据权利要求1所述的基于PLC的跨语言平台通信方法,其特征在于,所述第一语言为结构化文本语言或C语言,所述第二语言对应为C语言或结构化文本语言。4.根据权利要求1所述的基于PLC的跨语言平台通信方法,其特征在于,所述由第一语言编写待发送数据,并将所述待发送数据发送至所述队列函数库包括以下过程:解析对应的发送请求,并根据所述发送请求编写所述待发送数据;将所述待发送数据通过预设的发送函数,发送至所述队列函数库。5.根据权利要求1所述的基于PLC的跨语言平台通信方法,其特征在于,所述队列函数库对所述待发送数据进行运算,并发送由第二语言编写的运算结果,包括以下过程:将所述待发送数据对应的函数名与队列函数库中预存的多个函数名进行匹配,获得与所述待发送数据的函数名相应的队列函数库中的函数体;将所述待发送数据代入至所述函数...

【专利技术属性】
技术研发人员:杜国斌姜智锐顾开祥邹文斌绍鹏程徐少文
申请(专利权)人:上海中广核工程科技有限公司
类型:发明
国别省市:

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

1