
工业机器人程序基本命名设定:
机器人主程序:main
车型主程序:此种生产线车型型号
焊接程序:weld
抓取工件(或从车身上抓取定位抓手):pick** 放置工件(或将定位抓手放置到车身):drop*** 涂胶程序:glue 螺柱焊程序:stud 打号程序:stamp
(所有工具切换时的)工具抓取:dockon (所有工具切换时的)工具放置:dockoff 修磨程序:tipdress
到服务位置(维护、更换电极帽等):service 准备动作程序:hometowait 回原位程序:waittohome 换电极冒程序:tipchange
以上是机器人程序的命名。关于信号的一般命名 水压,气压,焊钳温控,
干涉区信号程序:进入干涉区前调用rInterlock的子程序,出干涉区时必须用MOVELDO、MOVJDO指令复位干涉信号。
工业机器人程序编号规则:
1、对于分解好的流程动作,一律在动作命名后添加编号“_x”,以方便用户理解流程顺序。例: weld_1,pick_2,drop_3,weld_4;
2、准备动作与回原位动作程序不添加编号;
3、对于dockon、dockoff、tipdress、service程序,一律在命名后添加编号“_x”,以方便用户理 解该程序是针对几号工具而言。例:抓取1号工具:dockon_1;修磨2号工具:tipdress_2;维护5 号工具:service_5;
4、工具编号遵循“焊q优先”原则,如:有2把焊q、3个其他工具,则1~2号为焊q,3~5号为其他工具;
车型的区分:
1、流程动作程序,由于很多动作是不同的车型都需要的,所以,在该类程序面前,需要添加车型名称以区分。例:s15weld_1,s15pick_3; 2、其他动作程序,不需要添加车型名称。
示例:
某工位S15车型需要实现流程动作如下:
准备动作→抓取工件→放置工件与定位抓手→抓取1号焊q→焊接→修磨→放置1号焊q→抓取2号焊q→焊接→放置2号焊q→抓取定位抓手→放置定位抓手→回原位
其各程序命名如下:
hometowait→s15pick_1→s15drop_2→dockon_1→s15weld_3→tipdress_1→dockoff_1→dockon_2→s15weld_4→dockoff_2→s15pick_5→dockoff_3→waittohome
可以卸载。
autodesk bim 360 glue 是一款基于云计算的建筑信息模型(BIM)软件。通过使用Autodesk BIM 360 Glue软件,所有的项目成员都可以通过桌面终端、移动设备和网络界面查看项目信息,开展模型调整和冲突检测,从而使BIM技术贯穿从设计到施工的整个流程。用户可以参考如下卸载方法:
1、首先,保证程序没有正在运行。可以按ctrl+shift+esc键,打开任务管理器,找到autodesk bim 360 glue运行的进程,右键结束掉,如下图示例所示:
2、通过autodesk bim 360 glue自带的卸载程序进行卸载,到autodesk bim 360 glue安装目录,一般应用安装在C:\Program Files (x86)或者C:\Program Files下,如果有桌面快捷方式,可以在快捷方式上右键,选择“属性”,点击“打开文件位置”,直接进入autodesk bim 360 glue的安装目录,找到卸载程序,一般以un开头比如unist.exe等等,双击运行卸载即可。如下图示例所示:
3、通过控制面板进行卸载, 同时按WIN+R键,打开“运行”对话框,输入control,按回车键,打开“控制面板”,点击“卸载程序”,找到autodesk bim 360 glue,右键选择“卸载”即可。如下图示例所示:
4、通过360、qq管家等软件的应用程序管理软件进行卸载。以qq管家为例,打开“软件管理”,左侧点击“卸载“,右侧找到autodesk bim 360 glue,点击“卸载”即可。
5、通过以上任何方法卸载后,都可以通过360、qq管家等软件对注册表进行拉圾清理,以确保卸载干净。
简单来说:宏定义又称为宏代换、宏替换,简称“宏”。宏替换是C/C++的预处理中的一部分,在C++标准中有4条规则来定义替换。
规则1:实参替换。
本条规则描述带参数的宏的替换过程。
对于宏定义中的形参,在替换列表中,如果不是作为#或##的 *** 作数,那么将对应实参完全
展开(相当于对实参进行求值),然后将替换列表中的形参替换掉.如果是#或##的 *** 作数,
那么不进行替换。
规则2:多次扫描。
在所有的形参替换为实参后,对结果进行再次扫描,如果发现还有可替换的宏,则进行替换,
否则中止。
规则3:递归替换抑制。
如果在替换列表中发现当前正在展开的宏的名字,那么这里不进行替换.更进一步,在嵌套
的替换过程中发现已经替换过的宏的名字,则不进行替换。
规则4:递归预处理抑制。
如果替换后的结果形成预处理指令,则不执行这条预处理指令。
看几个C++标准中的例子:
#define x 3
#define f(a) f(x * (a))
#undef x
#define x 2
#define g f
#define z z[0]
#define h g(~
#define m(a) a(w)
#define w 0,1
#define t(a) a
f(y+1) + f(f(z)) % t(t(g)(0) + t)(1);
g(x+(3,4)-w) | h 5) &m(f)^m(m);
其结果分别是
f(2 * (y+1)) + f(2 * (f(2 * (z[0])))) % f(2 * (0)) + t(1);
f(2 * (2+(3,4)-0,1)) | f(2 * ( ~ 5)) &f(2 * (0,1))^m(0,1);
对于第一个,主要在于t(t(g)(0) + t)(1)的展开。
容易计算出最外层的t的实参是f(2 * (0)) + t,而作为t的参数传入时其中的t是
正在被展开的宏,所以根据规则3,不对这个t进行处理,保持不变,得到f(2 * (0)) + t(1)。
对于第二个,h 5)被替换为g(~5),应用规则2,被替换为f(2 * ( ~ 5))。
而m(m)首先被替换为m(w),然后应用规则2再次进行替换,但是m已经是替换过的了,所以保持
不变,只对w进行替换。
#define str(s) # s
#define xstr(s) str(s)
#define debug(s, t) printf("x" # s "= %d, x" # t "= %s", \
x ## s, x ## t)
#define INCFILE(n) vers ## n /* from previous #include example */
#define glue(a, b) a ## b
#define xglue(a, b) glue(a, b)
#define HIGHLOW "hello"
#define LOW LOW ", world"
debug(1, 2)
fputs(str(strncmp("abc\0d", "abc", ’\4’) /* this goes away */
== 0) str(: @\n), s)
#include xstr(INCFILE(2).h)
glue(HIGH, LOW)
xglue(HIGH, LOW)
其结果分别是
printf("x" "1" "= %d, x" "2" "= %s", x1, x2)
fputs("strncmp(\"abc\\0d\", \"abc\", ’\\4’) = = 0" ": @\n", s)
#include "vers2.h"
"hello"
"hello" ", world"
关键是glue和xglue.
对于glue(HIGH, LOW),首先有一个规则1的抑制,得到HIGHLOW的结果,然后二次扫描,得到
"hello";
对于xglue(HIGH, LOW)没有抑制效果,所以对参数求值,分别得到HIGH和LOW ", world",即
glue(HIGH, LOW ", world")。
然后进行连接 *** 作得到HIGHLOW ", world",最后再扫描一次得到"hello" ", world"
如果考虑字符串的自然的连接,就可以得到"hello, world"了。
扩展资料
宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如, C preprocessor C预处理器Internet Macros(iOpus) M4(如前所述,源于AT&T,捆绑于Unix)
宏定义
c程序提供的预处理功能之一。包括带参数的宏定义和不带参数的宏定义。具体是指用一个指定的标志符来进行简单的字符串替换或者进行阐述替换。形式为:
#define标志符[(参数表)] 字符串
宏名
在上定义中的标志符被称为“宏名”。
宏展开
在c程序编译时将宏名替换成字符串的过程称为“宏展开”。
宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用, 但在文本处理程序中应用普遍。例如,
C preprocessorC 预处理器
Internet Macros(iOpus)
M4(如前所述,源于AT&T,捆绑于Unix)
参考资料来源:百度百科-宏
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)