ABB机器人组输入/组输出那些事儿 |
您所在的位置:网站首页 › 请问abb机器人i/o通讯的种类有哪些 › ABB机器人组输入/组输出那些事儿 |
ABB机器人的组输入/组输出信号是机器人单独的输入/输出的信号的联合体,对于组信号我们最常用的就是通过组信号与外部设备传输整数数字,其实组信号除了可以用来与外部设备传输整数,还有许多其它的用途,这一次我们就一起来看一ABB机器人的组信号少有人知的那些事儿。 提高信号利用率 在通常使用中,一个信号只能有0或1两种状态,有时可能由于硬件限制的原因比如IO板的IO点数量不够但又不方便新增IO板的情况下可以利用组信号提高信号利用率,比如仅仅使用4个信号就可以通过8421的方式实现16种状态组合方式见下表所示: 状态序号 地址3值 地址2值 地址1值 地址0值 组信号值 1 0 0 0 0 0 2 0 0 0 1 1 3 0 0 1 0 2 4 0 0 1 1 3 5 0 1 0 0 4 6 0 1 0 1 5 7 0 1 1 0 6 8 0 1 1 1 7 9 1 0 0 0 8 10 1 0 0 1 9 11 1 0 1 0 10 12 1 0 1 1 11 13 1 1 0 0 12 14 1 1 0 1 13 15 1 1 1 0 14 16 1 1 1 1 15 有些小伙伴可能对8421码不太熟悉,那么Windows系统中附带的计算器可以帮我们得到对应十进制数的8421码。 机器人同时等待多个信号时提高信号逻辑安全性,简化代码。 比如现在我们需要等待四个输出(输入)信号同时为1的时候机器人再继续执行下方指令我们应该怎么写呢? 方案1 WaitDI di0,1; WaitDI di1,1; WaitDI di2,1; WaitDI di3,1; 方案一有2个问题,一是当信号太多时代码会很长,二是多个信号的处理会存在时间差异,不太安全。比如当程序指针走到di1时di0突然变成0了,机器人还是会继续往下执行的。 方案2 WaitUntil di0=1 AND di1=1 AND di2=1 AND di3=1; 方案2不会出现时间差异的问题,但当信号条件非常多时程序语句会很繁琐,变得非常长。 方案3 如果上述四个信号配置成一个组输入,则我们只需要下面的一条指令就可以了。 WaitGI GI0,15; 那么有的小伙伴会问了,如果我的信号地址不是连续的怎么办?那么下面我们再接着看一下组信号地址配置时的两个小技巧,一是地址不连续的处理,二是组信号与外围设备通讯时高低字节不匹配的问题的处理。 不连续地址的处理 在ABB机器人的组信号配置中,地址连续的信号可以使用英文半角的“-”号将组信号的首地址与末地址连接起来即可,比如组输入GI0所占用的地址为0,1,2,3,4,5,6,7那么地址配置成“0-7”就可以了,如下图所示: 如果组信号的地址是不连续的地址,那么就需要通过使用英文半角的“,”来将不连续的地址依次配置,如下图所示: 组信号的高低字节问题 ABB机器人在与某些外围设备如西门子的PLC进行通讯时会有高低字节不对应的问题,对于这种问题要想通讯正常,就必须有一方设备对信号做处理,在西门子PLC中可以用swap指令进行地址的高低互换,或者在ABB机器人中配置地址时用英文半角的“,”号将地址的顺序颠倒一下。 文章首发自动化生产之家 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |