分享

通信配置5:ABB机器人使用组输出发送ASCII码

 ABB机器人 2019-12-01

华仔:致力于为学习ABB机器人与机器视觉的同道中人提供个人的经验,所写文章多为学习与兴趣所致,若有不足之处,还请读者多多包涵。

使用组输出发送ASCII码
1)字符a-z及其他字母符号均可通过ASCIl码表示,如果现场希望通过组输出发送字符 ASCI码给PLC端,那么如何实现呢?
(2)ASCII码为8位,即1个byte,故可以创建8位的组输出,发送ASCI1码如下图所示。
第一步,在控制面板-配置-I/O system-signal-添加,如下图所示。

指令解释

rawbytes

  • 将rawbytes用作一个通用数据容器。其可以用于同I/O设备进行通信。

  • 通过支持指令/函数,可用任意类型数据-num、byte、string来填充rawbytes数据。在rawbytes的任意变量中,系统同时储存当前有效字节的长度。

  • rawbytes变量可能包含0到1024个字节。

  • rawbytes是一种非数值的数据类型。

  • 声明rawbytes变量时,将rawbytes中的所有字节设置为0,并将变量中的当前有效字节长度设置为0

PackRawBytes-将数据装入原始数据字节数据

ClearRawBytes - 清除原始数据字节数据的内容

RawBytesLen - 获取原始数据字节数据的长度

ReadRawBytes - 读取原始数据字节数据

UnpackRawBytes - 打开来自原始数据字节数据的数据

WriteRawBytes - 写入原始数据字节数据

可以创建如下代码,完成字符与ASCI码的转化与发送:

MODULE MainModule VAR string s1; VAR num no_asc; VAR rawbytes rawbytes1; PROC main() <SMT> ENDPROC PROC set_asc() s1:="A"; ClearRawBytes rawbytes1; !将rawbytes1清空 PackRawBytes s1,rawbytes1,RawBytesLen(rawbytes1)+1\ASCII; !将字符串s1的内容以ASCII码的形式打包入rawbytes1,从rawbytes1的第一位开始 UnpackRawBytes rawbytes1,1,no_asc\IntX:=USINT; !将rawbytes1里的长度为USINT(1个字节)的内容解包到num型数据no_asc中, SetGO G_ascm,no_asc; !发送组信号 ENDPROCENDMODULE

参考目录

ABB工业机器人实用配置指南

你学会了吗?

下一篇,我将带大家一起学习,

ABB机器人信号交叉连接配置,敬请期待。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多