version = 2021 [proc] pid = 1010 type = 0 name = 自动标定吸嘴偏移 start = pause = step_count = 10 [step] sid = 21001 bDisable = 0 desc = 初始化 script: //必须示教好 P20 P21 i = 0 //总偏移量 j = 5 //每次x轴偏移量 count = 0 //压印次数 exit = 0 //失败退出信号 x1 = 0 //标定偏移 y1 = 0 x2 = 0 y2 = 0 x3 = 0 y3 = 0 x4 = 0 y4 = 0 cab_zpos = 0 //z拍照位置 script_end node_count = 4 [node] nid = 3100101 task = 1010 type = 14 state = 0 desc = node1 cmd = 吸料上下气缸1 = 0 [node] nid = 3100102 task = 1010 type = 14 state = 0 desc = node2 cmd = 吸料上下气缸2 = 0 [node] nid = 3100103 task = 1010 type = 14 state = 0 desc = node3 cmd = 吸料上下气缸3 = 0 [node] nid = 3100104 task = 1010 type = 14 state = 0 desc = node4 cmd = 吸料上下气缸4 = 0 [step] sid = 21002 bDisable = 0 desc = 取印尼 script: script_end node_count = 17 [node] nid = 3100251 task = 1 type = 2 state = 0 desc = node1 cmd = 20 20 20 [node] nid = 3100252 task = 1 type = 6 state = 0 desc = node2 cmd = p2 = p0 :z(safez) [node] nid = 3100253 task = 1 type = 7 state = 0 desc = node3 cmd = p2 [node] nid = 3100254 task = 1 type = 6 state = 0 desc = node4 cmd = p2 = p20 :z(safez) [node] nid = 3100255 task = 1 type = 7 state = 0 desc = node5 cmd = p2 [node] nid = 3100256 task = 1 type = 7 state = 0 desc = node6 cmd = p20 [node] nid = 3100257 task = 1 type = 14 state = 0 desc = node7 cmd = 吸料上下气缸1 = 1 [node] nid = 3100258 task = 1 type = 14 state = 0 desc = node8 cmd = 吸料上下气缸2 = 1 [node] nid = 3100259 task = 1 type = 14 state = 0 desc = node9 cmd = 吸料上下气缸3 = 1 [node] nid = 3100260 task = 1 type = 14 state = 0 desc = node10 cmd = 吸料上下气缸4 = 1 [node] nid = 3100261 task = 1 type = 1 state = 0 desc = node11 cmd = 500 [node] nid = 3100262 task = 1 type = 14 state = 0 desc = node12 cmd = 吸料上下气缸1 = 0 [node] nid = 3100263 task = 1 type = 14 state = 0 desc = node13 cmd = 吸料上下气缸2 = 0 [node] nid = 3100264 task = 1 type = 14 state = 0 desc = node14 cmd = 吸料上下气缸3 = 0 [node] nid = 3100265 task = 1 type = 14 state = 0 desc = node15 cmd = 吸料上下气缸4 = 0 [node] nid = 3100266 task = 1 type = 7 state = 0 desc = node16 cmd = p2 [node] nid = 3100267 task = 1 type = 1 state = 0 desc = node17 cmd = 0 [step] sid = 21003 bDisable = 0 desc = 压印尼 script: script_end node_count = 15 [node] nid = 3100351 task = 1 type = 6 state = 0 desc = node1 cmd = p3 = p21 +x(i) [node] nid = 3100352 task = 1 type = 6 state = 0 desc = node2 cmd = p2 = p3 :z(safez) [node] nid = 3100353 task = 1 type = 7 state = 0 desc = node3 cmd = p2 [node] nid = 3100354 task = 1 type = 14 state = 0 desc = node4 cmd = 吸料上下气缸1 = 1 [node] nid = 3100355 task = 1 type = 14 state = 0 desc = node5 cmd = 吸料上下气缸2 = 1 [node] nid = 3100356 task = 1 type = 14 state = 0 desc = node6 cmd = 吸料上下气缸3 = 1 [node] nid = 3100357 task = 1 type = 14 state = 0 desc = node7 cmd = 吸料上下气缸4 = 1 [node] nid = 3100358 task = 1 type = 7 state = 0 desc = node8 cmd = p3 [node] nid = 3100359 task = 1 type = 1 state = 0 desc = node9 cmd = 500 [node] nid = 3100360 task = 1 type = 14 state = 0 desc = node10 cmd = 吸料上下气缸1 = 0 [node] nid = 3100361 task = 1 type = 14 state = 0 desc = node11 cmd = 吸料上下气缸2 = 0 [node] nid = 3100362 task = 1 type = 14 state = 0 desc = node12 cmd = 吸料上下气缸3 = 0 [node] nid = 3100363 task = 1 type = 14 state = 0 desc = node13 cmd = 吸料上下气缸4 = 0 [node] nid = 3100364 task = 1 type = 7 state = 0 desc = node14 cmd = p2 [node] nid = 3100365 task = 1 type = 1 state = 0 desc = node15 cmd = 0 [step] sid = 21004 bDisable = 0 desc = 1号吸嘴拍照 script: x = -1*cameraoffsetx y = -1*cameraoffsety script_end node_count = 14 [node] nid = 3100451 task = 1 type = 6 state = 0 desc = node1 cmd = p2 = p3 +x(x) +y(y) :z(cab_zpos) [node] nid = 3100452 task = 1 type = 7 state = 0 desc = node2 cmd = p2 [node] nid = 3100453 task = 1 type = 22 state = 0 desc = node3 cmd = 31 "M7" [node] nid = 3100454 task = 1 type = 23 state = 0 desc = node4 cmd = 31 "WaitM7" 5000 ret offsetx offsety [node] nid = 3100455 task = 1 type = 27 state = 0 desc = node5 cmd = if(ret == 0) jump(3100462)//-->next [node] nid = 3100456 task = 1 type = 27 state = 0 desc = node6 cmd = redLight = 1 [node] nid = 3100457 task = 1 type = 27 state = 0 desc = node7 cmd = wlog("ERROR START",-1,"Camera capture failed","") [node] nid = 3100458 task = 1 type = 24 state = 0 desc = node8 cmd = 1 "Camera fail Are you Try again?" [node] nid = 3100459 task = 1 type = 27 state = 0 desc = node9 cmd = redLight = 0 [node] nid = 3100460 task = 1 type = 27 state = 0 desc = node10 cmd = if (4==t1){ wlog("ERROR END",-1,"Camera Try Again","");jump(3100453);} [node] nid = 3100461 task = 1 type = 27 state = 0 desc = node11 cmd = wlog("ERROR END",-1,"Camera To Next","");exit=1 [node] nid = 3100462 task = 1 type = 27 state = 0 desc = node12 cmd = x1 += offsetx [node] nid = 3100463 task = 1 type = 27 state = 0 desc = node13 cmd = y1 += offsety [node] nid = 3100464 task = 1 type = 1 state = 0 desc = node14 cmd = 0 [step] sid = 21005 bDisable = 0 desc = 2号吸嘴拍照 script: x = -1*(v2x+cameraoffsetx) y = -1*(v2y+cameraoffsety) script_end node_count = 14 [node] nid = 3100551 task = 1 type = 6 state = 0 desc = node1 cmd = p2 = p3 +x(x) +y(y) :z(cab_zpos) [node] nid = 3100552 task = 1 type = 7 state = 0 desc = node2 cmd = p2 [node] nid = 3100553 task = 1 type = 22 state = 0 desc = node3 cmd = 31 "M7" [node] nid = 3100554 task = 1 type = 23 state = 0 desc = node4 cmd = 31 "WaitM7" 5000 ret offsetx offsety [node] nid = 3100555 task = 1 type = 27 state = 0 desc = node5 cmd = if(ret == 0) jump(3100562)//-->next [node] nid = 3100556 task = 1 type = 27 state = 0 desc = node6 cmd = redLight = 1 [node] nid = 3100557 task = 1 type = 27 state = 0 desc = node7 cmd = wlog("ERROR START",-1,"Camera capture failed","") [node] nid = 3100558 task = 1 type = 24 state = 0 desc = node8 cmd = 1 "Camera fail Are you Try again?" [node] nid = 3100559 task = 1 type = 27 state = 0 desc = node9 cmd = redLight = 0 [node] nid = 3100560 task = 1 type = 27 state = 0 desc = node10 cmd = if (4==t1){ wlog("ERROR END",-1,"Camera Try Again","");jump(3100553);} [node] nid = 3100561 task = 1 type = 27 state = 0 desc = node11 cmd = wlog("ERROR END",-1,"Camera To Next","");exit=1 [node] nid = 3100562 task = 1 type = 27 state = 0 desc = node12 cmd = x2 += offsetx [node] nid = 3100563 task = 1 type = 27 state = 0 desc = node13 cmd = y2 += offsety [node] nid = 3100564 task = 1 type = 1 state = 0 desc = node14 cmd = 0 [step] sid = 21006 bDisable = 0 desc = 3号吸嘴拍照 script: x = -1*(v3x+cameraoffsetx) y = -1*(v3y+cameraoffsety) script_end node_count = 14 [node] nid = 3100651 task = 1 type = 6 state = 0 desc = node1 cmd = p2 = p3 +x(x) +y(y) :z(cab_zpos) [node] nid = 3100652 task = 1 type = 7 state = 0 desc = node2 cmd = p2 [node] nid = 3100653 task = 1 type = 22 state = 0 desc = node3 cmd = 31 "M7" [node] nid = 3100654 task = 1 type = 23 state = 0 desc = node4 cmd = 31 "WaitM7" 5000 ret offsetx offsety [node] nid = 3100655 task = 1 type = 27 state = 0 desc = node5 cmd = if(ret == 0) jump(3100662)//-->next [node] nid = 3100656 task = 1 type = 27 state = 0 desc = node6 cmd = redLight = 1 [node] nid = 3100657 task = 1 type = 27 state = 0 desc = node7 cmd = wlog("ERROR START",-1,"Camera capture failed","") [node] nid = 3100658 task = 1 type = 24 state = 0 desc = node8 cmd = 1 "Camera fail Are you Try again?" [node] nid = 3100659 task = 1 type = 27 state = 0 desc = node9 cmd = redLight = 0 [node] nid = 3100660 task = 1 type = 27 state = 0 desc = node10 cmd = if (4==t1){ wlog("ERROR END",-1,"Camera Try Again","");jump(3100653);} [node] nid = 3100661 task = 1 type = 27 state = 0 desc = node11 cmd = wlog("ERROR END",-1,"Camera To Next","");exit=1 [node] nid = 3100662 task = 1 type = 27 state = 0 desc = node12 cmd = x3 += offsetx [node] nid = 3100663 task = 1 type = 27 state = 0 desc = node13 cmd = y3 += offsety [node] nid = 3100664 task = 1 type = 1 state = 0 desc = node14 cmd = 0 [step] sid = 21007 bDisable = 0 desc = 4号吸嘴拍照 script: x = -1*(v4x+cameraoffsetx) y = -1*(v4y+cameraoffsety) script_end node_count = 14 [node] nid = 3100751 task = 1 type = 6 state = 0 desc = node1 cmd = p2 = p3 +x(x) +y(y) :z(cab_zpos) [node] nid = 3100752 task = 1 type = 7 state = 0 desc = node2 cmd = p2 [node] nid = 3100753 task = 1 type = 22 state = 0 desc = node3 cmd = 31 "M7" [node] nid = 3100754 task = 1 type = 23 state = 0 desc = node4 cmd = 31 "WaitM7" 5000 ret offsetx offsety [node] nid = 3100755 task = 1 type = 27 state = 0 desc = node5 cmd = if(ret == 0) jump(3100762)//-->next [node] nid = 3100756 task = 1 type = 27 state = 0 desc = node6 cmd = redLight = 1 [node] nid = 3100757 task = 1 type = 27 state = 0 desc = node7 cmd = wlog("ERROR START",-1,"Camera capture failed","") [node] nid = 3100758 task = 1 type = 24 state = 0 desc = node8 cmd = 1 "Camera fail Are you Try again?" [node] nid = 3100759 task = 1 type = 27 state = 0 desc = node9 cmd = redLight = 0 [node] nid = 3100760 task = 1 type = 27 state = 0 desc = node10 cmd = if (4==t1){ wlog("ERROR END",-1,"Camera Try Again","");jump(3100753);} [node] nid = 3100761 task = 1 type = 27 state = 0 desc = node11 cmd = wlog("ERROR END",-1,"Camera To Next","");exit=1 [node] nid = 3100762 task = 1 type = 27 state = 0 desc = node12 cmd = x4 += offsetx [node] nid = 3100763 task = 1 type = 27 state = 0 desc = node13 cmd = y4 += offsety [node] nid = 3100764 task = 1 type = 1 state = 0 desc = node14 cmd = 0 [step] sid = 21008 bDisable = 0 desc = 循环3次 script: count++ i += j //偏移量增加 if (exit==0 && count < 3) { jump(21003) return; } script_end node_count = 2 [node] nid = 3100801 task = 1010 type = 16 state = 0 desc = node1 cmd = exit=1 [node] nid = 3100802 task = 1010 type = 24 state = 0 desc = node2 cmd = 0 "标定失败." [step] sid = 21009 bDisable = 0 desc = 计算偏移量 script: if (exit==1) { jump(21010) return; } //取平均值 x1 /= count y1 /= count x2 /= count y2 /= count x3 /= count y3 /= count x4 /= count y4 /= count msg = "标定完成\n吸嘴1误差:x=" + str(x1) + " y=" + str(y1) + "\n吸嘴2误差:x=" + str(x2) + " y=" + str(y2)+ "\n吸嘴3误差:x=" + str(x3) + " y=" + str(y3)+ "\n吸嘴4误差:x=" + str(x4) + " y=" + str(y4) + "\n\n确认更新到配置吗?" script_end node_count = 23 [node] nid = 3100901 task = 1010 type = 24 state = 0 desc = node1 cmd = 1 msg [node] nid = 3100902 task = 1010 type = 27 state = 0 desc = node2 cmd = if (4 != t1010) jump(3100923) [node] nid = 3100903 task = 1010 type = 27 state = 0 desc = node3 cmd = v1x = 0 v1y = 0 [node] nid = 3100904 task = 1010 type = 27 state = 0 desc = node4 cmd = v2x = x2 - x1 [node] nid = 3100905 task = 1010 type = 27 state = 0 desc = node5 cmd = v2y = y2 - y1 [node] nid = 3100906 task = 1010 type = 27 state = 0 desc = node6 cmd = v3x = x3 - x1 [node] nid = 3100907 task = 1010 type = 27 state = 0 desc = node7 cmd = v3y = y3 - y1 [node] nid = 3100908 task = 1010 type = 27 state = 0 desc = node8 cmd = v4x = x4 - x1 [node] nid = 3100909 task = 1010 type = 27 state = 0 desc = node9 cmd = v4y = y4 - y1 [node] nid = 3100910 task = 1010 type = 27 state = 0 desc = node10 cmd = cameraoffsetx += x1 [node] nid = 3100911 task = 1010 type = 27 state = 0 desc = node11 cmd = cameraoffsety += y1 [node] nid = 3100912 task = 1010 type = 27 state = 0 desc = node12 cmd = config("vacm", "xoffset1", v1x) [node] nid = 3100913 task = 1010 type = 27 state = 0 desc = node13 cmd = config("vacm", "yoffset1", v1y) [node] nid = 3100914 task = 1010 type = 27 state = 0 desc = node14 cmd = config("vacm", "xoffset2", v2x) [node] nid = 3100915 task = 1010 type = 27 state = 0 desc = node15 cmd = config("vacm", "yoffset2", v2y) [node] nid = 3100916 task = 1010 type = 27 state = 0 desc = node16 cmd = config("vacm", "xoffset3", v3x) [node] nid = 3100917 task = 1010 type = 27 state = 0 desc = node17 cmd = config("vacm", "yoffset3", v3y) [node] nid = 3100918 task = 1010 type = 27 state = 0 desc = node18 cmd = config("vacm", "xoffset4", v4x) [node] nid = 3100919 task = 1010 type = 27 state = 0 desc = node19 cmd = config("vacm", "yoffset4", v4y) [node] nid = 3100920 task = 1010 type = 27 state = 0 desc = node20 cmd = config("vacm", "cameraoffsetx", cameraoffsetx) [node] nid = 3100921 task = 1010 type = 27 state = 0 desc = node21 cmd = config("vacm", "cameraoffsety", cameraoffsety) [node] nid = 3100922 task = 1010 type = 24 state = 0 desc = node22 cmd = 0 "更新成功,可重复启动一次验证标定." [node] nid = 3100923 task = 1010 type = 1 state = 0 desc = node23 cmd = 0 [step] sid = 21010 bDisable = 0 desc = end script: script_end node_count = 0