wu32u2
耐得住挫折的打磨,我們將迸發出比鉆石還璀璨的光芒——
級別: 論壇先鋒
|
圖片:
愿工控戰友們少走彎路,積累經驗,感謝njaolian,匯榮鋁業,meiyouleya,sandy_love各位的熱心幫助。 在rs指令上臺達PLC和三菱plc有一點區別:同樣在只接受數據的情況下,三菱不需要觸發置位M8122便進入接收狀態,臺達PLC則每次需要上升沿觸發置位M1122才能使RS指令進入接收狀態。這樣一來就出現一個問題:類似掃描槍這樣的功能,在不能確定何時接收數據的情況下需要RS指令一直處于接收狀態,則需要經常觸發M1122(臺達PLC的發送請求同比三菱的M8122的功能),但是接收數據時不能置位M1122否則將導致接受的數據丟失或缺損(我沒注意到這一點,把M1122一直置位了,導致數據經常丟失——三菱PLC不需要置位M8122不存在這樣的問題),現在采用一個定時器每隔兩秒上升沿觸發置位M1122,雖然這樣仍然有可能在PLC接受條形碼的時候M1122置位,但概率很小,昨天現場調試,兩百次內數據無丟失,時間間隔越短則出現數據丟失的可能性會增加。。目前這方法也是權宜之計~ 希望對大家有所幫助,若有更好的辦法徹底解決數據丟失,望大俠們不吝賜教,讓像我一樣的菜菜們學習點經驗。付程序圖 [ 此帖被wu32u2在2010-12-08 10:01重新編輯 ] |
|
---|---|---|
本帖最近評分記錄:
|
lxhwawa
級別: 略有小成
|
樓主是否可以考慮用M1123來作為發信指令呢? 樓主留言:昨天現場調試也試過用數據接收完成標志位M1123加逾時標志位M1129加M1002并聯來觸發M1122理論上可行,但實際中接受完成一次后就不能再次接收數據了。監控程序M1122未被觸發,該聯通的觸點也都聯通。所以就采用定時觸發了。 |
---|---|
本帖最近評分記錄: |
sandy_love
感悟生活,創新的源泉...
級別: 家園常客
|
只需要接受數據?你用的設備是單工通訊的嗎? 沒必要等2秒才發一次吧,如果是全雙工通訊一次發送完成了就可以下一次發送。 接收也一樣,接收完了立即把接收完成標志清了就可以了 樓主留言:恩,只需要接受來自掃描槍的數據,問題是這次接收完成后想再次進入接收狀態需要再次置位發送請求。。電話咨詢了下代理商的技術顧問。他是這么說來著。 |
---|---|
|
lxhwawa
級別: 略有小成
|
臺達的M1123自動ON后,必須RESET后才能進行到下一個等待傳送接受的狀態,所以 LD M1123 …… SET M1122 RST M1123 你試試看這樣做 樓主留言:昨天這樣編寫的,試了下不能連續的接受。圖在下面 |
---|---|
|
wu32u2
耐得住挫折的打磨,我們將迸發出比鉆石還璀璨的光芒——
級別: 論壇先鋒
|
圖片:
圖片:
應該和你說的是同一個意思吧 |
|
---|---|---|
|
wu32u2
耐得住挫折的打磨,我們將迸發出比鉆石還璀璨的光芒——
級別: 論壇先鋒
|
得補充下程序中除了掃描槍接受條形碼數據要用到一次RS指令,還要發送數據給確認臺的計算機和接收來自計算機的確認數據。所以程序里有兩個RS指令,上傳數據時、接受數據,或者檢測進行時,需要斷開這個掃描槍的RS指令程序,等檢測數據發送、接收完成后,才再次進入掃描槍的接收等待狀態。可能是這樣原因導致不能連續的接受數據。 |
|
---|---|---|
|
sandy_love
感悟生活,創新的源泉...
級別: 家園常客
|
估計是半雙工的通訊,在同一時刻總線上只允許有一個方向有數據傳輸;接收數據完了到下一次通訊要有時間間隔(好像是一個掃描周期忘了),把觸發條件改為下降沿隔一個周期啟動試試。另外用多個RS通訊時注意不能有沖突,而且要保證斷開一個RS時不能夠打開接收數據;就是說接收數據要在RS有效之內。這個問題以前好像也有過討論,樓主查查看。 或者樓主有沒有臺達的RS通訊的通訊時序圖,發上來探討一下? 樓主留言:應該是全雙工通訊吧,,接受數據時,不能置位M1122發送請求,唉手頭上沒有臺達的時序圖啊 。 |
---|---|
|