一種通信方法及上位機的制作方法
【專利摘要】本發(fā)明提供了一種通信方法及上位機,其中,所述通信方法應(yīng)用于上位機中,包括:S0:預(yù)先設(shè)置特征信息表,利用所述特征信息表存儲與當(dāng)前上位機相連的至少兩個PLC分別對應(yīng)的特征信息,其中,所述特征信息包括:當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指令信息;以及,設(shè)置參數(shù)解析模塊;S1:接收攜帶目標(biāo)標(biāo)識信息的連接指令;S2:利用所述參數(shù)解析模塊根據(jù)所述目標(biāo)標(biāo)識信息查詢所述特征信息表,確定對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)通信參數(shù)和目標(biāo)指令信息,根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo)指令信息讀取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù)。通過本發(fā)明的技術(shù)方案,可提高工作效率。
【專利說明】
_種通信方法及上位機
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及信息通信技術(shù)領(lǐng)域,特別涉及一種通信方法及上位機。
【背景技術(shù)】
[0002] PLC(Programmable Logic Controller,可編程邏輯控制器)設(shè)備是一種用于直接 控制生產(chǎn)設(shè)備運行狀態(tài)及工藝流程的設(shè)備。
[0003] 目前,PLC設(shè)備的類型眾多,不同類型的PLC設(shè)備分別用于控制不同類型的生產(chǎn)設(shè) 備,相應(yīng)的,由于不同類型的PLC設(shè)備分別對應(yīng)的通信參數(shù)、指令信息等并不相同,使得控制 中心需要通過不同的上位機控制不同類型的PLC設(shè)備,需要在每一個上位機中分別開發(fā)對 應(yīng)的程序代碼以實現(xiàn)連通當(dāng)前上位機和對應(yīng)的PLC,進而使得當(dāng)前上位機能夠從對應(yīng)連接 的PLC中讀取業(yè)務(wù)數(shù)據(jù)。
[0004] 可見,上述技術(shù)方案中,需要在不同的上位機中分別開發(fā)不同的程序代碼,工作效 率較低。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供了一種通信方法及上位機,可提高工作效率。
[0006] 第一方面,本發(fā)明實施例提供了一種通信方法,應(yīng)用于上位機中,包括:
[0007] S0:預(yù)先設(shè)置特征信息表,利用所述特征信息表存儲與當(dāng)前上位機相連的至少兩 個PLC分別對應(yīng)的特征信息,其中,所述特征信息包括:當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指 令信息;以及,設(shè)置參數(shù)解析模塊;
[0008] S1:接收攜帶目標(biāo)標(biāo)識信息的連接指令;
[0009] S2:利用所述參數(shù)解析模塊根據(jù)所述目標(biāo)標(biāo)識信息查詢所述特征信息表,確定對 應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)通信參數(shù)和目標(biāo)指令信息,根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo) 指令信息讀取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù)。
[001 0]進一步的,所述設(shè)置參數(shù)解析模塊,包括:
[0011] 調(diào)用Windows API以構(gòu)建參數(shù)解析模塊。
[0012] 進一步的,所述根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo)指令信息讀取對應(yīng)所述目標(biāo)標(biāo) 識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù),包括:
[0013] 根據(jù)所述目標(biāo)標(biāo)識信息,向目標(biāo)PLC發(fā)送攜帶目標(biāo)通信參數(shù)的連接請求,以使目標(biāo) PLC在接收到攜帶目標(biāo)通信參數(shù)的連接請求后,打開對應(yīng)的數(shù)據(jù)端口;
[0014] 向目標(biāo)PLC發(fā)送攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求,接收目標(biāo)PLC根據(jù)攜帶目標(biāo)指 令信息的數(shù)據(jù)讀取請求通過打開的數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)。
[0015] 進一步的,所述接收目標(biāo)PLC根據(jù)攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求通過打開的 數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)之后,進一步包括:
[0016] 根據(jù)所述目標(biāo)通信參數(shù)解析所述業(yè)務(wù)數(shù)據(jù)以形成目標(biāo)業(yè)務(wù)參數(shù);
[0017] 將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置。
[0018] 進一步的,所述將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置之后,進一步包括:
[0019] 向目標(biāo)PLC發(fā)送斷開業(yè)務(wù)請求指令,以使目標(biāo)PLC在接收到所述斷開業(yè)務(wù)請求指令 后關(guān)閉對應(yīng)的數(shù)據(jù)端口。
[0020] 第二方面,本發(fā)明實施例提供了一種上位機,包括:
[0021 ]設(shè)置模塊,用于預(yù)先設(shè)置特征信息表;以及,設(shè)置參數(shù)解析模塊;
[0022] 特征信息表,用于存儲與當(dāng)前上位機相連的至少兩個PLC分別對應(yīng)的特征信息,其 中,所述特征信息包括:當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指令信息;
[0023] 指令接收模塊,用于接收攜帶目標(biāo)標(biāo)識信息的連接指令;
[0024] 參數(shù)解析模塊,用于根據(jù)所述目標(biāo)標(biāo)識信息查詢所述特征信息表,確定對應(yīng)所述 目標(biāo)標(biāo)識信息的目標(biāo)通信參數(shù)和目標(biāo)指令信息,根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo)指令信 息讀取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù)。
[0025]進一步的,
[0026]所述設(shè)置模塊,用于調(diào)用Windows API以構(gòu)建參數(shù)解析模塊。
[0027]進一步的,所述參數(shù)解析模塊,包括:
[0028]連接處理子單元,用于根據(jù)所述目標(biāo)標(biāo)識信息,向目標(biāo)PLC發(fā)送攜帶目標(biāo)通信參數(shù) 的連接請求,以使目標(biāo)PLC在接收到攜帶目標(biāo)通信參數(shù)的連接請求后,打開對應(yīng)的數(shù)據(jù)端 P;
[0029] 數(shù)據(jù)讀取子單元,用于向目標(biāo)PLC發(fā)送攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求,接收目 標(biāo)PLC根據(jù)攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求通過打開的數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)。
[0030] 進一步的,所述參數(shù)解析模塊,還包括:
[0031 ]參數(shù)解析子單元,用于根據(jù)所述目標(biāo)通信參數(shù)解析所述業(yè)務(wù)數(shù)據(jù)以形成目標(biāo)業(yè)務(wù) 參數(shù);
[0032]存儲處理子單元,用于將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置。
[0033]進一步的,所述參數(shù)解析模塊,進一步包括:
[0034]斷開處理子單元,用于向目標(biāo)PLC發(fā)送斷開業(yè)務(wù)請求指令,以使目標(biāo)PLC在接收到 所述斷開業(yè)務(wù)請求指令后關(guān)閉對應(yīng)的數(shù)據(jù)端口。
[0035] 本發(fā)明實施例提供了一種通信方法及上位機,通過在上位機中設(shè)置特征信息表, 利用特征信息表存儲與當(dāng)前上位機相連的至少兩個PLC分別對應(yīng)的標(biāo)識信息、通信參數(shù)及 指令信息,以及,設(shè)置參數(shù)解析模塊,即可通過參數(shù)解析模塊根據(jù)上位機接收的連接指令中 攜帶的目標(biāo)標(biāo)識信息查詢特征信息表,以確定目標(biāo)標(biāo)識信息對應(yīng)的目標(biāo)通信參數(shù)和目標(biāo)指 令信息,進而根據(jù)目標(biāo)通信參數(shù)和目標(biāo)指令信息讀取目標(biāo)標(biāo)識信息對應(yīng)的目標(biāo)PLC中存儲 的業(yè)務(wù)數(shù)據(jù);可見,通過本發(fā)明的技術(shù)方案,在上位機中設(shè)置特征信息表和參數(shù)解析模塊, 可實現(xiàn)通過上位機根據(jù)實際業(yè)務(wù)需求選擇連通與當(dāng)前上位機相連的任一 PLC,不必在上位 機中針對不同類型的PLC開發(fā)不同的程序代碼,可提高工作效率。
【附圖說明】
[0036] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明 的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 這些附圖獲得其他的附圖。
[0037] 圖1是本發(fā)明一實施例提供的一種通信方法的流程圖;
[0038] 圖2是本發(fā)明一實施例提供的另一種通信方法的流程圖;
[0039] 圖3是本發(fā)明一實施例提供的一種上位機的結(jié)構(gòu)示意圖;
[0040] 圖4是本發(fā)明一實施例提供的另一種上位機的結(jié)構(gòu)示意圖。
【具體實施方式】
[0041] 為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。 [0042 ]如圖1所示,本發(fā)明實施例提供了 一種通信方法,包括:
[0043] S0:預(yù)先設(shè)置特征信息表,利用所述特征信息表存儲與當(dāng)前上位機相連的至少兩 個PLC分別對應(yīng)的特征信息,其中,所述特征信息包括:當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指 令信息;以及,設(shè)置參數(shù)解析模塊;
[0044] S1:接收攜帶目標(biāo)標(biāo)識信息的連接指令;
[0045] S2:利用所述參數(shù)解析模塊根據(jù)所述目標(biāo)標(biāo)識信息查詢所述特征信息表,確定對 應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)通信參數(shù)和目標(biāo)指令信息,根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo) 指令信息讀取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù)。
[0046] 本發(fā)明上述實施例中,通過在上位機中設(shè)置特征信息表,利用特征信息表存儲與 當(dāng)前上位機相連的至少兩個PLC分別對應(yīng)的標(biāo)識信息、通信參數(shù)及指令信息,以及,設(shè)置參 數(shù)解析模塊,即可通過參數(shù)解析模塊根據(jù)上位機接收的連接指令中攜帶的目標(biāo)標(biāo)識信息查 詢特征信息表,以確定目標(biāo)標(biāo)識信息對應(yīng)的目標(biāo)通信參數(shù)和目標(biāo)指令信息,進而根據(jù)目標(biāo) 通信參數(shù)和目標(biāo)指令信息讀取目標(biāo)標(biāo)識信息對應(yīng)的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù);可見,通過 本發(fā)明的技術(shù)方案,在上位機中設(shè)置特征信息表和參數(shù)解析模塊,可實現(xiàn)通過上位機根據(jù) 實際業(yè)務(wù)需求選擇連通與當(dāng)前上位機相連的任一 PLC,不必在上位機中針對不同類型的PLC 開發(fā)不同的程序代碼,可提高工作效率。
[0047]進一步的,由于Windows應(yīng)用程序接口包含了數(shù)千個可以直接調(diào)用的服務(wù)函數(shù),為 了進一步提高工作效率,本發(fā)明一個優(yōu)選實施例中,所述設(shè)置參數(shù)解析模塊,包括:
[0048] 調(diào)用Windows API以構(gòu)建參數(shù)解析模塊。
[0049] 進一步的,由于上位機同時連接多個PLC,PLC中與上位機進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)端 口應(yīng)處于關(guān)閉狀態(tài),只有在接收到攜帶當(dāng)前PLC對應(yīng)的通信參數(shù)的連接請求時,才打開對應(yīng) 的數(shù)據(jù)端口,以實現(xiàn)連通上位機和當(dāng)前PLC,進而實現(xiàn)上位機與當(dāng)前PLC之間的通信;相應(yīng) 的,本發(fā)明一個優(yōu)選實施例中,所述根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo)指令信息讀取對應(yīng) 所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù),包括:
[0050] 根據(jù)所述目標(biāo)標(biāo)識信息,向目標(biāo)PLC發(fā)送攜帶目標(biāo)通信參數(shù)的連接請求,以使目標(biāo) PLC在接收到攜帶目標(biāo)通信參數(shù)的連接請求后,打開對應(yīng)的數(shù)據(jù)端口;
[0051] 向目標(biāo)PLC發(fā)送攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求,接收目標(biāo)PLC根據(jù)攜帶目標(biāo)指 令信息的數(shù)據(jù)讀取請求通過打開的數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)。
[0052] 進一步的,由于上位機與PLC之間進行通信時,傳輸?shù)臉I(yè)務(wù)數(shù)據(jù)通常為十六進制的 業(yè)務(wù)數(shù)據(jù),且不同類型的PLC發(fā)送的十六進制業(yè)務(wù)數(shù)據(jù)中偏移量并不相同,因此,本發(fā)明一 個優(yōu)選實施例中,所述接收目標(biāo)PLC根據(jù)攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求通過打開的數(shù) 據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)之后,進一步包括:
[0053] 根據(jù)所述目標(biāo)通信參數(shù)解析所述業(yè)務(wù)數(shù)據(jù)以形成目標(biāo)業(yè)務(wù)參數(shù);
[0054]將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置。
[0055]進一步的,由于上位機連接多個PLC,在上位機不需要從相應(yīng)PLC中讀取業(yè)務(wù)數(shù)據(jù) 時,應(yīng)確保該PLC中與上位機進行通信的數(shù)據(jù)端口處于關(guān)閉狀態(tài),因此,本發(fā)明一個優(yōu)選實 施例中,所述將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置之后,進一步包括:
[0056]向目標(biāo)PLC發(fā)送斷開業(yè)務(wù)請求指令,以使目標(biāo)PLC在接收到所述斷開業(yè)務(wù)請求指令 后關(guān)閉對應(yīng)的數(shù)據(jù)端口。
[0057]如圖2所示,本發(fā)明實施例提供了一種通信方法,以通過用戶與上位機進行相應(yīng)的 人機交互,使得上位機從對應(yīng)連接的PLC中讀取業(yè)務(wù)數(shù)據(jù)為例,可以包括如下步驟:
[0058] 步驟201,將上位機與多個PLC進行連接。
[0059]步驟202,在上位機中設(shè)置特征信息表,利用特征信息表存儲多個PLC分別對應(yīng)的 特征信息。
[0060] 需要說明的是,特征信息可以包括當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指令信息,還 可以包括當(dāng)前PLC所屬的部門信息以及工作中心等其他信息。
[0061] 本發(fā)明一實施例中,用戶可通過與上位機進行人機交互以對特征信息表中存儲的 每一個PLC分別對應(yīng)的特征系信息進行可視化編輯,這些特征信息可以由PLC廠商提供。 [0062] 步驟203,調(diào)用WindowsAPI構(gòu)建參數(shù)解析模塊。
[0063] 這里,通過調(diào)用WindowsAPI中的服務(wù)函數(shù)進行串行通信程序的二次開發(fā)以構(gòu)建具 備相應(yīng)功能的參數(shù)解析t旲塊,可進一步提尚工作效率。
[0064]步驟204,上位機接收攜帶目標(biāo)標(biāo)識信息的連接請求。
[0065] 這里,可以是用戶通過與上位機進行人機交互,進行相應(yīng)的可視化操作,觸發(fā)相應(yīng) 的連接請求,以指示參數(shù)解析模塊連通連接請求中攜帶的目標(biāo)標(biāo)識信息對應(yīng)的目標(biāo)PLC。 [0066]步驟205,參數(shù)解析模塊根據(jù)目標(biāo)標(biāo)識信息查詢特征信息表,以確定目標(biāo)標(biāo)識信息 對應(yīng)的目標(biāo)通信參數(shù)和目標(biāo)指令信息。
[0067]步驟206,參數(shù)解析模塊根據(jù)目標(biāo)標(biāo)識信息向目標(biāo)PLC發(fā)送攜帶目標(biāo)通信參數(shù)的連 接請求。
[0068]舉例來說,目標(biāo)通信參數(shù)可以包括:9600,7,1,E,其中,9600是波特率,7是數(shù)據(jù)位, E是偶fe驗,1是停止位。
[0069]步驟207,目標(biāo)PLC根據(jù)攜帶目標(biāo)通信參數(shù)的連接請求打開對應(yīng)的數(shù)據(jù)端口。
[0070]需要說明的是,目標(biāo)PLC打開對應(yīng)上位機的數(shù)據(jù)端口時,需要依次執(zhí)行初始化數(shù)據(jù) 端口、設(shè)置數(shù)據(jù)端口和打開數(shù)據(jù)端口,具體可以通過如下代碼實現(xiàn):
[0072]
[0073] 步驟208,參數(shù)解析模塊向目標(biāo)PLC發(fā)送攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求。
[0074]步驟209,目標(biāo)PLC根據(jù)攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求,通過打開的數(shù)據(jù)端口 將當(dāng)前PLC中存儲的業(yè)務(wù)數(shù)據(jù)發(fā)送至上位機中的參數(shù)解析模塊。
[0075]步驟210,參數(shù)解析模塊根據(jù)目標(biāo)通信參數(shù)解析業(yè)務(wù)數(shù)據(jù)以形成目標(biāo)業(yè)務(wù)參數(shù)。 [0076]本發(fā)明實施例中,由于不同類型的PLC向上位機傳輸數(shù)據(jù)時,通常都是傳輸十六進 制的業(yè)務(wù)數(shù)據(jù),但不同類型的PLC傳輸?shù)氖M制數(shù)據(jù)的偏移量可能并不相同,因此,需要 采用對應(yīng)當(dāng)前PLC的通信參數(shù)解析當(dāng)前PLC發(fā)送的十六進制數(shù)據(jù)以形成目標(biāo)業(yè)務(wù)參數(shù)。
[0077] 步驟211,參數(shù)解析模塊將目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置。
[0078] 這里,外部存儲裝置可以是安裝在上位機中的其他應(yīng)用程序。
[0079]步驟212,參數(shù)解析模塊向目標(biāo)PLC發(fā)送斷開指令,使得目標(biāo)PLC斷開對應(yīng)的數(shù)據(jù)端 □ 〇
[0080]這里,在數(shù)據(jù)讀取任務(wù)完成后,由于上位機與多臺PLC之間是可選擇的連接,因此, 在上位機不需要從當(dāng)前PLC中讀取業(yè)務(wù)數(shù)據(jù)時,則應(yīng)斷開上位機與當(dāng)前PLC之間的連通,具 體地,只需要關(guān)閉當(dāng)前PLC中用于向上位機中的參數(shù)解析模塊傳輸業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)端口即 可。
[0081 ]如圖3所示,本發(fā)明實施例提供了一種上位機,包括:
[0082]設(shè)置模塊101,用于預(yù)先設(shè)置特征信息表102;以及,設(shè)置參數(shù)解析模塊13;
[0083]特征信息表102,用于存儲與當(dāng)前上位機相連的至少兩個PLC分別對應(yīng)的特征信 息,其中,所述特征信息包括:當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指令信息;
[0084]指令接收模塊104,用于接收攜帶目標(biāo)標(biāo)識信息的連接指令;
[0085] 參數(shù)解析模塊103,用于根據(jù)所述目標(biāo)標(biāo)識信息查詢所述特征信息表102,確定對 應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)通信參數(shù)和目標(biāo)指令信息,根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo) 指令信息讀取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù)。
[0086] 進一步的,為了進一步提高工作效率,本發(fā)明一個優(yōu)選實施例中,所述設(shè)置模塊 101,用于調(diào)用Windows API以構(gòu)建參數(shù)解析模塊103。
[0087] 進一步的,如圖4所示,本發(fā)明一個優(yōu)選實施例中,所述參數(shù)解析模塊103,包括: [0088]連接處理子單元1031,用于根據(jù)所述目標(biāo)標(biāo)識信息,向目標(biāo)PLC發(fā)送攜帶目標(biāo)通信 參數(shù)的連接請求,以使目標(biāo)PLC在接收到攜帶目標(biāo)通信參數(shù)的連接請求后,打開對應(yīng)的數(shù)據(jù) 端口;
[0089]數(shù)據(jù)讀取子單元1032,用于向目標(biāo)PLC發(fā)送攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求,接 收目標(biāo)PLC根據(jù)攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求通過打開的數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)。
[0090]進一步的,由于上位機與PLC之間進行通信時,傳輸?shù)臉I(yè)務(wù)數(shù)據(jù)通常為十六進制的 業(yè)務(wù)數(shù)據(jù),且不同類型的PLC發(fā)送那個的十六進制數(shù)據(jù)中偏移量并不相同,因此,如圖4所 示,本發(fā)明一個優(yōu)選實施例中,所述參數(shù)解析模塊103,還包括:
[0091 ]參數(shù)解析子單元1033,用于根據(jù)所述目標(biāo)通信參數(shù)解析所述業(yè)務(wù)數(shù)據(jù)以形成目標(biāo) 業(yè)務(wù)參數(shù);
[0092]存儲處理子單元1034,用于將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置。
[0093] 進一步的,由于上位機連接了多個PLC,在上位機不需要從相應(yīng)PLC中讀取業(yè)務(wù)數(shù) 據(jù)時,應(yīng)確保該PLC中連接上位機的數(shù)據(jù)端口處于斷開狀態(tài),因此,如圖4所示,本發(fā)明一個 優(yōu)選實施例中,所述參數(shù)解析模塊103,進一步包括:
[0094]斷開處理子單元1035,用于向目標(biāo)PLC發(fā)送斷開業(yè)務(wù)請求指令,以使目標(biāo)PLC在接 收到所述斷開業(yè)務(wù)請求指令后關(guān)閉對應(yīng)的數(shù)據(jù)端口。
[0095]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施 例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0096]本發(fā)明各個實施例至少具有如下有益效果:
[0097] 1、通過在上位機中設(shè)置特征信息表,利用特征信息表存儲與當(dāng)前上位機相連的至 少兩個PLC分別對應(yīng)的標(biāo)識信息、通信參數(shù)及指令信息,以及,設(shè)置參數(shù)解析模塊,即可通過 參數(shù)解析模塊根據(jù)上位機接收的連接指令中攜帶的目標(biāo)標(biāo)識信息查詢特征信息表,以確定 目標(biāo)標(biāo)識信息對應(yīng)的目標(biāo)通信參數(shù)和目標(biāo)指令信息,進而根據(jù)目標(biāo)通信參數(shù)和目標(biāo)指令信 息讀取目標(biāo)標(biāo)識信息對應(yīng)的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù);可見,通過本發(fā)明的技術(shù)方案,在 上位機中設(shè)置特征信息表和參數(shù)解析模塊,可實現(xiàn)通過上位機根據(jù)實際業(yè)務(wù)需求選擇連通 與當(dāng)前上位機相連的任一 PLC,不必在上位機中針對不同類型的PLC開發(fā)不同的程序代碼, 可提高工作效率。
[0098]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體 或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在 任何這種實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非 排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固 有的要素。在沒有更多限制的情況下,由語句"包括一個〃....."限定的要素,并不排 除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0099]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光 盤等各種可以存儲程序代碼的介質(zhì)中。
[0100]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技 術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、 等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【主權(quán)項】
1. 一種通信方法,其特征在于,應(yīng)用于上位機中,包括: 預(yù)先設(shè)置特征信息表,利用所述特征信息表存儲與當(dāng)前上位機相連的至少兩個PLC分 別對應(yīng)的特征信息,其中,所述特征信息包括:當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指令信息; 以及,設(shè)置參數(shù)解析模塊; 接收攜帶目標(biāo)標(biāo)識信息的連接指令; 利用所述參數(shù)解析模塊根據(jù)所述目標(biāo)標(biāo)識信息查詢所述特征信息表,確定對應(yīng)所述目 標(biāo)標(biāo)識信息的目標(biāo)通信參數(shù)和目標(biāo)指令信息,根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo)指令信息 讀取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù)。2. 根據(jù)權(quán)利要求1所述的通信方法,其特征在于,所述設(shè)置參數(shù)解析模塊,包括: 調(diào)用Windows API以構(gòu)建參數(shù)解析模塊。3. 根據(jù)權(quán)利要求1所述的通信方法,其特征在于,所述根據(jù)所述目標(biāo)通信參數(shù)和所述目 標(biāo)指令信息讀取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù),包括: 根據(jù)所述目標(biāo)標(biāo)識信息,向目標(biāo)PLC發(fā)送攜帶目標(biāo)通信參數(shù)的連接請求,以使目標(biāo)PLC 在接收到攜帶目標(biāo)通信參數(shù)的連接請求后,打開對應(yīng)的數(shù)據(jù)端口; 向目標(biāo)PLC發(fā)送攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求,接收目標(biāo)PLC根據(jù)攜帶目標(biāo)指令信 息的數(shù)據(jù)讀取請求通過打開的數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)。4. 根據(jù)權(quán)利要求3所述的通信方法,其特征在于,所述接收目標(biāo)PLC根據(jù)攜帶目標(biāo)指令 信息的數(shù)據(jù)讀取請求通過打開的數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)之后,進一步包括: 根據(jù)所述目標(biāo)通信參數(shù)解析所述業(yè)務(wù)數(shù)據(jù)以形成目標(biāo)業(yè)務(wù)參數(shù); 將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置。5. 根據(jù)權(quán)利要求4所述的通信方法,其特征在于,所述將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部 存儲裝置之后,進一步包括: 向目標(biāo)PLC發(fā)送斷開業(yè)務(wù)請求指令,以使目標(biāo)PLC在接收到所述斷開業(yè)務(wù)請求指令后關(guān) 閉對應(yīng)的數(shù)據(jù)端口。6. -種上位機,其特征在于,包括: 設(shè)置模塊,用于預(yù)先設(shè)置特征信息表;以及,設(shè)置參數(shù)解析模塊; 特征信息表,用于存儲與當(dāng)前上位機相連的至少兩個PLC分別對應(yīng)的特征信息,其中, 所述特征信息包括:當(dāng)前PLC的標(biāo)識信息、通信參數(shù)及指令信息; 指令接收模塊,用于接收攜帶目標(biāo)標(biāo)識信息的連接指令; 參數(shù)解析模塊,用于根據(jù)所述目標(biāo)標(biāo)識信息查詢所述特征信息表,確定對應(yīng)所述目標(biāo) 標(biāo)識信息的目標(biāo)通信參數(shù)和目標(biāo)指令信息,根據(jù)所述目標(biāo)通信參數(shù)和所述目標(biāo)指令信息讀 取對應(yīng)所述目標(biāo)標(biāo)識信息的目標(biāo)PLC中存儲的業(yè)務(wù)數(shù)據(jù)。7. 根據(jù)權(quán)利要求6所述的上位機,其特征在于, 所述設(shè)置模塊,用于調(diào)用Windows API以構(gòu)建參數(shù)解析模塊。8. 根據(jù)權(quán)利要求7所述的上位機,其特征在于,所述參數(shù)解析模塊,包括: 連接處理子單元,用于根據(jù)所述目標(biāo)標(biāo)識信息,向目標(biāo)PLC發(fā)送攜帶目標(biāo)通信參數(shù)的連 接請求,以使目標(biāo)PLC在接收到攜帶目標(biāo)通信參數(shù)的連接請求后,打開對應(yīng)的數(shù)據(jù)端口; 數(shù)據(jù)讀取子單元,用于向目標(biāo)PLC發(fā)送攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求,接收目標(biāo) PLC根據(jù)攜帶目標(biāo)指令信息的數(shù)據(jù)讀取請求通過打開的數(shù)據(jù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)。9. 根據(jù)權(quán)利要求8所述的上位機,其特征在于,所述參數(shù)解析模塊,還包括: 參數(shù)解析子單元,用于根據(jù)所述目標(biāo)通信參數(shù)解析所述業(yè)務(wù)數(shù)據(jù)以形成目標(biāo)業(yè)務(wù)參 數(shù); 存儲處理子單元,用于將所述目標(biāo)業(yè)務(wù)參數(shù)存儲至外部存儲裝置。10. 根據(jù)權(quán)利要求9所述的上位機,其特征在于,所述參數(shù)解析模塊,進一步包括: 斷開處理子單元,用于向目標(biāo)PLC發(fā)送斷開業(yè)務(wù)請求指令,以使目標(biāo)PLC在接收到所述 斷開業(yè)務(wù)請求指令后關(guān)閉對應(yīng)的數(shù)據(jù)端口。
【文檔編號】G05B19/05GK105867295SQ201610392337
【公開日】2016年8月17日
【申請日】2016年6月3日
【發(fā)明人】李保鵬, 藺際興, 鄭帥廣, 張東場
【申請人】浪潮通用軟件有限公司