KUKA EthernetKRL与ABB Socket之间的相互问候

文章中使用西门子仿真S7-PLCSIM Advanced V3.0分别KUKA Officelite和ABB RobotStudio 进行TCP/IP通讯,此时PLC作为Server,机器人都作为Client;既然如此,那么ABB和KUKA之间能不能直接进行通讯呢?答案当然是肯定的。恰巧最近有朋友又问起来相关问题,于是又瞎捣鼓了一下,把ABB机器人作为Server,KUKA机器人作为Client:测试如下:

1、软件

  • ABB RobotStudio 6.08、选项PC interface
  • KUKA Officelite8.3、选项EthernetKRL
  • SocketTool(用于测试)

2、ABB RobotStudio 6.08设置

2.1-新建一个带PC interface选项的系统,ABB机器人作为Server,程序如下。

2.2-ABB RobotStudio 6.08无需进行额外的设置,直接运行程序即可。

<ETHERNETKRL>
  <CONFIGURATION>
    <EXTERNAL>
      <IP>192.168.0.1</IP>
      ;这里的地址一定要是192.168.0.1,仅针对Officelite,实际以现场要求为主。
      <PORT>59152</PORT>;端口号
    </EXTERNAL>
  </CONFIGURATION>
  <RECEIVE>
    <RAW>
      <ELEMENT Tag="Buffer" Type="STREAM" Set_Flag="1" Size="64" EOS="13,10" />
      ;注意回车换行结束符
    </RAW>
  </RECEIVE>
</ETHERNETKRL>

3.3-运行程序:BinaryStream.src

&ACCESS RVP
&REL 75
&PARAM SensorITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM DISKPATH = KRC:\R1\Program
DEF BinaryStream( )
;FOLD Declaration
  INT i
  DECL EKI_STATUS RET
  CHAR Bytes[64]
;ENDFOLD (Declaration)
;FOLD INI 
  ;FOLD BASISTECH INI   
  BAS (#INITMOV,0 )
  ;ENDFOLD (BASISTECH INI)
  ;FOLD USER INI
    ;Make your modifications here

  ;ENDFOLD (USER INI)
;ENDFOLD (INI)
;FOLD Clear Bytes[]
 FOR i=(1) TO (64)  
  Bytes[i]=0
 ENDFOR   
;ENDFOLD
LOOP
RET=EKI_Init("BinaryStream")
;初始化连接
RET=EKI_Open("BinaryStream")
;打开连接
Bytes[]="KUKA: Hello ABB"
RET = EKI_Send("BinaryStream",Bytes[])
;发送数据
;FOLD Clear Bytes
 FOR i=(1) TO (64)  
  Bytes[i]=0
 ENDFOR   
;ENDFOLD
WAIT FOR $FLAG[1]
;等待成功接收数据标志
$FLAG[1]=FALSE

RET=EKI_GetString("BinaryStream","Buffer",Bytes[])
;发送数据
wait sec 1.5
;FOLD Clear Bytes[]
 FOR i=(1) TO (64)  
  Bytes[i]=0
 ENDFOR   
;ENDFOLD

Bytes[]="KUKA: Goodbye ABB Brother"
RET = EKI_Send("BinaryStream",Bytes[])
;FOLD Clear dBytes[]
 FOR i=(1) TO (64)  
  Bytes[i]=0
 ENDFOR   
;ENDFOLD
WAIT FOR $FLAG[1]
$FLAG[1]=FALSE

RET=EKI_GetString("BinaryStream","Buffer",Bytes[])
;HALT
wait sec 1.5
;FOLD Clear dBytes[]
 FOR i=(1) TO (64)  
  Bytes[i]=0
 ENDFOR   
;ENDFOLD
RET=EKI_Close("BinaryStream")
;关闭连接
RET=EKI_Clear("BinaryStream")
;删除连接
ENDLOOP
END

3.4-OfficeLite虚拟机中KUKA Router设置和主机Vmnet1虚拟网卡IP设置

主机PING虚拟机192.168.0.1地址

KUKA Router设置 IP:192.168.2.222 端口号59152

主机中 VMnet1 IP地址192.168.2.222,与KUKA Router对应即可4、运行,先运行Server端ABB,再运行Client端KUKA

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 19
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧