您好!欢迎光临工博士商城

SIEMENS西门子PLC服务商

产品:1056    

咨询热线:15801919207

QQ QQwx 微信
您当前的位置:首页 » 西门子新闻中心 » 西门子PLC与KUKA机器人数据传输的高低位交换问题
产品分类
西门子新闻中心
西门子PLC与KUKA机器人数据传输的高低位交换问题
发布时间:2019-08-16        浏览次数:279        返回列表
       在调试有关机器人项目的时候,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等其他品牌,要视具体情况而定。




 

联系热线:15801919207   联系人:仇经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 SIEMENS西门子PLC服务商