❶ 宏程序中自变量赋值地址中的A,B,C,D,E.......Z是什么意思
表示他们各作为引数赋值的地址符。I J K 必须按先后顺序。其余没先后顺序
A #1; B #2 ;C #3;
D #7;; E #8 ;F #9;
H #11; I #4;J #5; K #6;
M #13;Q#17;R #18;S #19;
T#20; U #21;V #22;W #23;
X #24;Y #25 ; Z #26;
❷ 请问宏程序与宏变量的定义是怎么样的
宏程序的定义
宏程序:由用户编写的专用程序,它类似于子程序,可用规定的指令作为代号,以便调用。宏程序的代号称为宏指令。
宏程序的特点:宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。
基本指令
1.宏程序的简单调用格式
宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。
调用指令格式G65P(宏程序号)L(重复次数)(变量分配)
其中:G65――宏程序调用指令
P(宏程序号)――被调用的宏程序代号;
L(重复次数)――宏程序重复运行的次数,重复次数为1时,可省略不写;
(变量分配)――为宏程序中使用的变量赋值。
宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重。
2.宏程序的编写格式
宏程序的编写格式与子程序相同。其格式为:
0~(0001~8999为宏程序号)
N10指令
.
.
.
N~ M99
上述宏程序内容中,除通常使用的编程指令外,还可使用变量、算术运算指令及其它控制指令。变量值在宏程序调用指令中赋给。
❸ 宏程序中变量的问题。
我也没有学过宏程序,不过我读完代码后,感觉可以这么理解。
例题1,里面倒数第二行之前的,想必你读的时候都没有问题。宏程序执行的时候应该是一行一行的,编译到最后,#5=1000应该是相当于变量重赋值。前面说#5=30,后来执行到#20=30的时候,在编译后,应该#5=#20=30,都指向同一个地址,然后,当#5=1000的时候,相当于#5以及#20所指的那个存放变量值(30变成了1000),所以最后说#20=#5。
不一定对,我只是感觉类似c语言,只是编译后,那段汇编应该是#5会和#20所指的地址相通,不然,应该说不过去。。。。全当抛砖引玉了,希望大神前来指点指点
❹ 新代系统关于宏程序的问题
%@MACRO;T0808M3S1000;G0X82.Z5.;#1:=76.;
N10G0X#1;
G1Z-40.F0.2;X85.;G0Z5.;
#1:=#1-4.;
IF(#1>40.)THEN GOTO10;(也可以在同一行。)
ENDIF;
G0X100.Z100.;
M30;
1.WHILE语句格式:
WHILE(#1>40.) DO(这里不可以输“;”字符。)
:(程序循环内容)
:(程序循环内容)
END_WHILE;(WHILE语句结束)
2.IF语句格式:
IF(#1>40.)THEN (这里不可以输“;”字符。与“GOTO10不在同一行。)
GOTO10;
END_IF;(每次IF语句下一行都要加“END_IF”)
(机器操作面板上找不到 END_IF 中间的“_”符号,可以不输。)
❺ 数控宏程序代码#3000=1是什么意思
#3000=1是给变量#3000的值就是1.
在宏程序中储存数据,在程序中对其赋值。赋值是将一个数据赋予一个变量。例如#1=0,表示#1的值就是0,其中#1代表变量,并是变量符号,0就是给变量#1赋的值。
例如
GO XO YO;#1-100;#1-50;
G01 X100 F500;GO XO YO;#2-50;
G01 X#1 F500;GO Xo Yo;
G01 X[#1+#2]F500;
(5)宏程序变量赋值是什么扩展阅读:
使用方法
A类宏程序
1)、变量的定义和替换 #i=#j
编程格式 G65 H01 P#i Q#j
例 G65 H01 P#101 Q1005; (#101=1005)
G65 H01 P#101 Q-#112;(#101=-#112)
2)、加法 #i=#j+#k
编程格式 G65 H02 P#i Q#j R#k
例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
❻ 简单的解释一下数控宏程序里的 变量 赋值 是什么意思
基本指令:
H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中
G65H01P#101Q#10:把10赋予到#101中
H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101
G65 H02 P#101 Q#102 R10
G65 H02 P#101 Q10 R#103
G65 H02 P#101 Q10 R20
上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数
值或变量号内的数值然后等于到P后面的变量号中.
H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101
G65 H03 P#101 Q#102 R10
G65 H03 P#101 Q10 R#103
G65 H03 P#101 Q20 R10
上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数
值或变量号内的数值然后等于到P后面的变量号中.
H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋予#101
G65 H04 P#101 Q#102 R10
G65 H04 P#101 Q10 R#103
G65 H04 P#101 Q20 R10
上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数
值或变量号内的数值然后等于到P后面的变量号中.
H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的数值除以#103的数值赋予#101
G65 H05 P#101 Q#102 R10
G65 H05 P#101 Q10 R#103
G65 H05 P#101 Q20 R10
上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数
值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警)
三角函数指令:
H31 SIN正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另
一条边长.和以前的指令一样Q和R后面也可以直接写数值.
H32 COS余玄函数指令:格式G65 H32 #101 Q#102 R#103;含义Q后面的#102是三角形的斜边
R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的
另一条边长.和以前的指令一样Q和R后面也可以直接写数值.
H33和H34本来应该是TAN 和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么?
开平方根指令:
H21;格式G65 H21 P#101 Q#102 ;意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的.
无条件转移指令:
H80;格式:G65 H80 P10 ;直接跳到第10程序段
有条件转移指令:
H81 H82 H83 H84 H85 H86 ,分别是等于就转的H81;不等于就转的H82;小于就转的H83;大于就转的H84;小于等于就转的H85;大于等于就转的H86;
格式:G65 H8x P10 Q#101 R#102;将#101内的数值和#102内的数值相比较,按上面的H8x的码带入H8x中去,如果条件符合就跳到第10程序段,如果不符合就继续执行下面的程序段.
用 户 宏 程 序
能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。
l 所存入的这一系列指令——用户宏程序
l 调用宏程序的指令————宏指令
l 特点:使用变量
一. 变量的表示和使用
(一) 变量表示
#I(I=1,2,3,…)或#[<式子>]
例:#5,#109,#501,#[#1+#2-12]
(二) 变量的使用
1. 地址字后面指定变量号或公式
格式: <地址字>#I
<地址字>-#I
<地址字>[<式子>]
例:F#103,设#103=15 则为F15
Z-#110,设#110=250 则为Z-250
X[#24+#18*COS[#1]]
2. 变量号可用变量代替
例:#[#30],设#30=3 则为#3
3. 变量不能使用地址O,N,I
例:下述方法下允许
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4. 变量号所对应的变量,对每个地址来说,都有具体数值范围
例:#30=1100时,则M#30是不允许的
5. #0为空变量,没有定义变量值的变量也是空变量
6. 变量值定义:
程序定义时可省略小数点,例:#123=149
MDI键盘输一. 变量的种类
1. 局部变量#1~#33
一个在宏程序中局部使用的变量
例: A宏程序 B宏程序
… …
#10=20 X#10 不表示X20
… …
断电后清空,调用宏程序时代入变量值
2. 公共变量#100~#149,#500~#531
各用户宏程序内公用的变量
例:上例中#10改用#100时,B宏程序中的
X#100表示X20
#100~#149 断电后清空
#500~#531保持型变量(断电后不丢失)
3. 系统变量
固定用途的变量,其值取决于系统的状态
例:#2001值为1号刀补X轴补偿值
#5221值为X轴G54工件原点偏置值
入时必须输入小数点,小数点省略时单位为μm
一. 运算指令
运算式的右边可以是常数、变量、函数、式子
式中#j,#k也可为常量
式子右边为变量号、运算式
1. 定义
#I=#j
2. 算术运算
#I=#j+#k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. 逻辑运算
#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k
4. 函数
#I=SIN[#j] 正弦
#I=COS[#j] 余弦
#I=TAN[#j] 正切
#I=ATAN[#j] 反正切
#I=SQRT[#j] 平方根
#I=ABS[#j] 绝对值
#I=ROUND[#j] 四舍五入化整
#I=FIX[#j] 下取整
#I=FUP[#j] 上取整
#I=BIN[#j] BCD→BIN(二进制)
#I=BCN[#j] BIN→BCD
1. 说明
1) 角度单位为度
例:90度30分为90.5度
2) ATAN函数后的两个边长要用“1”隔开
例:#1=ATAN[1]/[-1]时,#1为了35.0
3) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入
例:设#1=1.2345,#2=2.3456,设定单位1μm
G91 X-#1;X-1.235
X-#2 F300;X-2.346
X[#1+#2];X3.580
未返回原处,应改为
X[ROUND[#1]+ROUND[#2]];
4) 取整后的绝对值比原值大为上取整,反之为下取整
例:设#1=1.2,#2=-1.2时
若#3=FUP[#1]时,则#3=2.0
若#3=FIX[#1]时,则#3=1.0
若#3=FUP[#2]时,则#3=-2.0
若#3=FIX[#2]时,则#3=-1.0
5) 指令函数时,可只写开头2个字母
例:ROUND→RO
FIX→FI
6) 优先级
函数→乘除(*,1,AND)→加减(+,-,OR,XOR)
例:#1=#2+#3*SIN[#4];
7) 括号为中括号,最多5重,园括号用于注释语句
例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
一. 转移与循环指令
1.无条件的转移
格式: GOTO 1;
GOTO #10;
2.条件转移
格式: IF[<条件式>] GOTO n
条件式:
#j EQ#k 表示=
#j NE#k 表示≠
#j GT#k 表示>
#j LT#k 表示<
#j GE#k 表示≥
#j LE#k 表示≤
例: IF[#1 GT 10] GOTO 100;
…
N100 G00 691 X10;
例:求1到10之和
O9500;
#1=0
#2=1
N1 IF [#2 GT10] GOTO 2
#1=#1+#2;
#2=#2+1;
GOTO 1
N2 M301.循环
格式:WHILE[<条件式>]DO m;(m=1,2,3)
…
…
…
ENDm
说明:1.条件满足时,执行DOm到ENDm,则从DOm的程序段
不满足时,执行DOm到ENDm的程序段
2.省略WHILE语句只有DOm…ENDm,则从DOm到ENDm之间形成死循环
3.嵌套
4.EQ NE时,空和“0”不同
其他条件下,空和“0”相同
例:求1到10之和
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1+#2;
#2=#2+#1;
END1;
M30;
❼ 宏程序的变量如何赋值
用=号赋值,例: #1=10 执行后#1的内容是10了 =号的左边一定是变量,右边是表达式!
❽ 程序中的赋值是什么意思呢
赋值语句是用来赋给某变量一个具体值的语句。在算法中,赋值语句是最基本的语句。
中文名
赋值语句
性 质
并赋给该变量一个值释 义
特 点
变量z中存储的值相加
赋值语句简介
编辑
语音
赋值语句又叫计算语句,它的功能是完成等号右端的表达式所规定的运算,并将计算结果赋给左端的变量。 变量可以是简单变量,也可以是下标变量。赋值语句的格式为:
[LET] 变量=表达式
这里的[ ] 表示其中的内容可以缺省。[1]
赋值语句种类
编辑
语音
赋值语句是程序设计中最基本、最常用的语句。用赋值语句可以把指定的值赋给某个变量或者带有属性的对象。赋值语句使用格式一般有以下三种。
赋值语句1.给变量赋值
该过程是将右边表达式的值赋给左边的变量。
格式:
变量=表达式
例如:
Private Sub Form_Click()
Dim a As Integer
Dim b As Integer
a=3
b=4
Print”a+b的和是”&a+b
End Sub
赋值语句2.为对象的属性赋值
在Visual Basic应用程序设计中,可以在程序设计中用赋值语句为对象的属性设置属性值。
格式:
对象名,属性=属性值
例如,为标签框( Labell)的Caption属性设置一个新值,Labell. Caption=”欢迎学习Visual Basic 6.0”。也可以把数值变量a转换为字符串赋给带有Text属性的对象,如:Textl. Text= Str(a)。
赋值语句3.为自定义类型的变量的元素进行赋值
格式:
变量名,元素名=表达式
例如,前面所定义的自定义类型:
Type Student
Name As String *8 ’学生姓名
No As String *5 ’学号
Age As Integer 7年龄
End Type
定义了student类型后,首先进行变量声明:
Dim Stu As Student
然后就可以通过以下赋值语句给变量stu中的成语进行赋值:
Stu.Name=¨susan"
Stu. No:”001,,
Stu. Age= 20[2]
赋值语句编程元素
编辑
语音
在表述一个算法时,经常要引入变量,并赋给该变量一个值。
赋值运算符右侧的值由表达式生成,而表达式则由文本、常数、变量、属性、数组元素、其他表达式或函数调用的任意组合所构成。下面的示例阐释这一点。[3]
x=y+z+findResult(3)
前面的示例将变量y中存储的值与变量z中存储的值相加,然后与调用函数findResult返回的值相加。然后,此表达式的总值将存储到变量x中。赋值语句的一般格式是:变量名=表达式 其中"="为赋值号
常见的赋值语句有以下几种形式:
(1)a = 3;{赋予变量常数值}
(2)b = a + 1;{将含有其它变量的表达式赋予变量}
(3)N = N...
赋值语句数据类型
编辑
语音
赋值语句中的数据类型。数据类型分为基本类型,构造类型,指针类型,空类型。[4]
除数值外,赋值运算符还可以分配String值,如下面的示例所阐释。
Dim a,b As String
a="String variable assignment"
b="Con"&"cat"&"enation"
也可以使用Boolean文本或Boolean表达式分配Boolean值,如下面的示例所阐释。
Dim r,s,t As Boolean
r=True
s=45>1003
t=45>1003 Or 45>17
同样,可以将适当的值分配给Char、Date或Object数据类型的编程元素。您也可以将对象实例分配给声明作为创建该实例的类的元素。
赋值语句复合赋值语句
编辑
语音
复合赋值语句先对表达式执行运算,然后才将表达式赋给编程元素。下面的示例阐释这些运算符中的+=,该运算符使用右侧表达式的值递增运算符左侧变量的值。
n+=1;
前面的示例将1与n的值相加,然后将新值存储在n中。它是下列语句的一种简写等效语句:
n=n+1;
可以使用此类型的运算符执行各种复合赋值运算。有关这些运算符的列表及其更多信息,请参见赋值运算符。
当向已经存在的字符串的末尾添加字符串时,串联赋值运算符(&=)很有用,如下面的示例所阐释。
Dim q As String="Sample"
q &= "String"[5]
赋值语句类型转换
编辑
语音
赋值语句中的类型转换
分配给变量、属性或数组元素的值必须是适合于该目标元素的数据类型。通常,应当尝试生成与目标元素的数据类型相同的值。但是,在赋值过程中,一些类型可以转换为其他类型。
系统会自动将给定类型的值转换成其扩展的任何其他类型。“扩大转换”是在运行时始终成功的转换方式,而且不会丢失任何数据。例如,在适当的时候将Integer值转换为Double值,因为Integer可扩展为Double。有关更多信息,请参见扩大转换和收缩转换。
“收缩转换”(那些没有扩展的转换)具有在运行时失败或丢失数据的风险。您可以通过使用类型转换函数显式执行收缩转换,也可以通过设置OptionStrictOff指示编译器隐式执行所有的转换。
赋值语句的一般格式是:变量名=表达式 其中"="为赋值号。
❾ 宏程序赋值,变量什么意思
就是在程序里你的定义的宏变量将会被指定值取代
如:
#define PI 3.14159
在程序编译前程序中所有的PI都将被替换为3.14159
❿ 程序开发中什么是赋值怎么一个流程
赋值就是把一个值存在一个变量空间中。
赋值的语法定义是等号左边放一个变量列表, 而等号右边放一个表达式列表。 两边的列表中的元素都用逗号间开:
stat ::= varlist ‘=’ explist
varlist ::= var {‘,’ var}
explist ::= exp {‘,’ exp}
表达式放在 §3.4 中讨论。
在作赋值操作之前, 那值列表会被 调整 为左边变量列表的个数。 如果值比需要的更多的话,多余的值就被扔掉。 如果值的数量不够需求, 将会按所需扩展若干个 nil。 如果表达式列表以一个函数调用结束, 这个函数所返回的所有值都会在调整操作之前被置入值列表中 (除非这个函数调用被用括号括了起来
赋值语句首先让所有的表达式完成运算, 之后再做赋值操作。 因此,下面这段代码
i = 3
i, a[i] = i+1, 20
会把 a[3] 设置为 20,而不会影响到 a[4] 。 这是因为 a[i] 中的 i 在被赋值为 4 之前就被计算出来了(当时是 3 )。 简单说 ,这样一行
x, y = y, x
会交换 x 和 y 的值, 及
x, y, z = y, z, x
会轮换 x,y,z 的值。
对全局变量以及表的域的赋值操作的含义可以通过元表来改变。 对 t[i] = val 这样的变量索引赋值, 等价于 settable_event(t,i,val)。 (关于函数 settable_event 的详细说明,。 这个函数并没有在 Lua 中定义出来,也不可以被调用。 这里我们列出来,仅仅出于方便解释的目
对于全局变量 x = val 的赋值等价于 _ENV.x = val