ABB 机器人 IRBP系列转台的一段代码注释

PROC IndexToStn1()                  //检测变位机状态   并设置要运行到的角度位置   并对不同的GetNextPartAdv返回值情况   进行处理 VAR bool bActive;VAR jointtarget jtCurrent;            //声明一个位置变量IF (NOT bInterchCalib1) CalibIntch1;       ! reset inpos signals used in vcReset soLS_1_INPOS;Reset soLS_2_INPOS;                          //复位变位机的输出bActive:=IsMechUnitActive(INTERCH);            //是否变位机激活IF (NOT bActive) ActInterch1;                  //激活变位机jtCurrent:=CJointT();                   // 得到当前角度! get parts for stationsGetNextPartAdv 1,padvTmp1\statusCode:=retCode1;//得到存储的partdata类型的数据的值, 并将GetNextPartAdv 返回状态赋值给retCode1GetNextPartAdv 2,padvTmp2\statusCode:=retCode2;IF (retCode1=0) THENjtCurrent.extax.eax_e:=padvTmp1.procAngle.eax_e;  //如果返回成功,将partdata类型数据的eax_e的值赋值给当前jtCurrentELSEjtCurrent.extax.eax_e:=0;               //否则赋值0         并进行处理text_res_no:=TextResTabGet("CellText");sHeader:=TextResGet(text_res_no,218);IF (retcode1=-1) THENsMsgArr{1}:=TextResGet(text_res_no,202)+" 1";sMsgArr{2}:=TextResGet(text_res_no,214);sMsgArr{3}:="";sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ELSEIF (retcode1=-2) THENsMsgArr{1}:=TextResGet(text_res_no,204)+" 1";sMsgArr{2}:=TextResGet(text_res_no,205)+" 1";sMsgArr{3}:=TextResGet(text_res_no,214);sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ENDIFENDIFIF (retCode2=0) THENjtCurrent.extax.eax_f:=padvTmp2.loadAngle.eax_f;ELSEjtCurrent.extax.eax_f:=0;text_res_no:=TextResTabGet("CellText");sHeader:=TextResGet(text_res_no,218);IF (retcode2=-1) THENsMsgArr{1}:=TextResGet(text_res_no,202)+" 2";sMsgArr{2}:=TextResGet(text_res_no,213);sMsgArr{3}:="";sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ELSEIF (retcode2=-2) THENsMsgArr{1}:=TextResGet(text_res_no,204)+" 2";sMsgArr{2}:=TextResGet(text_res_no,205)+" 2";sMsgArr{3}:=TextResGet(text_res_no,213);sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ENDIFENDIF! apply interchange positionjtCurrent.extax.eax_d:=nInterchStn1;       //将存储的变位机水平轴位置赋值给当前IF (TaskRunRob()) THEN                     //判定程序运行于哪个平台MoveAbsJ jtCurrent,sdInterch1,fine,tool0;                      ELSE%"MoveExtJ"% jtCurrent,sdInterch1,fine;        //如果是外部轴    则运动到指定位置ENDIFIF (NOT RobOS()) Set soLS_1_INPOS;         //并设置相应的变位机状态给PLCWaitTime nTorqueTime;                                                   IF (NOT bActive) DeactInterch1;           //如果在运行这段程序之前   变位机没有激活   则 运行这段程序之后也保持运行之前的状态  ENDPROC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何写一个bootloader

声明:本文为学习Codeproject文章的个人总结性文章, 原文:http://www.codeproject.com/Articles/664165/Writing-a-boot-loader-in-Assembly-and-C-Part 本人开发环境: 操作系统:Ubuntu 32位(64位的会有push…

定时执行某段程序

有时候我们需要每天 定时的 自动 去执行某段程序,那么这个功能如何实现呢? 经过百度,定时器就可以实现,总结如下: 我用控制台写了一个程序,用来在指定时间内 打印 “我执行了” 上面就是程序的运行结构&…

【error】深度优先搜索TypeError: unhashable type: ‘list‘

查网上的原因是: python字典的key不支持list类型和dict类型,需要转换 但是我没有使用到key,后来仔细查看发现是增加了一个装饰器导致的,functions.lru.cache 把装饰器注释掉即可 # 利用深度搜索进行查找 lru_cache(None) def …

Okhttp 插入缓存拦截器 解析

我们在做网络请求的时候,如果网络请求过于频繁而且请求的数据变动不大,或者基本没有变动,这个时候如果没有缓存功能,我们想一下 会浪费掉多少资源,一次请求刷新一次,去请求一次,不但会消耗用户的…

浅谈PROFINET IO通信的实时性

PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新,PROFINET为自动化通信领域提 供了一个完整的网络解决方案,囊括了诸如…

目标

学习计划以及目标---------------------------------------------------------------------------------------------------------------------------------------------------------------- 正文 在上大学之前,可以说我完全是一个…

今日头条核心技术“个性推荐算法”揭秘

今日头条核心技术“个性推荐算法”揭秘 最近面试华兴资本, 他们比较关注今日头条算法的实现, 今天特转载网上 今日头条算法解密【IT168 评论】互联网给用户带来了大量的信息,满足了用户在信息时代对信息的需求,也使得用户在面对大…

PROFINET及其同步实时通讯分析

1 概述 PROFINET实时以太网是由Profibus International(PI)组织提出的基于以太网的自动化标准。从2004年4月开 始,PI与Interbus Club总线俱乐部联手,负责合作开发与制定标准。PROFINET构成从I/O级直至协调治理级的基于组件的分…

【剑指offer15.二进制中1的个数】——位操作(左移右移等)

目录 二进制的表示 二进制的位操作 应用: 剑指offer15.统计二进制中1的个数(多种方法,位右移操作、与操作等) 转自:https://www.jianshu.com/p/3a31065a8e58 红色为自己添加 我们都知道在计算机中所有的信息最终都…

java 异常处理机制(java 编程思想)

一、概念  “异常”这个词有“我对此感到意外”的意思。问题出现了,你也许并不清楚该如何处理,但你的确知道不应该置之不理;你要停下来,看看是不是有别人或在别的地方,能够处理这个问题。只是在当前的环境中还没有足够…

怎样在CentOS 7.0上安装和配置VNC服务器

这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教程也适合 RHEL 7 。在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC 服务器 。 我们都知道 这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教…

MOTOMAN机器人网络控制的实现

最初程序员在Unix系统下使用Berkeley Socket编写网络程序,随着Windows操作系统的普及,Microsoft、Sun等公司联合开发了Winsock接口API。它实质上是一种进 程间通信,将之从单机环境扩展到网络环境以适合于开发主机/客户机通信程序。网络通信的…

【剑指offer】——【python中return函数中的and和or表达式的返回值】

目录 1、# and 结果为真,返回最后一个表达式的结果,若结果为假返回第一个为假的表达式的结果 2、# or 结果为真,返回第一个为真的表达式的结果,若结果为假,返回最后一个表达式的结果 3、应用[剑指 Offer 64. 求12…n…

Spring Cloud构建微服务架构:消息驱动的微服务(入门)【Dalston版】

2019独角兽企业重金招聘Python工程师标准>>> 之前在写Spring Boot基础教程的时候写过一篇《Spring Boot中使用RabbitMQ》。在该文中,我们通过简单的配置和注解就能实现向RabbitMQ中生产和消费消息。实际上我们使用的对RabbitMQ的starter就是通过Spring C…

CXF 客服端调用报错

服务端已经发布了WSDL,现在在客服端生成web service客服端代码,在eclipse中新建一个project,然后new->web services->web service client生产客户端代码 在调用的时候报如下错误 解决:缺少axis相应的jar包,加入包…

20145225 《信息安全系统设计基础》第10周学习总结

cp1.c 进行复制文件的操作,需要有源文件和目的文件,第一次命令没有加入所以没有正常完成复制文件的操作fileinfo.c 用来实现显示文件信息。先判断命令是否有操作数,有的话才能继续进行下去,如果没有报错就打印出来相关文件信息&am…

做演员是圆梦 做生意学会面对现实

田朴珺是一位拥有多重身份的女性。她是一名演员,也是一位商人,还担任过电影《中国合伙人》的制片人。 作为演员,田朴珺的作品并不是很多,也一直不温不 火。但这并不代表她将放弃演艺生涯。她表示,如果机会合适&…

【深度学习】——模型评估指标MAP计算实例计算

目录 一、知识储备 1、IOU——交集面积与并集面积之比 2、混淆矩阵(TP、FP、FN、TN) 问题1:上面的TP等具体是如何计算得到的? 3、精度precision&召回率recall 二、ap计算实战 1、计算流程 1)准备数据&#xf…

第 52 章 Web Server Optimization

系统配置 Intel(R) Xeon(TM) CPU 3.00GHzMemory 4GEthernet adapter 1000M52.1. ulimit 查看 ulimit ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited pending signals …

hdu5489 Removed Interval dp+线段树优化

现在看这题居然直接秒了。。。去年看的时候还以为神题。。 设以第i项为结尾的lis前缀为f[i],以第j项为结尾的lis后缀为g[i],如果求出f[i]和g[j],然后枚举i,快速找到最大的满足a[j]>a[i]的g[j]就可以了。注意到如果将f[i]从后往…