视觉运控平台软件框架(5)---脚本lua,luaWrapper

视觉运控平台软件框架(5)---脚本lua,luaWrapper

lua源码,源码的编译方式我之前的博客有,这里不提。

luaWrapperModule:对自己写的类封装成lua供lua脚本调用。

有两种封装方式,可以封装成静态函数或者封装成lua类,但是我自己测试了下,如果封装成lua类的话内存不能自动释放,运行一段时间后内存用完就崩溃了。封装成静态函数调用就不需要关心内存的问题,因为它没有创建新的对象。

下面代码是对运动控制部分的封装,有封装成类的也有封装成静态函数的。

封装静态函数

视觉运控平台软件框架(5)---脚本lua,luaWrapper

 

封装成类供lua脚本调用

视觉运控平台软件框架(5)---脚本lua,luaWrapper

 

后续添加图像算法的封装,把算法封装成静态函数,就可以像halcon那样调用了

甚至log日志都是可以封装出来供lua脚本调用的

视觉运控平台软件框架(5)---脚本lua,luaWrapper

这里所有的模块必须放在一起做封装,因为lua调用的时候是通过状态机调用的,意味着所有封装的算子都需要封装到一个lua状态机中,调用的时候它才能准确解析。