90人在江湖
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 66 個
工控威望: 198 點
下載積分: 2334 分
在線時間: 120(小時)
注冊時間: 2014-03-20
最后登錄: 2024-12-19
查看90人在江湖的 主題 / 回貼
樓主  發(fā)表于: 2018-12-24 19:11
圖片:
圖片:
圖片:
圖片:
圖片:
各位前輩好 ,小弟現(xiàn)在使用三菱L系列PLC通過LJ71C24-R2模塊使用無協(xié)議通訊方式和一臺儀表通訊,現(xiàn)在在通訊過程出現(xiàn)了一些異常,造成指令EVAL運算異常,造成PLC報警,現(xiàn)在為了正常使用,小弟現(xiàn)在使用指令WTOB將需要進行換算的存儲器的值分開,單獨進行約束,請問前輩們還有其他更好的方法嗎,
90人在江湖
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 66 個
工控威望: 198 點
下載積分: 2334 分
在線時間: 120(小時)
注冊時間: 2014-03-20
最后登錄: 2024-12-19
查看90人在江湖的 主題 / 回貼
1樓  發(fā)表于: 2018-12-24 19:17
圖片:
儀表使用循環(huán)讀取方式,PLC每次發(fā)送固定的字符串給儀表,儀表將數(shù)據(jù)以固定的形式傳回,為什么會出現(xiàn)字符串不一樣,這個和周圍環(huán)境有關(guān)系么,還是和波特率或其他通訊參數(shù)有關(guān)。
焦劉吉
緊跟時代發(fā)展,努力做好時代青年
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 1459 個
工控威望: 4682 點
下載積分: 14975 分
在線時間: 429(小時)
注冊時間: 2015-05-19
最后登錄: 2024-12-11
查看焦劉吉的 主題 / 回貼
2樓  發(fā)表于: 2018-12-24 20:44
緩存區(qū)的值是外圍設(shè)備發(fā)貨來的值,如果滿足接收條件,INPUT指令接通,再把緩存區(qū)的值讀進D里面,如果不滿足或不正確值會踢掉,如果只看緩存區(qū)的值有可能的值并不是正確的值,你只需看D就行了
Rules are always made by the strong, and history is always written by the winners.
90人在江湖
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 66 個
工控威望: 198 點
下載積分: 2334 分
在線時間: 120(小時)
注冊時間: 2014-03-20
最后登錄: 2024-12-19
查看90人在江湖的 主題 / 回貼
3樓  發(fā)表于: 2018-12-24 21:08
引用
引用第2樓焦劉吉于2018-12-24 20:44發(fā)表的  :
緩存區(qū)的值是外圍設(shè)備發(fā)貨來的值,如果滿足接收條件,INPUT指令接通,再把緩存區(qū)的值讀進D里面,如果不滿足或不正確值會踢掉,如果只看緩存區(qū)的值有可能的值并不是正確的值,你只需看D就行了





現(xiàn)在不知道什么原因造成存儲器(d1400)值與緩存(U11\G1536)值不一樣,然后會造成運算錯誤,現(xiàn)在為了防止運算錯誤發(fā)生,就對存儲器里的值進行判斷,如果正常進行EVAL運算,否則不運算,這樣的話目前沒有出現(xiàn)報錯,不知道后期會不會,退一步說,這個存儲器能不能批量約束,比如說 對D1到D10里面的值 進行單獨判斷,必須都有在0和9之間才能把D1到D9傳輸?shù)紻20到D29。
焦劉吉
緊跟時代發(fā)展,努力做好時代青年
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 1459 個
工控威望: 4682 點
下載積分: 14975 分
在線時間: 429(小時)
注冊時間: 2015-05-19
最后登錄: 2024-12-11
查看焦劉吉的 主題 / 回貼
4樓  發(fā)表于: 2018-12-24 21:52
樓主,你用WTOB是可以的,又或者用G.CPPRTL這個,設(shè)置好報文格式,直接轉(zhuǎn)化為數(shù)值
具體參考手冊
Rules are always made by the strong, and history is always written by the winners.