宏程序自变量的两种赋值方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自变量的两种赋值方法
注意:I J K 有先后顺序。
宏程序的调用格式,自变量的赋值不能出现G L N O P
非模态指令:G65P××××L××××;
模态指令: G66 P××××L××××;
用户宏程序本体
1,格式O××××(O9000~O9999)
#24=#41 #18COS[#1]
G0X#24
.
.
.
IF[#20G[#6]G0]709
M9M99
用9开头便于长期保存,在用户宏程序本体
中可以使用普通的NL语句采用变量的NL指令,运算指令和控制指令。2,变量的表示与引用(用#表示变量数据)
A.[#]和后面的数据#1 #2 #3 …………
用公式表示#[#1+ #2 +#3]
B.引用<地址>#i--<地址>#i
#1等于空和等于零的区别
所以除取代外<空>与零相同。
1,所以O N 后面禁止用变量,变量号不得直接用变量号代替。
例如#30=5 #5=#30 #[#30]=#5 不得用##30
2,变量值不得超过各变量的最大允许值
3,小数点用于末位(默认)
4,未赋值变量用<空>#0表示空不等于0
5,引用未赋值的变量地址被忽略。
变量的类型按变量符合分为三种:局部变量公共变量系统变量。
局部变量(#1-#33)用于自变量空(复位开关机时)
分为5级,每级之间互不相同。 0级和1级的#1是两个不同的值。
每级A值不同用完保存用下一级变量。
公共变量:(#100~#149 #500~#531)#100~#149不保留与局部变量
相同
断电后#500~#531数值保留。
系统变量:(>#1000)特定
运算符号
1)变量的定义和置换#i=#j #1=2 #2=#1
2)加法运算#i=#1+#k #i=#j-#k #i=#jor#k
3)乘法运算#i=#j-#k #i=#j/#k #i=#jAnd#k
4)函数#i=Sin[#j]A Sin[#j]
#i=Cos[#j]A Cos [#j]
#i=tan[#j]A tan [#j]
#i=BIN[#j] 十进制转二进制
#i=BCD[#j] 二进制转十进制
#i=Round[#j] 四舍五入
#i=FIX[#j] 上取整
#i=FUP[#j] 下取整
#i=LN[#j] 自然对数
#i=EXP[#j] 指数对数
混合运算时先函数在乘除再加减,运算顺序的改变用[]先运算[] 最多有5重(包括函数中的括号)
控制命令
①分支语句.
㈠无条件转移;goton.欧不要输为零。
㈡条件转换语句;if<条件表达式>goton.当条件满足时跳转至某一段。
例;#1=0. #2=1. if﹝#2gt100﹞g0t010.。
N5 #1=#2+#1; #2=#2+#1;g0t05; n10m99;
if〈条件表达式〉then〈条件表达式〉如果条件满足执行预先决定的宏程序语句。例;zf[#1eq#2]then#3=0
②循环语句;while〈表达式〉dom .... endm 。如果满足条件表达式的条件时,重复执行don到end之间的程序段,若不满足时,执行end以后的程序段,无限循环,只有中间跳出语句时,才停止循环。
⒈while<条件表达式>dom和endm必须成对使用,且dom一定要在endm之前指令,用识别号m来识别。
⒉同一识别号可以多次使用,但dom和endm必须成对使用。
⒊do的范围不能交叉。
⒋do可以嵌套三层,d01d02d03end3end2end1;
⒌可以跳出不可跳入。
⒍从dom---endm内部可以调用宏程序或子程序。Dom---endm可以在用户宏程序或子程序中嵌套三层。