精华内容
下载资源
问答
  • ABB机器人组输入/组输出那些事儿

    千次阅读 2020-01-30 17:38:25
    对于组信号我们最常用的就是通过组信号与外部设备传输整数数字,其实组信号除了可以用来与外部设备传输整数,还有许多其它的用途,这一次我们就一起来看一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机器人中配置地址时用英文半角的“,”号将地址的顺序颠倒一下。

    文章首发自动化生产之家

    展开全文
  • 电子罗盘在建筑物内使用时有一个缺点:它们很容易受到电磁源... DCT 属于一用于信号和模式的频率变换的算法(DFT、FFT、小波、Gabor、DST 等)。 此外,DCT 不仅用于编码,还用于信号和模式压缩。 本研究已在 B21-R
  • 结果表明,在机器人辅助的康复训练之后,来自三头肌和二头肌的肌电信号平均fApEn显着增加(p <0.05)。 在机器人辅助的康复训练后,最大自愿屈伸扭矩也显着增加(p <0.05)。 激动剂的fApEn与MVC之间存在...
  • 本文介绍了一种用于小型足球机器人比赛的无线通讯系统的设计,采用无线传感器网络(WSN)来实现信号的无线传输,不仅提高了通讯系统的可靠性,而且提高了无线通讯系统的通讯速率,缩短了系统延时。
  • 第4ENGR 120机械手代码,用于在150mm x 100mm的区域上扫描和定位点 概括: 设计一个自主的,非接触式的表面消毒机器人,该机器人能够定位工作台设备的高接触区域,并使用辐射对这些表面进行快速彻底的消毒。 目标...
  • 曾经渴望自己做一个机器人,但是无奈,心有余而力不足,经过多年的积累,小白的我也能用站着巨人的肩膀上玩下机器人了。 准备工作:树莓派,音频模块,stm32单片机,百度语音识别接口,喇叭。 整体思路: 1. 由于...
  • 它运行在Raspberry Pi 3B上,利用flask框架为机器人生成控制信号。 使用的硬件: 树莓派3B Picamera 5MP 带4AA电池盒和Bo电机的2WD机器人底盘 L239D电机驱动器模块 移动电源 程序: 在您的Pi上启用SSH,Camera...
  • 信号流 Flow是用于Telegram的小型框架,该框架基于和 go get -u github.com/kisulken/go-telegram-flow 使用此库,您只需定义流程即可在Telegram中创建动态菜单和逻辑链! 哇! 要查看完整的示例,请检查_examples...
  • 机器人合约-研究论文

    2021-06-09 22:29:18
    在本文中,我们解释了为什么通常称为“智能合约”的交易被更好地理解为“机器人... 采用这种优先术语将发出强烈的信息信号,避免歪曲这些协议的能力,更准确地传达它们自动执行并消除伴随传统普通法合同的风险和利益。
  • fanuc机器人外部倍率选择功能。外部倍率选择功能,是通过DI(数字输入)信号的ON/OFF 操作来切换速度倍率的一种功能。 通过定义两个DI信号,将其4类信号ON/OFF 组合起来,即可切换4 类速度倍率。

     

     

     

    展开全文
  • 文章目录一、效果展示二、知识储备1.PackRawBytes - 将数据装入原始数据字节数据2.UnpackRawBytes - ...ABB机器人组输入、组输出信号只能发送正整数,本文将阐述如何通过程序将float数据类型进行收发。 一、效果展示


    ABB机器人组输入、组输出信号只能发送正整数,本文将阐述如何通过程序将float数据类型进行收发。

    一、效果展示

    ABB机器人通过PN总线收发float数据

    go_float1:浮点数转换后发出的数值
    reg2:接收的组信号转换为浮点数的值

    二、知识储备

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

    PackRawBytes用于将num、dnum、byte或string类变量的内容装到rawbytes.
    类容器中

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

    UnpackRawBytes用于将rawbytes型容器的内容解包至byte、num、dnum或string
    型变量

    3.BitLShDnum - 双数值上的逻辑逐位LEFT SHIFT运算

    BitLShDnum(Bit Left Shift dnum)用于执行数据类型dnum上的逻辑逐位LEFTSHIFT
    运算。

    4BitRShDnum - 双数值上的逻辑逐位RIGHT SHIFT运算

    BitRShDnum(位右移双数值)用于在数据类型dnum上执行一次逻辑逐位RIGHT
    SHIFT运算。

    三、源码说明

    1.发送浮点数

     PROC rSendfloat(num nSendDate)
    
            ClearRawBytes rawbyte1; !清空rawbyte1
            PackRawBytes nSendDate,rawbyte1,1\Float4; !将nSendDate以float4形式打包到rawbyte1中,从第一个数组开始
            FOR i FROM 1 TO 4 DO
                UnpackRawBytes rawbyte1,i,byte1{i}\Hex1;  !把rawbyte1里的前4个数据解包到byte1数组中
            ENDFOR
    
            dn_SendData:=BitLShDnum(NumToDnum(byte1{4}),24);   !西门子PLC高低位原因,第一个数据左移24位
            dn_SendData:=BitOrDnum(dn_SendData,BitLShDnum(NumToDnum(byte1{3}),16));   !第二个数据左移16位,与第一个数据合并
            dn_SendData:=BitOrDnum(dn_SendData,BitLShDnum(NumToDnum(byte1{2}),8)); !第三个数据左移8位,与前面的数据合并
            dn_SendData:=BitOrDnum(dn_SendData,NumToDnum(byte1{1})); !与之前的数据合并
            SetGO go_float1,dn_SendData;  !以总线形式发出,go_float1为32位数据
        ENDPROC
    

    2.接收浮点数

      PROC rReceiveFloat(dnum nRecvDate)
            dn_RecvData:=nRecvDate;
            byte1{1}:=DnumToNum(BitAndDnum(dn_RecvData,255));
            dn_RecvData:=BitRShDnum(dn_RecvData,8);    !西门子PLC高低位原因,第一个数据右移8位
            byte1{2}:=DnumToNum(BitAndDnum(dn_RecvData,255));
            dn_RecvData:=BitRShDnum(dn_RecvData,8);     !西门子PLC高低位原因,第二个数据右移8位
            byte1{3}:=DnumToNum(BitAndDnum(dn_RecvData,255));
            dn_RecvData:=BitRShDnum(dn_RecvData,8);    !西门子PLC高低位原因,第三个数据右移8位
            byte1{4}:=DnumToNum(BitAndDnum(dn_RecvData,255));
    
    
            ClearRawBytes rawbyte1;
            FOR i FROM 1 TO 4 DO
                PackRawBytes byte1{i},rawbyte1,i\Hex1;  !以HEX1形式打包到byte1中
            ENDFOR
            UnpackRawBytes rawbyte1,1,reg2\Float4;    !以Float4形解包到reg2中
        ENDPROC
    
    展开全文
  • 登山机器人问题(本题满分40分)(福建04年省选题目)noip提高难度 ?问题描述: 登山机器人是一个极富挑战性的高技术密集型科学研究项目。它涉及小车机械、飞行器控制、机器人学、机电一体化、单片机、数据融合...
     
    

    登山机器人问题(本题满分40分)(福建04年省选题目)noip提高组难度

    ?问题描述:

    登山机器人是一个极富挑战性的高技术密集型科学研究项目。它涉及小车机械、飞行器控制、机器人学、机电一体化、单片机、数据融合、精密仪器、实时数字信号处理、图像处理与图像识别、知识工程与专家系统、决策、轨迹规划、自组织与自学习理论、多智能体协调、以及无线通讯等多项理论和技术,是一个典型的智能机器人系统。登山机器人为研究发展多智能体系统和多机器人之间的合作与对抗提供了生动的研究模型。

    登山机器人可以携带有限的能量。在登山过程中,登山机器人需要消耗一定能量,并且可以在机器人之间通过接触传递能量。用多个登山机器人接力登山可以极大地提高登山机器人的攀登高度。

    ?编程任务:

    给定n个登山机器人(1<n<100)。第i个登山机器人最多可以携带xi单位的能量,每攀高1米需要消耗能量yi单位。开始登山时n个登山机器人均处于同一水平高度0,并且每个登山机器人初始时都携带了最多的能量。计算用这n个登山机器人进行不返回的接力登山可攀登的最高的高度。

    ?数据输入:

    输入数据由文件名为INPUT3.*的文本文件提供。

    n 1行中的整数为登山机器人个数n

    n 接下来的n行中每行一个整数,依次为x1,x2,x3,...,xn

    n 最后的n行中每行一个整数,依次为y1,y2,y3,...,yn

    ?结果输出:

    程序运行结束时,在屏幕上输出所找到的这n个登山机器人可攀登的最高的高度,精确到小数点后2位。

    输入文件示例

    输出示例

    INPUT3.001

    7500.00

    50

    50

    0.01

    0.01

     (这个地儿题目都说了保留两位,数据却没写上= =)

     题解:拿两个机器人的推广一下:

    易想到尽量将燃料用完,尽量让耗油少的用,依此思路进行推导。

    当有两个机器人时,临界条件就是2号剩余的油恰好能够把1号的油箱给装满

    时,2号剩余的1号消耗的,此时可将2号的油传给1号,就又可上升x1/y1

    假设x1/y1+x2/(y1+y2)>x2/y2+x1/(y1+1y2),化简后,可得到x1/y1^2>x2/y2^2

    这样将所化简的关键字排序后,贪心选取即可得到最优值。

    选取的方法为每次把x[i]/y[i]^2最小的数丢掉,因为已经排序,所以把它的油加到前面i-1个里面。像前面一样,在临界条件,得到一个恰好把剩下i-1个的油箱装满时上升的高度h,h:=x[i]/(y[1]+y[2]+...+y[i]);

    ac程序:

    var x,y:array[0..100] of real;
    sum:real;
    n,m,i,j,k:longint;
    function f(i,j:longint):boolean;
    begin
     if x[j]*y[i]*y[i]>x[i]*y[j]*y[j] then
     exit(true);
     exit(false);
    end;
    begin
     assign(input,'p3.in'); assign(output,'p3.out');
     reset(input); rewrite(output);
     readln(n);
     for i:=1 to n do
      readln(x[i]);
     for i:=1 to n do
      readln(y[i]);
     for i:=1 to n-1 do
      for j:=i+1 to n do
       if f(i,j) then
        begin
         sum:=x[i]; x[i]:=x[j]; x[j]:=sum;
         sum:=y[i]; y[i]:=y[j]; y[j]:=sum;
        end;
     for i:=2 to n do
      y[i]:=y[i-1]+y[i];
     sum:=0;
     for i:=1 to n do
      sum:=sum+x[i]/y[i];
     writeln(sum:0:2);
     close(input); close(output);
    end.
    
    
     
    
    


     

     

    展开全文
  • FANUC机器人 主机通讯(通过电脑连接以便输入注释等)通过电脑连接机器人 ,输入相关DO DI GO GI等数字或组信号的注释 图文说明 机器人侧设置 电脑侧设置 以及连接方式
  • 本设计以ARM9为核心,以红外测距传感器、地面灰度传感器、远红外火焰传感器等作为检测系统,通过对采集信号的处理,确定机器人周围环境的信息,并根据路径规划出决策行进运动。同时,为使机器人能更好地完成任务,...
  • 设计了一种能顺利完成在模拟房间内自动灭火...方案以STM32F103嵌入式芯片为控制核心,采用传感器采集环境信号,控制机器人行动。该智能机器人能完成自动循迹、自动避障、自动寻找火源并迅速准确灭火、回家的功能。
  • ABB机器人的Cross Connection功能,是指单个或多个数字量I/O信号(DO、DI)或组信号(GO、GI)通过逻辑运算来控制另外的数字量I/O信号。此功能相当于一个简单的PLC,机器人可以通过使用此功能来监视与控制外部设备的...
  • 四足机器人关键技术

    千次阅读 2020-05-15 08:08:37
    机器人的举手、抬腿是通过什么控制的?是舵机!舵机是位置(角度)伺服驱动器,适用于需要角度不断变化并可以保持的控制系统[1]。从结构来看,舵机包括一个小型直流电机,加上传感器、控制芯片、减速齿轮,装进...
  • xx项目机器人底层运动控制方案

    千次阅读 2015-10-25 21:26:12
    xx项目测控任务内容及方案 一、测控任务介绍 ...5、接收无线遥控器传输的控制信号。 6、输出机器人信息到黑匣子存储。 7、整个系统的电源管理,锂电池、有线输电切换。 8、补光灯控制。 9、控
  • 以足球机器人Robocup作为实验平台,全方位移动机器人作为研究对象,通过研究具有四正交轮组成的移动机构运动机理,在将机器人运动进行分析的基础上,以数字信号处理器(DSP)为核心,引入专家比例-积分-微分(PID...
  • 摘 要:通过对PIC16C77单片机特点的分析,给出了机器人灵巧手控制系统的硬件框图,针对几个重要的模块做了详细的介绍,特别是电机驱动模块和PWM信号的产生原理。给出了一个控制算法,经过实验说明了该设计的可靠性...
  • 摘要:介绍了一种用于Robocup F-180小型足球机器人比赛的无线通信系统的设计。包括发送端和接收端系统的硬件设计和实现及其软件设计。给出了一种适应于这套系统的通信协议,包括物理层的编码设计、纠错编码设计和...
  • 若使用多任务功能,可同时执行控制机器人的程序以及控制外围设备和附加轴(多)程序进行作业,或者在机器人动作时对I/O信号状态进行监视。使用多任务运行功能,可缩短机器人程序循环时间。 创建程序注意事项 ...
  • 3、无线通信功能的设计,实现机器人与上位机的数据通信,从而能接收上位机信号并进行处理。 二、机器视觉算法的研究以及实现 1、对各种机器人视觉算法进行研究以及实验,寻找符合要求的算法 2、数据...
  • 介绍了一种新型的基于μC/OS-II的RoboCup类人足球机器人控制...实践证明,由该控制系统的设计方案制作而成的类人足球机器人AFU,具有良好的自主控制稳定性和较好的视觉识别能力,能够比较出色地完成类人的足球比赛。
  • MODULE MainModule VAR signaldi signaldi14; PROC main() //di14_test 数字输入信号 WHILE di14_test = 1 DO ycld; SetGO go_07deng, 0; // 灯 组信号 ...
  • 当手臂操作与脑电控制被同时应用到水下机器人操作中,且操作人员处于不同作业状态时,针对使用单一脑电信号分类器无法获得较为理想的控制意图识别准确率问题,提出使用组合分类器选取分类结果和根据实际作业情况的特殊...
  • 一个基于Arduino的机器人鼓手。它适用于晶体管噪声发生器和伺服器安装在一个罐子和一对压电器上。...所有上述系统都由arduino板及时设定,然后由它们产生的音频信号通过三个简单的放大器电路放大到仪器电平信号
  • 多点路径规划指标注意:此存储库受的保护,公司/商业用途受到...从ADC接收的空间数据通过用matlab编写的FFT算法进行处理,从而从音频信号中获得频率分布流。 在第二个模块中; 设计了一不同的实验方案。 它包括热源
  • 激光雷达作为自动驾驶和机器人等领域中的重要传感器,一直扮演着“眼睛”的角色,360°扫描周围环境,构建厘米级别高精度地图,为后续避障导航做辅助。 但如果仅使用激光雷达作为唯一的避障传感器,则难以对玻璃、...
  • 机器人上使用超声波传感器的原理

    千次阅读 2007-04-28 11:28:00
    超声波传感器的原理?超声波传感器是用来测量物体的距离。首先,超声波传感器会发射一高频声波,一般为40-... 声波换能器特性声波换能器就好比一个喇叭,能将电流信号转换成高频声波,或者将声波转换成电信号。(其

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 126
精华内容 50
关键字:

机器人组信号