关于西门子PLC与KUKA机器人数据传输的高低位交换问题

已锁定

星动行働

  • 帖子

    210
  • 精华

    0
  • 被关注

    10

论坛等级:侠士

注册时间:2018-06-27

普通 普通 如何晋级?

关于西门子PLC与KUKA机器人数据传输的高低位交换问题

21414

13

2019-01-25 14:39:46

在调试有关机器人项目的时候,PLC那里的数据发给机器人有的需要做预处理,例如KUKA机器人,超过8位的数据,PLC发送前需经过SWAP指令处理一下,比如发送程序号,任务号,产品品规等数据时,这些数据一般在PLC当中是整数,双整数或者实数的类型。下面就以KUKA机器人作为案例,来具体谈谈。

首先解释一下SWAP指令

SWAP这个交换指令在指令集中的位置如下


具体作用:

 我用红色字体做了标准,相当于做了个比方,PLC的整数通过二进制地址存放时,是从高地址开始的,而KUKA机器人相反,例如,上图中1和2为Q0(Q0.0~0.7)和Q1(Q1.0~1.7),3和4为Q2(Q2.0~2.7)和Q3(Q3.0~3.7),PLC将双整数放入Q地址的时候,以二进制,先从Q3开始的,Q3存满后,存入Q2,依次Q1,Q0。而KUKA机器人处理数据相反,将整数转化为二进制,先从Q0开始,然后依次Q1至Q3。

 

PLC中实验程序对比如下:例如传输一个整数11,数据类型为16位整数,这里先说明一下,实际项目中KUKA机器人里如果有整数型变量,一般是定义一个16位的组信号存放整数,具体机器人程序中定义如下图所示:

 

接下来,继续说PLC的程序

 

 同样是11的整数,未经过转换是这样的:

 

经过转换后11的整数存放如下:


 

因此,上面两张图对比发现,经过交换指令处理后,KUKA机器人输入端口就可直接读取数据,无需另写程序转换,例如任务号,品规等。


具体项目实例:

首先导入KUKA机器人GSD文件,分配IO

 程序处理如下,程序中为SCL语言

 

QW600是发送给机器人的,是将IW104里的数据,经过了SWAP的交换处理.


之所以分享这份帖子,是之前许多项目中电气工程师和机器人工程师在数据传输的对接工作上,配合存在问题,机器人端口接收到数据但发现不对,PLC调试人员那边解释说已经发送了,相互之间不理解,就会存在误差。

当然处理的方法不止这一种,机器人内部也可以写程序进行转换,或者IO配置的时候就可以交叉配置。方法是多种的,但希望能互相理解这样的问题。另外,不是每种机器人都有类似问题,ABB,FANUC等其他品牌,要视具体情况而定。


欢迎更多朋友提出宝贵意见和建议,谢谢~

关于西门子PLC与KUKA机器人数据传输的高低位交换问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15093条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。