這篇文章主要介紹了ServerSuperIO通訊模式機(jī)制是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇ServerSuperIO通訊模式機(jī)制是什么文章都會(huì)有所收獲,下面我們一起來看看吧。
創(chuàng)新互聯(lián)專注于撫松企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站建設(shè)。撫松網(wǎng)站建設(shè)公司,為撫松等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
運(yùn)行控制模式
1、輪詢模式
這是框架最早的運(yùn)行模式,串口和網(wǎng)絡(luò)通訊時(shí)都可以使用這種控制模式。當(dāng)有多個(gè)設(shè)備 連接到通訊平臺(tái)時(shí),通訊平臺(tái)會(huì)輪詢調(diào)度設(shè)備進(jìn)行通訊任務(wù)。某一時(shí)刻只能有一個(gè)設(shè)備發(fā)送請(qǐng)求命令、等待接收返回?cái)?shù)據(jù),這個(gè)設(shè)備完成發(fā)送、接收(如果遇到超時(shí) 情況,則自動(dòng)返回)后,下一個(gè)設(shè)備才進(jìn)行通訊任務(wù),依次輪詢?cè)O(shè)備。
應(yīng)用場景是這樣的,服務(wù)端與設(shè)備進(jìn)行通訊遵循呼叫應(yīng)答的方式,也就是IO可用的情況下,服務(wù)端先發(fā)起通訊命令請(qǐng)求,設(shè)備根據(jù)命令信息,檢驗(yàn)通過后返回?cái)?shù)據(jù)給服務(wù)端。這種通訊模式很好理解,每個(gè)設(shè)備的通訊都遵循排隊(duì)的原則。但是如果某個(gè)設(shè)備的命令需要及時(shí)發(fā)送,怎么辦?ServerSuperIO框架是支持設(shè)備優(yōu)先級(jí)別調(diào)度的,例如:對(duì)某個(gè)設(shè)備要進(jìn)行實(shí)時(shí)的檢測,需要連續(xù)發(fā)送命令,那么就需要對(duì)設(shè)備進(jìn)行高級(jí)別設(shè)置,發(fā)送請(qǐng)求數(shù)據(jù)命令。
通訊結(jié)構(gòu)如下圖:
2、并發(fā)模式
網(wǎng)絡(luò)通訊的情況下,輪詢模式顯然效率比較低,那么可以采用并發(fā)模式。并發(fā)通訊模式是集中發(fā)送給所有設(shè)備請(qǐng)求指令,框架是采用循環(huán)同步方式發(fā)送請(qǐng)求命令給每個(gè)IO通道對(duì)應(yīng)的設(shè)備,當(dāng)然也可以采用并行異步方式集中發(fā)送請(qǐng)求命令。硬件設(shè)備接收到指令后進(jìn)行校驗(yàn),校驗(yàn)成功后返回對(duì)應(yīng)指令的數(shù)據(jù),通訊平臺(tái)異步監(jiān)聽到數(shù)據(jù)信息后,進(jìn)行接收操作,然后再進(jìn)行數(shù)據(jù)的分發(fā)、處理等。
那么這里就涉及到IO通道接收到的數(shù)據(jù)是異步接收的,如何才能和設(shè)備驅(qū)動(dòng)匹配上(把數(shù)據(jù)分發(fā)到設(shè)備驅(qū)動(dòng)上),這是能過DeviceCode和DeviceIP兩種方式來實(shí)現(xiàn)的。DeviceCode可以是設(shè)備地址或是設(shè)備編碼,DeviceIP是預(yù)先設(shè)置好的參數(shù),要求終端設(shè)備的IP地址是固定的。
通訊結(jié)構(gòu)如下圖:
3、自控模式
只有網(wǎng)絡(luò)通訊時(shí)可以使用這種控制模式。自控通訊模式與并發(fā)通訊模式類似,區(qū)別在于發(fā)送指令操作交給設(shè)備驅(qū)動(dòng)本身進(jìn)行控制,或者說交給二次開發(fā)者,二次開發(fā)者可以通過時(shí)鐘定時(shí)用事件驅(qū)動(dòng)的方式發(fā)送指令數(shù)據(jù)。硬件設(shè) 備接收到指令后進(jìn)行校驗(yàn),校驗(yàn)成功后返回對(duì)應(yīng)指令的數(shù)據(jù),通訊平臺(tái)異步監(jiān)聽到數(shù)據(jù)信息后,進(jìn)行接收操作,然后再進(jìn)行數(shù)據(jù)的分發(fā)、處理等。
自控通訊模式可以為二次開發(fā)者提供精確的定時(shí)請(qǐng)求實(shí)時(shí)數(shù)據(jù)機(jī)制,使通訊機(jī)制更靈活、自主,如果多個(gè)設(shè)備驅(qū)動(dòng)使用同一個(gè)IO通道的話,時(shí)間控制會(huì)有偏差。
同樣涉及到數(shù)據(jù)的分發(fā),和并發(fā)模式一樣。
通訊結(jié)構(gòu)如下圖:
4、單例模式
只有網(wǎng)絡(luò)通訊時(shí)可以使用這種控制模式。在一個(gè)服務(wù)實(shí)例內(nèi)只能有一個(gè)設(shè)備驅(qū)動(dòng),相當(dāng)于一個(gè)設(shè)備驅(qū)動(dòng)對(duì)應(yīng)著N多個(gè)硬件設(shè)備終端。更適合通訊的數(shù)據(jù)協(xié)議有固定的標(biāo)準(zhǔn),以命令關(guān)鍵字處理不同的數(shù)據(jù)。適用于高并發(fā)的硬件終端設(shè)備主動(dòng)上傳數(shù)據(jù),服務(wù)器端根據(jù)數(shù)據(jù)信息進(jìn)行處理和返回相應(yīng)的數(shù)據(jù)。
通訊結(jié)構(gòu)如下圖:
關(guān)于“ServerSuperIO通訊模式機(jī)制是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“ServerSuperIO通訊模式機(jī)制是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。