jinweibao
級(jí)別: 正式會(huì)員
|
本人使用 易語(yǔ)言 編寫(xiě)上位機(jī)程序,自己調(diào)用windows com通訊API 寫(xiě)了個(gè)三菱和com口通訊的dll, 但是使用時(shí)發(fā)現(xiàn)只能使用9600波特率通訊,如果在works2中更改波特率為115200后就可以使用這個(gè)波特率一直運(yùn)行,但是一斷電就沒(méi)了, 我問(wèn)了三菱官方,他們說(shuō)速率自動(dòng)調(diào)節(jié),是不可以修改的, 但是我記得曾經(jīng)修過(guò)深圳一家公司的工控系統(tǒng),他們的fx3u就是一直是115200通訊,而且斷電后再上電也是這個(gè)速率,請(qǐng)問(wèn)這個(gè)是什么情況? 而且我用com口監(jiān)視后發(fā)現(xiàn)PLC先從D8116中獲取4字節(jié)數(shù)據(jù),然后根據(jù)一定的計(jì)算寫(xiě)入D8118,然后將波特率更改為115200就可以通訊了, 但是查看了很多數(shù)據(jù)也無(wú)法推斷出具體算法,求問(wèn)有沒(méi)有對(duì)這方面有了解的大神? 據(jù)我用軟件測(cè)試,我現(xiàn)在用9600波特率獲取D0-D12的數(shù)據(jù)發(fā)送到接受需要大約65ms,普通強(qiáng)制置位通訊發(fā)送到接受大約15ms左右(經(jīng)過(guò)自己最大能力優(yōu)化,多線(xiàn)程,代碼優(yōu)化都用上了。。。),而115200波特率讀取24位數(shù)據(jù)(D0-D12)只需5-6ms,差距太大了,幾十上百毫秒在軟件中實(shí)時(shí)監(jiān)控就有卡頓了(伺服控制),還不算其他的控制!求大神解決!!! |
---|---|
|
mythic
mythic
級(jí)別: 略有小成
|
當(dāng)初有監(jiān)控過(guò),但是當(dāng)時(shí)主要是在尋找密碼,所以沒(méi)關(guān)注波特率 而且一開(kāi)始就從PLC讀入一大堆數(shù)據(jù),看著頭大 |
---|---|
|
xiakebiao
工控老人
級(jí)別: 網(wǎng)絡(luò)英雄
|
易語(yǔ)言本身就是解釋性程序,比BASIC的層次還低,不適合實(shí)時(shí)控制的數(shù)據(jù)采集。 |
---|---|
|
jinweibao
級(jí)別: 正式會(huì)員
|
VB等更是算了吧,自帶的comm組件一個(gè)置位通訊來(lái)回都要幾十毫秒,如果是調(diào)用API,用什么編程軟件都是一樣, 再說(shuō)了,一個(gè)上位機(jī)控制程序用C語(yǔ)言?你們見(jiàn)過(guò)哪家的機(jī)械電腦控制系統(tǒng)是用C的?你用C寫(xiě)個(gè)窗口要多長(zhǎng)時(shí)間?windows的消息處理你又要寫(xiě)多長(zhǎng)時(shí)間? 和編程軟件沒(méi)有關(guān)系,關(guān)系在于如何提升通訊速率是根本,電腦程序再慢都是微秒級(jí),一個(gè)置位通訊就幾十毫秒,你就是用機(jī)器語(yǔ)言寫(xiě)程序也沒(méi)用 |
---|---|
|
jinweibao
級(jí)別: 正式會(huì)員
|
沒(méi)辦法了,找了個(gè)折中方法,啟動(dòng)程序調(diào)用gppw軟件,然后通過(guò)消息后臺(tái)控制gppw將波特率設(shè)定為115200,然后程序再開(kāi)始初始化通訊 |
---|---|
|
hawson
QQ:1056748134
級(jí)別: 論壇先鋒
|
確實(shí)有點(diǎn)意思,我看看幾天能搞了出來(lái) |
|
---|---|---|
|
hawson
QQ:1056748134
級(jí)別: 論壇先鋒
|
日本人不公布,抗戰(zhàn)勝利放假這三天我來(lái)研究下。這能算抗日密碼戰(zhàn)爭(zhēng)嗎 |
|
---|---|---|
|
jinweibao
級(jí)別: 正式會(huì)員
|
弄出來(lái)了麻煩聯(lián)系一下,QQ854629339 |
---|---|
|
tingfenghu
級(jí)別: 工控俠客
|
好像windows系統(tǒng)不是實(shí)時(shí)系統(tǒng),正常刷新速度最快是ms級(jí),即使用光纖通訊都要這個(gè)時(shí)間。 |
|
---|---|---|
|