❶ 宏程序中自變數賦值地址中的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