PCDMIS高级培训手册MC
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MEAS/SCAN
BASICSCAN/LINE,NUMBER OF HITS=95,SHOW HITS=NO,SHOWALLPARAMS=NO
ENDSCAN
ENDMEAS/
ASSIGN/V1=MAXINDEX(SCAN1.HIT[1..SCAN1.NUMHITS].Y)
F1
=一般/点,从属,直角坐标,$
数组
判断2个数组是否相等 返回数组中元素个数 返回数组中的最大元素 返回数组中的最小元素 触测点1..5
1.4.1 变量数组
变量数组
赋值/ARR1=ARRAY(12,23,34) 赋值/ARR2=ARRAY(123,23,34) 赋值/ARR3=LEN(ARR1) 赋值/ARRE=EQUAL(ARR1,ARR2) 赋值/M=MAX(ARR1)
c. 从数组中返回排序后的索引值
最大 最小
MAXINDICES(<数组>) MINIDICES ( <数组> )
举例:
赋值/V1 = ARRAY(5,8,3,9,2,6,1,7) 赋值/V2 = SORTUP(V1) 赋值/V3 = SORTDOWN(V1)
V1 为数组"5,8,3,9,2,6,1,7" V2 为数组的升序排列:"1,2,3,5,6,7,8,9" V3 为数组的降序排列: "9,8,7,6,5,3,2,1"
标称值/XYZ,<0,0,0>,$
测定值/XYZ,<SCAN1.HIT[V1].X,SCAN1.HIT[V1].Y,0>,$
标称值/IJK,<0,0,1>,$
测定值/IJK,<0,0,1>
DIM 位置1= 点 的位置F1 单位=毫米 ,$
图示=关 文本=关 倍率=10.00 输出=两者 半角=否
AX
实测
X
98.429 -------->
Y
Baidu Nhomakorabea
107.637 -------->
终止尺寸 位置1
6
1.5 字符串函数
符号
表达式
含义
SYSTEMDATE SYSTEMTIME
SYSTEMDATE(<日期格式字符串>) SYSTEMTIME(<时间格式字符串>)
字母要注意大小写 dd – 号; ddd – 星期几的三个字 母缩写; 月-M或MM或MMM或 MMMM; 年-y或yy或yyy或yyyy
点
点不能用文字来表示。然而,点可以用MPOINT函数从其他文字来生成:
MPOINT(0,0,1)
指针
特征名加上大括号:{CIR1}, {LIN2}, {F3}
数组
数组不能使用文字表示。不过,数组可以使用ARRAY函数从其它文字中创建,例
如:ARRAY(3,5,6),ARRAY(“Hello”,2.3,9)。在第一个例子中,函数创建三个元素数组,
赋值/ SVAR = "Hello World"
变量 V1 是值为 4.2 的实数。
变量 VAR1 是值等于赋值时 CIRCLE1.X 的测定值的实数。 变量 MYVAR 是值等于赋值时 LINE1 的测量质心值的点。 若字符串值等于特征 ID ,该变量则 作为引用对象使用 定义数组变量,则V12=23
含义 I实测值 J实测值 K实测值 IJK实测值 I理论值 J理论值 K理论值 IJK理论值
符号 NOM MEAS DEV OUTTOL
含义 理论值 测量值 偏差 超差
符号 PTOL MTOL MAX MIN
含义 上公差 下公差 最大偏差 最小偏差
9
1.9 注释
当注释类型为: 输入,是/否时,可接受输入内容到变量中 举例 提示内容: enter the number !!! ,然后将输入数据输出到报告中 程序如下: C1 =注释/输入,否,全屏=否,
Id>.<NUMHITS>
有效的扩展名为 :X、Y、Z、I、J、K、TX、TY、TZ、TI、TJ、TK、XYZ、TXYZ、
IJK 和 TIJK。
a. 数组排序
升序 降序
SORTUP(<数组>) SORTDOWN(<数组>)
b. 从数组中返回最大值或最小值的索引值
最大 最小
MAXINDEX(<数组>) MININDEX ( <数组> )
3
1.4 数组函数
三种类型的数组:变量数组、特征数组、触测点数组
符号
表达式
含义
ARRAY
EQUAL LEN MAX MIN HIT[]
ARRAY(<表达式1>,<表达式 2>,<表达式3>...)
EQUAL(<数组>,<数组>) LEN(<数组>) MAX(<数组>) MIN(<数组>) HIT[1..5]
4
触测数组语法格式:
<Feature Id>.<Hittype>[<Startnum>..<Endnum>].<Extension> Hittype : HIT:补偿或未补偿( 取决于测量补偿是否打开)
补偿过的数据
RAWHIT:没
Endnum :可以为具体数值,若为总点数,则格式为: <Feature
7
<Optional String>) 仅在第一个输入字段中使用 TEMP 时才需要第二个字段。 TEMPP - 返回零件的温度 TEMPX - 返回 X 轴的温度 TEMPY - 返回 Y 轴的温度 TEMPZ - 返回 Z 轴的温度 REF_TEMP - 返回参考温度 HIGH_THRESHOLD - 返回高阈值温度 LOW_THRESHOLD - 返回低阈值温度
举例
赋值/TD=SYSTEMDATE(“dd/MM/yyyy”) 赋值/TT=SYSTEMTIME("HH:mm")
说明 26/09/2013 13:38
1.6 GETPROGRAMINFO ---得到程序信息
• GETPROGRAMINFO(<String>, <Optional String>) 得到程序的一些信息
"*" 和 "?"
* :代表任意个字符 ? :代表一个字符
8
1.8 特征&形位公差
将特征或形位公差的某个值赋给一个变量
符号 X Y Z XYZ TX TY TZ TXYZ
含义 X实测值 Y实测值 Z实测值 XYZ实测值 X理论值 Y理论值 Z理论值 XYZ理论值
符号 I J K IJK TI TJ TK TIJK
V1赋值为数组"4,8,2,9,5,7" V2 数组值为: "4,2,6,5,1,3" V3 数组值为: "3,1,5,6,2,4"
5
1.4.3.1 使用数组函数查找扫描中Y方向的最大点
SCAN1
=FEAT/SCAN,LINEAROPEN,NUMBER OF HITS=95,SHOW HITS=NO,SHOWALLPARAMS=NO
通配符
表达式
含义
MPOINT(<表达式1>, <表达 式2>, <表达式3>)
LEN(<指针>)
赋值/ V1 = MPOINT(2.5,3.6,4) V1.X的值是2.5 V1.Y的值是3.6 V1.Z的值是4.0
返回指针在循环中的次数 赋值/V1=LEN({CIR1}) 若CIR1在循环中重复执行10次,则 V1=10
量 Add2 指定为函数。该函数可以如下所示使用变量 Add2 调用。赋值/Result = Add2(5)。
结果为 7。
1
1.1.1 变量赋值举例
赋值/ V1 = 2.2+2 赋值/ VAR1 = CIRCLE1.X
赋值/ MYVAR = LINE1.XYZ
赋值/ V1 = "CIRCLE1"
赋值/ARR=ARRAY(12,23,34) 赋值/V12=ARR[2] 赋值/V4=FUNCTION((VV),VV*VV) 赋值/V5=V4(5) 赋值/V3={CIR1}
<String> DATE - 返回当前日期 TIME - 返回当前时间 PARTNAME - 返回程序的零件名 PARTPATH - 返回程序的保存路径 DRAWING - 返回修订号 REVISION - 返回的修订号 SERIALNUM - 返回序列号 STATSCOUNT - 返回当前统计计数 SEQNUM - 返回当前统计计数 SHRINK - 返回全局缩放比例 NUMMEAS - 返回执行的尺寸数 NUMOOT - 返回执行的超出公差尺寸数 ELAPSEDTIME - 返回从执行开始起所用的时间 FILENAME - 返回零件程序的文件名 (.prg) REPORTNAME - 返回报告输出文件路径及名称 TEMP - 返回可选第二个输入字符串的温度。
enter the number !!! 赋值/V9=C1.INPUT 注释/报告, 显示V9内容! V9 操作 当插入报告注释后,如上:“显示V9内容!”后,单击ENTER键,插入一行,输入V9, 然后出现右面提示:存在名称为V9的变量。输入是否引用该变量?。选择是 如果用户想在其注释后输入一个新的命令,在其注释文本末端按回车键。
定义函数变量,则V5=25
将特征CIR1的指针赋给V3
变量 SVAR 是值为“Hello World”的 字符串。
2
1.2 运算符
符号 含义
+
^
幂
符号 %
含义 余数
符号 * !
含义 逻辑非
符号 /
含义
符号 表达式
含义
其他类似符号
==
<表达式> 相同,返1;否则为0
== <表达式
>
<>不等于 ; >大于;>=大于等于; < 小于 ;<=小于或等于 ; AND 逻辑与 ; OR逻辑或
说明
数组ARR1 数组ARR2 ARR1元素个数为3 不相等,ARRE=0 最大值,M=34
1.4.2 特征数组
特征数组
例如循环测量“Cir1”10次,现要用到第3次的X测定值 赋值/V1 = Circle1[3].X
1.4.3 触测点数组
触测点数组 PC-DMIS通常把特征的触测点作为一个数组,若要得到第三个点实际测量位置 赋值/V2 = Circle2.Hit[3].XYZ
第一章 赋值语句
赋值语句用于定义变量,即把一个常量或者表达式赋值给变量 1.1 变量
变量有七种操作数类型:整数、实数、字符串、点、特征指针、数组或函数
整数
1, -6, 209
实数
1, -6, 2.4, -0.1, 345.6789
字符串 "Hello World", "47", "CIRCLE 1"
h或hh – 小时,12小时制; H或HH – 小时,24小时制; m或mm – 分钟;s或ss – 秒; t –时间标记,例如 A 或 P tt –时间标记,例如 AM 或 PM
LOWERCASE LOWERCASE(<字符串>)
创建小写字符串
UPPERCASE UPPERCASE(<字符串>)
创建大写字符串
()
圆括号
优先计算圆括号中的表达式 值
1.3 数学函数
符号 ABS ROUND SQRT ACOS ASIN ATAN
含义 绝对值 取整 平方根 反余弦 反正弦 反正切
符号 COS SIN TAN DEG2RAD RAD2DEG
含义 余弦 正弦 正切 角度转换为弧度 弧度转换为角
举例
赋值/V1=SIN(DEG2RAD(45)) 赋值/V1A=RAD2DEG(ASIN(V1)) 注意: 1、每个三角函数默认都是输入和返回弧度。 如果想输入或返回角度值,要使用RAD2DEG,DEG2RAD函数 V1A得到的是弧度,如果要转换为度,需要使用RAD2DEG()函数 2、函数的输入值若超出允许范围,将引起计算机出错,返回0。
示例
ASSIGN/V1 = GETPROGRAMINFO("NUMMEAS") ASSIGN/V2 = GETPROGRAMINFO("NUMOOT") ASSIGN/V3 = GETPROGRAMINFO("TEMP", "TEMPZ")
1.7 点函数,指针函数,特征数组
符号 MPOINT LEN 特征数组
"Cir1"在一个While循环里循环测量五次,五个圆的实例就会在循环里存在。
•当要引用“Cir1”第二个实例,则语法应为 :"Cir1[2]" •当要引用一组实例,应使用 .. 符号。“圆1[2..5]”表示圆1的从第2到第5个 实例
•当引用一组特征的时候,这个数组就被当做是一个构造特征集合来对待和 操作
包含了3,5和6这三个整数型元素,在第二个例子中,函数创建了包含字符串元素“Hello”,
双精度元素2.3和整数元素9的数组。
函数
函数不能使用文字表示。函数使用 FUNCTION 关键字定义,通过变量 ID 访问。
例如,赋值/Add2 = FUNCTION((X), X+2) 定义的函数使用一个自变量并为该自变量加 2。变
赋值/V1 = ARRAY(5,8,3,9,2,6,1,7) 赋值/V2 = MAXINDEX(V1) 赋值/V3 = MININDEX(V1)
V1 为数组"5,8,3,9,2,6,1,7" V2=4,此数组元素的实际值是9 V3=7,此数组元素的实际值是1
赋值/V1 = ARRAY(4,8,2,9,5,7) 赋值/V2 = MAXINDICES(V1) 赋值/V3 = MININDICES(V1)