前言

昨天有人在群里问了一个问题,大概需求就是项目现场机器人有上百个点位,每个点位客户都需要动态去微调位置,而且是在运行中调整。

想解决这个问题对于搞编程的人来说实现起来并不难。

思路

1.需要把修正量加到位置点中,因为只修正X,Y,Z三个方向的值,所以用SHIFT指令就够了。

2.需要做数组,每个位置点的X,Y,Z修正量对应一个唯一的变量值。

3.需要添加一个对应位置编号的整数值作为数组的下标值(pnum),而且可以实时修改。

4.因为是动态修正只能是在已经修正的数据上进行加减数据。

5.需要一个信号来触发这个修正的动作,并且只允许他执行一次(锁定它不允许执行)。

6.要添加一个解除锁定的信号。

7.要初始化(生成)所有数组变量,否则没有数据会报错。

8.可以一键把已经输入的数据归零,方便继续修正或者修正下一个点位。

9.以上功能可以实时监测并执行(需要后台程序)。

10.以上功能需要界面化操作(接口面板)。

实现步骤

1.规划变量,做接口面板(操作面板)

.INTER_PANEL_D
0,8,"px"," X修正量","    px",10,9,3,2,0
1,8,"py"," Y修正量","    py",10,9,3,2,0
2,8,"pz"," Z修正量","    pz",10,9,3,2,0
3,2,"   归零","   2004","","",2,4,9,2004,0
4,8,"pnum"," 修正编号","   pnum",10,9,3,1,0
5,2," 开始修正","   2002","","",10,4,9,2002,-1
6,2," 解除锁定","   2003","","",2,4,9,2003,0
13,1," 锁定标志","   2022","","",10,15,2,0,2022,0
20,2,"  初始化","   2001","","",2,4,9,2001,-1
.END

效果图

2.实现后台程序功能(实时监测并执行)

.PROGRAM autostart.pc() #0;后台程序CALL init;调用初始化程序
start:
; //初始化/生成修正数据IF SIG(2001) THENFOR a = 1 TO maxposfx[a] = 0fy[a] = 0
;     fz[a] = 0ENDEND
; //写入对应修正数据IF SIG(2002,-2022) THENfx[pnum] = fx[pnum]+pxfy[pnum] = fy[pnum]+pyfz[pnum] = fz[pnum]+pzSIGNAL 2022;//锁定重复执行END
; //解除修正限制IF SIG(2003) THENSIGNAL -2022END
;  //一键归零IF SIG(2004) THENpx = 0py = 0pz = 0ENDGOTO start
.END

3.初始化程序内容

可有可无,为了方便新手理解并没有把信号转化成变量加入到后台程序中

.PROGRAM init() #0;初始化程序
;为了方便理解后台程序信号转变量并未在后台程序使用ctrl_init = 2001;修正数据初始化信号ctrl_fix = 2002;修正数据使能ctrl_lock = 2022;修正功能锁定(防止二次执行修正)ctrl_unlock = 2003;允许修正数据(解除修正锁定)ctrl_zero = 2004;一键归零maxpos = 160;最大点位数(如果接口面板上做了元件就不用加了)RETURN
.END

4.主程序调用模板样例

.PROGRAM main() #0;前台执行程序
start:LMOVE SHIFT(p1 BY fx[1],fy[1],0)LMOVE SHIFT(p2 BY fx[2],fy[2],0)LMOVE SHIFT(p3 BY fx[3],fy[3],0)GOTO start
.END

总结

数组变量的应用适用于标准规则大体量数据的改变,循环语句要灵活运用.

解决问题的方法有很多种,程序模板只是给他人一个借鉴的思路.

本人发布在CSDN,作者工控闪剑,未经授权禁止转载!

川崎机器人几百个示教点位置的动态修正相关推荐

  1. 川崎机器人示教盒维修_专业维修丹阳市KUKA库卡KRC2库卡C4主板维修{苏州罗韦维修}...

    发那科机器人故障分析 发那科伺服放大器上LED指示灯故障维修大全_发那科机器人维修,FANUC机器人保养,伺服电机示教器减速器维修,驱动器维修,苏州发那科机器人维修,本文主要介绍了发那科伺服放大器上因 ...

  2. 川崎焊接机器人编程实例_机器人现场编程-川崎机器人示教-综合命令.pptx

    川崎工业机器人示教 综合命令一 .综合命令示教一 .综合命令示教综合命令示教(又称一体化示教)编程,程序由"综合命令"来编辑.命令要素显示行程序行命令要素参数显示行二. 综合命令的 ...

  3. 川崎机器人示教盒维修_川崎机器人维修

    川崎机器人维修rqng 川崎机器人维修 且工具有抖动:解决:使用MountingStiffnessTuning选择LowSpeedAccuracyMode,且DhFactor改为0.4降速到20mm/ ...

  4. 库卡机器人外部紧急关断已按_茂名市维修川崎机器人示教器中心

    茂名市维修川崎机器人示教器中心 " 驱动器出现奇偶错误,库卡机器人异常无法工作解决措施 简介一.故障现象及原因分析 机器人运行中,提示驱动模块**奇偶错误,原因为在读驱动模块寄存器时,连续出 ...

  5. 川崎机器人零点调整_FANUC机器人简易零点标定和零点位置标定

    ***************************************** 以下内容是本人之前一直搞不懂简易标定和零点标定的区别及具体操作步骤,故查阅多方资料后汇总所得,现将此整理分享,如有错 ...

  6. 川崎机器人c#通讯(转)

    由于本人在工业自动化行业做机器视觉的工作,所以除了图像处理方面要掌握外,还需要与工业机器人进行通信.最近学习了计算机与川崎机器人的TCP/IP通信,于是在这里记录一下. 除了直接与机器人通信外,有一种 ...

  7. 川崎机器人D系列as_川崎机器人|Profinet配置详解

    川崎机器人|Profinet配置详解 注:本文章文字.图片部分来自网络 版权归原作者,侵删. 您是否对将工业自动化集成到您的设施中感兴趣?如果是这样,那么您应该致电工业自动化和集成领域的领导者工博士. ...

  8. 川崎机器人here指令_川崎机器人定点修正坐标设置指导书.pdf

    川崎机器人定点修正坐标设置指导书 先按示教器上的[菜单]键 然后打开[键盘]页 然后把机器人移动到需要定点的位置上 输入:here 变量 这里的pick_t1 是位姿变量(示例) 然后确认输入 请翻阅 ...

  9. 川崎机器人总线通信_川崎机器人技术干货之机器人Profinet从站设定说明

    Profinet从站板卡安装于总线母板卡1TJ上 位置位于1TJ的上侧 总线母板插入到空余插槽位置即可 点击示教器键盘上的「菜单」按键,进入辅助功能=>6.输入/输出信号=>8.信号配置设 ...

最新文章

  1. 包云岗:是什么造成了学术界的科学精神之殇?
  2. Python defaultdict 模块和 namedtuple 模块
  3. Grpc C# 入门
  4. Host key verification failed.
  5. UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图
  6. (19)FPGA脉冲计数器设计(第4天)
  7. Linux的dup与dup2函数
  8. android studio手机与蓝牙收发数据_QT for Android :蓝牙
  9. UVA12043 Divisors【欧拉筛法】
  10. msf php脚本提权,[原创]WEB安全第六章 提权篇16 metasploit linux提权
  11. 随机效应估算与固定效应估算_纯电动汽车的电池价格,可以怎么估算?
  12. ubuntu下android刷机,Ubuntu下android刷机教程
  13. ifix 读写mysql_[转载]vb6读取ifix实时数据库和历史数据库
  14. workbench谐响应
  15. tableau数据汇总/明细/分-总的行列展示— Lee桑的学习笔记
  16. 【微信开发6】专属推广二维码 java+SpringBoot
  17. 联通光纤猫虚拟服务器设置,【2017年整理】联通光猫配置操作手册.doc
  18. js的json php无法json_decode,PHP中遇到BOM、 编码导致json_decode函数无法解析问题
  19. ijkplayer环境搭建
  20. 防抄板加密芯片ALPU笔记

热门文章

  1. tar.gz文件命名及压缩解压方法
  2. 单位网站老是被劫持跳转到菠菜网站怎么办
  3. Python实现自动批改作业系统~
  4. springcloud五大神兽及其原理
  5. Linux RPM 构建实战
  6. php实现撩妹,50个撩妹金句,充满套路又不失幽默
  7. Latex 设置页眉与正文顶部距离
  8. 澳大利亚麦考瑞大学计算机学院王岩教授招2023年入学博士研究生和双学位博士生
  9. D90四种对焦点模式
  10. 电竞英雄联盟数据API接口 - 【近期赛事列表】API调用示例代码