《vbeoggbm.docx》由会员分享,可在线阅读,更多相关《vbeoggbm.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、点击上方“正运动小助手,随时关注新动态!前几期课程,我们讲述了PLC的梯形图语言的基本知识,并与大家共享了使用ZDevelop软件的ZPLC语言调用ZVision视觉指令的方法。本期课程我们将通过使用ZPLC语言实现识别条形码的视觉功能的程序示例,进一步带领大家去了解PLC玩转机器视觉的实现方法。教学视频一检测原理梯形图介绍一识别条形码条形码是由不同的宽度、不同的反射率的条黑色和空白色组成的,根据特定的编码规则编制,用于表达一组数字、字母信息的图形标识符。机器视觉在进行条形码识别的经过中,将收集到的条形码信息二值化为黑白条,并根据条形码的编码规则输出对应的存储内容。二PLC玩转视觉在()的推文
2、中,我们介绍了使用ZPLC编程语言调用ZBasic语言的方法,即EXEBASIC指令。本期课程我们将和大家共享另一种调用方法,即便用ZPLC编程语言调用BASIC子程序。二软件演示梯形图介绍一检测要求使用ZDevelop软件的ZBASIC编程语言编写程序,用于识别软件所在目录的flash文件夹下命名为“code文件夹下的条形码内容。再使用ZPLC编程语言调用BASIC程序的主任务,进行循环检测识别。二实例演示1.打开ZDevelop软件:新建项目新建HMI文件新建main.bas文件新建global_variable.bas文件新建Plc1.plc文件,用于编写PLC执行程序文件添加到项目。2
3、.设计HMI界面。3.在global_variable.bas文件中添加全局变量。全局变量大部分使用数组构造注:basic编程中很多函数会以TABLE系统的数据构造做为参数table讲明table讲明17矩形roi控件坐标数据24数据码类型1112鼠标操作时获取的坐标26数据码结果主任务状态0-未初始化1-停止2-运行中3-正在停止GLOBALDIMmain_task_statemain_task_state=1任务号划分,主任务id-10GLOBALDIMmain_task_idmain_task_id=10定义图像变量GLOBALZVOBJECTgrabImg识别消耗时间GLOBALDIM
4、d_identfy_timed_identfy_time=0识别结果,结果存储方式为:类型:识别内容,如EAN-13:123456789GLOBALDIMd_identfy_rst(256)定义本地图片索引GLOBALDIMd_indexd_index=0定义读取图片的途径GLOBALDIMFile_Name(100)全局变量定义完成后再运行HMI文件RUNHmi.hmi,14.关联HMI界面控件变量。5.在main.bas文件中添加界面初始化函数,并在hmi系统设置中关联初始化函数名。endHMI界面初始化函数GLOBALSUBhmi_init()main_task_state=1初始化定位
5、检测主任务状态为停止状态1ZV_RESETCLIPSIZE(1280,960)初始化时根据图像分辨率设置区域的裁剪尺寸,此处图像分辨率为1280x960ZV_LATCHSETSIZE(0,HMI_CONTROLSIZEX(10,5),HMI_CONTROLSIZEY(10,5)设置锁存的大小d_identfy_rst=ZV_LATCHCLEAR(0)清空锁存通道0ENDSUB7.在main.bas文件中添加HMI界面按下连续运行按钮响应的函数,并关联动作函数名。HMI界面按下连续运行按钮时响应的函数GLOBALSUBbtn_run()if(1=main_task_state)then假如主任务
6、处于停止状态if(0=PROC_STATUS(main_task_id)then假如程序中任务未开启main_task_state=2将主任务状态设置为正在运行状态RUNTASKmain_task_id,main_task开启主任务endifendifENDSUB主任务执行的函数main_task:while(1)if(3=main_task_state)then假如主任务状态处于正在停止状态即停止按钮按下时main_task_state=1将主任务状态设置为停止状态exitwhile退出循环endif否则重复执行下面操作btn_identfy_test()识别条形码wendEND8.在mai
7、n.bas文件中添加HMI界面按下停止运行按钮响应的函数,并关联动作函数名。HMI界面按下停止按钮时响应的函数GLOBALSUBbtn_stop()if(2=main_task_state)then假如主任务状态处于2即正在连续执行任务时main_task_state=3将主任务状态置为3,退出循环endifENDSUB9.在main.bas文件中注释连续运行执行的主任务的函数部分,在Plc1.plc文件中添加ZPLC调用主任务执行函数子程序的代码。仿真演示效果1仿真演示效果2仿真演示效果3仿真演示效果4本次,正运动技术会PLC也能玩转机器视觉二,就共享到这里。更多精彩内容请关注“正运动小助手
8、公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。回首往期内容关于正运动技术正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业,主要产品有运动控制器、运动控制卡、视觉运动控制一体机、人机界面以及扩展模块等。正运动技术聚集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完好把握运动控制核心技术和实时工控软件平台技术的企业。