葛穎奇 徐勁松 游云漢 韓增濤
摘 要:針對(duì)風(fēng)電場(chǎng)數(shù)據(jù)傳輸?shù)目煽啃浴?shí)時(shí)性需求,設(shè)計(jì)了基于Modbus/TCP協(xié)議的SCADA系統(tǒng)數(shù)據(jù)通信平臺(tái)。深入研究了Modbus標(biāo)準(zhǔn)規(guī)約,介紹了該協(xié)議在風(fēng)電場(chǎng)數(shù)據(jù)通信中的實(shí)現(xiàn)方法,并闡述了客戶端和服務(wù)端軟件的核心設(shè)計(jì)思想;分析了Modbus/TCP協(xié)議實(shí)現(xiàn)的一些關(guān)鍵技術(shù)問(wèn)題,并對(duì)該協(xié)議使用中的通信問(wèn)題提出解決辦法,在實(shí)際工程應(yīng)用中具有重要的參考價(jià)值。應(yīng)用結(jié)果表明,所設(shè)計(jì)的Modbus數(shù)據(jù)通信平臺(tái)運(yùn)行穩(wěn)定,具備較好的實(shí)時(shí)性,高效地支撐了風(fēng)電場(chǎng)的數(shù)據(jù)傳輸業(yè)務(wù)。
關(guān)鍵詞:Modbus/TCP協(xié)議;風(fēng)電場(chǎng);SCADA系統(tǒng);數(shù)據(jù)通信
中圖分類號(hào):TP274? ? 文獻(xiàn)標(biāo)志碼:A? ? 文章編號(hào):1671-0797(2023)13-0030-05
DOI:10.19514/j.cnki.cn32-1628/tm.2023.13.008
0? ? 引言
在工業(yè)控制領(lǐng)域,Modbus是一種非常重要的通信協(xié)議,它具有使用靈活方便、傳輸可靠的特點(diǎn)[1]。通過(guò)Modbus協(xié)議,不同廠商生產(chǎn)的異構(gòu)系統(tǒng)設(shè)備可以簡(jiǎn)單可靠地連成工業(yè)網(wǎng)絡(luò),從而進(jìn)行集中監(jiān)控。Modbus良好的開(kāi)放性、可擴(kuò)展性和標(biāo)準(zhǔn)化使之成為一個(gè)通用的工業(yè)標(biāo)準(zhǔn)通信協(xié)議。目前在新能源電力行業(yè),Modbus協(xié)議也得到了廣泛應(yīng)用[2-4]。
Modbus在工業(yè)自動(dòng)化網(wǎng)絡(luò)通信應(yīng)用中,包括串行鏈路和TCP/IP兩種實(shí)現(xiàn)方式。Modbus/TCP是運(yùn)行在TCP/IP協(xié)議上的Modbus報(bào)文傳輸協(xié)議,它將Modbus協(xié)議幀嵌入TCP/IP數(shù)據(jù)幀中,利用網(wǎng)絡(luò)傳輸Modbus協(xié)議報(bào)文。與串行鏈路通信相比,這種建立在以太網(wǎng)基礎(chǔ)上的通信協(xié)議可擴(kuò)展性更優(yōu),更易于構(gòu)建工業(yè)以太網(wǎng),數(shù)據(jù)傳輸效率更高[5]。
在風(fēng)電行業(yè),數(shù)據(jù)通信的可靠性和實(shí)時(shí)性是非常重要的,性能不穩(wěn)定會(huì)導(dǎo)致信號(hào)傳輸異常,嚴(yán)重時(shí)會(huì)造成風(fēng)電機(jī)組事故停機(jī),對(duì)機(jī)組和電網(wǎng)安全都會(huì)造成重大影響。本文對(duì)Modbus/TCP協(xié)議的通信機(jī)制進(jìn)行深入研究,開(kāi)發(fā)了基于該協(xié)議的風(fēng)電場(chǎng)SCADA系統(tǒng)數(shù)據(jù)通信平臺(tái),該平臺(tái)替換了之前使用的商業(yè)組態(tài)軟件通信平臺(tái)。
由于之前的組態(tài)軟件過(guò)于追求豐富的功能,缺少對(duì)風(fēng)電領(lǐng)域應(yīng)用場(chǎng)景的深入理解,因此存在適應(yīng)性及軟件健壯性差的問(wèn)題。本文基于風(fēng)電場(chǎng)數(shù)據(jù)通信的可靠性和實(shí)時(shí)性需求,設(shè)計(jì)了可以更好地支撐風(fēng)電場(chǎng)數(shù)據(jù)傳輸業(yè)務(wù)的通信平臺(tái)。
1? ? Modbus/TCP通信協(xié)議介紹
1.1? ? Modbus協(xié)議簡(jiǎn)介
Modbus是OSI模型第7層上的應(yīng)用層報(bào)文傳輸協(xié)議,采用客戶機(jī)/服務(wù)器模式通信,工程應(yīng)用中主要進(jìn)行實(shí)時(shí)數(shù)據(jù)的傳輸[6-9]。Modbus是一個(gè)請(qǐng)求/應(yīng)答協(xié)議,它定義了應(yīng)用數(shù)據(jù)單元(ADU)和協(xié)議數(shù)據(jù)單元(PDU),對(duì)請(qǐng)求和響應(yīng)進(jìn)行封裝。此外,Modbus協(xié)議規(guī)定了其事務(wù)處理框架內(nèi)使用的功能碼和相應(yīng)服務(wù)。首先Modbus ADU由啟動(dòng)Modbus事務(wù)處理的客戶機(jī)創(chuàng)建,通過(guò)功能碼向服務(wù)器請(qǐng)求執(zhí)行某種服務(wù),然后服務(wù)器對(duì)客戶機(jī)發(fā)送的請(qǐng)求進(jìn)行處理和應(yīng)答。Modbus協(xié)議提供了4種基本數(shù)據(jù)模型,用于不同類型的數(shù)據(jù)傳輸,分別是線圈、離散量輸入、保持寄存器、輸入寄存器。
1.2? ? 功能碼定義
Modbus協(xié)議定義了一些公共功能碼和供用戶自定義的特殊功能碼,用于操作4種基本數(shù)據(jù)類型,它們能夠表示客戶端對(duì)服務(wù)器端的命令請(qǐng)求意圖。工業(yè)實(shí)時(shí)數(shù)據(jù)通信中常用的功能碼有:0x01用于讀線圈,0x02用于讀離散量輸入,0x03用于讀保持寄存器,0x04用于讀輸入寄存器,0x05用于寫單個(gè)線圈,0x06用于寫單個(gè)寄存器,0x0F用于寫多個(gè)線圈,0x10用于寫多個(gè)寄存器。
1.3? ? Modbus/TCP報(bào)文封裝
在TCP/IP網(wǎng)絡(luò)上,Modbus請(qǐng)求或響應(yīng)的報(bào)文封裝格式如圖1所示。Modbus/TCP ADU由MBAP報(bào)文頭(Modbus應(yīng)用協(xié)議報(bào)文頭)和PDU組成,PDU由功能碼和數(shù)據(jù)域構(gòu)成[10]。Modbus/TCP的ADU最大長(zhǎng)度為260字節(jié),其中MBAP長(zhǎng)度為7字節(jié),PDU長(zhǎng)度為253字節(jié)。
MBAP報(bào)文頭是在TCP/IP網(wǎng)絡(luò)上被用來(lái)識(shí)別Modbus ADU的專用報(bào)文頭,與串行鏈路上使用的Modbus RTU ADU相比,這種MBAP報(bào)文頭有所區(qū)別。MBAP報(bào)文頭包括下列字段,如表1所示。
2? ? 基于Modbus的風(fēng)電場(chǎng)SCADA系統(tǒng)數(shù)據(jù)通信
風(fēng)電場(chǎng)是由風(fēng)電機(jī)組(包括機(jī)組單元變壓器)、匯集線路、主升壓變壓器及其他設(shè)備組成的風(fēng)力發(fā)電站,包括場(chǎng)控層、間隔層和過(guò)程層。場(chǎng)控層的風(fēng)電場(chǎng)SCADA系統(tǒng)和間隔層的風(fēng)機(jī)主控系統(tǒng)進(jìn)行通信,從而對(duì)風(fēng)機(jī)運(yùn)行過(guò)程進(jìn)行實(shí)時(shí)監(jiān)視和控制。風(fēng)電場(chǎng)SCADA系統(tǒng)應(yīng)滿足風(fēng)電場(chǎng)運(yùn)行控制的可靠性、實(shí)時(shí)性要求,其數(shù)據(jù)通信具有數(shù)據(jù)傳輸量大、實(shí)時(shí)性要求高的特點(diǎn),并且需要具備較好的穩(wěn)定性和抗干擾能力。
2.1? ? 通信結(jié)構(gòu)
本文設(shè)計(jì)了基于Modbus/TCP協(xié)議的風(fēng)電場(chǎng)SCADA系統(tǒng)數(shù)據(jù)傳輸平臺(tái),實(shí)現(xiàn)對(duì)風(fēng)電機(jī)組的高效監(jiān)視和可靠控制,并具備遙測(cè)、遙信、遙調(diào)、遙控等遠(yuǎn)動(dòng)功能,可以和調(diào)度控制中心、風(fēng)功率預(yù)測(cè)系統(tǒng)進(jìn)行協(xié)同互動(dòng)。本文設(shè)計(jì)的風(fēng)電場(chǎng)SCADA系統(tǒng)數(shù)據(jù)通信平臺(tái)涵蓋了Modbus客戶端和Modbus服務(wù)端,客戶端采集風(fēng)電機(jī)組PLC和機(jī)組單元變壓器的實(shí)時(shí)數(shù)據(jù),服務(wù)端將數(shù)據(jù)轉(zhuǎn)發(fā)給集控、風(fēng)功率預(yù)測(cè)等系統(tǒng)。平臺(tái)的數(shù)據(jù)通信結(jié)構(gòu)如圖2所示。
風(fēng)電場(chǎng)的信息類型包括源信息(模擬量和狀態(tài)信息)和派生信息(統(tǒng)計(jì)和歷史信息)。風(fēng)電機(jī)組包含風(fēng)輪、發(fā)電機(jī)、變流器、機(jī)艙、偏航系統(tǒng)等主要部件信息,這些部件的數(shù)字量數(shù)據(jù)的傳輸使用Modbus功能碼0x01操作的線圈類型和功能碼0x02操作的離散量輸入類型,模擬量數(shù)據(jù)的傳輸使用功能碼0x03操作的保持寄存器類型和功能碼0x04操作的輸入寄存器類型;風(fēng)機(jī)的啟??刂剖褂霉δ艽a0x05,參數(shù)設(shè)置使用功能碼0x10。平臺(tái)的數(shù)據(jù)訪問(wèn)模型如圖3所示。
2.2? ? Modbus客戶端軟件設(shè)計(jì)
SCADA系統(tǒng)的Modbus客戶端需要與風(fēng)電機(jī)組PLC、箱變測(cè)控裝置進(jìn)行通信,實(shí)時(shí)采集設(shè)備狀態(tài)監(jiān)測(cè)的模擬量和數(shù)字量數(shù)據(jù)??蛻舳塑浖?dòng)運(yùn)行后,先根據(jù)業(yè)務(wù)配置封裝Modbus請(qǐng)求報(bào)文,然后連接服務(wù)端并發(fā)送數(shù)據(jù)請(qǐng)求報(bào)文,最后接收服務(wù)端的響應(yīng)進(jìn)行解析。本文設(shè)計(jì)的Modbus客戶端運(yùn)行流程如圖4所示。
客戶端軟件設(shè)計(jì)需注重規(guī)范性,仔細(xì)研究規(guī)約定義背后的用意,嚴(yán)格遵守Modbus協(xié)議的各個(gè)細(xì)節(jié)規(guī)定,對(duì)訪問(wèn)行為進(jìn)行約束,比如生成報(bào)文時(shí)注意最大請(qǐng)求長(zhǎng)度,以防止風(fēng)機(jī)主控系統(tǒng)的Modbus服務(wù)端無(wú)法處理,導(dǎo)致請(qǐng)求失敗的情況??蛻舳塑浖杈邆鋽嗑€重連功能,防止和風(fēng)機(jī)主控的連接意外丟失。另外,客戶端軟件必須考慮不同Modbus服務(wù)端的差異性,以應(yīng)對(duì)多種運(yùn)行場(chǎng)景,所以需要具備靈活的配置功能,以適配不同的服務(wù)端。
2.3? ? Modbus服務(wù)端軟件設(shè)計(jì)
SCADA系統(tǒng)的Modbus服務(wù)端負(fù)責(zé)將采集到的機(jī)組運(yùn)行數(shù)據(jù)轉(zhuǎn)發(fā)給調(diào)度控制中心、風(fēng)功率預(yù)測(cè)等系統(tǒng)。服務(wù)端軟件啟動(dòng)后,先根據(jù)業(yè)務(wù)配置進(jìn)行TCP端口監(jiān)聽(tīng)并等待客戶端建立連接,然后接收客戶端的Modbus請(qǐng)求并進(jìn)行處理,最后發(fā)送響應(yīng)報(bào)文。本文設(shè)計(jì)的Modbus服務(wù)端運(yùn)行流程如圖5所示。
服務(wù)端軟件在實(shí)現(xiàn)Modbus協(xié)議規(guī)定的功能后,還需要更多地考慮在應(yīng)用場(chǎng)景中軟件的健壯性和服務(wù)可用性。例如,針對(duì)Modbus客戶端的非法請(qǐng)求,服務(wù)端可以發(fā)送異常碼作為響應(yīng),但是必須要保證服務(wù)可用,絕不能因此崩潰而不能處理合法請(qǐng)求。由于調(diào)度控制中心、風(fēng)功率預(yù)測(cè)系統(tǒng)等客戶端連接可能會(huì)中斷后重連,因此服務(wù)端需要能識(shí)別、關(guān)閉失效連接。
3? ? 關(guān)鍵技術(shù)分析
開(kāi)發(fā)一個(gè)好的Modbus協(xié)議產(chǎn)品,不僅需要深入研究Modbus協(xié)議本身,還需要對(duì)其底層基礎(chǔ)協(xié)議的運(yùn)行機(jī)理進(jìn)行深入理解。本文從規(guī)范性、可靠性、實(shí)時(shí)性三個(gè)方面對(duì)Modbus/TCP協(xié)議在風(fēng)電場(chǎng)數(shù)據(jù)通信中的關(guān)鍵技術(shù)進(jìn)行分析。
3.1? ? 規(guī)范性
(1)事務(wù)處理標(biāo)識(shí)符設(shè)計(jì)。MBAP報(bào)文頭的事務(wù)處理標(biāo)識(shí)符字段,用于將請(qǐng)求與未來(lái)響應(yīng)之間建立聯(lián)系。因此,對(duì)一個(gè)TCP連接來(lái)說(shuō),在同一時(shí)刻這個(gè)標(biāo)識(shí)符必須是唯一的。本文設(shè)計(jì)的客戶端,將事務(wù)處理標(biāo)識(shí)符作為一個(gè)請(qǐng)求計(jì)數(shù)器,針對(duì)每個(gè)請(qǐng)求將計(jì)數(shù)器增加1,從而將請(qǐng)求和應(yīng)答進(jìn)行匹配。實(shí)際運(yùn)行時(shí),網(wǎng)絡(luò)鏈路的通信質(zhì)量會(huì)受干擾而產(chǎn)生波動(dòng),使得幾個(gè)Modbus事務(wù)處理可能在一個(gè)連接上被同時(shí)激活,如果請(qǐng)求和應(yīng)答沒(méi)有匹配,就會(huì)導(dǎo)致采集數(shù)據(jù)跳變。某些廠家的Modbus/TCP服務(wù)端強(qiáng)制要求客戶端請(qǐng)求報(bào)文的事務(wù)處理標(biāo)識(shí)符為0,這顯然不符合規(guī)范。
(2)功能碼使用。在工程應(yīng)用中,因?yàn)楝F(xiàn)場(chǎng)人員配置或者溝通錯(cuò)誤等原因,通常存在功能碼誤用的情況,比如把讀寄存器功能碼0x03當(dāng)成寫寄存器功能碼0x10來(lái)使用。功能碼的混用,會(huì)導(dǎo)致后期技術(shù)改造和升級(jí)維護(hù)困難。選擇正確的功能碼是實(shí)現(xiàn)標(biāo)準(zhǔn)Modbus協(xié)議的一個(gè)重要方面。
3.2? ? 可靠性
(1)TCP連接管理。實(shí)際運(yùn)行中,網(wǎng)絡(luò)鏈路中斷或?qū)Χ水惓M顺?,?huì)導(dǎo)致正常的Modbus通信連接被迫斷開(kāi)。此時(shí),需要Modbus客戶端和服務(wù)端有能力識(shí)別失效連接,并進(jìn)行資源釋放,否則不斷增長(zhǎng)的連接會(huì)導(dǎo)致客戶端或服務(wù)端內(nèi)存溢出。有些故障系統(tǒng)中發(fā)現(xiàn)很多TCP連接處于CLOSE_WAIT狀態(tài),就是因?yàn)閼?yīng)用層沒(méi)有對(duì)該連接進(jìn)行關(guān)閉。一般情況下,Modbus客戶機(jī)比較容易識(shí)別連接的異常斷開(kāi),服務(wù)端則需要根據(jù)應(yīng)用場(chǎng)景設(shè)計(jì)一種判斷機(jī)制來(lái)識(shí)別丟失通信的連接。本文Modbus服務(wù)端的TCP連接管理模塊設(shè)定了請(qǐng)求超時(shí)機(jī)制,在“保持連接”計(jì)時(shí)器結(jié)束后,對(duì)超時(shí)的客戶端連接進(jìn)行清理。工業(yè)運(yùn)行環(huán)境需要產(chǎn)品具備較好的健壯性和可靠性,能夠長(zhǎng)期穩(wěn)定運(yùn)行,因此該設(shè)計(jì)在工程應(yīng)用中非常重要。
(2)異常數(shù)據(jù)處理。在生產(chǎn)環(huán)境下,對(duì)通道中的數(shù)據(jù)準(zhǔn)確性進(jìn)行校核,可有效防止異常數(shù)據(jù)對(duì)系統(tǒng)內(nèi)部的穩(wěn)定運(yùn)行產(chǎn)生干擾。本文設(shè)計(jì)的Modbus客戶端會(huì)對(duì)采集的測(cè)量值和狀態(tài)量進(jìn)行數(shù)據(jù)合理性檢測(cè)和不良數(shù)據(jù)檢測(cè),對(duì)采集到的異常數(shù)據(jù)進(jìn)行丟棄。本文設(shè)計(jì)的Modbus服務(wù)端會(huì)對(duì)接收的遙調(diào)和遙控命令進(jìn)行檢查,對(duì)異常命令不予執(zhí)行。
3.3? ? 實(shí)時(shí)性
(1)Modbus請(qǐng)求設(shè)計(jì)。本質(zhì)上,Modbus協(xié)議通信的功能是一幀請(qǐng)求一段連續(xù)地址長(zhǎng)度的數(shù)據(jù),對(duì)于地址不連續(xù)或者超過(guò)最大請(qǐng)求長(zhǎng)度的數(shù)據(jù),需要采用分包的方式請(qǐng)求。本文SCADA系統(tǒng)和風(fēng)機(jī)主控通信時(shí),Modbus采集點(diǎn)表用連續(xù)編碼的方式對(duì)地址進(jìn)行規(guī)劃,同時(shí)兼顧靈活性和實(shí)時(shí)性,從而使得SCADA系統(tǒng)對(duì)風(fēng)機(jī)進(jìn)行數(shù)據(jù)請(qǐng)求時(shí),一幀可以返回最大長(zhǎng)度的數(shù)據(jù)。Modbus數(shù)據(jù)傳輸中減少分包,既可以提高數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,也可以減輕網(wǎng)絡(luò)負(fù)擔(dān)。
(2)Nagle算法關(guān)閉。TCP/IP協(xié)議的擁塞控制使用了Nagle算法,并默認(rèn)開(kāi)啟。該算法要求一個(gè)TCP連接上只能有一個(gè)未被確認(rèn)的小分組,在該分組的確認(rèn)到達(dá)之前,不能發(fā)送其他小分組。Nagle算法明顯提高了網(wǎng)絡(luò)利用率,但是增加了數(shù)據(jù)傳輸延時(shí)。對(duì)于像Modbus這種小包交互,且實(shí)時(shí)性需求較強(qiáng)的應(yīng)用場(chǎng)景,應(yīng)該啟用TCP_NODELAY參數(shù)來(lái)關(guān)閉Nagle算法,使得報(bào)文可以盡快發(fā)送。本文設(shè)計(jì)的Modbus服務(wù)端和客戶端通信程序都啟用了TCP_NODELAY參數(shù),以提高數(shù)據(jù)交互的實(shí)時(shí)性。
(3)TCP首部PSH標(biāo)志位設(shè)置。在TCP報(bào)文頭部中有URG、ACK、PSH、RST、SYN、FIN這6個(gè)標(biāo)志比特,其中PSH這個(gè)標(biāo)志位指示接收方應(yīng)該盡快將這個(gè)報(bào)文段交給應(yīng)用層。實(shí)際工程應(yīng)用中包括很多異構(gòu)系統(tǒng)設(shè)備,所有Modbus網(wǎng)絡(luò)中的設(shè)備都應(yīng)設(shè)置PSH標(biāo)志位,使得對(duì)端接收?qǐng)?bào)文后可以盡快處理。
4? ? 測(cè)試結(jié)果
目前,本文設(shè)計(jì)的Modbus/TCP通信平臺(tái)已經(jīng)部署于多個(gè)風(fēng)電場(chǎng),功能上實(shí)現(xiàn)了對(duì)風(fēng)電機(jī)組運(yùn)行實(shí)時(shí)數(shù)據(jù)的采集和轉(zhuǎn)發(fā)。該平臺(tái)有效承載了SCADA系統(tǒng)的數(shù)據(jù)通信業(yè)務(wù),可靠性較之前有了很大的提升,從而大幅減少了人工運(yùn)維成本。
為了驗(yàn)證該平臺(tái)的實(shí)時(shí)性,進(jìn)行了通信性能測(cè)試。采用本文的Modbus/TCP客戶端訪問(wèn)本文的Modbus/
TCP服務(wù)端,請(qǐng)求方式為連續(xù)讀取保持寄存器,通信過(guò)程中使用Wireshark軟件進(jìn)行抓包分析,每秒的Modbus通信報(bào)文數(shù)量如圖6所示。
測(cè)試結(jié)果顯示,本文的Modbus/TCP通信平臺(tái)一個(gè)連接每秒可以處理800個(gè)報(bào)文,即每秒處理400個(gè)Modbus請(qǐng)求,平均單個(gè)請(qǐng)求的處理時(shí)間為2.5 ms。在多連接場(chǎng)景下,本文設(shè)計(jì)的Modbus/TCP通信平臺(tái)具備每秒處理20萬(wàn)個(gè)模擬點(diǎn)的能力,優(yōu)于能源行業(yè)標(biāo)準(zhǔn)NB/T 31071—2015《風(fēng)力發(fā)電場(chǎng)遠(yuǎn)程監(jiān)控系統(tǒng)技術(shù)規(guī)程》要求的實(shí)時(shí)數(shù)據(jù)處理性能。
5? ? 結(jié)束語(yǔ)
風(fēng)電場(chǎng)的實(shí)時(shí)數(shù)據(jù)通信作為場(chǎng)站監(jiān)控系統(tǒng)的核心部分,其性能直接決定了場(chǎng)站監(jiān)控系統(tǒng)的運(yùn)行水平,因此設(shè)計(jì)可靠的數(shù)據(jù)通信平臺(tái)意義重大。本文對(duì)Modbus/TCP通信機(jī)理進(jìn)行了深入研究,設(shè)計(jì)了基于Modbus/TCP協(xié)議的風(fēng)電場(chǎng)SCADA系統(tǒng)數(shù)據(jù)通信平臺(tái),并分析了Modbus/TCP規(guī)約應(yīng)用的核心技術(shù)。
本文提出的設(shè)計(jì)方法和關(guān)鍵技術(shù)可以顯著提高風(fēng)電場(chǎng)SCADA系統(tǒng)數(shù)據(jù)通信的可靠性和實(shí)時(shí)性,同時(shí)對(duì)其他Modbus工程應(yīng)用的進(jìn)一步優(yōu)化也具有重要的參考價(jià)值。風(fēng)電場(chǎng)實(shí)際應(yīng)用表明,本文設(shè)計(jì)的Modbus/
TCP數(shù)據(jù)通信平臺(tái)運(yùn)行穩(wěn)定,更好地滿足了風(fēng)電場(chǎng)數(shù)據(jù)傳輸需求,為風(fēng)電自動(dòng)化領(lǐng)域的實(shí)時(shí)數(shù)據(jù)監(jiān)控提供了一種有效的解決方案。
[參考文獻(xiàn)]
[1] 孫中豪,周興社,張凱龍.基于μC/OS-Ⅱ的Modbus/TCP消息的類令牌環(huán)實(shí)時(shí)響應(yīng)算法[J].計(jì)算機(jī)工程與科學(xué),2014,36(9):1662-1667.
[2] 李偉.基于Modbus協(xié)議的工控節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010,36(16):226-228.
[3] 張海源,任春梅,張冉.Modbus協(xié)議在電力系統(tǒng)中的應(yīng)用[J].繼電器,2007,35(17):31-34.
[4] 劉冉,莊紅山,汪凱威,等.基于Modbus/TCP的EPON配網(wǎng)自動(dòng)化通信系統(tǒng)[J].制造業(yè)自動(dòng)化,2020,42(9):110-113.
[5] 張子實(shí),趙靜一,周楓.基于LabVIEW和Modbus/TCP的風(fēng)電數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].自動(dòng)化儀表,2018,39(7):47-50.
[6] 王佩,陳金鷹,童焦龍.面向物聯(lián)網(wǎng)應(yīng)用的嵌入式ModBus協(xié)議分析與實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2018(7):102-106.
[7] 黃劍,張紅梅,張向利,等.基于Modbus協(xié)議的數(shù)據(jù)采集與并行加密通信系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2017,34(3):260-266.
[8] 張仁斌,李思嫻,劉飛,等.基于Modbus功能碼細(xì)粒度過(guò)濾算法的研究[J].計(jì)算機(jī)應(yīng)用研究,2018,35(1):277-281.
[9] 方崇全,陳瑋,趙勇.WinCE下科維可編程控制器Modbus/
TCP IO驅(qū)動(dòng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(4):327-329.
[10] 翁自覺(jué),謝斌紅.基于MODBUS協(xié)議的OPC UA服務(wù)器的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(2):89-92.
收稿日期:2023-03-01
作者簡(jiǎn)介:葛穎奇(1987—),男,浙江寧波人,工程師,研究方向:工業(yè)以太網(wǎng)數(shù)據(jù)通信。