ABB机器人与plc通讯常用指令值得收藏.docx

上传人:b****5 文档编号:4638928 上传时间:2022-12-07 格式:DOCX 页数:84 大小:20.25KB
下载 相关 举报
ABB机器人与plc通讯常用指令值得收藏.docx_第1页
第1页 / 共84页
ABB机器人与plc通讯常用指令值得收藏.docx_第2页
第2页 / 共84页
ABB机器人与plc通讯常用指令值得收藏.docx_第3页
第3页 / 共84页
ABB机器人与plc通讯常用指令值得收藏.docx_第4页
第4页 / 共84页
ABB机器人与plc通讯常用指令值得收藏.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

ABB机器人与plc通讯常用指令值得收藏.docx

《ABB机器人与plc通讯常用指令值得收藏.docx》由会员分享,可在线阅读,更多相关《ABB机器人与plc通讯常用指令值得收藏.docx(84页珍藏版)》请在冰豆网上搜索。

ABB机器人与plc通讯常用指令值得收藏.docx

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

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\0D\0A";

WriteStrBinchannel_1,OUT_string_1;

SetD652_10_DO9;

WaitTime0.2;

ResetD652_10_DO9;

读取不到上位机发送过来的信息,重新发送请求,并自动重新运行,DO9在PLC侧设置为延时一秒停止机器人再重新启动

ENDPROC

必须先设定波特率一致,波特率设置配置中可查看。

ExitCycle

中断

终止当前循环,将程序指针移至主程序中第一个指令处

VARstringOUT_string_1;

VARstring

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1