故事作者:小鱼儿的锏

最近创作

看看TA的故事

【征文】西门子与ABB机器人传输负数及小数

已锁定

小鱼儿的锏

  • 帖子

    119
  • 精华

    1
  • 被关注

    3

论坛等级:侠士

注册时间:2018-07-12

白金 白金 如何晋级?

【征文】西门子与ABB机器人传输负数及小数

915

0

2021-12-13 14:06:39

   

  在最近项目需要用到ABB机器人和西门子plc进行数据传输,ABB机器人控制柜上自身带有一个16输入16输出的IO板子,简单的bool量通讯,直接用通过IO接线就可以实现。想要更加方便的传输数据,就可以用到PROFINET通讯。在abb信号传输数据类型支持Digital Input\Output及Analog Input\Output,还有Group Input\Output.

 

项目上需要的传输数据是±360°内的任意角度值,然后精度需要小数点两位。为了实现这一功能,采用了两个数据类型,一个bool量用数值正负的判断,两个数据类型是Group用于传输角度数据。把传输角度数据除以100,用于实现小数精度。

 

下面的是ABB机器人中的程序,GI600是组输入信号名称,然后Reg600是机器人中num类型的信号名称,IN100是个bool变量数据。Reg601则是机器人本身可以用到数据。

     Reg600:=GI600;

        IF IN100=0 THEN

            Reg601:=reg600/100;

        ELSE

            Reg601:=-reg600/100;

        ENDIF

同样的方法,西门子PLC侧的数据也要经过处理,才能用于传输,把正数用单独的bool量的0表示,负数则赋值成1。然后把角度数值放大100倍,转换成整数。

 

依次类推,好多情况在不支持负数及小数传输的数据类型下,都可以运用此原理进行转换。

希望对接触做PLC和ABB机器人的项目工控人能够提供到一点帮助,当我自己也是想好久,因为查了好久的资料也没有找到直接的解决方法。在大家的故事中,也学习到了大家分享的经验,对一些平时不懂,或者未接触到的,有的一个新的认知。

 

如果有更好的传输数据方法,希望可以在下放留言。


【征文】西门子与ABB机器人传输负数及小数 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3234条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。