jinweibao
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 5 個
工控威望: 94 點
下載積分: 552 分
在線時間: 1(小時)
注冊時間: 2015-05-30
最后登錄: 2016-01-28
查看jinweibao的 主題 / 回貼
樓主  發(fā)表于: 2015-08-31 21:14
本人使用 易語言 編寫上位機程序,自己調(diào)用windows com通訊API 寫了個三菱和com口通訊的dll,
但是使用時發(fā)現(xiàn)只能使用9600波特率通訊,如果在works2中更改波特率為115200后就可以使用這個波特率一直運行,但是一斷電就沒了,
我問了三菱官方,他們說速率自動調(diào)節(jié),是不可以修改的,
但是我記得曾經(jīng)修過深圳一家公司的工控系統(tǒng),他們的fx3u就是一直是115200通訊,而且斷電后再上電也是這個速率,請問這個是什么情況?
而且我用com口監(jiān)視后發(fā)現(xiàn)PLC先從D8116中獲取4字節(jié)數(shù)據(jù),然后根據(jù)一定的計算寫入D8118,然后將波特率更改為115200就可以通訊了,
但是查看了很多數(shù)據(jù)也無法推斷出具體算法,求問有沒有對這方面有了解的大神?
據(jù)我用軟件測試,我現(xiàn)在用9600波特率獲取D0-D12的數(shù)據(jù)發(fā)送到接受需要大約65ms,普通強制置位通訊發(fā)送到接受大約15ms左右(經(jīng)過自己最大能力優(yōu)化,多線程,代碼優(yōu)化都用上了。。。),而115200波特率讀取24位數(shù)據(jù)(D0-D12)只需5-6ms,差距太大了,幾十上百毫秒在軟件中實時監(jiān)控就有卡頓了(伺服控制),還不算其他的控制!求大神解決!!
tingfenghu
級別: 工控俠客

精華主題: 0
發(fā)帖數(shù)量: 2844 個
工控威望: 3616 點
下載積分: 3515 分
在線時間: 3797(小時)
注冊時間: 2007-11-04
最后登錄: 2024-11-05
查看tingfenghu的 主題 / 回貼
1樓  發(fā)表于: 2015-09-06 23:58
引用
引用樓主jinweibao于2015-08-31 21:14發(fā)表的 求大神來觀,fx3u通訊算法問題 :
本人使用 易語言 編寫上位機程序,自己調(diào)用windows com通訊API 寫了個三菱和com口通訊的dll,
但是使用時發(fā)現(xiàn)只能使用9600波特率通訊,如果在works2中更改波特率為115200后就可以使用這個波特率一直運行,但是一斷電就沒了,
我問了三菱官方,他們說速率自動調(diào)節(jié),是不可以修改的,
但是我記得曾經(jīng)修過深圳一家公司的工控系統(tǒng),他們的fx3u就是一直是115200通訊,而且斷電后再上電也是這個速率,請問這個是什么情況?
而且我用com口監(jiān)視后發(fā)現(xiàn)PLC先從D8116中獲取4字節(jié)數(shù)據(jù),然后根據(jù)一定的計算寫入D8118,然后將波特率更改為115200就可以通訊了,
.......

好像windows系統(tǒng)不是實時系統(tǒng),正常刷新速度最快是ms級,即使用光纖通訊都要這個時間。
二手PLC,觸摸屏,伺服驅(qū)動,各類氣動設(shè)備
http://shop58129605.taobao.com/