机器人脚本编写规则

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

脚本编程规范

一、排版

1.程序块要采用严格的Tab键缩进风格编写,结构上分级(根据级别依

次向里缩进),必须保持同等级语句开头对齐的原则。

二、注释

1.文件头注释必须包含以下信息,如下段头注释。

/*************************************************************

****************************

******

P0 原点

P1 取料点

P2 上料点

P3 下料点坐标

Description: 到达P1点

弧线到达P2

Author: 王浩

date: 2014-3-25

Modification:

**************************************************************

****************************

******/

2.源程序有效注释必须在20%以上,特别针对于运动轨迹,坐标上的变

换,判断传感器的Yx位,以及按键注释,变量定义识注释。要保持

同等级语句后面的注释保持对齐,如下段函数:

function OnMain()

{

SetYx(1203,0); //清除报警代码

if(CheckYD())return; //检查是否回原点

Setup("Speed","PV1"); //设置速度

while(1)

{

if(LineMove("AFD","P1"))return;

//抓取点

if(Delay(10)&0x01)return;

//延时

ArcMove("AFD"," Around_Z","P1","(P1+P2)/2+PD1","P2");

//弧线运动

ArcMove("Con","Around_Z","P1","(P1+P2)/2+PD1","P2"script);

//带条件接近的弧线运动

}

}

三、标识符命名

1.标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家

基本可以理解的缩写,避免使人产生误解。

2.说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词

的头几个字母形成缩写;一些单词有大家公认的缩写。示例:如下单词

的缩写能够被大家基本认可。

temp 可缩写为 tmp ;

flag 可缩写为 flg ;

statistic 可缩写为 stat ;

increment 可缩写为 inc ;

message 可缩写为 msg ;

3.坐标命名(字母必须大写),坐标属于全局变量(字符变量,所以引用时

采用“”),坐标变量命名同类坐标后面加_#(如:P1_01)进行区分,PD坐

标的命名尽量根据当前需要便宜的坐标上后跟下划线加方向(如:PD1_X、PD1_Y、PD1_Z,PD1_X_Y等)。

4.const(常量),字母必须采用大写,同一个变量单词间采用下划线隔开,

如以下变量:

const BRK_OFF = 18; //抱闸YK

const SRV_ON = 19; //伺服使能

const LED_START = 193; //启动灯

const LED_PAUSE = 194; //暂停灯

const LED_BACK = 195; //回原点灯

不同类别的变量之间需要空一行,如系统的LED与机器人本体的开关量。

目前有机器人本体开关量、虚拟按钮、外设开关量、报警信号名。

5.全局变量,命令采用linux命名风格,单词之间采用下划线分开,字母

小写。特别需要说明的是按键标志位全局变量,以flag_#(#代表按键对

应yx位,如flag_208)。

6.Bool量,字母大写。

7.局部变量,同样采用命令采用linux命名风格,切记不能去全局变量名

相同,,可以是单独字母,但是建议只在for循环或者while循环之内用

(如:for(i = 0;i <= 10;i++)/while(i <= 10)),用在其他地方在代

码篇幅大的时候容易混乱。

四、函数

1.命名,函数命名需要根据其功能命名(如:CheckYD()),其格式采用驼

峰式命名法(即单词首写用大写),常见单词可以缩写。

2.语句,要有严格语法根据,if与else要成对出现;switch语句最后必

须有default部分,case下面要严格考虑break是否需要,不能随便省

略。

3.函数体,上下阔幅需要对齐,函数体内语句开头需要用tab键缩进,调

用的函数一定要在本函数体前文部分。函数根据其功能划分必须在对应的框架之下如:

//坐标变换函数

function GetPn(num)

{

}

//运动函数

function Move()

{

}

五、实时调用

1.OnLoopRun()与OnMain()函数之间通信一律采用Yx量,禁止使用全

局变量。

2.OnLoopRun()函数内尽量不要附加调用延时语句。

3.除OnLoopRun()内延时采用if(Delay(10)&0x02)return外,其他地方

延时语句必须&0x01;

六、调试

1.必须先确定程序上传后无错误(监控调试下),手动运行一遍后才能提速

自动运行。

2.现场动作在没有其他干涉情况下尽量减少运动,以提高运行效率。

相关文档
最新文档