ABB机器人与plc通讯常用指令值得收藏.docx
- 文档编号:4638928
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:84
- 大小:20.25KB
ABB机器人与plc通讯常用指令值得收藏.docx
《ABB机器人与plc通讯常用指令值得收藏.docx》由会员分享,可在线阅读,更多相关《ABB机器人与plc通讯常用指令值得收藏.docx(84页珍藏版)》请在冰豆网上搜索。
ABB机器人与plc通讯常用指令值得收藏
ABB机器人与plc通讯常用指令,值得收藏!
指令
功能
描述
备注
示例
串口或文件写入与读取相关指令
Open
打开
打开串行通道/文件,以通过二进制模式传输数
必须先定义通道,例VARiodevchannel_1;
必须和CLOSE配合使用;
读取或写入前先使用ClearIOBuff;
VARstringOUT_string_1;
VARstringIN_string_1;
VARstringResult;
VARiodevchannel_1;
PROCmain()
Open"com1:
",channel_1\bin;
!
打开串口1,通道chanbel_1,形式bin
WaitTime0.3;
ClearIOBuffchannel_1;
!
串口清除缓存
OUT_string_1:
="RobotRequest
!
OUT_string_1字符串为
WriteStrBinchannel_1,OUT_string_1;
!
通道1写入字符串
!
IFmodel<=9THEN
!
IN_string_1:
=ReadStrbin(channel_1,25\time:
=3);
!
ELSE
IN_string_1:
=ReadStrBin(channel_1,26\time:
=2);
!
读取通道126位字符串数据,等待时间2s
!
ENDIF
Result_ChPos:
=StrMatch(IN_string_1,1,"Result=")+7;
!
查找读取到的字符串"Result="第一个字符在26位字符串中的位置
Result:
=StrPart(IN_string_1,Result_ChPos,1);
!
Result为26位字符串中"Result="第一个字符在26位字符串中后面第七位开始计算,一位字符串
IFResult="1"THEN
ClearIOBuffchannel_1;
Closechannel_1;
NG;
ExitCycle;
ENDIF
ClearIOBuffchannel_1;
Closechannel_1;
model:
=model+1;
ERROR
ClearIOBuffchannel_1;
Closechannel_1;
Open"com1:
",channel_1\bin;
WaitTime2;
ClearIOBuffchannel_1;
OUT_string_1:
="RobotRequest
WriteStrBinchannel_1,OUT_string_1;
SetD652_10_DO9;
WaitTime0.2;
ResetD652_10_DO9;
!
读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动
ENDPROC
必须先设定波特率一致,波特率设置配置中可查看。
Close
关闭
关闭通道/文件
必须先定义通道,例VARiodevchannel_1;
必须和OPEN配合使用;
VARstringOUT_string_1;
VARstringIN_string_1;
VARstringResult;
VARiodevchannel_1;
PROCmain()
Open"com1:
",channel_1\bin;
!
打开串口1,通道chanbel_1,形式bin
WaitTime0.3;
ClearIOBuffchannel_1;
!
串口清除缓存
OUT_string_1:
="RobotRequest
!
OUT_string_1字符串为
WriteStrBinchannel_1,OUT_string_1;
!
通道1写入字符串
!
IFmodel<=9THEN
!
IN_string_1:
=ReadStrbin(channel_1,25\time:
=3);
!
ELSE
IN_string_1:
=ReadStrBin(channel_1,26\time:
=2);
!
读取通道126位字符串数据,等待时间2s
!
ENDIF
Result_ChPos:
=StrMatch(IN_string_1,1,"Result=")+7;
!
查找读取到的字符串"Result="第一个字符在26位字符串中的位置
Result:
=StrPart(IN_string_1,Result_ChPos,1);
!
Result为26位字符串中"Result="第一个字符在26位字符串中后面第七位开始计算,一位字符串
IFResult="1"THEN
ClearIOBuffchannel_1;
Closechannel_1;
NG;
ExitCycle;
ENDIF
ClearIOBuffchannel_1;
Closechannel_1;
model:
=model+1;
ERROR
ClearIOBuffchannel_1;
Closechannel_1;
Open"com1:
",channel_1\bin;
WaitTime2;
ClearIOBuffchannel_1;
OUT_string_1:
="RobotRequest
WriteStrBinchannel_1,OUT_string_1;
SetD652_10_DO9;
WaitTime0.2;
ResetD652_10_DO9;
!
读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动
ENDPROC
必须先设定波特率一致,波特率设置配置中可查看。
ClearIOBuff
清除缓存
清除串行通道的输入缓存
必须先定义通道,例VARiodevchannel_1;
必须先打开通道,例Open"com1:
",channel_1\bin;
VARstringOUT_string_1;
VARstringIN_string_1;
VARstringResult;
VARiodevchannel_1;
PROCmain()
Open"com1:
",channel_1\bin;
!
打开串口1,通道chanbel_1,形式bin
WaitTime0.3;
ClearIOBuffchannel_1;
!
串口清除缓存
OUT_string_1:
="RobotRequest
!
OUT_string_1字符串为
WriteStrBinchannel_1,OUT_string_1;
!
通道1写入字符串
!
IFmodel<=9THEN
!
IN_string_1:
=ReadStrbin(channel_1,25\time:
=3);
!
ELSE
IN_string_1:
=ReadStrBin(channel_1,26\time:
=2);
!
读取通道126位字符串数据,等待时间2s
!
ENDIF
Result_ChPos:
=StrMatch(IN_string_1,1,"Result=")+7;
!
查找读取到的字符串"Result="第一个字符在26位字符串中的位置
Result:
=StrPart(IN_string_1,Result_ChPos,1);
!
Result为26位字符串中"Result="第一个字符在26位字符串中后面第七位开始计算,一位字符串
IFResult="1"THEN
ClearIOBuffchannel_1;
Closechannel_1;
NG;
ExitCycle;
ENDIF
ClearIOBuffchannel_1;
Closechannel_1;
model:
=model+1;
ERROR
ClearIOBuffchannel_1;
Closechannel_1;
Open"com1:
",channel_1\bin;
WaitTime2;
ClearIOBuffchannel_1;
OUT_string_1:
="RobotRequest
WriteStrBinchannel_1,OUT_string_1;
SetD652_10_DO9;
WaitTime0.2;
ResetD652_10_DO9;
!
读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动
ENDPROC
必须先设定波特率一致,波特率设置配置中可查看。
WriteStrBin
字符串写入
将字符串写入一个二进制串行通道或一份文件
必须先定义通道,例VARiodevchannel_1;
必须先打开通道,例Open"com1:
",channel_1\bin;
必须先清除通道缓存,例ClearIOBuffchannel_1;
VARstringOUT_string_1;
VARstringIN_string_1;
VARstringResult;
VARiodevchannel_1;
PROCmain()
Open"com1:
",channel_1\bin;
!
打开串口1,通道chanbel_1,形式bin
WaitTime0.3;
ClearIOBuffchannel_1;
!
串口清除缓存
OUT_string_1:
="RobotRequest
!
OUT_string_1字符串为
WriteStrBinchannel_1,OUT_string_1;
!
通道channel_1写入字符串OUT_string_1
!
IFmodel<=9THEN
!
IN_string_1:
=ReadStrbin(channel_1,25\time:
=3);
!
ELSE
IN_string_1:
=ReadStrBin(channel_1,26\time:
=2);
!
读取通道126位字符串数据,等待时间2s
!
ENDIF
Result_ChPos:
=StrMatch(IN_string_1,1,"Result=")+7;
!
查找读取到的字符串"Result="第一个字符在26位字符串中的位置
Result:
=StrPart(IN_string_1,Result_ChPos,1);
!
Result为26位字符串中"Result="第一个字符在26位字符串中后面第七位开始计算,一位字符串
IFResult="1"THEN
ClearIOBuffchannel_1;
Closechannel_1;
NG;
ExitCycle;
ENDIF
ClearIOBuffchannel_1;
Closechannel_1;
model:
=model+1;
ERROR
ClearIOBuffchannel_1;
Closechannel_1;
Open"com1:
",channel_1\bin;
WaitTime2;
ClearIOBuffchannel_1;
OUT_string_1:
="RobotRequest
WriteStrBinchannel_1,OUT_string_1;
SetD652_10_DO9;
WaitTime0.2;
ResetD652_10_DO9;
!
读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动
ENDPROC
必须先设定波特率一致,波特率设置配置中可查看。
ReadStrBin
字符串读取
从一个二进制串行通道或一份文件中读取一个字符串
必须先定义通道,例VARiodevchannel_1;
必须先打开通道,例Open"com1:
",channel_1\bin;
VARstringOUT_string_1;
VARstringIN_string_1;
VARstringResult;
VARiodevchannel_1;
PROCmain()
Open"com1:
",channel_1\bin;
!
打开串口1,通道chanbel_1,形式bin
WaitTime0.3;
ClearIOBuffchannel_1;
!
串口清除缓存
OUT_string_1:
="RobotRequest
!
OUT_string_1字符串为
WriteStrBinchannel_1,OUT_string_1;
!
通道1写入字符串,分析channel
!
IFmodel<=9THEN
!
IN_string_1:
=ReadStrbin(channel_1,25\time:
=3);
!
ELSE
IN_string_1:
=ReadStrBin(channel_1,26\time:
=2);
!
读取通道channel_1,25位字符串数据,等待时间2s
!
ENDIF
Result_ChPos:
=StrMatch(IN_string_1,1,"Result=")+7;
!
查找读取到的字符串"Result="第一个字符在26位字符串中的位置
Result:
=StrPart(IN_string_1,Result_ChPos,1);
!
Result为26位字符串中"Result="第一个字符在26位字符串中后面第七位开始计算,一位字符串
IFResult="1"THEN
ClearIOBuffchannel_1;
Closechannel_1;
NG;
ExitCycle;
ENDIF
ClearIOBuffchannel_1;
Closechannel_1;
model:
=model+1;
ERROR
ClearIOBuffchannel_1;
Closechannel_1;
Open"com1:
",channel_1\bin;
WaitTime2;
ClearIOBuffchannel_1;
OUT_string_1:
="RobotRequest
WriteStrBinchannel_1,OUT_string_1;
SetD652_10_DO9;
WaitTime0.2;
ResetD652_10_DO9;
!
读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动
ENDPROC
必须先设定波特率一致,波特率设置配置中可查看。
StrMatch
字符串查找
在字符串中搜索预置样式
必须是在字符串中查找
VARstringOUT_string_1;
VARstringIN_string_1;
VARstringResult;
VARiodevchannel_1;
PROCmain()
Open"com1:
",channel_1\bin;
!
打开串口1,通道chanbel_1,形式bin
WaitTime0.3;
ClearIOBuffchannel_1;
!
串口清除缓存
OUT_string_1:
="RobotRequest
!
OUT_string_1字符串为
WriteStrBinchannel_1,OUT_string_1;
!
通道1写入字符串,分析channel
!
IFmodel<=9THEN
!
IN_string_1:
=ReadStrbin(channel_1,25\time:
=3);
!
ELSE
IN_string_1:
=ReadStrBin(channel_1,26\time:
=2);
!
读取通道channel_1,25位字符串数据,等待时间2s
!
ENDIF
Result_ChPos:
=StrMatch(IN_string_1,1,"Result=")+7;
!
查找读取到的字符串"Result=",第一个字符"R"在字符串中的位置,然后把位置数目加7,不得超过字符串总数目
Result:
=StrPart(IN_string_1,Result_ChPos,1);
!
Result为26位字符串中"Result="第一个字符在26位字符串中后面第七位开始计算,一位字符串
IFResult="1"THEN
ClearIOBuffchannel_1;
Closechannel_1;
NG;
ExitCycle;
ENDIF
ClearIOBuffchannel_1;
Closechannel_1;
model:
=model+1;
ERROR
ClearIOBuffchannel_1;
Closechannel_1;
Open"com1:
",channel_1\bin;
WaitTime2;
ClearIOBuffchannel_1;
OUT_string_1:
="RobotRequest
WriteStrBinchannel_1,OUT_string_1;
SetD652_10_DO9;
WaitTime0.2;
ResetD652_10_DO9;
!
读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动
ENDPROC
必须先设定波特率一致,波特率设置配置中可查看。
StrPart
字符串获取
获取部分字符串
必须是在字符串中截取
VARstringOUT_string_1;
VARstringIN_string_1;
VARstringResult;
VARiodevchannel_1;
PROCmain()
Open"com1:
",channel_1\bin;
!
打开串口1,通道chanbel_1,形式bin
WaitTime0.3;
ClearIOBuffchannel_1;
!
串口清除缓存
OUT_string_1:
="RobotRequest
!
OUT_string_1字符串为
WriteStrBinchannel_1,OUT_string_1;
!
通道1写入字符串,分析channel
!
IFmodel<=9THEN
!
IN_string_1:
=ReadStrbin(channel_1,25\time:
=3);
!
ELSE
IN_string_1:
=ReadStrBin(channel_1,26\time:
=2);
!
读取通道channel_1,25位字符串数据,等待时间2s
!
ENDIF
Result_ChPos:
=StrMatch(IN_string_1,1,"Result=")+7;
!
查找读取到的字符串"Result=",第一个字符"R"在字符串中的位置,然后把位置数目加7,不得超过字符串总数目
Result:
=StrPart(IN_string_1,Result_ChPos,1);
!
Result为字符串IN_string_1中"Result="第一个字符在字符串Result_ChPos,截取1位字符串
IFResult="1"THEN
ClearIOBuffchannel_1;
Closechannel_1;
NG;
ExitCycle;
ENDIF
ClearIOBuffchannel_1;
Closechannel_1;
model:
=model+1;
ERROR
ClearIOBuffchannel_1;
Closechannel_1;
Open"com1:
",channel_1\bin;
WaitTime2;
ClearIOBuffchannel_1;
OUT_string_1:
="RobotRequest
WriteStrBinchannel_1,OUT_string_1;
SetD652_10_DO9;
WaitTime0.2;
ResetD652_10_DO9;
!
读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动
ENDPROC
必须先设定波特率一致,波特率设置配置中可查看。
ExitCycle
中断
终止当前循环,将程序指针移至主程序中第一个指令处
无
VARstringOUT_string_1;
VARstring
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ABB 机器人 plc 通讯 常用 指令 值得 收藏