張諾言
級別: 略有小成
|
家園的朋友,大家好!我是一個新手,一個初學者,有許多的問題需要朋友們無私的幫助,在這兒沒有什么直接的表示,只能發(fā)自肺腑的說聲:謝謝! 最近公司要改造一臺淬火機床,我用歐姆龍CPM2A-40CDR編了一個小程序,機床的機械部分還沒有改裝到位,自己編的程序模擬了一下,不是很放 心,所以我把程序傳上來請各位師傅們幫我鑒定一下有沒有錯誤,程序中自動3,4用到了INC指令是否合理,還有MOV,CPM指令程序有錯誤嗎?再一 個請求:還有其他的指令能簡化一下我的程序嗎?特別是自動3與自動4的程序,就說這些吧,敬候各位師傅的回音及建議,謝謝。 |
---|---|
|
meng2008
級別: 家園常客
|
請問 1.用了DIFU214.00/211.00后,為什么還要@INC指令? 2.CMP指令也可以與常數(shù)比較,可以省去MOV的步驟。 以上為個人看法~ |
---|---|
|
張諾言
級別: 略有小成
|
謝謝1樓朋友的指點,用了DIFU214.00,211.00就沒必要用@INC,應(yīng)該寫INC是嗎?當時我對指令不是很熟悉,害怕檢測到的信號誤動作,覺得那樣保險,哈哈... CMP指令中直接與數(shù)字比較是剛剛跟您學的,再次的感謝1樓的朋友! |
---|---|
|
hlq_0815
人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
級別: 論壇版主
|
不知道你機器的工藝,很難指出動作的...... 在編程方面除了1樓提出的之外再提兩點: 1、“運行”條件的斷開應(yīng)加點延時,可以預(yù)防機械震動或開關(guān)瞬時接觸不良而誤停機(還找不到原因); 2、*層與*次的比較可以用表比較TCMP(85),一個指令代替所有層、一個指令代替所有次,簡潔方便。 |
|
---|---|---|
|
張諾言
級別: 略有小成
|
謝謝3樓的朋友,雖然我有點不明白TCMP指令的用法,但是我會去查資料好好學習一下,在這兒我很想請教各位師傅們一些這方面的一些疑惑,只因為自己水平太低,有問題卻提不出問題,很明顯自己的基礎(chǔ)不行,還需再用功學習了。感謝家園為我們初學者提供了如此好的場地和機會,謝謝大家... |
---|---|
|
張諾言
級別: 略有小成
|
圖片:
貼還沒有被刪除之前,再占用各位師傅們點時間請教一下,發(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了...這樣說對嗎?如果能行是不是簡短了掃描時間呢?掃描時間的太長時,在工程實際運行 中有停滯現(xiàn)象嗎?謝謝 |
---|---|
|
hlq_0815
人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
級別: 論壇版主
|
用數(shù)字傳送–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重新編輯 ] |
|
---|---|---|
|