康耐视VisionproAdvanced Script规范脚本规范整体需要做到以下几点:
1、简单、明了、清晰:
代码写出来重点是给人看的,因此简单、明了、清晰是第一要务!代码的可阅读性要高于
代码的性能(除非你的代码以后不需要维护,那你写成啥样都无所谓)。简单、明了、清晰的代码
也利于后期维护,尤其是当你写的代码交给他人去维护的时候,请不要祸害别人!
2、精简
代码越长越难看懂,这个大家应该都深有体会,一个 1000 多行的函数和一个最多 100 行的
函数哪个好看?所以尽量将把函数写的精简。而且代码越长越容易出错,没有用的代码,变量
等一定要及时的清理掉!功能类似或者重复的代码应尽可能提炼成一个函数。
3、保持第三方代码风格
公司内部代码风格必须做到统一,方便维护,如果有第三方代码(比如 HAL 库、FATFS、emWIN、各种 OS、TGFX、Lwip、各种 Lib 等),出现风格冲突,应用程序还是以公司代码风
格编写,与第三方代码的接口程序允许两种风格并存,切记不要去修改第三方代码风格。
4、减少封装
我们做嵌入式教学源码的时候,切忌对第三方代码库进行再封装,不要为了让第三方代码
和我们的风格统一,而去修改第三方源码风格,或者重新写一套接口函数,以便和我们代码风
格统一。
为了统一而再次封装第三方代码会对我们的教学产生不利影响,会给初学者带来困惑,比
如 ST 官方的 Cube 库里面就为了兼容自己的代码风格,对 FreeRTOS 的 API 函数做了封装,结
果很多客户就问我们为何 ST 官方所调用的任务创建函数和我们的 FreeRTOS 教程不同!他们之
间有什么区别?他们之间没有任何区别,只是 ST 对其做了一个简单的封装,结果给学习者带
来了困惑!如果不做这个封装的话虽然影响到了代码风格的统一,但是却给学习者减少了困惑,
提高了学习效率,而提高客户的学习效率是我们的第一宗旨!
本章主要使用ToolBlock-C# Advanced Script脚本来编写程序,也是大多数使用康耐视Visionpro现场工程师使用的 Advanced Script脚本,
第一步骤:打开:
第二步骤:
第三步骤:打开的默认界面如图:
VisionPro通过”多态”技术实现脚本功能,VisionPro 的每一Job、toolGroup、toolBlock对象都含有一个接口对象,用户通过重写接口方法实现自定义拓展功能。以toolBlock为例, CogToolBlockAdvancedScriptBase接口中定义了子类中必须实现的函数,当toolBlock执行到某一节点(工具准备运行、工具运行完成等)时会调用相应的接口函数实现用户指定的功能。
第一种思路
第二种思路: