当前位置:
文档之家› PCDMIS高级培训手册MC
PCDMIS高级培训手册MC
赋值/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)
含义 I实测值 J实测值 K实测值 IJK实测值 I理论值 J理论值 K理论值 IJK理论值
符号 NOM MEAS DEV OUTTOL
含义 理论值 测量值 偏差 超差
符号 PTOL MTOL MAX MIN
含义 上公差 下公差 最大偏差 最小偏差
9
1.9 注释
当注释类型为: 输入,是/否时,可接受输入内容到变量中 举例 提示内容: enter the number !!! ,然后将输入数据输出到报告中 程序如下: C1 =注释/输入,否,全屏=否,
enter the number !!! 赋值/V9=C1.INPUT 注释/报告, 显示V9内容! V9 操作 当插入报告注释后,如上:“显示V9内容!”后,单击ENTER键,插入一行,输入V9, 然后出现右面提示:存在名称为V9的变量。输入是否引用该变量?。选择是 如果用户想在其注释后输入一个新的命令,在其注释文本末端按回车键。
"Cir1"在一个While循环里循环测量五次,五个圆的实例就会在循环里存在。
•当要引用“Cir1”第二个实例,则语法应为 :"Cir1[2]" •当要引用一组实例,应使用 .. 符号。“圆1[2..5]”表示圆1的从第2到第5个 实例
•当引用一组特征的时候,这个数组就被当做是一个构造特征集合来对待和 操作
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
=一般/点,从属,直角坐标,$
举例
赋值/TD=SYSTEMDATE(“dd/MM/yyyy”) 赋值/TT=SYSTEMTIME("HH:mm")
说明 26/09/2013 13:38
1.6 GETPROGRAMINFO ---得到程序信息
• GETPROGRAMINFO(<String>, <Optional String>) 得到程序的一些信息
第一章 赋值语句
赋值语句用于定义变量,即把一个常量或者表达式赋值给变量 1.1 变量
变量有七种操作数类型:整数、实数、字符串、点、特征指针、数组或函数
整数
1, -6, 209
实数
1, -6, 2.4, -0.1, 345.6789
字符串 "Hello World", "47", "CIRCLE 1"
4
触测数组语法格式:
<Feature Id>.<Hittype>[<Startnum>..<Endnum>].<Extension> Hittype : HIT:补偿或未补偿( 取决于测量补偿是否打开)
补偿过的数据
RAWHIT:没
Endnum :可以为具体数值,若为总点数,则格式为: <Feature
通配符
表达式
含义
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
包含了3,5和6这三个整数型元素,在第二个例子中,函数创建了包含字符串元素“Hello”,
双精度元素2.3和整数元素9的数组。
函数
函数不能使用文字表示。函数使用 FUNCTION 关键字定义,通过变量 ID 访问。
例如,赋值/Add2 = FUNCTION((X), X+2) 定义的函数使用一个自变量并为该自变量加 2。变
7
<Optional String>) 仅在第一个输入字段中使用 TEMP 时才需要第二个字段。 TEMPP - 返回零件的温度 TEMPX - 返回 X 轴的温度 TEMPY - 返回 Y 轴的温度 TEMPZ - 返回 Z 轴的温度 REF_TEMP - 返回参考温度 HIGH_THRESHOLD - 返回高阈值温度 LOW_THRESHOLD - 返回低阈值温度
数组
判断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"
示例
ASSIGN/V1 = GETPROGRAMINFO("NUMMEAS") ASSIGN/V2 = GETPROGRAMINFO("NUMOOT") ASSIGN/V3 = GETPROGRAMINFO("TEMP", "TEMPZ")
1.7 点函数,指针函数,特征数组
符号 MPOINT LEN 特征数组
点
点不能用文字来表示。然而,点可以用MPOINT函数从其他文字来生成:
MPOINT(0,0,1)
指针
特征名加上大括号:{CIR1}, {LIN2}, {F3}
数组
数组不能使用文字表示。不过,数组可以使用ARRAY函数从其它文字中创建,例
如:ARRAY(3,5,6),ARRAY(“Hello”,2.3,9)。在第一个例子中,函数创建三个元素数组,
"*" 和 "?"
* :代表任意个字符 ? :代表一个字符
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
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。
<String> DATE - 返回当前日期 TIME - 返回当前时间 PARTNAME - 返回程序的零件名 PARTPATH - 返回程序的保存路径 DRAWING - 返回修订号 REVISION - 返回的修订号 SERIALNUM - 返回序列号 STATSCOUNT - 返回当前统计计数 SEQNUM - 返回当前统计计数 SHRINK - 返回全局缩放比例 NUMMEAS - 返回执行的尺寸数 NUMOOT - 返回执行的超出公差尺寸数 ELAPSEDTIME - 返回从执行开始起所用的时间 FILENAME - 返回零件程序的文件名 (.prg) REPORTNAME - 返回报告输出文件路径及名称 TEMP - 返回可选第二个输入字符串的温度。
Id>.<NUMHITS>
有效的扩展名为 :X、Y、Z、I、J、K、TX、TY、TZ、TI、TJ、TK、XYZ、TXYZ、
IJK 和 TIJK。
a. 数组排序
升序 降序
SORTUP(<数组>) SORTDOWN(<数组>)
b. 从数组中返回最大值或最小值的索引值