中文字幕无码日韩视频无码三区

一種Modbus協議遙控返信讀取的方法和裝置與流程

文檔序號:11147849閱讀:1089來源:國知局
一種Modbus協議遙控返信讀取的方法和裝置與制造工藝

本發明涉及工(gong)業自動化領域(yu),尤指一種(zhong)Modbus協議遙控返信讀取的方法和裝置。



背景技術:

Modbus協(xie)議是工(gong)業自動(dong)化領域廣(guang)泛應(ying)(ying)(ying)用(yong)的(de)平衡型(xing)應(ying)(ying)(ying)答通信協(xie)議,已(yi)經成為通用(yong)工(gong)業標準。Modbus協(xie)議支持傳統的(de)串口(RS-232、RS-422、RS-485)和以太網(wang)設(she)(she)(she)備。Modbus通信使用(yong)主(zhu)(Master,也(ye)(ye)稱(cheng)主(zhu)站(zhan)(zhan))—從(Slave,也(ye)(ye)稱(cheng)從站(zhan)(zhan))技術,即(ji)在(zai)同(tong)一(yi)時刻,僅一(yi)個主(zhu)站(zhan)(zhan)設(she)(she)(she)備能初始(shi)化傳輸(查(cha)詢(xun)(xun)(xun),也(ye)(ye)叫請求,依次查(cha)詢(xun)(xun)(xun)稱(cheng)為輪(lun)詢(xun)(xun)(xun)),從站(zhan)(zhan)設(she)(she)(she)備根據主(zhu)站(zhan)(zhan)設(she)(she)(she)備查(cha)詢(xun)(xun)(xun)提供的(de)數(shu)據作出相應(ying)(ying)(ying)反(fan)應(ying)(ying)(ying)。主(zhu)站(zhan)(zhan)設(she)(she)(she)備可單獨(du)和從站(zhan)(zhan)設(she)(she)(she)備通信,也(ye)(ye)能以廣(guang)播方式和所(suo)有從站(zhan)(zhan)設(she)(she)(she)備通信。如(ru)果單獨(du)通信,從站(zhan)(zhan)設(she)(she)(she)備返回一(yi)消息作為回應(ying)(ying)(ying),如(ru)果主(zhu)站(zhan)(zhan)設(she)(she)(she)備是以廣(guang)播方式查(cha)詢(xun)(xun)(xun)的(de),則(ze)從站(zhan)(zhan)設(she)(she)(she)備不作任何回應(ying)(ying)(ying)。

如圖1所示(shi),主站設(she)備(bei)在準備(bei)新(xin)一次(ci)的請求時(shi)(shi),一開始會優先檢(jian)查是(shi)否(fou)(fou)有(you)遙(yao)控(kong)(kong)(kong)命(ming)令需要(yao)發(fa)(fa)(fa)送,如果有(you),則獲得(de)遙(yao)控(kong)(kong)(kong)信(xin)(xin)息(xi)并(bing)生(sheng)成(cheng)遙(yao)控(kong)(kong)(kong)報文(wen),發(fa)(fa)(fa)送遙(yao)控(kong)(kong)(kong)報文(wen)并(bing)隨后啟動(dong)接(jie)(jie)收超時(shi)(shi)定時(shi)(shi)器,如果在超時(shi)(shi)時(shi)(shi)間內成(cheng)功(gong)收到(dao)從站設(she)備(bei)應答(da),則表明此次(ci)遙(yao)控(kong)(kong)(kong)發(fa)(fa)(fa)送成(cheng)功(gong)了,但這只能說明從站設(she)備(bei)成(cheng)功(gong)接(jie)(jie)收到(dao)了命(ming)令,是(shi)否(fou)(fou)成(cheng)功(gong)還需要(yao)隨后主站設(she)備(bei)通(tong)過發(fa)(fa)(fa)送請求所讀取到(dao)的真正(zheng)遙(yao)控(kong)(kong)(kong)返(fan)(fan)(fan)(fan)信(xin)(xin)點才能看(kan)出。因(yin)為(wei),遙(yao)控(kong)(kong)(kong)處理通(tong)常為(wei)異步應答(da),即(ji)從站設(she)備(bei)收到(dao)遙(yao)控(kong)(kong)(kong)命(ming)令后,并(bing)檢(jian)查當前是(shi)否(fou)(fou)滿(man)足執行(xing)遙(yao)控(kong)(kong)(kong)所需條(tiao)件,然(ran)后會先給主站設(she)備(bei)發(fa)(fa)(fa)送相(xiang)應的應答(da),隨后才會執行(xing)遙(yao)控(kong)(kong)(kong),如果遙(yao)控(kong)(kong)(kong)成(cheng)功(gong)了,會將(jiang)相(xiang)應的遙(yao)控(kong)(kong)(kong)返(fan)(fan)(fan)(fan)信(xin)(xin)點的信(xin)(xin)息(xi)更(geng)新(xin)至從站數據(ju)區中(zhong)供(gong)主站設(she)備(bei)輪詢(xun)更(geng)新(xin),只有(you)當主站設(she)備(bei)輪詢(xun)到(dao)該信(xin)(xin)息(xi)時(shi)(shi),主站設(she)備(bei)方能知悉遙(yao)控(kong)(kong)(kong)真正(zheng)成(cheng)功(gong)了,存在讀取的遙(yao)控(kong)(kong)(kong)返(fan)(fan)(fan)(fan)信(xin)(xin)延(yan)遲時(shi)(shi)間長(chang)、獲得(de)返(fan)(fan)(fan)(fan)信(xin)(xin)時(shi)(shi)刻的時(shi)(shi)間波動(dong)范(fan)圍大的問題(ti)。



技術實現要素:

為了(le)解決上述技術問題,本(ben)發明提供了(le)一種(zhong)Modbus協(xie)議遙(yao)(yao)控返(fan)(fan)(fan)信的(de)方法,能夠(gou)縮短讀取(qu)遙(yao)(yao)控返(fan)(fan)(fan)信的(de)延遲時間、減(jian)小返(fan)(fan)(fan)信時刻的(de)時間波動范圍,實現遙(yao)(yao)控返(fan)(fan)(fan)信的(de)讀取(qu)時間與設備數量無(wu)關,與輪詢表(biao)大(da)小無(wu)關。

為(wei)了達到(dao)本發明目的(de),本發明提供(gong)了一(yi)種(zhong)Modbus協(xie)議遙(yao)控返信讀取的(de)方法,包括:

主(zhu)站設備(bei)(bei)向從站設備(bei)(bei)發送遙控命(ming)令;

到達所述遙(yao)(yao)控(kong)命令對應的(de)返(fan)信讀取延遲時間時,所述主站(zhan)設備(bei)向所述從站(zhan)設備(bei)發送(song)遙(yao)(yao)控(kong)返(fan)信請求,以(yi)獲取所述從站(zhan)設備(bei)的(de)遙(yao)(yao)控(kong)返(fan)信。

為(wei)了(le)達到本發(fa)(fa)明(ming)目的,本發(fa)(fa)明(ming)還(huan)提(ti)供了(le)一種Modbus協議遙控返信(xin)讀(du)取的裝置,應用于主站設(she)備,包括(kuo):

第一(yi)發(fa)送模(mo)塊,用(yong)于向從站(zhan)設(she)備發(fa)送遙(yao)控命令;

第二發(fa)送模塊,用于到達所述遙控命(ming)令對(dui)應的返信(xin)讀取(qu)延(yan)遲時間時,所述主站(zhan)(zhan)設備(bei)向(xiang)所述從(cong)站(zhan)(zhan)設備(bei)發(fa)送遙控返信(xin)請求,以獲取(qu)所述從(cong)站(zhan)(zhan)設備(bei)的遙控返信(xin)。

與(yu)現有技術相比,本(ben)發(fa)明(ming)實(shi)施(shi)例(li)包(bao)括:主站(zhan)設(she)(she)(she)備(bei)向(xiang)從(cong)(cong)站(zhan)設(she)(she)(she)備(bei)發(fa)送(song)遙(yao)控(kong)(kong)命令并開始計時(shi);到達(da)所述遙(yao)控(kong)(kong)命令對應的返(fan)(fan)信(xin)讀取(qu)(qu)(qu)延遲時(shi)間(jian)時(shi),所述主站(zhan)設(she)(she)(she)備(bei)向(xiang)所述從(cong)(cong)站(zhan)設(she)(she)(she)備(bei)發(fa)送(song)遙(yao)控(kong)(kong)返(fan)(fan)信(xin)請求(qiu),以獲取(qu)(qu)(qu)所述從(cong)(cong)站(zhan)設(she)(she)(she)備(bei)的遙(yao)控(kong)(kong)返(fan)(fan)信(xin)。本(ben)發(fa)明(ming)實(shi)施(shi)例(li)針對使用現有技術的遙(yao)控(kong)(kong)方法出(chu)現的設(she)(she)(she)備(bei)數(shu)量(liang)越多、輪詢(xun)表越大,讀取(qu)(qu)(qu)返(fan)(fan)信(xin)的延遲時(shi)間(jian)越長的缺(que)點,進行了優化(hua),遙(yao)控(kong)(kong)返(fan)(fan)信(xin)的讀取(qu)(qu)(qu)時(shi)間(jian)與(yu)設(she)(she)(she)備(bei)數(shu)量(liang)完全無關,與(yu)輪詢(xun)表大小完全無關,實(shi)現延時(shi)少、波動小的快速穩(wen)定(ding)的遙(yao)控(kong)(kong)返(fan)(fan)信(xin),進而(er)提(ti)升自動化(hua)水平。

進(jin)一(yi)步地,通(tong)過(guo)配置每個(ge)(ge)遙(yao)控(kong)(kong)命令(ling)對應(ying)的返信(xin)讀(du)取(qu)(qu)延(yan)遲時間(jian),可以根據設備實際(ji)情況對每個(ge)(ge)遙(yao)控(kong)(kong)命令(ling)對應(ying)的返信(xin)讀(du)取(qu)(qu)延(yan)遲進(jin)行精準配置,提高了遙(yao)控(kong)(kong)返信(xin)的讀(du)取(qu)(qu)效(xiao)率(lv)。

本發明(ming)的其它特征和優(you)(you)點(dian)將(jiang)在隨(sui)后的說明(ming)書(shu)(shu)中(zhong)闡述,并(bing)且,部分地從說明(ming)書(shu)(shu)中(zhong)變得(de)顯(xian)而易(yi)見,或者通過實(shi)施本發明(ming)而了解。本發明(ming)的目的和其他優(you)(you)點(dian)可通過在說明(ming)書(shu)(shu)、權利要求書(shu)(shu)以及(ji)附圖(tu)中(zhong)所(suo)特別指出的結構來實(shi)現和獲得(de)。

附圖說明

附圖用來提(ti)供對本(ben)(ben)發明(ming)(ming)技術(shu)方案的(de)進(jin)一(yi)步理解,并且構成說明(ming)(ming)書的(de)一(yi)部分,與本(ben)(ben)申請的(de)實施(shi)例一(yi)起(qi)用于解釋本(ben)(ben)發明(ming)(ming)的(de)技術(shu)方案,并不(bu)構成對本(ben)(ben)發明(ming)(ming)技術(shu)方案的(de)限制(zhi)。

圖1為現(xian)有含遙控的輪詢(xun)流程圖;

圖(tu)2為Modbus輪詢表示(shi)意圖(tu);

圖3為本發(fa)明實(shi)施(shi)例的Modbus協議遙控返信讀取(qu)的方(fang)法流(liu)程圖;

圖4為本(ben)發明(ming)應用示例的含遙(yao)控的輪詢(xun)流程圖;

圖5為本發明實(shi)施例(li)的Modbus協議遙控返(fan)信讀取的裝置(zhi)示意圖。

具體實施方式

為使本發(fa)明(ming)(ming)的(de)目的(de)、技術方案和(he)優點(dian)更(geng)加清楚明(ming)(ming)白,下(xia)文中(zhong)(zhong)將(jiang)結合附(fu)圖對(dui)本發(fa)明(ming)(ming)的(de)實施例進行詳細說(shuo)(shuo)明(ming)(ming)。需要(yao)說(shuo)(shuo)明(ming)(ming)的(de)是,在(zai)不沖突的(de)情況下(xia),本申請中(zhong)(zhong)的(de)實施例及實施例中(zhong)(zhong)的(de)特(te)征可(ke)以相互(hu)任意組(zu)合。

在(zai)(zai)(zai)附(fu)圖(tu)(tu)的(de)流(liu)程圖(tu)(tu)示(shi)出的(de)步驟可(ke)以(yi)在(zai)(zai)(zai)諸如一組計(ji)算(suan)機(ji)可(ke)執(zhi)(zhi)行(xing)指(zhi)令的(de)計(ji)算(suan)機(ji)系統中(zhong)執(zhi)(zhi)行(xing)。并且,雖然在(zai)(zai)(zai)流(liu)程圖(tu)(tu)中(zhong)示(shi)出了邏(luo)輯順(shun)序(xu),但(dan)是(shi)在(zai)(zai)(zai)某些(xie)情況下(xia),可(ke)以(yi)以(yi)不同于此處的(de)順(shun)序(xu)執(zhi)(zhi)行(xing)所示(shi)出或描述的(de)步驟。

在本文中,遙(yao)(yao)(yao)控(kong)(kong)返(fan)信,含義為自(zi)動化系統遙(yao)(yao)(yao)控(kong)(kong)操作(執行(xing)分/合等)變位信號(hao)返(fan)送(song),即從(cong)站(zhan)設(she)備(bei)的遙(yao)(yao)(yao)控(kong)(kong)結果反饋信息;遙(yao)(yao)(yao)控(kong)(kong)返(fan)信點(dian)(dian),指從(cong)站(zhan)設(she)備(bei)對執行(xing)遙(yao)(yao)(yao)控(kong)(kong)命(ming)令的結果所需反饋信息的邏輯單位(例如,分/合狀態)。當(dang)從(cong)站(zhan)設(she)備(bei)接收(shou)到(dao)主站(zhan)設(she)備(bei)的遙(yao)(yao)(yao)控(kong)(kong)命(ming)令,執行(xing)該遙(yao)(yao)(yao)控(kong)(kong)命(ming)令后,將遙(yao)(yao)(yao)控(kong)(kong)返(fan)信點(dian)(dian)的信息更新至(zhi)從(cong)站(zhan)數據區,從(cong)站(zhan)設(she)備(bei)接收(shou)到(dao)主站(zhan)設(she)備(bei)發(fa)送(song)遙(yao)(yao)(yao)控(kong)(kong)返(fan)信請求(qiu)時,查詢數據區數據,向主站(zhan)設(she)備(bei)返(fan)回應答消息,該應答消息中攜帶遙(yao)(yao)(yao)控(kong)(kong)返(fan)信。

在現有技術中,遙控返信點就涵蓋在輪詢表(如圖3所示,記輪詢表中請求總數為N)中,這個包含了遙控返信點的請求(以下簡稱這個請求為Rx)通常就是一個普通的請求,和其他請求是一個優先級,都得排隊等待輪詢。換言之,發送遙控命令后,主站設備仍然會按照之前的輪詢次序依次從輪詢表中獲得下一次需要發送的請求。所以,主站在發送遙控命令后一直到從主站獲得遙控返信的間隔時間(記為Ts)的波動范圍是Ts最小~Ts最大,其中,

Ts最小=設(she)(she)備遙(yao)(yao)控(kong)成功的(de)時間(以(yi)下(xia)記為Tx)+遙(yao)(yao)控(kong)返信請求發出(chu)后直(zhi)到收(shou)到應答所經(jing)歷(li)的(de)時間(以(yi)下(xia)記為Tr);其中(zhong),Tx的(de)含義為主站設(she)(she)備發送遙(yao)(yao)控(kong)后一(yi)直(zhi)到從站設(she)(she)備給設(she)(she)備數據區(qu)中(zhong)的(de)遙(yao)(yao)控(kong)返信點置(zhi)值成功所經(jing)歷(li)的(de)時間;

Ts最大=Tx+(N×請求間隔)+Tr;

其中,一個TCP局域網的典型Tr時間為10毫秒,因此,Tr可以忽略不計,所以,Ts最小≈Tx,Ts最大≈Tx+(N×請(qing)求間隔)。

Ts的期望(wang)值(zhi)是(shi):Tx+(N×請求間隔/2)。

以串口Modbus RTU(RemoteTerminalUnit,遠程終(zhong)端單元(yuan))通信為(wei)例,一個典(dian)型(xing)的接入(ru)例子(zi):一個串口接入(ru)10臺從(cong)站(zhan)設(she)備,每個從(cong)站(zhan)設(she)備有6個請(qing)求(qiu)(qiu),請(qing)求(qiu)(qiu)間(jian)隔時間(jian)為(wei)100毫秒(miao)(miao)(miao),那么請(qing)求(qiu)(qiu)總數(shu)為(wei)N=10×6=60,(N×請(qing)求(qiu)(qiu)間(jian)隔/2)=60×100/2毫秒(miao)(miao)(miao)=3秒(miao)(miao)(miao),即Ts期(qi)望(wang)值是(shi)Tx+3秒(miao)(miao)(miao),最(zui)壞需要Tx+6秒(miao)(miao)(miao),波(bo)動范(fan)圍是(shi)Tx~Tx+6秒(miao)(miao)(miao)。

工業自(zi)動(dong)(dong)化領域(yu),衡(heng)量自(zi)動(dong)(dong)化水(shui)平高低的一(yi)個重要指標就是遙(yao)控(kong)反饋性能,顯然(ran)以上的遙(yao)控(kong)反饋指標Ts有點慢了(le),而且(qie)反饋的快慢還(huan)需憑運氣(波動(dong)(dong)范圍大),不能確定地事先預(yu)測。而且(qie),設備(bei)數(shu)量越多、輪詢表越大,讀取的返信延遲越長、獲得返信時(shi)刻的波動(dong)(dong)范圍越大。

本發明實施例針(zhen)對使用現有技(ji)術的(de)遙控(kong)方法出現的(de)設(she)備數(shu)量(liang)越(yue)(yue)多、輪詢表越(yue)(yue)大(da),Ts的(de)延(yan)遲越(yue)(yue)長、獲(huo)得返(fan)信時(shi)刻的(de)波動范圍(wei)越(yue)(yue)大(da)的(de)缺點(dian),進(jin)行了針(zhen)對性的(de)優化。

如圖3所(suo)示,本發明實施例的Modbus協議遙控(kong)返信讀(du)取的方法,包括:

步(bu)驟101,主站設備向從(cong)站設備發送遙控命令;

步驟102,到達所述(shu)遙控(kong)命令對應的(de)返(fan)信(xin)讀取(qu)延遲(chi)時間(jian)時,所述(shu)主站(zhan)設(she)備(bei)向所述(shu)從站(zhan)設(she)備(bei)發送(song)遙控(kong)返(fan)信(xin)請求,以獲取(qu)所述(shu)從站(zhan)設(she)備(bei)的(de)遙控(kong)返(fan)信(xin)。

其中,步驟101之后(hou),如果該從站設備(bei)向主(zhu)站設備(bei)發送應答消(xiao)息則該遙控命(ming)令發送成功;如果主(zhu)站設備(bei)超(chao)時未接收到所述從站設備(bei)的應答消(xiao)息則該遙控命(ming)令發送失(shi)敗(bai)。

可以從(cong)遙(yao)控(kong)(kong)命(ming)令(ling)發送時開始(shi)計時,也可以在該(gai)遙(yao)控(kong)(kong)命(ming)令(ling)發送成功時(主站設(she)備接收到應答消息)開始(shi)計時。

其中,通常(chang)采(cai)用主(zhu)(zhu)站(zhan)(zhan)設備向(xiang)從(cong)站(zhan)(zhan)設備發(fa)送遙(yao)控命(ming)(ming)令(ling)并(bing)開始計時的方式,當(dang)采(cai)用這(zhe)種(zhong)方式時,若(ruo)所(suo)(suo)述(shu)遙(yao)控命(ming)(ming)令(ling)發(fa)送失敗,則所(suo)(suo)述(shu)主(zhu)(zhu)站(zhan)(zhan)設備重(zhong)新(xin)發(fa)送所(suo)(suo)述(shu)遙(yao)控命(ming)(ming)令(ling)并(bing)重(zhong)新(xin)開始計時。

可以預先(xian)配置每個遙(yao)控命(ming)令對應的返(fan)信讀取(qu)延遲時(shi)間(jian)(jian),所(suo)述返(fan)信讀取(qu)延遲時(shi)間(jian)(jian)與每個遙(yao)控命(ming)令對應的從設備執行動作時(shi)長相關。

步(bu)驟102執行(xing)之后(hou),所(suo)述主站設(she)備接收所(suo)述從站設(she)備發送(song)的遙控(kong)返信應答(da)消息,所(suo)述遙控(kong)返信應答(da)消息中攜帶遙控(kong)返信。

若所述(shu)(shu)遙(yao)(yao)控(kong)返信請(qing)求(qiu)發(fa)(fa)送失敗,則(ze)重新(xin)發(fa)(fa)送所述(shu)(shu)遙(yao)(yao)控(kong)返信請(qing)求(qiu)。如果主(zhu)站設備(bei)超時(shi)未接收到(dao)所述(shu)(shu)從站設備(bei)的(de)遙(yao)(yao)控(kong)返信應(ying)答消息,則(ze)該遙(yao)(yao)控(kong)返信請(qing)求(qiu)發(fa)(fa)送失敗。

如圖4所示(shi),為本發(fa)明(ming)應(ying)用示(shi)例的含遙控的輪詢(xun)流程(cheng)圖,包括:

步驟201,判斷是(shi)否有(you)(you)遙控(kong)命(ming)令需(xu)要發送,若有(you)(you),則(ze)執(zhi)行步驟202,若沒有(you)(you),則(ze)執(zhi)行步驟203;

其中,遙控(kong)命令是高優先(xian)級命令,所以先(xian)判斷(duan)是否有遙控(kong)命令需要(yao)發送;

步(bu)驟202,獲得遙(yao)控信息,執行步(bu)驟204;

步驟203,從輪詢表中依次讀取一條請求(qiu);

步驟204,生成報文;

步驟205,發送報文并啟(qi)動超時(shi)定(ding)時(shi)器;

此(ci)步驟中,若發送的報文是遙控命令,還(huan)啟動(dong)遙控返信計時器;

步驟(zou)(zou)206,判斷報文是否成(cheng)功接(jie)收,如果超時定時器(qi)時間到還未(wei)接(jie)收到從站設備的應(ying)答,則表示未(wei)成(cheng)功接(jie)收,執(zhi)行步驟(zou)(zou)207,若成(cheng)功接(jie)收從站設備的應(ying)答,則執(zhi)行步驟(zou)(zou)208;

步(bu)驟(zou)207,執(zhi)(zhi)行超時處理,根(gen)據執(zhi)(zhi)行策略,可(ke)能是(shi)重新(xin)發(fa)(fa)送報文,或者不再重新(xin)發(fa)(fa)送,執(zhi)(zhi)行步(bu)驟(zou)209;

步驟208,處理接收到的數據;

步(bu)驟209,準(zhun)備(bei)下一次發送(song);

步(bu)驟210,判(pan)斷是否有遙控返信請求需(xu)要發送,若有,則執行(xing)(xing)步(bu)驟211,若沒有,則執行(xing)(xing)步(bu)驟212;

其中,遙控返(fan)信(xin)計(ji)時器時間(jian)到,表示有遙控返(fan)信(xin)請求需(xu)要(yao)發送;而且遙控返(fan)信(xin)請求是高優先(xian)級命(ming)令,所以在輪詢表中的(de)請求發送之前,先(xian)發送遙控返(fan)信(xin)請求;

步驟211,獲得遙控返信信息,執行步驟213;

步驟212,從輪(lun)詢表中依次(ci)讀取一條請求;

步驟213,生成(cheng)報文;

步驟214,發(fa)送報(bao)文并啟動超時(shi)定時(shi)器;

步(bu)(bu)驟(zou)(zou)215,判斷報文是否(fou)成(cheng)功接收,如(ru)果超(chao)時(shi)定(ding)時(shi)器時(shi)間到(dao)還未接收到(dao)從(cong)站設備的應(ying)答,則(ze)(ze)表(biao)示(shi)未成(cheng)功接收,執(zhi)行(xing)步(bu)(bu)驟(zou)(zou)216,若成(cheng)功接收從(cong)站設備的應(ying)答,則(ze)(ze)執(zhi)行(xing)步(bu)(bu)驟(zou)(zou)217;

步驟216,執行超時處理,根(gen)據執行策略,可(ke)能(neng)是重新發送報文,或者不再重新發送,執行步驟218;

步驟217,處理接收到的(de)數據;

步驟218,準備下一次發送。

需要(yao)(yao)說明的是(shi)(shi),上述流(liu)程圖為了表(biao)(biao)示先(xian)發(fa)送(song)(song)(song)(song)遙(yao)(yao)(yao)控(kong)(kong)命令(ling),后發(fa)送(song)(song)(song)(song)遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)請求(qiu),所以(yi)分(fen)為兩(liang)部分(fen)(步(bu)(bu)(bu)驟201~209和步(bu)(bu)(bu)驟210~218)進行(xing)表(biao)(biao)示;在實際應用中,步(bu)(bu)(bu)驟201~209和步(bu)(bu)(bu)驟210~218可(ke)以(yi)合并,即每(mei)次(ci)(ci)(ci)流(liu)程執(zhi)行(xing)時,可(ke)以(yi)先(xian)執(zhi)行(xing)判(pan)斷(duan)是(shi)(shi)否(fou)有(you)(you)(you)(you)(you)遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)應答消息(xi)需要(yao)(yao)發(fa)送(song)(song)(song)(song),如(ru)(ru)果(guo)(guo)(guo)(guo)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)獲(huo)(huo)得(de)遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)信(xin)(xin)息(xi),如(ru)(ru)果(guo)(guo)(guo)(guo)沒(mei)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)判(pan)斷(duan)是(shi)(shi)否(fou)有(you)(you)(you)(you)(you)遙(yao)(yao)(yao)控(kong)(kong)命令(ling)需要(yao)(yao)發(fa)送(song)(song)(song)(song),如(ru)(ru)果(guo)(guo)(guo)(guo)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)獲(huo)(huo)得(de)遙(yao)(yao)(yao)控(kong)(kong)信(xin)(xin)息(xi),如(ru)(ru)果(guo)(guo)(guo)(guo)沒(mei)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)從輪(lun)(lun)詢表(biao)(biao)中獲(huo)(huo)取一條請求(qiu),之(zhi)后執(zhi)行(xing)步(bu)(bu)(bu)驟204~209;或者,每(mei)次(ci)(ci)(ci)流(liu)程執(zhi)行(xing)時,可(ke)以(yi)先(xian)執(zhi)行(xing)判(pan)斷(duan)是(shi)(shi)否(fou)有(you)(you)(you)(you)(you)遙(yao)(yao)(yao)控(kong)(kong)命令(ling)需要(yao)(yao)發(fa)送(song)(song)(song)(song),如(ru)(ru)果(guo)(guo)(guo)(guo)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)獲(huo)(huo)得(de)遙(yao)(yao)(yao)控(kong)(kong)信(xin)(xin)息(xi),如(ru)(ru)果(guo)(guo)(guo)(guo)沒(mei)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)判(pan)斷(duan)是(shi)(shi)否(fou)有(you)(you)(you)(you)(you)遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)請求(qiu)需要(yao)(yao)發(fa)送(song)(song)(song)(song),如(ru)(ru)果(guo)(guo)(guo)(guo)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)獲(huo)(huo)得(de)遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)信(xin)(xin)息(xi),如(ru)(ru)果(guo)(guo)(guo)(guo)沒(mei)有(you)(you)(you)(you)(you),則(ze)(ze)(ze)(ze)從輪(lun)(lun)詢表(biao)(biao)中獲(huo)(huo)取一條請求(qiu),之(zhi)后執(zhi)行(xing)步(bu)(bu)(bu)驟204~209。另外,每(mei)次(ci)(ci)(ci)發(fa)送(song)(song)(song)(song)遙(yao)(yao)(yao)控(kong)(kong)命令(ling)時,啟動遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)計(ji)(ji)時器。如(ru)(ru)果(guo)(guo)(guo)(guo)遙(yao)(yao)(yao)控(kong)(kong)命令(ling)沒(mei)有(you)(you)(you)(you)(you)成功接(jie)收(shou),則(ze)(ze)(ze)(ze)重(zhong)(zhong)新(xin)發(fa)送(song)(song)(song)(song)該(gai)遙(yao)(yao)(yao)控(kong)(kong)命令(ling),并重(zhong)(zhong)啟遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)計(ji)(ji)時器。如(ru)(ru)果(guo)(guo)(guo)(guo)遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)請求(qiu)沒(mei)有(you)(you)(you)(you)(you)成功接(jie)收(shou),則(ze)(ze)(ze)(ze)重(zhong)(zhong)新(xin)發(fa)送(song)(song)(song)(song)該(gai)遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)請求(qiu)。遙(yao)(yao)(yao)控(kong)(kong)命令(ling)和遙(yao)(yao)(yao)控(kong)(kong)返信(xin)(xin)請求(qiu)均可(ke)以(yi)設置最大(da)重(zhong)(zhong)發(fa)次(ci)(ci)(ci)數,若重(zhong)(zhong)發(fa)次(ci)(ci)(ci)數等(deng)于最大(da)重(zhong)(zhong)發(fa)次(ci)(ci)(ci)數,則(ze)(ze)(ze)(ze)可(ke)能出現故障,不再重(zhong)(zhong)發(fa),可(ke)以(yi)提示告警等(deng)信(xin)(xin)息(xi)。

在本發(fa)(fa)(fa)明實施例中,所述遙控返信請求,既可(ke)以由主站(zhan)設備的驅動自(zi)動發(fa)(fa)(fa)送,也(ye)可(ke)以由上位(wei)機(如人機界(jie)面)通(tong)過(guo)組態人為(wei)或者自(zi)動發(fa)(fa)(fa)送。

在(zai)本發明實施例中,可(ke)以(yi)(yi)(yi)對每個(ge)(ge)遙(yao)控命(ming)(ming)令(ling)的(de)(de)(de)(de)返(fan)信讀取(qu)延(yan)遲(chi)時(shi)(shi)間(jian)(jian)進行(xing)(xing)精準配置,配置時(shi)(shi)可(ke)以(yi)(yi)(yi)略大于(yu)Tx(設備(bei)遙(yao)控成(cheng)功的(de)(de)(de)(de)時(shi)(shi)間(jian)(jian))。其中,Tx與從(cong)站設備(bei)的(de)(de)(de)(de)動(dong)作(zuo)(zuo)特性(xing)相(xiang)關(guan),比如(ru),一(yi)(yi)個(ge)(ge)開關(guan)的(de)(de)(de)(de)合動(dong)作(zuo)(zuo)可(ke)能(neng)需要(yao)100毫秒(miao)即可(ke)完(wan)成(cheng),而(er)一(yi)(yi)個(ge)(ge)開關(guan)的(de)(de)(de)(de)分(fen)動(dong)作(zuo)(zuo)則可(ke)能(neng)需要(yao)500毫秒(miao),雖(sui)然每個(ge)(ge)遙(yao)控命(ming)(ming)令(ling)的(de)(de)(de)(de)返(fan)信讀取(qu)延(yan)遲(chi)時(shi)(shi)間(jian)(jian)可(ke)能(neng)有(you)所不(bu)同,但是這些值是可(ke)以(yi)(yi)(yi)事先(xian)測(ce)定的(de)(de)(de)(de),并(bing)且這些值不(bu)會(hui)隨著運行(xing)(xing)而(er)會(hui)產生大的(de)(de)(de)(de)改(gai)變,即完(wan)全可(ke)以(yi)(yi)(yi)事先(xian)測(ce)定并(bing)且依據各個(ge)(ge)遙(yao)控返(fan)信測(ce)試值進行(xing)(xing)每個(ge)(ge)遙(yao)控所對應(ying)返(fan)信請求的(de)(de)(de)(de)延(yan)遲(chi)時(shi)(shi)間(jian)(jian)配置。即:可(ke)以(yi)(yi)(yi)設置返(fan)信讀取(qu)延(yan)遲(chi)時(shi)(shi)間(jian)(jian)為遙(yao)控命(ming)(ming)令(ling)對應(ying)的(de)(de)(de)(de)從(cong)設備(bei)執行(xing)(xing)動(dong)作(zuo)(zuo)時(shi)(shi)長(chang)加(jia)上預設時(shi)(shi)長(chang),該(gai)預設時(shi)(shi)長(chang)可(ke)以(yi)(yi)(yi)是一(yi)(yi)個(ge)(ge)固定的(de)(de)(de)(de)較短時(shi)(shi)間(jian)(jian),如(ru)100毫秒(miao)。

仍以(yi)上面例子為(wei)例:一個串口接入10臺(tai)從(cong)站設備(bei),每個從(cong)站設備(bei)有6個請求(qiu),請求(qiu)間隔時間為(wei)100毫(hao)秒(記為(wei)T1),假設T0=200毫(hao)秒,那么請求(qiu)總(zong)數為(wei)N=10×6=60。

使(shi)用(yong)現有技術的(de)遙控返信流程時:(N×請(qing)求(qiu)間隔/2)=60×100/2毫(hao)秒(miao)=3秒(miao),Ts期望值是(shi)3秒(miao)+T0=3.2秒(miao),最壞需要Ta+6=6.2秒(miao),Ts的(de)波動(dong)范圍高達200~6200毫(hao)秒(miao)!

使用(yong)本發(fa)明實施例的(de)技術時,假設某遙控配(pei)置了對應的(de)返信(xin)請求,并且配(pei)置的(de)返信(xin)讀(du)取延遲時間為(wei)300毫(hao)秒(記(ji)為(wei)T0a,大于Tx),Ts的(de)范圍大幅縮小為(wei)T0a~(T0a+T1)毫(hao)秒=300~400毫(hao)秒。

舉例(li)來說,假如地鐵的一條線路有46個站(zhan),每天(tian)需(xu)要順序上(shang)電(dian)和順序斷電(dian),以順序斷電(dian)為(wei)例(li),采(cai)用(yong)現有技術方法完成46個站(zhan)點(dian)斷電(dian)大約(yue)需(xu)要6分鐘,而(er)采(cai)用(yong)本發明實施例(li)的方法,則大約(yue)只需(xu)要30秒(miao),極大提高了(le)斷電(dian)效率,節省了(le)斷電(dian)時間(jian)。

從上(shang)描述可知(zhi),本發明(ming)實施例的方法實現了(le)Ts與(yu)設(she)備數量完全無關(guan),與(yu)輪詢(xun)表(biao)大小完全無關(guan),不僅有效縮(suo)短(duan)了(le)Ts,而且可以使Ts的實際(ji)波動范(fan)圍達(da)到最(zui)優。在串行總線下,當接入的設(she)備越多、輪詢(xun)表(biao)越大,越是凸顯本發明(ming)的先進性。

如圖5所示(shi),為本發(fa)明實施例的Modbus協議遙控(kong)返信讀取的裝置(zhi)示(shi)意(yi)圖,該裝置(zhi)應用于主站(zhan)設備(bei),包括:

第一發送模塊31,用于(yu)向從站設備發送遙(yao)控命令;

第二發(fa)送模塊32,用(yong)于到達所述遙控(kong)命令對應的(de)返信(xin)讀取(qu)延遲時(shi)間時(shi),向(xiang)所述從站(zhan)設備發(fa)送遙控(kong)返信(xin)請(qing)求,以(yi)獲(huo)取(qu)所述從站(zhan)設備的(de)遙控(kong)返信(xin)。

可選地,該裝(zhuang)置(zhi)還包括:

配置(zhi)模塊33,用于預先配置(zhi)每個遙控命令對應的返(fan)信讀取延(yan)遲時間(jian),所述返(fan)信讀取延(yan)遲時間(jian)與每個遙控命令對應的從設備執行動作時長相(xiang)關。

所述返信讀(du)取(qu)延(yan)遲時(shi)間為遙(yao)控(kong)命令對應(ying)的從設備執行(xing)動作時(shi)長加上(shang)預設時(shi)長。

可選(xuan)地,所(suo)述(shu)(shu)第(di)一發(fa)送(song)模塊31,進一步用于向從站設(she)備發(fa)送(song)遙(yao)控命(ming)令(ling)并開始計(ji)時;若所(suo)述(shu)(shu)遙(yao)控命(ming)令(ling)發(fa)送(song)失敗,則重新(xin)發(fa)送(song)所(suo)述(shu)(shu)遙(yao)控命(ming)令(ling)并重新(xin)開始計(ji)時。

可選地,所述(shu)第二(er)發(fa)送(song)模塊(kuai)32,進一步用于若所述(shu)遙控(kong)返信請求(qiu)發(fa)送(song)失敗(bai),則重新發(fa)送(song)所述(shu)遙控(kong)返信請求(qiu)。

綜上所述,本發(fa)(fa)明實(shi)施例(li)中(zhong),發(fa)(fa)送(song)(song)遙(yao)控命(ming)令后返(fan)信請(qing)求的(de)(de)發(fa)(fa)送(song)(song),不僅包含在常規的(de)(de)輪詢表中(zhong),還(huan)可以關聯具體(ti)的(de)(de)遙(yao)控,這樣,一旦遙(yao)控操作時,即可觸發(fa)(fa)遙(yao)控返(fan)信快速讀取流程(本專利),從而(er)實(shi)現無(wu)延時、無(wu)波(bo)動的(de)(de)快速穩定的(de)(de)遙(yao)控返(fan)信,進而(er)提升自動化(hua)水平。

雖然本發(fa)明(ming)(ming)所(suo)揭露的(de)(de)(de)實施方式如上(shang)(shang),但所(suo)述(shu)的(de)(de)(de)內容僅為(wei)便于理解本發(fa)明(ming)(ming)而(er)采(cai)用的(de)(de)(de)實施方式,并非(fei)用以(yi)限定本發(fa)明(ming)(ming)。任何本發(fa)明(ming)(ming)所(suo)屬領(ling)域(yu)內的(de)(de)(de)技術人員,在不脫(tuo)離本發(fa)明(ming)(ming)所(suo)揭露的(de)(de)(de)精神和范圍的(de)(de)(de)前提(ti)下,可以(yi)在實施的(de)(de)(de)形式及細節(jie)上(shang)(shang)進行任何的(de)(de)(de)修改(gai)與變化,但本發(fa)明(ming)(ming)的(de)(de)(de)專(zhuan)利保護范圍,仍須以(yi)所(suo)附的(de)(de)(de)權(quan)利要(yao)求書所(suo)界定的(de)(de)(de)范圍為(wei)準。

當前第1頁1 2 3 
網(wang)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1