基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng)及方法,包括:數(shù)據(jù)采集控制器以及生產(chǎn)現(xiàn)場各站點(diǎn)的控制器;所述數(shù)據(jù)采集控制器采用單邊通信的方式與現(xiàn)場每一個(gè)站點(diǎn)的控制器進(jìn)行通信。本發(fā)明有益效果:通過依次觸發(fā)與現(xiàn)場各個(gè)站點(diǎn)的通信,判斷通信返回值,重新觸發(fā)或者初始化通信功能,進(jìn)而觸發(fā)下一次通信,有效提高了通信的效率,保證了制絲設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)的高效采集。
【專利說明】
基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng)及方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及制絲設(shè)備數(shù)據(jù)采集技術(shù)領(lǐng)域,尤其涉及一種基于輪詢通信檢測的制絲 設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng)及方法。
【背景技術(shù)】
[0002] PLC控制器作為車間生產(chǎn)設(shè)備、工藝過程控制的核心,其中存儲(chǔ)著大量的設(shè)備運(yùn)行 狀態(tài)數(shù)據(jù),為設(shè)備的精益管理以及利用設(shè)備運(yùn)行數(shù)據(jù)預(yù)測故障、制定維保點(diǎn)檢計(jì)劃,進(jìn)而實(shí) 現(xiàn)卷煙工廠設(shè)備數(shù)據(jù)的管理與應(yīng)用,需要將這些數(shù)據(jù)匯集起來并進(jìn)行通信上傳。但是,目前 在煙草制絲領(lǐng)域,并沒有對制絲設(shè)備的狀態(tài)數(shù)據(jù)進(jìn)行采集的系統(tǒng)和方法。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的就是為了解決上述技術(shù)問題,提供了一種基于輪詢通信檢測的制絲 設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng)及方法,該方法無需改動(dòng)現(xiàn)場控制器的硬件組態(tài),不影響現(xiàn)場設(shè)備 運(yùn)行狀態(tài)。通過依次觸發(fā)與現(xiàn)場各個(gè)站點(diǎn)的通信,判斷通信返回值,重新觸發(fā)或者初始化通 信功能,進(jìn)而觸發(fā)下一次通信,有效提高了通信的效率,保證了制絲設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)的高 效米集。
[0004] 為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0005] -種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng),包括:數(shù)據(jù)采集控制器以 及生產(chǎn)現(xiàn)場各站點(diǎn)的控制器;所述數(shù)據(jù)采集控制器采用單邊通信的方式與現(xiàn)場每一個(gè)站點(diǎn) 的控制器進(jìn)行通信。
[0006] 進(jìn)一步地,數(shù)據(jù)采集控制器采集現(xiàn)場每一個(gè)站點(diǎn)的信息并存儲(chǔ)為一個(gè)結(jié)構(gòu)體,所 述結(jié)構(gòu)體的字節(jié)數(shù)為設(shè)定字節(jié)數(shù)t;每當(dāng)一個(gè)站點(diǎn)通信結(jié)束時(shí),數(shù)據(jù)地址加 t,讀取下一個(gè)站 點(diǎn)的通信信息,達(dá)到總通信站點(diǎn)數(shù)量時(shí),數(shù)據(jù)地址清零,實(shí)現(xiàn)循環(huán)讀取站點(diǎn)信息。
[0007] 進(jìn)一步地,每一個(gè)所述結(jié)構(gòu)體包括:通信的ID號、生產(chǎn)現(xiàn)場各站點(diǎn)的控制器的數(shù)據(jù) 存儲(chǔ)塊、通信數(shù)據(jù)長度、數(shù)據(jù)采集控制器的數(shù)據(jù)存儲(chǔ)塊、控制器類型、數(shù)據(jù)長度是否超限以 及預(yù)留擴(kuò)展位。
[0008] -種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集方法,包括以下步驟:
[0009] 步驟1:將需要通信的現(xiàn)場各站點(diǎn)的信息存儲(chǔ)在設(shè)定的數(shù)據(jù)塊中;
[0010]步驟2:當(dāng)需要與某個(gè)現(xiàn)場站點(diǎn)通信時(shí),將該站點(diǎn)的通信信息讀取至對應(yīng)的內(nèi)存地 址中;
[0011]步驟3:根據(jù)所需通信站點(diǎn)的CPU類型,判斷總通信數(shù)據(jù)長度是否超出該站點(diǎn)單次 通信最大數(shù)據(jù)量限制;如果未超出,直接使用實(shí)際通信次數(shù),并記通信次數(shù)為1;轉(zhuǎn)入步驟6; 否則,分多次通信,轉(zhuǎn)入步驟4;
[0012]步驟4:計(jì)算需要通信的總次數(shù),并確定每次通信的數(shù)據(jù)量;
[0013]步驟5:利用變量尋址方式,將每次通信的數(shù)據(jù)進(jìn)行存儲(chǔ),對單次通信的信息進(jìn)行 整合;
[0014] 步驟6:利用脈沖信號觸發(fā)通信使能信號,接收并判斷通信返回值,如果返回值有 錯(cuò)誤,復(fù)位相應(yīng)的標(biāo)志位,停止本站點(diǎn)通信;如果通信成功,對通信成功返回值進(jìn)行計(jì)數(shù),根 據(jù)通信總次數(shù),計(jì)算剩余通信次數(shù),并觸發(fā)下一次通信;
[0015] 步驟7:判斷本次通信是否結(jié)束,即預(yù)計(jì)通信總次數(shù)是否等于已完成通信總次數(shù), 如果結(jié)束,跳轉(zhuǎn)到步驟2,獲取與下一站點(diǎn)通信的數(shù)據(jù),并開始通信。
[0016] 進(jìn)一步地,每一個(gè)現(xiàn)場站點(diǎn)的信息均存儲(chǔ)為一個(gè)結(jié)構(gòu)體,所述結(jié)構(gòu)體的字節(jié)數(shù)為 設(shè)定字節(jié)數(shù)t;每當(dāng)一個(gè)站點(diǎn)通信結(jié)束時(shí),數(shù)據(jù)地址加 t,讀取下一個(gè)站點(diǎn)的通信信息,達(dá)到 總通信站點(diǎn)數(shù)量時(shí),數(shù)據(jù)地址清零,實(shí)現(xiàn)循環(huán)讀取站點(diǎn)信息。
[0017] 進(jìn)一步地,所述步驟4中,確定每次通信的數(shù)據(jù)量的方法為:
[0018] 如果剩余通信次數(shù)為1,利用總通信數(shù)據(jù)量減去已通信的數(shù)據(jù)量,計(jì)算結(jié)果賦值給 本次通信數(shù)據(jù)長度值;如果剩余多次,則本次通信數(shù)據(jù)長度為單次通信的最大數(shù)據(jù)量。 [00 19]進(jìn)一步地,所述步驟5的方法具體為:
[0020]利用變量尋址方式,將單次通信的通信參數(shù)數(shù)據(jù)存儲(chǔ)在遠(yuǎn)程參數(shù)addr變量和本地 參數(shù)rd變量中;
[0021 ]調(diào)用Get功能塊指令,將遠(yuǎn)程參數(shù)addr變量和本地參數(shù)rd變量作為輸入?yún)?shù),傳遞 給Get功能塊Addr_l和Rd_l參數(shù),使得Get功能塊獲取所需通信站點(diǎn)的通信地址,讀取通信 數(shù)據(jù),并將數(shù)據(jù)匯總至數(shù)據(jù)采集控制器的數(shù)據(jù)存儲(chǔ)塊中。
[0022]進(jìn)一步地,單次通信的信息包括:數(shù)據(jù)的類型、數(shù)據(jù)的存儲(chǔ)區(qū)、數(shù)據(jù)采集控制器的 數(shù)據(jù)存儲(chǔ)塊號、通信站點(diǎn)控制器數(shù)據(jù)存儲(chǔ)塊號,以及單次通信數(shù)據(jù)長度。
[0023]本發(fā)明有益效果:
[0024]利用一臺(tái)西門子PLC作為數(shù)據(jù)采集控制器,與生產(chǎn)現(xiàn)場各西門子PLC控制器的數(shù)據(jù) 交換,采用S7單邊通信方式,無需改動(dòng)現(xiàn)場控制器的硬件組態(tài),不影響現(xiàn)場設(shè)備運(yùn)行狀態(tài)。
[0025] 通過依次觸發(fā)與現(xiàn)場各個(gè)站點(diǎn)的通信,判斷通信返回值,重新觸發(fā)或者初始化通 信功能,進(jìn)而觸發(fā)下一次通信,有效提高了通信的效率,保證了制絲設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)的高 效米集。
[0026] 通過本發(fā)明方法,實(shí)現(xiàn)了對現(xiàn)場控制器中設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)的高效采集,提供了 通信的效率,實(shí)現(xiàn)了對現(xiàn)場設(shè)備運(yùn)行狀態(tài)的精確監(jiān)控,有利于實(shí)現(xiàn)設(shè)備故障預(yù)警和追溯,為 設(shè)備健康狀態(tài)評價(jià)和保證生產(chǎn)穩(wěn)定、高效運(yùn)行提供了數(shù)據(jù)支持。
【附圖說明】
[0027]圖1為本發(fā)明的方法流程圖。
【具體實(shí)施方式】
[0028] 下面結(jié)合附圖和實(shí)施例,對本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。
[0029] -種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)高效采集方法,如圖1所示,包括以下 步驟:
[0030] 步驟1存儲(chǔ)通信站點(diǎn)信息。本方法首先將需要通信站點(diǎn)的信息存儲(chǔ)在一定的數(shù)據(jù) 塊中,如表1所示,每個(gè)站點(diǎn)信息為一個(gè)結(jié)構(gòu)體(Struct),包括通信的ID號、遠(yuǎn)程控制器數(shù)據(jù) 存儲(chǔ)塊、通信數(shù)據(jù)長度、本地控制器數(shù)據(jù)存儲(chǔ)塊、控制器類型、數(shù)據(jù)長度是否超限等,共10個(gè) 字節(jié),并預(yù)留擴(kuò)展位,可根據(jù)通信的站點(diǎn)數(shù)目,自由地在其中添加。
[0031]表1站點(diǎn)信息存儲(chǔ)格式
[0034] 步驟2依次讀取通信站點(diǎn)的信息。當(dāng)需要與某個(gè)站點(diǎn)通信時(shí),將該站點(diǎn)的通信信息 讀取至對應(yīng)的內(nèi)存地址中。利用每個(gè)站點(diǎn)信息占用十個(gè)字節(jié)的規(guī)律,每當(dāng)一個(gè)站點(diǎn)通信結(jié) 束時(shí),數(shù)據(jù)地址加十,讀取下一個(gè)站點(diǎn)的通信信息,達(dá)到總通信站點(diǎn)數(shù)量時(shí),數(shù)據(jù)地址清零, 實(shí)現(xiàn)循環(huán)讀取站點(diǎn)信息。
[0035] ρ = Ν*1〇+ΔΡ
[0036] Ρ為站點(diǎn)信息地址;Ν為站點(diǎn)數(shù)量計(jì)數(shù);△ Ρ為站點(diǎn)相應(yīng)信息地址偏移量。
[0037] 步驟3計(jì)算通信總次數(shù)。對于需要通信的站點(diǎn),根據(jù)站點(diǎn)CPU的類型,首先判斷總通 信數(shù)據(jù)長度是否超出單次通信最大數(shù)據(jù)量限制(其中S7-300CPU為222個(gè)字節(jié),S7-400CPU為 462個(gè)字節(jié)),如果未超出,直接使用實(shí)際通信次數(shù),并記通信次數(shù)為1;如果超出最大限制, 需要分多次通信,計(jì)算需要通信的總次數(shù),并確定每次通信的數(shù)據(jù)量。
[0038]表2站點(diǎn)信息存儲(chǔ)格式
[0040]步驟4確定單次通信數(shù)據(jù)量。如果剩余通信次數(shù)為一,利用總通信數(shù)據(jù)量減去已通 信的數(shù)據(jù)量,賦值給本次通信數(shù)據(jù)長度值;如果剩余多次,則本次通信數(shù)據(jù)長度為單次通信 最大數(shù)據(jù)量(其中S7-300CPU為222個(gè)字節(jié),S7-400CPU為462個(gè)字節(jié))。
[0041] T ime s Le f t = Nc〇m-n
[0042] DataLef t = DataAl l-n*222\462
[0043] T ime s Le f t為剩余通信次數(shù);Ng?為通信總次數(shù)
[0044] DataLeft為剩余通信數(shù)據(jù)量;DataAll為總通信數(shù)據(jù)量;η為已完成通信次數(shù);
[0045] 步驟5對單次通信的信息進(jìn)行整合。單次通信的信息包括數(shù)據(jù)的類型(Byte)、數(shù)據(jù) 的存儲(chǔ)區(qū)、本地?cái)?shù)據(jù)存儲(chǔ)塊號、遠(yuǎn)程數(shù)據(jù)存儲(chǔ)塊號,以及前面步驟確定的單次通信數(shù)據(jù)長度 等,將這些信息,利用變量尋址方式,存儲(chǔ)在遠(yuǎn)程參數(shù)addr變量和本地參數(shù)rd變量中。
[0046] 表4單次通信信息整合表
[0048]步驟6調(diào)用Get功能塊指令,發(fā)送接收數(shù)據(jù)。將遠(yuǎn)程參數(shù)addr變量和本地參數(shù)rd變 量傳遞給Get功能塊六(1辦_1和1?(1_1參數(shù),并利用脈沖信號觸發(fā)通信使能信號,接收并保存通 信完成返回值、通信錯(cuò)誤值以及通信狀態(tài)字,程序自動(dòng)將獲取的數(shù)據(jù)存儲(chǔ)到預(yù)定義好的本 地?cái)?shù)據(jù)存儲(chǔ)數(shù)據(jù)塊(即數(shù)據(jù)采集控制器的數(shù)據(jù)存儲(chǔ)數(shù)據(jù)塊)中。
[0049] 步驟7判斷通信返回值,并進(jìn)行相應(yīng)控制。如果有錯(cuò)誤,立即復(fù)位相應(yīng)的標(biāo)志位,停 止本站點(diǎn)通信;如果通信成功,對通信成功返回值進(jìn)行計(jì)數(shù),根據(jù)通信總次數(shù),計(jì)算剩余通 信次數(shù),并觸發(fā)下一次通信。
[0050] 步驟8切換至與下一站點(diǎn)通信。判斷本次通信是否結(jié)束,即預(yù)計(jì)通信總次數(shù)是否等 于已完成通信總次數(shù),如果結(jié)束,跳轉(zhuǎn)到步驟2,獲取與下一站點(diǎn)通信的數(shù)據(jù),并開始通信, 實(shí)現(xiàn)循環(huán)通信功能。
[0051]上述雖然結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】進(jìn)行了描述,但并非對本發(fā)明保護(hù)范 圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不 需要付出創(chuàng)造性勞動(dòng)即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。
【主權(quán)項(xiàng)】
1. 一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng),其特征是,包括:數(shù)據(jù)采集控 制器以及生產(chǎn)現(xiàn)場各站點(diǎn)的控制器;所述數(shù)據(jù)采集控制器采用單邊通信的方式與現(xiàn)場每一 個(gè)站點(diǎn)的控制器進(jìn)行通信。2. 如權(quán)利要求1所述的一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng),其特征 是,數(shù)據(jù)采集控制器采集現(xiàn)場每一個(gè)站點(diǎn)的信息并存儲(chǔ)為一個(gè)結(jié)構(gòu)體,所述結(jié)構(gòu)體的字節(jié) 數(shù)為設(shè)定字節(jié)數(shù)t;每當(dāng)一個(gè)站點(diǎn)通信結(jié)束時(shí),數(shù)據(jù)地址加 t,讀取下一個(gè)站點(diǎn)的通信信息, 達(dá)到總通信站點(diǎn)數(shù)量時(shí),數(shù)據(jù)地址清零,實(shí)現(xiàn)循環(huán)讀取站點(diǎn)信息。3. 如權(quán)利要求1所述的一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集系統(tǒng),其特征 是,每一個(gè)所述結(jié)構(gòu)體包括:通信的ID號、生產(chǎn)現(xiàn)場各站點(diǎn)的控制器的數(shù)據(jù)存儲(chǔ)塊、通信數(shù) 據(jù)長度、數(shù)據(jù)采集控制器的數(shù)據(jù)存儲(chǔ)塊、控制器類型、數(shù)據(jù)長度是否超限以及預(yù)留擴(kuò)展位。4. 一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集方法,其特征是,包括以下步驟: 步驟1:將需要通信的現(xiàn)場各站點(diǎn)的信息存儲(chǔ)在設(shè)定的數(shù)據(jù)塊中; 步驟2:當(dāng)需要與某個(gè)現(xiàn)場站點(diǎn)通信時(shí),將該站點(diǎn)的通信信息讀取至對應(yīng)的內(nèi)存地址 中; 步驟3:根據(jù)所需通信站點(diǎn)的CPU類型,判斷總通信數(shù)據(jù)長度是否超出該站點(diǎn)單次通信 最大數(shù)據(jù)量限制;如果未超出,直接使用實(shí)際通信次數(shù),并記通信次數(shù)為1;轉(zhuǎn)入步驟6;否 貝1J,分多次通信,轉(zhuǎn)入步驟4; 步驟4:計(jì)算需要通信的總次數(shù),并確定每次通信的數(shù)據(jù)量; 步驟5:利用變量尋址方式,將每次通信的數(shù)據(jù)進(jìn)行存儲(chǔ),對單次通信的信息進(jìn)行整合; 步驟6:利用脈沖信號觸發(fā)通信使能信號,接收并判斷通信返回值,如果返回值有錯(cuò)誤, 復(fù)位相應(yīng)的標(biāo)志位,停止本站點(diǎn)通信;如果通信成功,對通信成功返回值進(jìn)行計(jì)數(shù),根據(jù)通 信總次數(shù),計(jì)算剩余通信次數(shù),并觸發(fā)下一次通信; 步驟7:判斷本次通信是否結(jié)束,即預(yù)計(jì)通信總次數(shù)是否等于已完成通信總次數(shù),如果 結(jié)束,跳轉(zhuǎn)到步驟2,獲取與下一站點(diǎn)通信的數(shù)據(jù),并開始通信。5. 如權(quán)利要求4所述的一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集方法,其特征 是,每一個(gè)現(xiàn)場站點(diǎn)的信息均存儲(chǔ)為一個(gè)結(jié)構(gòu)體,所述結(jié)構(gòu)體的字節(jié)數(shù)為設(shè)定字節(jié)數(shù)t;每 當(dāng)一個(gè)站點(diǎn)通信結(jié)束時(shí),數(shù)據(jù)地址加 t,讀取下一個(gè)站點(diǎn)的通信信息,達(dá)到總通信站點(diǎn)數(shù)量 時(shí),數(shù)據(jù)地址清零,實(shí)現(xiàn)循環(huán)讀取站點(diǎn)信息。6. 如權(quán)利要求4所述的一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集方法,其特征 是,所述步驟4中,確定每次通信的數(shù)據(jù)量的方法為: 如果剩余通信次數(shù)為1,利用總通信數(shù)據(jù)量減去已通信的數(shù)據(jù)量,計(jì)算結(jié)果賦值給本次 通信數(shù)據(jù)長度值;如果剩余多次,則本次通信數(shù)據(jù)長度為單次通信的最大數(shù)據(jù)量。7. 如權(quán)利要求4所述的一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集方法,其特征 是,所述步驟5的方法具體為: 利用變量尋址方式,將單次通信的通信參數(shù)數(shù)據(jù)存儲(chǔ)在遠(yuǎn)程參數(shù)addr變量和本地參數(shù) rd變量中; 調(diào)用Get功能塊指令,將遠(yuǎn)程參數(shù)addr變量和本地參數(shù)rd變量作為輸入?yún)?shù),傳遞給 Get功能塊Addr_GPRd_l參數(shù),使得Get功能塊獲取所需通信站點(diǎn)的通信地址,讀取通信數(shù) 據(jù),并將數(shù)據(jù)匯總至數(shù)據(jù)采集控制器的數(shù)據(jù)存儲(chǔ)塊中。8.如權(quán)利要求4所述的一種基于輪詢通信檢測的制絲設(shè)備狀態(tài)數(shù)據(jù)采集方法,其特征 是,單次通信的信息包括:數(shù)據(jù)的類型、數(shù)據(jù)的存儲(chǔ)區(qū)、數(shù)據(jù)采集控制器的數(shù)據(jù)存儲(chǔ)塊號、通 信站點(diǎn)控制器數(shù)據(jù)存儲(chǔ)塊號,以及單次通信數(shù)據(jù)長度。
【文檔編號】G05B19/418GK106094743SQ201610389315
【公開日】2016年11月9日
【申請日】2016年6月2日 公開號201610389315.9, CN 106094743 A, CN 106094743A, CN 201610389315, CN-A-106094743, CN106094743 A, CN106094743A, CN201610389315, CN201610389315.9
【發(fā)明人】馬聰孝, 韓勇, 程林峰, 段三青, 馬駿, 孟科峰, 陳傳通, 馬洪晶
【申請人】山東中煙工業(yè)有限責(zé)任公司