在现场总线普及之前,市面上主流通讯均是采用RS232或者485串口通讯,随着以太网技术逐渐推广,慢慢的串口逐渐走下神坛,但是不可否认,串口通讯仍然是智能设备标配通讯。***近,编者参与某3年前设备改造,现场ABB机器人同松下PLC采用串口通讯进行数据交互,获益匪浅。前人栽树,后人乘凉,虽然无缘相见,在次致敬大佬!
串口配置,程序案例:ABB 串口通讯com
编程前需要约定好报文格式,由此来确定解析数据的功能:
串口通讯报文解析(PLC---Robot)
想了解更多详情点击:ABB配件服务中心
串口通讯报文解析(PLC---Robot)
此文来源于网络 2021-06-20-----------------------------------------------------------------------------------
mDt400
\1 \R60为TRUE(1) FALSE(0) :机器人启动
\2 \R61为TRUE(1) FALSE(0) :扫码成功
\3 \R62为TRUE(1) FALSE(0) :扫码失败
\4 \R63为TRUE(1) FALSE(0) :堆叠完成后,工装板退回初始位置
\5 \R64为TRUE(1) FALSE(0) :允许机器人放电芯
\6 \R65为TRUE(1) FALSE(0) :PLC禁止使用
\7 \R66为TRUE(1) FALSE(0)
\8 \R67为TRUE(1) FALSE(0)
\9 \R68为TRUE(1) FALSE(0)
\10 \R69为TRUE(1) FALSE(0)
\11 \R6A为TRUE(1) FALSE(0)
\12 \R6B为TRUE(1) FALSE(0)
\13 \R6C为TRUE(1) FALSE(0)
\14 \R6D为TRUE(1) FALSE(0)
\15 \R6E为TRUE(1) FALSE(0)
\16 \R6F为TRUE(1) FALSE(0)
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
mOutDate{1}:启动扫码 ----------------------DT100
mOutDate{2}:
mOutDate{3}:模组堆叠完成 ----------------- DT101
mOutDate{4}:
mOutDate{5}:模组堆叠开始 ------------------ DT102
mOutDate{6}:
mOutDate{7}:线体2放料就绪 ----------------- DT103
mOutDate{8}:
mOutDate{9}:单个电芯放料完成 --------------- DT104
mOutDate{10}:
串口通道数据解析以及对其写入发送: Open "com1:",channel\Bin ;
WHILE TRUE DO
strRecv := ReadStrBin(channel,20);
result := StrToVal(StrPart(strRecv,1,2),mDt400);
result := StrToVal(StrPart(strRecv,3,2),mDt401);
result := StrToVal(StrPart(strRecv,5,2),mDt402);
result := StrToVal(StrPart(strRecv,7,2),mDt403);
result := StrToVal(StrPart(strRecv,9,2),mDt404);
result := StrToVal(StrPart(strRecv,11,2),mDt405);
result := StrToVal(StrPart(strRecv,13,2),mDt406);
result := StrToVal(StrPart(strRecv,15,2),mDt407);
result := StrToVal(StrPart(strRecv,17,2),mDt408);
result := StrToVal(StrPart(strRecv,19,2),mDt409);
IF BitCheck(mDt400,1)=TRUE THEN
R60:=TRUE;
ELSE
R60:=FALSE;
ENDIF
IF BitCheck(mDt400,2)=TRUE THEN
R61:=TRUE;
ELSE
R61:=FALSE;
ENDIF
IF BitCheck(mDt400,3)=TRUE THEN
R62:=TRUE;
ELSE
R62:=FALSE;
ENDIF
IF BitCheck(mDt400,4)=TRUE THEN
R63:=TRUE;
ELSE
R63:=FALSE;
ENDIF
IF BitCheck(mDt400,5)=TRUE THEN
R64:=TRUE;
ELSE
R64:=FALSE;
ENDIF
IF BitCheck(mDt400,6)=TRUE THEN
R65:=TRUE;
ELSE
R65:=FALSE;
ENDIF
IF DI8=1 THEN
mOutDate{7}:=1;
ELSE
mOutDate{7}:=0;
ENDIF
WRITEBIN channel,mOutDate,40;
ENDWHILE
想了解更多详情点击:ABB配件服务中心
- 下一篇:ABB力控调试优化参数之阻尼与滤波
- 上一篇:ABB机器人急停停止距离理论计算方法