本发明专利技术涉及PLC技术领域,且公开了一种基于Lua语言的新型PLC,包括:用于对用户可见的Lua应用程序;Lua语言,采用自动内存管理;Lua解释器,用于解释Lua用户程序,并执行;动态库,动态库用于将C语言函数封装成可以被Lua语言调用的库,针对PLC设备中的IO、通信接口物理接口;驱动程序,用于动态库提供可调用可操作的底层接口。本发明专利技术提出一种基于Lua语言的新型PLC,本发明专利技术减轻用户对PLC的编程负担;满足用户对PLC的定制化要求;完全满足PLC在各种场景的应用;可以快速实现功能。可以快速实现功能。可以快速实现功能。
【技术实现步骤摘要】
一种基于Lua语言的新型PLC
[0001]本专利技术涉及PLC领域,尤其涉及一种基于Lua语言的新型PLC。
技术介绍
[0002]PLC在能源、化工、航空航天、军事等自动化领域应用广泛。目前PLC的编程方式都是基于IEC61131
‑
3标准中的规范。
[0003]IEC61131
‑
3是IEEE制定的用于PLC的编程系统标准,定义了以下五种编程语言:指令表(IL)、梯形图(LD)、功能块(FBD)、结构化文本(STL)、顺序功能图(SFC)。基于这五种编程语言的传统PLC又分为编译型PLC和解释性PLC,编译型PLC的执行效率高于解释性PLC,但是开发难度较大。五种PLC编程语言可以同时使用,在不同使用场景下各有利弊。FBD和SFC更加直观,常用于复杂程序中的顶层设计;STL类似BASIC语言,常用于编写功能块,功能简单的程序常用梯形图和指令表。一种典型的PLC程序编译执行流程是:首先将五种PLC编程语言转化成统一的STL语言,再通过解释器将STL语言翻译成C语言,然后将C语言编译成可执行程序在目标PLC硬件上运行。
[0004]不同PLC厂商都会有自己的上位机软件给用户提供编程环境,不同厂商的软件一般是不能通用的。而且不同厂商的PLC编程软件生成的工程中程序也是不通用的。目前工程师学习掌握PLC编程中的五种语言是需要花费一定时间成本和技术门槛的,虽然PLC已有的编程方式成熟且规范,但PLC传统编程语言的编程效率低、抽象程度低、维护效率低等问题。提出一种基于Lua语言编程方式的新型PLC。
[0005]为解决上述问题,本申请中提出一种基于Lua语言的新型PLC。
技术实现思路
[0006](一)专利技术目的
[0007]为解决
技术介绍
中存在的技术问题,本专利技术提出一种基于Lua语言的新型PLC,本专利技术减轻用户对PLC的编程负担;满足用户对PLC的定制化要求;完全满足PLC在各种场景的应用;可以快速实现功能。
[0008](二)技术方案
[0009]为解决上述问题,本专利技术提供了一种基于Lua语言的新型PLC,包括:
[0010]用于对用户可见的Lua应用程序;
[0011]Lua语言,采用自动内存管理;
[0012]Lua解释器,用于解释Lua用户程序,并执行;
[0013]动态库,动态库用于将C语言函数封装成可以被Lua语言调用的库,针对PLC设备中的IO、通信接口物理接口;
[0014]驱动程序,用于动态库提供可调用可操作的底层接口。
[0015]优选的,PLC设备中的通信协议处理方法如下:
[0016]S1、先通过C语言,然后将面向用户的接口抽象出来,编译成动态库;
[0017]S2、用户在使用Lua编程引用此动态库;
[0018]S3、实现和不同厂商、不同通信协议的设备进行通信。
[0019]优选的,此时Lua用户程序自动执行的步骤:
[0020]S1、设置开机就执行目标Lua程序,
[0021]S2、在程序编辑器中编写Lua用户程序;
[0022]S3、通过网口将程序下载到PLC设备中;
[0023]S4、程序下载完成后复位一次PLC设备;
[0024]S5、Lua用户程序被自动执行。
[0025]优选的,还包括该硬件部分:
[0026]可以运行Linux系统MCU、CPU或者SoC。
[0027]优选的,还包括PCB,PCB板上设有DI(数字输入通道)、DO(数字输出通道)、ADC(模拟量数字量转换)、DAC(数字量模拟量转换)、PWM(脉冲输出)和频率计数。
[0028]优选的,硬件还包括通信接口。
[0029]优选的,通信接口包括CAN总线、485总线、串口和网口。
[0030]本专利技术的上述技术方案具有如下有益的技术效果:
[0031](1)基于Lua语言的PLC编程简单易用,用户可以轻松掌握并使用。
[0032](2)Lua是动态脚本语言,不需要经过预处理和编译,在PLC大型项目中可以快速下载到设备中并应用。
[0033](3)Lua接口的高度抽象化,PLC编程中Lua语言的代码量会少很多,系统好调试和好维护。
[0034](4)强大的可扩展性能,Lua语言有调用C语言的机制,可以通过C语言扩展PLC的算法和功能。
[0035](5)Lua语言的解释器本身就是标准C语言实现的,所以可以移植到各种硬件平台,移植性好。
[0036](6)在定制化PLC设备中,可以通过Lua脚本语言快速实现用户的定制化需求,快速交付应用。
[0037]底层使用C语言实现功能,应用层只对用户开放Lua编程接口,PLC程序的执行效率高。
附图说明
[0038]图1为本专利技术提出的一种基于Lua语言的新型PLC的结构示意图。
[0039]图2为本专利技术提出的一种基于Lua语言的新型PLC中的工作流程意图。
具体实施方式
[0040]为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。
[0041]如图1
‑
2所示,本专利技术提出的一种基于Lua语言的新型PLC,包括:
[0042]用于对用户可见的Lua应用程序;
[0043]Lua语言,采用自动内存管理;
[0044]Lua解释器,用于解释Lua用户程序,并执行;
[0045]动态库,动态库用于将C语言函数封装成可以被Lua语言调用的库,针对PLC设备中的IO、通信接口物理接口;
[0046]驱动程序,用于动态库提供可调用可操作的底层接口。
[0047]优选的,PLC设备中的通信协议处理方法如下:
[0048]S1、先通过C语言,然后将面向用户的接口抽象出来,编译成动态库;
[0049]S2、用户在使用Lua编程引用此动态库;
[0050]S3、实现和不同厂商、不同通信协议的设备进行通信。
[0051]优选的,此时Lua用户程序自动执行的步骤:
[0052]S1、设置开机就执行目标Lua程序,
[0053]S2、在程序编辑器中编写Lua用户程序;
[0054]S3、通过网口将程序下载到PLC设备中;
[0055]S4、程序下载完成后复位一次PLC设备;
[0056]S5、Lua用户程序被自动执行。
[0057]还包括该硬件部分:可以运行Linux系统MCU、CPU或者SoC。PCB,PCB板上设有DI(数字输入通道)、DO(数字输出通道)、ADC(模拟量数字量转换)、DAC(数字量模拟量转换)、PWM(脉冲输出)和频率计数。硬件本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于Lua语言的新型PLC,其特征在于,包括:用于对用户可见的Lua应用程序;Lua语言,采用自动内存管理;Lua解释器,用于解释Lua用户程序,并执行;动态库,动态库用于将C语言函数封装成可以被Lua语言调用的库,针对PLC设备中的IO、通信接口物理接口;驱动程序,用于动态库提供可调用可操作的底层接口。2.根据权利要求1所述的一种基于Lua语言的新型PLC,其特征在于,PLC设备中的通信协议处理方法如下:S1、先通过C语言,然后将面向用户的接口抽象出来,编译成动态库;S2、用户在使用Lua编程引用此动态库;S3、实现和不同厂商、不同通信协议的设备进行通信。3.根据权利要求1所述的一种基于Lua语言的新型PLC,其特征在于,此时Lua用户程序自动执行的步骤:S1...
【专利技术属性】
技术研发人员:陈蕾,焦志鹏,张杰,陈志雨,韩伟刚,徐翔,
申请(专利权)人:傲拓科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。