[發(fā)明專利]一種避免modbus實(shí)時(shí)數(shù)據(jù)庫(kù)訪問(wèn)沖突的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210158291.8 | 申請(qǐng)日: | 2012-05-21 |
| 公開(kāi)(公告)號(hào): | CN102722535A | 公開(kāi)(公告)日: | 2012-10-10 |
| 發(fā)明(設(shè)計(jì))人: | 周明;王可中 | 申請(qǐng)(專利權(quán))人: | 周明;王可中 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 221008 江蘇省徐州*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 避免 modbus 實(shí)時(shí) 數(shù)據(jù)庫(kù) 訪問(wèn) 沖突 方法 | ||
技術(shù)領(lǐng)域:
本發(fā)明涉及設(shè)備通信和數(shù)據(jù)處理,特別涉及一種避免modbus實(shí)時(shí)數(shù)據(jù)庫(kù)訪問(wèn)沖突的方法。
背景技術(shù):
在工業(yè)控制現(xiàn)場(chǎng),modbus作為一種成熟的應(yīng)用協(xié)議受到了廣泛的部署和應(yīng)用。在儀表、傳感器、電動(dòng)執(zhí)行機(jī)構(gòu)等方面應(yīng)用非常成熟。modbus是一個(gè)請(qǐng)求/應(yīng)答協(xié)議,可以在以太網(wǎng)、RS232、RS422、RS485、光纖等線路上實(shí)施。
在現(xiàn)場(chǎng)應(yīng)用時(shí),一般都是由一個(gè)或多個(gè)modbus主站,通過(guò)RS232、RS422或者RS485的異步串行總線,連接現(xiàn)場(chǎng)的設(shè)備(從站);控制臺(tái)通過(guò)以太網(wǎng)或者其他的總線技術(shù)接入modbus主站。在modbus主站上,存在一個(gè)實(shí)時(shí)的數(shù)據(jù)庫(kù),控制臺(tái)發(fā)出的命令更新到實(shí)時(shí)數(shù)據(jù)庫(kù),modbus主站會(huì)周期性的把這些命令下發(fā)到對(duì)應(yīng)的從站。
modbus主站負(fù)責(zé):獲取各從站的運(yùn)行數(shù)據(jù)和狀態(tài);獲取控制臺(tái)的指令;轉(zhuǎn)發(fā)從站數(shù)據(jù)到控制臺(tái);轉(zhuǎn)發(fā)控制臺(tái)指令到各從站;上述這些工作一般以循環(huán)的方式周期性的執(zhí)行。
如圖1和圖2所示,在現(xiàn)有采用modbus協(xié)議的單控制臺(tái)系統(tǒng)中,控制臺(tái)101連接一包含實(shí)時(shí)數(shù)據(jù)庫(kù)104的modbus主站102,該modbus主站連接若干modbus從站103。該系統(tǒng)的流程步驟包括:
S201:獲取控制臺(tái)指令;
S202:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S203:發(fā)送指令給從站;
S204:獲取從站狀態(tài);
S205:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S206:發(fā)送從站狀態(tài)給控制臺(tái)。
上述步驟循環(huán)往復(fù)。
如圖3、圖4a和圖4b所示,在現(xiàn)有采用modbus協(xié)議的多控制臺(tái)系統(tǒng)中,有多個(gè)控制臺(tái),即第一控制臺(tái)301和第二控制臺(tái)302。它們連接一包含實(shí)時(shí)數(shù)據(jù)庫(kù)305的modbus主站303,該modbus主站連接若干modbus從站304。該系統(tǒng)的流程步驟包括:
循環(huán)流程1:
S411:獲取第一控制臺(tái)指令;
S412:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S413:獲取第二控制臺(tái)指令;
S414:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S415:發(fā)送指令給從站;
S416:獲取從站狀態(tài);
S417:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S418:發(fā)送從站狀態(tài)給各控制臺(tái)。
循環(huán)流程2:
S421:獲取第一控制臺(tái)指令;
S422:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S423:發(fā)送指令給從站;
S424:獲取第二控制臺(tái)指令;
S425:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S426:發(fā)送指令給從站;
S427:獲取從站狀態(tài);
S428:更新實(shí)時(shí)數(shù)據(jù)庫(kù);
S429:發(fā)送從站狀態(tài)給各控制臺(tái)。
上述流程中,modbus主站分別從兩個(gè)控制臺(tái)獲取指令,并轉(zhuǎn)發(fā)給相應(yīng)的從站。因?yàn)檫@是一個(gè)循環(huán)過(guò)程,當(dāng)一個(gè)控制臺(tái)發(fā)送控制指令,而另外一個(gè)控制臺(tái)不發(fā)送時(shí),modbus主站從兩個(gè)控制臺(tái)讀到的指令不一樣。圖4所示的兩種循環(huán)都不能保證有效的控制指令被發(fā)送到對(duì)應(yīng)的從站;同時(shí),當(dāng)兩個(gè)控制臺(tái)同時(shí)發(fā)送指令時(shí),modbus主站也不能保證哪個(gè)控制臺(tái)的指令被優(yōu)先執(zhí)行。
發(fā)明內(nèi)容:
本發(fā)明針對(duì)上述多控制臺(tái)的modbus主站系統(tǒng),提供了針對(duì)多控制臺(tái)有效控制和優(yōu)先控制的解決方法。該方法能有效的解決多控制臺(tái)modbus系統(tǒng)中,避免控制失效和控制優(yōu)先級(jí)的問(wèn)題。
本發(fā)明具體技術(shù)方案如下:
一種避免modbus實(shí)時(shí)數(shù)據(jù)庫(kù)訪問(wèn)沖突的方法,其特征在于,在modbus主站中,控制臺(tái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作,其指令被緩存到一個(gè)指令緩沖區(qū),并和前一次的緩沖指令進(jìn)行對(duì)比。只有當(dāng)指令發(fā)生變化時(shí),該指令被更新到數(shù)據(jù)庫(kù);同時(shí)該指令被指令緩沖保存;所述在modbus主站的循環(huán)列表中,每條針對(duì)數(shù)據(jù)庫(kù)的更新操作指令都有相對(duì)應(yīng)的指令緩沖,在開(kāi)機(jī)進(jìn)入循環(huán)前,這些緩沖被清除。
上述方案中,所述控制臺(tái)的指令分為A、B兩類,A類指令為數(shù)據(jù)庫(kù)寫指令,對(duì)應(yīng)的modbus功能碼為:5、6、15、16;B類指令為數(shù)據(jù)庫(kù)讀指令,對(duì)應(yīng)的modbus功能碼為:1、2、3、4。
上述方案中,所述針對(duì)多控制臺(tái)的同時(shí)控制時(shí),對(duì)每個(gè)控制臺(tái)設(shè)定一個(gè)優(yōu)先級(jí);同時(shí)數(shù)據(jù)庫(kù)的更新操作增加更新標(biāo)記。
上述方案中,所述更新標(biāo)記包括更新的時(shí)間、更新的地址范圍和更新的優(yōu)先級(jí)三部分信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于周明;王可中,未經(jīng)周明;王可中許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210158291.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 一種基于MODBUS遠(yuǎn)程智能通訊系統(tǒng)
- 一種串行Modbus擴(kuò)展通信的方法
- Modbus Hub協(xié)議轉(zhuǎn)換網(wǎng)關(guān)軟件
- 一種4路Modbus_RTU協(xié)議轉(zhuǎn)換器
- 一種Modbus RTU總線地址自動(dòng)分配方法
- 基于modbus通訊協(xié)議的通訊方法
- 基于MODBUS協(xié)議的從站轉(zhuǎn)換裝置及其控制方法
- 一種虛擬Modbus ID生成方法、裝置和網(wǎng)關(guān)
- 一種基于MODBUS協(xié)議的從站轉(zhuǎn)換裝置
- 一種modbus設(shè)備自動(dòng)注冊(cè)與管理的系統(tǒng)、方法和裝置
- 實(shí)時(shí)解碼系統(tǒng)與實(shí)時(shí)解碼方法
- 實(shí)時(shí)穩(wěn)定
- 實(shí)時(shí)監(jiān)控裝置、實(shí)時(shí)監(jiān)控系統(tǒng)以及實(shí)時(shí)監(jiān)控方法
- 實(shí)時(shí)或準(zhǔn)實(shí)時(shí)流傳輸
- 實(shí)時(shí)或準(zhǔn)實(shí)時(shí)流傳輸
- 實(shí)時(shí)通信方法和實(shí)時(shí)通信系統(tǒng)
- 實(shí)時(shí)更新
- 實(shí)時(shí)內(nèi)核
- 用于通信網(wǎng)絡(luò)的網(wǎng)絡(luò)設(shè)備及相關(guān)方法
- 實(shí)時(shí)量化方法及實(shí)時(shí)量化系統(tǒng)
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置





