本发明涉及plc领域,尤其涉及一种基于lua语言的新型plc。
背景技术:
1、plc在能源、化工、航空航天、军事等自动化领域应用广泛。目前plc的编程方式都是基于iec61131-3标准中的规范。
2、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硬件上运行。
3、不同plc厂商都会有自己的上位机软件给用户提供编程环境,不同厂商的软件一般是不能通用的。而且不同厂商的plc编程软件生成的工程中程序也是不通用的。目前工程师学习掌握plc编程中的五种语言是需要花费一定时间成本和技术门槛的,虽然plc已有的编程方式成熟且规范,但plc传统编程语言的编程效率低、抽象程度低、维护效率低等问题。提出一种基于lua语言编程方式的新型plc。
4、为解决上述问题,本申请中提出一种基于lua语言的新型plc。
技术实现思路
1、(一)发明目的
2、为解决背景技术中存在的技术问题,本发明提出一种基于lua语言的新型plc,本发明减轻用户对plc的编程负担;满足用户对plc的定制化要求;完全满足plc在各种场景的应用;可以快速实现功能。
3、(二)技术方案
4、为解决上述问题,本发明提供了一种基于lua语言的新型plc,包括:
5、用于对用户可见的lua应用程序;
6、lua语言,采用自动内存管理;
7、lua解释器,用于解释lua用户程序,并执行;
8、动态库,动态库用于将c语言函数封装成可以被lua语言调用的库,针对plc设备中的io、通信接口物理接口;
9、驱动程序,用于动态库提供可调用可操作的底层接口。
10、优选的,plc设备中的通信协议处理方法如下:
11、s1、先通过c语言,然后将面向用户的接口抽象出来,编译成动态库;
12、s2、用户在使用lua编程引用此动态库;
13、s3、实现和不同厂商、不同通信协议的设备进行通信。
14、优选的,此时lua用户程序自动执行的步骤:
15、s1、设置开机就执行目标lua程序,
16、s2、在程序编辑器中编写lua用户程序;
17、s3、通过网口将程序下载到plc设备中;
18、s4、程序下载完成后复位一次plc设备;
19、s5、lua用户程序被自动执行。
20、优选的,还包括该硬件部分:
21、可以运行linux系统mcu、cpu或者soc。
22、优选的,还包括pcb,pcb板上设有di(数字输入通道)、do(数字输出通道)、adc(模拟量数字量转换)、dac(数字量模拟量转换)、pwm(脉冲输出)和频率计数。
23、优选的,硬件还包括通信接口。
24、优选的,通信接口包括can总线、485总线、串口和网口。
25、本发明的上述技术方案具有如下有益的技术效果:
26、(1)基于lua语言的plc编程简单易用,用户可以轻松掌握并使用。
27、(2)lua是动态脚本语言,不需要经过预处理和编译,在plc大型项目中可以快速下载到设备中并应用。
28、(3)lua接口的高度抽象化,plc编程中lua语言的代码量会少很多,系统好调试和好维护。
29、(4)强大的可扩展性能,lua语言有调用c语言的机制,可以通过c语言扩展plc的算法和功能。
30、(5)lua语言的解释器本身就是标准c语言实现的,所以可以移植到各种硬件平台,移植性好。
31、(6)在定制化plc设备中,可以通过lua脚本语言快速实现用户的定制化需求,快速交付应用。
32、底层使用c语言实现功能,应用层只对用户开放lua编程接口,plc程序的执行效率高。
1.一种基于lua语言的新型plc,其特征在于,包括:
2.根据权利要求1所述的一种基于lua语言的新型plc,其特征在于,plc设备中的通信协议处理方法如下:
3.根据权利要求1所述的一种基于lua语言的新型plc,其特征在于,此时lua用户程序自动执行的步骤:
4.根据权利要求1所述的一种基于lua语言的新型plc,其特征在于,还包括该硬件部分:
5.根据权利要求1所述的一种基于lua语言的新型plc,其特征在于,还包括pcb,pcb板上设有di、do、adc、dac、pwm和频率计数。
6.根据权利要求5所述的一种基于lua语言的新型plc,其特征在于,硬件还包括通信接口。
7.根据权利要求6所述的一种基于lua语言的新型plc,其特征在于,通信接口包括can总线、485总线、串口和网口。