控制系統間的通訊方法及系統的制作方法
【專利摘要】本發明公開了一種控制系統間的通訊方法及系統,該方法需在底層控制系統中預設一串口通訊模件,具體包括:當串口通訊模件接收到上層控制系統所發送的請求數據包時,發送請求數據包至底層控制系統的中央處理器;中央處理器對請求數據包進行驗證;當驗證通過后,中央處理器用預先存儲的上層控制系統的通信協議對請求數據包進行解析,獲得目標指令;中央處理器執行目標指令,并采用預先存儲的上層控制系統的通信協議發送響應數據至串口通信模件;串口通訊模件轉發響應數據至上層控制系統;采用本發明的通訊方法及系統,使得底層控制系統和上層控制系統間可進行通信。
【專利說明】控制系統間的通訊方法及系統
【技術領域】
[0001]本發明涉及電袋復合除塵【技術領域】,特別涉及一種控制系統間的通訊方法及系統。
【背景技術】
[0002]在電袋復合除塵【技術領域】中,底層控制系統大多采用西門子S7-300/S7-400系列可編程邏輯控制器(Programmable Logic Controller, PLC),支持的是西門子公司的PR0FIBUS通訊總線協議,而上層控制系統大多采用MODBUS通訊協議進行通信,這無疑使得底層控制系統與上層控制系統間無法進行通信。
【發明內容】
[0003]有鑒于此,本發明的目的在于提供一種控制系統間的通訊方法及系統,以使得底層控制系統和上層控制系統間可進行通信。
[0004]為實現上述目的,本發明提供如下技術方案:
[0005]一種控制系統間的通訊方法,在底層控制系統中預設一串口通訊模件,所述方法包括:
[0006]當所述串口通訊模件接收到上層控制系統所發送的請求數據包時,發送所述請求數據包至底層控制系統的中央處理器;
[0007]所述中央處理器對所述請求數據包進行驗證;
[0008]當所述驗證通過后,所述中央處理器用預先存儲的上層控制系統的通信協議對所述請求數據包進行解析,獲得目標指令;
[0009]所述中央處理器執行所述目標指令,并采用預先存儲的上層控制系統的通信協議發送響應數據至所述串口通信模塊;
[0010]所述串口通訊模件轉發所述響應數據至所述上層控制系統。
[0011]優選的,當所述底層控制系統所采用的可編程邏輯控制器PLC為S7-300系列時,所預設的串口通訊模件的型號為CP340或CP341。
[0012]優選的,當所述底層控制系統所采用的PLC為S7-400系列時,所預先設置的串口通訊模件為CP440或CP441。
[0013]優選的,所述中央處理器對所述請求數據包進行驗證,包括:
[0014]查看所述請求數據包中的地址與所述底層控制系統的地址是否相一致;
[0015]當一致時,對所述請求數據包進行循環冗余校驗碼CRC校驗;
[0016]當所述CRC校驗通過后,查看所述請求數據包中的功能碼是否正確;
[0017]當所述功能碼正確時,則認為所述驗證通過。
[0018]優選的,所述CRC校驗采用十六進制循環冗余校驗碼CRC16校驗計算法。
[0019]一種控制系統間的通信系統,包括:
[0020]串口通訊模件用于,接收上層控制系統所發送的請求數據包、發送所述請求數據包至底層控制系統中的中央處理器及轉發響應數據至所述上層控制系統;
[0021]所述中央處理器用于:對所述請求數據包進行驗證、當所述驗證通過后,用預先存儲的上層控制系統的通信協議對所述請求數據包進行解析,獲得目標指令、執行所述目標指令及采用預先存儲的上層控制系統的通信協議發送響應數據至所述串口通訊模件。
[0022]優選的,當所述底層控制系統所采用的可編程控制器PLC為S7—300系列時,所預設的串口通訊模件的型號為CP340或CP341。
[0023]優選的,當所述底層控制系統所采用的PLC為S7—400系列時,所預設的串口通訊模件為CP440或CP441。
[0024]由上述的技術方案可以看出,在本發明實施例中,當上層控制系統發送請求數據包時,串口通訊模件會將之轉發至底層控制系統的中央處理器;而中央處理器會以預先存儲的上層控制系統的通信協議對所接收的請求數據包進行解析,獲得并執行目標指令;除此,底層控制系統還將以預先存儲的上層控制系統的通信協議發送響應數據至上層控制系統,以通知上層控制系統接收到請求數據包。由此可見,采用本發明的方法及系統,使得上層控制系統和底層控制系統間可進行通信。
【專利附圖】
【附圖說明】
[0025]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0026]圖1為本發明實施例所提供的控制系統間的通訊方法的流程圖;
[0027]圖2為本發明實施例所提供的控制系統間的通訊方法的又一流程圖;
[0028]圖3為本發明實施例所提供的控制系統間的通訊系統的示意圖。
【具體實施方式】
[0029]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0030]本發明公開了一種控制系統間的通訊方法,如圖1所示,該方法至少包括以下步驟:
[0031]Sll:串口通訊模件查看是否接收到上層控制系統所發送的請求數據包;如是,進入步驟S12 ;
[0032]其中,串口通訊模件為預先設置在底層控制系統中的,且當底層控制系統所采用的可編程邏輯控制器(Programmable Logic Controller, PLC)為S7—300系列時,可為之設置CP340或CP340型號的串口通訊模件;而當底層控制系統所采用的PLC為S7— 400系列時,則可為之設置CP440或CP441型號的串口通訊模件;同時,上述串口通訊模件均可通過RS485接口與上層控制系統相連,而其通訊方式可選擇美國信息交換標準碼(AmericanStandard Code for Information Interchange, ASCII)方式。而當串口通訊模件選定ASCII方式進行通訊時,可根據實際情況進行通信波特率、數據位、停止位、奇偶校驗和字符延遲時間等參數的設置。
[0033]S12:串口通訊模件發送請求數據包至底層控制系統的中央處理器;
[0034]由于上述串口通訊模件只為一硬件,其本身并沒有轉發和接收數據的功能,因此,上述串口通訊模件還需軟件支持,才可實現轉發和接收數據的功能;而具體可為上述串口通訊模件配置PTP軟件包;其中,上述PTP軟件包是西門子針對串口通訊模件所研發的一款軟件。
[0035]具體的,當為上述串口通訊模件所安裝的軟件為PTP軟件包時,其上述串口通訊模件的工作過程具體可如下:
[0036]A:當需轉發數據時,調用上述PTP軟件包中的轉發功能模塊轉發數據;
[0037]更具體的,當轉發上層控制系統所發送的請求數據包時,可將上述請求數據包轉發至底層控制系統中的數據暫存區內,具體可置于接收數據暫存區內。
[0038]需要說明的是,上述數據暫存區為預先設置在底層控制系統中的,其存儲空間為MODBUS報文的最大長度,即256個字節;且上述數據暫存區可具體包括接收數據暫存區和發送數據暫存區;其接收數據暫存區用于存儲底層控制系統所接收的數據,而發送數據暫存區用來存儲底層控制系統所需發送的數據;
[0039]B:而當需接收數據時,調用上述PTP軟件包中的接收功能塊接收數據;
[0040]與上述工作過程相對應的,當上述串口通訊模件的型號為CP340時,其接收功能塊可為FB2,轉發功能塊可為FB3;而當上述串口通訊模件的型號為CP341時,其接收功能塊可為FB7,轉發功能塊可為FB8 ;當上述串口通訊模件的型號為CP440時,其接收功能塊可為FB9,轉發功能塊可為FBlO ;當上述串口通訊模件的型號為CP441時,其接收功能塊可為SFB13,轉發功能塊可為SFB12。
[0041]S13:中央處理器對請求數據包進行驗證;當驗證通過后,進入步驟S14,否則進入步驟Sll ;
[0042]S14:中央處理器用預先存儲的上層控制系統的通信協議對請求數據包進行解析,獲得目標指令;
[0043]由于,上述請求數據包是由上層控制系統所發出的,因此請求數據包所采用的通信協議為M0DBUS,而底層控制系統采用所預存的MODBUS通信協議即可對上述請求數據包進行解析,進而獲得目標指令;
[0044]S15:中央處理器執行目標指令,并采用預先存儲的上層控制系統的通信協議發送響應數據至串口通訊模件,以通知上層控制系統已接收到請求數據包;
[0045]由于在現有技術中,上層控制系統所發送的MODBUS格式的請求數據包中,其中一部分為功能碼區;而底層控制系統則可根據上述功能碼區中的功能碼,設置通訊數據映射區。而且,在執行目標指令時,只需將數據寫入至通訊數據映射區或從通訊數據映射區讀取數據,即可實現不同的控制功能;因此,上述執行目標指令的過程,可具體為,根據目標指令對通訊數據映射區進行相應的數據讀寫即可。
[0046]更具體的,可將底層控制系統的通訊數據映射區,劃分為4個區,分別為O區(OXXXXX), I區(1XXXXX),3區(3XXXXX)和4區(4XXXXX);其中,O區支持的功能碼可為01H、05H和(FH,I區支持的功能碼可為02H,3區支持的功能碼可為04H,而4區支持的功能碼可為 03H、06H 和 IOHo
[0047]S16:串口通訊模件轉發響應數據至上層控制系統;
[0048]具體的,串口通訊模件可調用上述PTP軟件包里的轉發功能模塊,即可將響應數據轉發至上層控制系統,對于其具體過程,前已述及,在此不再贅述。
[0049]由上可見,在本發明實施例中,當上層控制系統發送請求數據包時,串口通訊模件會將之轉發至底層控制系統的中央處理器;而上述中央處理器會采用預先存儲的上層控制系統的通信協議對所接收的請求數據包進行解析,獲得并執行目標指令;除此,底層控制系統還將以上層控制系統的通信協議發送響應數據至上層控制系統,以通知上層控制系統接收到請求數據包。由上可見,采用本發明的方法,使得上層控制系統和底層控制系統間可進行通信。
[0050]在本發明其它實施例中,如圖2所示,上述所有實施例中的步驟S13可具體包括:
[0051]S21:查看請求數據包中的地址與底層控制系統的地址是否相一致;如是,進入步驟S22,如否,則清空底層控制系統中的接收數據暫存區;
[0052]其中,預先在所述底層控制系統中存儲所述上層控制系統的地址;
[0053]S22:當一致時,對請求數據包進行循環冗余校驗碼(Cyclic Redundancy Check,CRC)校驗;當校驗通過后,進入步驟S23,否則則清空底層控制系統中的接收數據暫存區;
[0054]具體的,由于上層系統發送的請求數據包采用CRC校驗,所述底層控制系統可對接收的請求數據進行CRC校驗。更具體的,可采用十六進制循環冗余校驗碼CRC16校驗計算法對接收的請求數據包進行校驗。
[0055]S23:查看請求數據包中的功能碼是否正確;如是,進入步驟S14,如否,將相應的異常碼、差錯碼存儲至底層控制系統中的發送數據暫存區;
[0056]由于在現有技術中,上層控制系統所發送的請求數據包中,其中一部分為功能碼區;同時由于底層控制系統中存儲有上層控制系統的通信協議,因此底層控制系統可以查看所接收的請求數據中的功能碼是否正確,當不正確時,即可認定所接收的請求數據為異常的,可存儲在發送數據暫存區內。
[0057]本發明還公開了一種與上述方法相對應的控制系統間的通訊系統,如圖3所示,可包括:
[0058]串口通訊模件31用于,接收上層控制系統所發送的請求數據包、發送請求數據包至底層控制系統中的中央處理器及轉發響應數據至上層控制系統;
[0059]具體的,當底層控制系統所采用的PLC為S7—300系列時,所預設的串口通訊模件31為CP340或CP341 ;而當底層控制系統所采用的PLC為S7—400系列時,所預設的串口通訊模件為CP440或CP441 ;
[0060]中央處理器32用于:對請求數據包進行驗證、當驗證通過后,用預先存儲的上層控制系統的通信協議對請求數據包進行解析,獲得目標指令、執行目標指令及采用預先存儲的上層控制系統的通信協議發送響應數據至串口通訊模件31 ;
[0061]由上可見,在本發明實施例中,當上層控制系統發送請求數據包時,串口通訊模件會將之轉發至底層控制系統的中央處理器;而上述中央處理器會采用預先存儲的上層控制系統的通信協議對請求數據包進行解析,獲得并執行目標指令;除此,底層控制系統還將以上層控制系統的通信協議發送響應數據至上層控制系統,以通知上層控制系統接收到請求數據包。由上可見,采用本發明的裝置,使上層控制系統和底層控制系統間可進行通信。
[0062]對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權利要求】
1.一種控制系統間的通訊方法,其特征在于,在底層控制系統中預設一串口通訊模件,所述方法包括: 當所述串口通訊模件接收到上層控制系統所發送的請求數據包時,發送所述請求數據包至底層控制系統的中央處理器; 所述中央處理器對所述請求數據包進行驗證; 當所述驗證通過后,所述中央處理器用預先存儲的上層控制系統的通信協議對所述請求數據包進行解析,獲得目標指令; 所述中央處理器執行所述目標指令,并采用預先存儲的上層控制系統的通信協議發送響應數據至所述串口通信模塊; 所述串口通訊模件轉發所述響應數據至所述上層控制系統。
2.根據權利要求1所述的方法,其特征在于,當所述底層控制系統所采用的可編程邏輯控制器PLC為S7-300系列時,所預設的串口通訊模件的型號為CP340或CP341。
3.根據權利要求1所述的方法,其特征在于,當所述底層控制系統所采用的PLC為S7-400系列時,所預先設置的串口通訊模件為CP440或CP441。
4.根據權利要求1所述的方法,其特征在于,所述中央處理器對所述請求數據包進行驗證,包括: 查看所述請求數據包中的地址與所述底層控制系統的地址是否相一致; 當一致時,對所述請求數據包進行循環冗余校驗碼CRC校驗; 當所述CRC校驗通過后,查看所述請求數據包中的功能碼是否正確; 當所述功能碼正確時,則認為所述驗證通過。
5.根據權利要求4所述的方法,其特征在于,所述CRC校驗采用十六進制循環冗余校驗碼CRC16校驗計算法。
6.一種控制系統間的通信系統,其特征在于,包括: 串口通訊模件用于,接收上層控制系統所發送的請求數據包、發送所述請求數據包至底層控制系統中的中央處理器及轉發響應數據至所述上層控制系統; 所述中央處理器用于:對所述請求數據包進行驗證、當所述驗證通過后,用預先存儲的上層控制系統的通信協議對所述請求數據包進行解析,獲得目標指令、執行所述目標指令及采用預先存儲的上層控制系統的通信協議發送響應數據至所述串口通訊模件。
7.根據權利要求6所述的系統,其特征在于,當所述底層控制系統所采用的可編程控制器PLC為S7— 300系列時,所預設的串口通訊模件的型號為CP340或CP341。
8.根據權利要求6所述的系統,其特征在于,當所述底層控制系統所采用的PLC為S7—400系列時,所預設的串口通訊模件為CP440或CP441。
【文檔編號】H04L29/08GK103716409SQ201410003317
【公開日】2014年4月9日 申請日期:2014年1月2日 優先權日:2014年1月2日
【發明者】李冬春, 謝光曾, 張洪凱, 舒曉媛 申請人:福建龍凈環保股份有限公司