久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 4817|回復: 13

西門子840d 子程序問題求教

[復制鏈接]
1#
發表于 2015-8-25 17:42:31 | 只看該作者 |倒序瀏覽 |閱讀模式
參數傳遞問題,希望有經驗的朋友給個幫助' S; p+ l0 E  f) y. X
主程序:& Z! y% {% s3 E5 X: T
LB_1234(1)      ;調用子程序( n: v; o! W& O0 Y
M30
9 k' C% z' C9 v8 b5 ^2 ^! N) X4 L- E" V' d/ S) {& M7 J; X
子程序LB_1234:
0 S3 u) |$ q" Y/ y  @proc LB_1234(int type)
6 P) Q. g$ U2 r+ \4 {( @+ q* yif ($p_sbupar==true )
6 Y7 A+ {- |- p1 _gotof xxx
. c! n/ w" J0 @. V' x( Lelse' Q' h& `9 }, E$ M$ Y; I
gotof xxx
- ]- ]! e) H7 ?( U; M! X) P# @* z" X

$ Z1 p9 {6 z2 I2 n3 C4 i, o1 R8 q9 x# K' ?& d* \. u/ X
ret7 z5 x- ~( t' {7 @# {

5 C4 e) ^8 c+ f, P6 X! D7 r如果主程序內不賦參數傳遞,程序可運行。一旦賦值了參數傳遞,主程序就報錯未激活未定義之類。感覺賦值子程序需要激活某參數或權限之類的,望高手解答。
. [1 J! a/ j( |% w9 Y7 F0 Q5 k5 K4 G
回復

使用道具 舉報

2#
發表于 2015-8-25 20:05:18 | 只看該作者
主程序里沒定義
3#
 樓主| 發表于 2015-8-25 21:00:21 | 只看該作者
螺旋線 發表于 2015-8-25 20:05
2 w6 q& y5 g3 {6 t, Y/ b主程序里沒定義
+ M1 R$ q6 u" U7 V/ R) v0 D1 N
還要定義什麼?
2 R7 V6 T  h: k5 @& v! n* ^. [. j5 m, Z* m4 v3 s) T
4#
發表于 2015-8-25 23:33:54 | 只看該作者
wangice 發表于 2015-8-25 21:00
( ]- d7 v) N" d2 A還要定義什麼?
4 D- b1 {1 }0 B
所以說啊,看書要仔細。
; [5 Q3 R2 y) j8 A( Z書上寫的很清楚,要用參數傳遞的子程序調用,要在主程序里先聲明,用EXTERN。
9 V! u, ?3 l* N1 B! s, L3 X/ b你寫的子程序就是抄書上的,雖然沒抄全。但為什么不把主程序抄全?
- l9 J+ K* p* X1 L. {5 Y9 }" j. i% d3 C而且報警也提醒得很清楚啊。' |% X$ Z% D; |6 G# D5 w, [
5 c9 z2 i* |2 }/ [% ]
5#
 樓主| 發表于 2015-8-26 05:07:05 | 只看該作者
螺旋線 發表于 2015-8-25 23:33 " j3 z  A1 U+ D( b
所以說啊,看書要仔細。7 Q" ~% \7 L/ a) ?! X/ `" u
書上寫的很清楚,要用參數傳遞的子程序調用,要在主程序里先聲明,用EXTERN。* J# v. j$ F1 d  ^3 q: h" O5 N
...
: t' [. k0 {6 `# I8 j
需要在主程序中聲明嗎?3 _4 P/ B8 L; a+ L! \. ~
很多使用西門子系統的機床製造商,在系統內添加了很多自己製作的循環程序,這些程序在運行中也是可以賦值的,甚至可以在MDA模式下只運行賦值的子程序這一條指令,這個過程中也沒有對賦值有過任何說明。
, n- l1 ]# x+ t  [3 s& @0 k不知道他們是通過什麼方式實現的。& O7 j% G6 h0 B. N' Z6 a
6#
 樓主| 發表于 2015-8-26 05:29:01 | 只看該作者
西門子標準循環指令CYCLE81(,,,),在使用中有誰對括號內的賦值有聲明嗎?唯一的區別是,不賦值或者關鍵項未附,該程序無法運行。

點評

多簡單個事啊,你原封不動按書上寫,看行不行不就得了。書上有說明的。  發表于 2015-8-26 19:44
問題是你的子程序是循環嗎?  發表于 2015-8-26 19:43
7#
 樓主| 發表于 2015-8-26 21:00:23 | 只看該作者
請不要無腦的抄書,我知道在主程序開始時聲明EXTERN加類型就能使子程序傳遞參數了。
) O5 o% A3 D8 B% |但是為什麼有的程序不用聲明,他們是使用什麼方法?

點評

高級和工作手冊都看,但是很多地方講的很含糊,要靠自己摸索  發表于 2015-8-27 20:56
工作準備部分的編程手冊。西門子編程有兩本,一本是所謂的基礎編程手冊,一本就是這本,以前叫高級編程手冊。有專門一章講子程序的。還有一本講循環的,沒怎么看過。  發表于 2015-8-27 19:10
你看的哪本?  發表于 2015-8-26 23:26
你個呆逼,問你編的程序是不是循環,不懂?書上寫得清清楚楚,循環不用聲明。連書都看不仔細,看不明白,還搞個毛蛋啊。西門子的手冊很嚴謹的,雖然某些翻譯貌似抽風了。  發表于 2015-8-26 21:27
8#
 樓主| 發表于 2015-8-28 21:10:36 | 只看該作者
怎麼區分是循環或者不是循環的子程序?

點評

存在“用戶循環”目錄下看看。  發表于 2015-8-28 22:19
9#
 樓主| 發表于 2015-8-29 22:38:30 | 只看該作者
我記得我分別存在製造商循環、標準循環和子程序里,都不能直接賦值調用。

點評

說得很清楚,你驗證一下就知道了。俺現在常用828,要用到異步子程序做緊急回退,就必須把規定的程序名的子程序存在制造商循環下才能用。編程,首先是要符合規則,這是必須的。  發表于 2015-8-29 22:55
http://www.doc88.com/p-3847917280010.html  發表于 2015-8-29 22:51
10#
 樓主| 發表于 2015-8-30 20:47:17 | 只看該作者
嗯,這個界面是Power line的老界面了,我們現在已經開始用Solution Line了。  E1 t  W- B9 P3 N" I0 @& u
明天我回去找找看試一下,多謝指點。

點評

西門子的東西傳承性很好的,不會出現顛覆性的改變。無論是系統的升級還是不同檔次的產品,HMI的風格很接近的。俺810,840D PL,840D SL ,802,802 SL,828都用過,現在主要用828,功能夠用,價格有優勢。  發表于 2015-8-30 22:12
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-8-19 13:24 , Processed in 0.082708 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表