張諾言
級別: 略有小成
精華主題: 0
發(fā)帖數量: 129 個
工控威望: 250 點
下載積分: 672 分
在線時間: 218(小時)
注冊時間: 2008-12-24
最后登錄: 2024-08-19
查看張諾言的 主題 / 回貼
樓主  發(fā)表于: 2009-08-11 07:55
家園的朋友,大家好!我是一個新手,一個初學者,有許多的問題需要朋友們無私的幫助,在這兒沒有什么直接的表示,只能發(fā)自肺腑的說聲:謝謝!
最近公司要改造一臺淬火機床,我用歐姆龍CPM2A-40CDR編了一個小程序,機床的機械部分還沒有改裝到位,自己編的程序模擬了一下,不是很放
心,所以我把程序傳上來請各位師傅們幫我鑒定一下有沒有錯誤,程序中自動3,4用到了INC指令是否合理,還有MOV,CPM指令程序有錯誤嗎?再一
個請求:還有其他的指令能簡化一下我的程序嗎?特別是自動3與自動4的程序,就說這些吧,敬候各位師傅的回音及建議,謝謝。
附件: 淬火機床.rar (11 K) 下載次數:51
網站提示: 請不要用迅雷下載附件,容易出錯
meng2008
級別: 家園常客
精華主題: 0
發(fā)帖數量: 222 個
工控威望: 505 點
下載積分: 860 分
在線時間: 75(小時)
注冊時間: 2008-08-04
最后登錄: 2023-10-07
查看meng2008的 主題 / 回貼
1樓  發(fā)表于: 2009-08-11 23:14
  
請問 1.用了DIFU214.00/211.00后,為什么還要@INC指令?
     2.CMP指令也可以與常數比較,可以省去MOV的步驟。
  以上為個人看法~
張諾言
級別: 略有小成
精華主題: 0
發(fā)帖數量: 129 個
工控威望: 250 點
下載積分: 672 分
在線時間: 218(小時)
注冊時間: 2008-12-24
最后登錄: 2024-08-19
查看張諾言的 主題 / 回貼
2樓  發(fā)表于: 2009-08-12 07:55
謝謝1樓朋友的指點,用了DIFU214.00,211.00就沒必要用@INC,應該寫INC是嗎?當時我對指令不是很熟悉,害怕檢測到的信號誤動作,覺得那樣保險,哈哈...
CMP指令中直接與數字比較是剛剛跟您學的,再次的感謝1樓的朋友!
hlq_0815
人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
級別: 論壇版主

精華主題: 2 篇
發(fā)帖數量: 1830 個
工控威望: 4478 點
下載積分: 7555 分
在線時間: 1284(小時)
注冊時間: 2008-07-03
最后登錄: 2024-09-20
查看hlq_0815的 主題 / 回貼
3樓  發(fā)表于: 2009-08-12 10:55
       不知道你機器的工藝,很難指出動作的......
在編程方面除了1樓提出的之外再提兩點:
1、“運行”條件的斷開應加點延時,可以預防機械震動或開關瞬時接觸不良而誤停機(還找不到原因);
2、*層與*次的比較可以用表比較TCMP(85),一個指令代替所有層、一個指令代替所有次,簡潔方便。
人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
張諾言
級別: 略有小成
精華主題: 0
發(fā)帖數量: 129 個
工控威望: 250 點
下載積分: 672 分
在線時間: 218(小時)
注冊時間: 2008-12-24
最后登錄: 2024-08-19
查看張諾言的 主題 / 回貼
4樓  發(fā)表于: 2009-08-12 14:04
謝謝3樓的朋友,雖然我有點不明白TCMP指令的用法,但是我會去查資料好好學習一下,在這兒我很想請教各位師傅們一些這方面的一些疑惑,只因為自己水平太低,有問題卻提不出問題,很明顯自己的基礎不行,還需再用功學習了。感謝家園為我們初學者提供了如此好的場地和機會,謝謝大家...
張諾言
級別: 略有小成
精華主題: 0
發(fā)帖數量: 129 個
工控威望: 250 點
下載積分: 672 分
在線時間: 218(小時)
注冊時間: 2008-12-24
最后登錄: 2024-08-19
查看張諾言的 主題 / 回貼
5樓  發(fā)表于: 2009-08-13 18:52
圖片:
貼還沒有被刪除之前,再占用各位師傅們點時間請教一下,發(fā)個貼圖,圖里面的MOV #1 DM2;CMP DM1 DM2;AND 255.06  OUT 214.01;  能不能改成:MOV #1 214; 因為#1
能寫為:0010,當#1傳到214這個通道號時,那么通道里的214.01為1就變?yōu)镺N了...這樣說對嗎?如果能行是不是簡短了掃描時間呢?掃描時間的太長時,在工程實際運行
中有停滯現象嗎?謝謝
hlq_0815
人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
級別: 論壇版主

精華主題: 2 篇
發(fā)帖數量: 1830 個
工控威望: 4478 點
下載積分: 7555 分
在線時間: 1284(小時)
注冊時間: 2008-07-03
最后登錄: 2024-09-20
查看hlq_0815的 主題 / 回貼
6樓  發(fā)表于: 2009-08-13 20:13
用數字傳送–MOVD(83)可以辦得到。



奉LZ不要再折騰那些復雜又煩鎖的程序了,下面這程序就可以滿足你24條和50條的所有程序:


這樣的話你原程序的DIFU 214.00和DIFU 211.00 要改用別的地址,214.00~214.15和211.00~211.15已被兩TCMP(85)占用;
遞增指令暫存改為DM0和DM20;
將D1~D16(D21~D36)分別賦值0~15,當D0=0時214.00置位,以此類推當D0=15時214.15置位。D20與211.00~211.15亦同理。
[ 此帖被hlq_0815在2009-08-13 20:57重新編輯 ]
人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
張諾言
級別: 略有小成
精華主題: 0
發(fā)帖數量: 129 個
工控威望: 250 點
下載積分: 672 分
在線時間: 218(小時)
注冊時間: 2008-12-24
最后登錄: 2024-08-19
查看張諾言的 主題 / 回貼
7樓  發(fā)表于: 2009-08-13 21:10
謝謝樓上的朋友的指點,向你致敬