文章中使用西门子仿真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