本發(fā)明涉及自動化控制技術(shù)領(lǐng)域,尤其涉及伺服器、伺服器控制系統(tǒng)及其通信方法。
背景技術(shù):
隨著自動化控制技術(shù)的發(fā)展,伺服器被廣泛的應(yīng)用于機(jī)器人、激光加工、數(shù)字機(jī)床等領(lǐng)域。伺服器通常包括外殼、電機(jī)、減速齒輪組、位置傳感器、輸出軸等。伺服器可以通過電機(jī)轉(zhuǎn)動控制輸出軸的轉(zhuǎn)動,例如,機(jī)器人通過控制伺服器內(nèi)的電機(jī)轉(zhuǎn)動模擬關(guān)節(jié)活動,實(shí)現(xiàn)不同的動作。
現(xiàn)有的伺服器控制系統(tǒng)中,主控制器的通信接口上通常串接多個(gè)伺服器,主控制器向連接在其各個(gè)接口的伺服器發(fā)送動作指令。目前,在各伺服器接收到主控制器發(fā)送的動作指令后,會同時(shí)向主控制器發(fā)送反饋信息,這樣往往導(dǎo)致總線上發(fā)生沖突,主控制器無法正常接收到各伺服器反饋的信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種伺服器、伺服器控制系統(tǒng)及其通信方法,能夠避免伺服器控制系統(tǒng)的總線沖突。
第一方面,本發(fā)明實(shí)施例提供了一種伺服器控制系統(tǒng)的通信方法,該方法包括:
若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;
所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。
另一方面,本發(fā)明實(shí)施例提供了一種伺服器,該伺服器包括:
獲取單元,用于若伺服器控制系統(tǒng)中伺服器接收到主控制器發(fā)送的第一動作指令,獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;
信息發(fā)送單元,用于根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。
另一方面,本發(fā)明實(shí)施例提供了一種伺服器控制系統(tǒng),該伺服器控制系統(tǒng)包括:包括主控制器以及與所述主控制器串行連接的多個(gè)伺服器;
所述主控制器用于向與所述主控制器串行連接的多個(gè)伺服器發(fā)送第一動作指令;
所述伺服器用于在接收到所述動作指令后,獲取預(yù)設(shè)延時(shí)時(shí)間,根據(jù)預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,多個(gè)所述伺服器各自對應(yīng)不同的延時(shí)時(shí)間。
本發(fā)明實(shí)施例通過若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。由于伺服器控制系統(tǒng)中每個(gè)伺服器對應(yīng)不同的延時(shí)時(shí)間,因此伺服器根據(jù)各自對應(yīng)的延時(shí)時(shí)間向主控制器發(fā)送反饋信息,可以避免伺服器控制系統(tǒng)的總線沖突。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種伺服器控制系統(tǒng)的示意性框圖;
圖2是本發(fā)明實(shí)施例中主控制器向多個(gè)伺服器發(fā)送的第一動作指令的示意圖;
圖3是本發(fā)明實(shí)施例提供的一種伺服器控制系統(tǒng)的通信方法的示意流程圖;
圖4是本發(fā)明另一實(shí)施例提供的一種伺服器控制系統(tǒng)的通信方法的示意流程圖;
圖5是本發(fā)明實(shí)施例提供的一種伺服器的示意性框圖;
圖6是本發(fā)明另一實(shí)施例提供的一種伺服器示意框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)當(dāng)理解,當(dāng)在本說明書和所附權(quán)利要求書中使用時(shí),術(shù)語“包括”和“包含”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個(gè)或多個(gè)其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應(yīng)當(dāng)理解,在此本發(fā)明說明書中所使用的術(shù)語僅僅是出于描述特定實(shí)施例的目的而并不意在限制本發(fā)明。如在本發(fā)明說明書和所附權(quán)利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數(shù)形式的“一”、“一個(gè)”及“該”意在包括復(fù)數(shù)形式。
還應(yīng)當(dāng)進(jìn)一步理解,在本發(fā)明說明書和所附權(quán)利要求書中使用的術(shù)語“和/或”是指相關(guān)聯(lián)列出的項(xiàng)中的一個(gè)或多個(gè)的任何組合以及所有可能組合,并且包括這些組合。
如在本說明書和所附權(quán)利要求書中所使用的那樣,術(shù)語“如果”可以依據(jù)上下文被解釋為“當(dāng)...時(shí)”或“一旦”或“響應(yīng)于確定”或“響應(yīng)于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據(jù)上下文被解釋為意指“一旦確定”或“響應(yīng)于確定”或“一旦檢測到[所描述條件或事件]”或“響應(yīng)于檢測到[所描述條件或事件]”。
請參見圖1,圖1是本發(fā)明實(shí)施例提供的一種伺服器控制系統(tǒng)的示意性框圖。如圖所示伺服器控制系統(tǒng)包括:主控制器110以及與所述主控制器110串行連接的多個(gè)伺服器120;
所述主控制器用于向與所述主控制器串行連接的多個(gè)伺服器發(fā)送第一動作指令;所述伺服器用于在接收到所述動作指令后,獲取預(yù)設(shè)延時(shí)時(shí)間,根據(jù)預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,多個(gè)所述伺服器各自對應(yīng)不同的延時(shí)時(shí)間。
本發(fā)明實(shí)施例中伺服器控制系統(tǒng)包括主控制器以及多個(gè)伺服器,具體地,伺服器連接在主控制器的通信接口上。如圖1所述,為一個(gè)主控制器上某一通信接口串接了多個(gè)伺服器,如1#伺服器、2#伺服器、3#伺服器......N#伺服器,共N個(gè)伺服器,N為正整數(shù)。同樣的,其他通信接口也可以同樣的串接多個(gè)伺服器。
在伺服器控制系統(tǒng)中,主控制器通過通用串行數(shù)據(jù)總線向伺服器發(fā)送第一動作指令。例如,主控制器可以通過通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)向伺服器發(fā)送第一動作指令。當(dāng)主控制器向一個(gè)或多個(gè)伺服器發(fā)送動作指令時(shí),包含要發(fā)送的目標(biāo)伺服器的ID標(biāo)識,在伺服器接收到動作指令后,根據(jù)動作指令包含的ID,獲取對應(yīng)ID的動作信息。
請一并參閱圖2,圖2為主控制器發(fā)送的第一動作指令的示意圖。
上述第一動作指令包含用于控制伺服器動作的信息,例如伺服器轉(zhuǎn)動角度信息。上述第一動作指令通過命令幀的形式發(fā)送,如圖2所述,為主控制器向1#伺服器至N#伺服器發(fā)送的第一動作指令,第一動作指令中可以包含每個(gè)伺服器的ID標(biāo)識及動作信息,每個(gè)伺服器接收到第一動作指令后獲取對應(yīng)ID的動作信息。
在伺服器接收到主控制器通過串行數(shù)據(jù)總線發(fā)送的第一動作指令后,伺服器獲取預(yù)設(shè)延時(shí)時(shí)間。上述預(yù)設(shè)延時(shí)時(shí)間可以根據(jù)需要設(shè)置,且每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間,例如1#伺服器為1ms,2#伺服器為2ms……N#伺服器為Nms。
在伺服器獲取到預(yù)設(shè)延時(shí)時(shí)間后,伺服器根據(jù)延時(shí)時(shí)間向主控制器發(fā)送反饋信息,所述反饋信息用于標(biāo)識伺服器的工作狀態(tài)。例如,反饋信息可以為通知主控制器伺服器已接收到第一動作指令的消息,反饋信息也可以為通知主控制器已經(jīng)接收到第一動作指令,且伺服將要執(zhí)行第一動作指令的消息。
可選地,所述主控制器還用于向至少一個(gè)所述伺服器發(fā)送第二動作指令;其中,所述第二動作指令是在發(fā)送所述第一動作指令后,且預(yù)設(shè)時(shí)間內(nèi)未接收到所有所述伺服器發(fā)送的所述反饋信息時(shí)發(fā)送的,所述第二動作指令與所述第一動作指令相同。
主控制器在向多個(gè)伺服器發(fā)送第一動作指令后的預(yù)設(shè)時(shí)間內(nèi),若仍未完全接收到多個(gè)伺服器發(fā)送的反饋信息,識別為有伺服器并未接收到第一動作指令,主控制器重新向多個(gè)伺服器發(fā)送與第一動作指令相同的第二動作指令。上述預(yù)設(shè)時(shí)間可以根據(jù)需要設(shè)定,例如預(yù)設(shè)時(shí)間為Nms,則在主控制器向1#至N#伺服器發(fā)送第一動作指令后,Nms內(nèi)主控制器仍未接收到1#至N#中任意一個(gè)或多個(gè)伺服器發(fā)送的反饋信息時(shí),主控制器發(fā)送第二動作指令,第二動作指令是與第一動作指令相同的動作指令,以使多個(gè)伺服器都能正確的接收第一動作指令并執(zhí)行第一動作指令對應(yīng)的動作。
在伺服器接收到主控制器發(fā)送的第二動作指令后,已經(jīng)執(zhí)行了第一動作指令的伺服器可以屏蔽接收到的第二動作指令,不再執(zhí)行第一動作對應(yīng)的指令。
可選地,所述主控制器還用于若發(fā)送所述第二動作指令的次數(shù)超過預(yù)設(shè)次數(shù),仍未接收到所有所述伺服器發(fā)送的所述反饋信息,輸出報(bào)錯(cuò)指令。
若主控制器在發(fā)送第二動作指令超過預(yù)設(shè)次數(shù),仍未接受到所有伺服器發(fā)送的反饋信息,主控制器向用戶進(jìn)行報(bào)錯(cuò)提醒,具體地,主控制器輸出報(bào)錯(cuò)指令。
上述預(yù)設(shè)次數(shù)可以根據(jù)需要進(jìn)行設(shè)定,例如可以設(shè)定為3次,即若主控制器在3次發(fā)送與第一動作指令一致的指令后,仍未接收到所有伺服器發(fā)送的反饋信息,主控制器發(fā)送報(bào)錯(cuò)指令,提醒用戶可能存在錯(cuò)誤。
其中報(bào)錯(cuò)指令可以被預(yù)設(shè)程序捕獲用于通過聲音報(bào)警,也可以用于向?qū)?yīng)的上位機(jī)發(fā)送信息報(bào)警,具體的通過報(bào)錯(cuò)指令進(jìn)行報(bào)錯(cuò)的形式有很多,可以根據(jù)需要選擇。
上述方案,主控制器與其串行連接的多個(gè)伺服器發(fā)送第一動作指令,伺服器在接收到所述動作指令后,獲取預(yù)設(shè)延時(shí)時(shí)間,根據(jù)預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,多個(gè)所述伺服器各自對應(yīng)不同的延時(shí)時(shí)間。由于伺服器控制系統(tǒng)中每個(gè)伺服器對應(yīng)不同的延時(shí)時(shí)間,因此伺服器根據(jù)各自對應(yīng)的延時(shí)時(shí)間向主控制器發(fā)送反饋信息,可以避免伺服器控制系統(tǒng)的總線沖突。
如果主控制器在預(yù)設(shè)時(shí)間內(nèi)沒有接收到多有伺服器發(fā)送的反饋信息,則再次向伺服器發(fā)送第二動作指令,使每個(gè)伺服器都能執(zhí)行第一動作指令對應(yīng)的動作,提高了通信的穩(wěn)定性。如果主控制器發(fā)送第二動作指令的次數(shù)超過預(yù)設(shè)次數(shù),仍未接收到所有所述伺服器發(fā)送的所述反饋信息,輸出報(bào)錯(cuò)指令。使得當(dāng)存在錯(cuò)誤時(shí),能夠及時(shí)的向用戶進(jìn)行提醒,以使用戶查看并及時(shí)解決通信問題。
請參見圖3,圖3是本發(fā)明實(shí)施例提供的一種伺服器控制系統(tǒng)的通信方法的示意流程圖。本實(shí)施例中伺服器控制系統(tǒng)的通信方法的執(zhí)行主體為伺服器。如圖所示伺服器控制系統(tǒng)的通信方法可包括以下步驟:
S301:若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間。
請一并參閱圖1與圖2,圖1是伺服器控制系統(tǒng)的示意性框圖,圖2是主控制器發(fā)送的第一動作指令的示意圖。
本發(fā)明實(shí)施例中伺服器控制系統(tǒng)包括主控制器以及多個(gè)伺服器,具體地,伺服器連接在主控制器的通信接口上。如圖1所述,為一個(gè)主控制器上某一通信接口串接了多個(gè)伺服器,如1#伺服器、2#伺服器、3#伺服器......N#伺服器,共N個(gè)伺服器,N為正整數(shù)。同樣的,其他通信接口也可以同樣的串接多個(gè)伺服器。
在伺服器控制系統(tǒng)中,主控制器通過通用串行數(shù)據(jù)總線向伺服器發(fā)送第一動作指令,例如,主控制器可以通過通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)向伺服器發(fā)送第一動作指令。當(dāng)主控制器向一個(gè)或多個(gè)伺服器發(fā)送動作指令時(shí),包含要發(fā)送的目標(biāo)伺服器的ID標(biāo)識,在伺服器接收到動作指令后,根據(jù)動作指令包含的ID,獲取對應(yīng)ID的動作信息。
上述第一動作指令包含用于控制伺服器動作的信息,例如伺服器轉(zhuǎn)動角度信息。上述第一動作指令通過命令幀的形式發(fā)送,如圖2所述,為主控制器向1#伺服器至N#伺服器發(fā)送的第一動作指令,第一動作指令中可以包含每個(gè)伺服器的ID標(biāo)識及動作信息,每個(gè)伺服器接收到第一動作指令后獲取對應(yīng)ID的動作信息。
在伺服器接收到主控制器通過串行數(shù)據(jù)總線發(fā)送的第一動作指令后,伺服器獲取預(yù)設(shè)延時(shí)時(shí)間。上述預(yù)設(shè)延時(shí)時(shí)間可以根據(jù)需要設(shè)置,且每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間,例如1#伺服器為1ms,2#伺服器為2ms……N#伺服器為Nms。
S302:所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。
在伺服器獲取到預(yù)設(shè)延時(shí)時(shí)間后,伺服器根據(jù)延時(shí)時(shí)間向主控制器發(fā)送反饋信息,所述反饋信息用于標(biāo)識伺服器的工作狀態(tài)。具體的伺服器的工作狀態(tài)可以為伺服器接收到主控制器發(fā)送的指令,也可以為伺服器可以正常工作,及將要執(zhí)行第一動作指令對應(yīng)的動作,或者是伺服器無法執(zhí)行第一動作指令對應(yīng)的動作等標(biāo)識伺服器的工作狀態(tài)的信息。例如,反饋信息可以為通知主控制器伺服器已接收到第一動作指令的消息,反饋信息也可以為通知主控制器已經(jīng)接收到第一動作指令,且伺服將要執(zhí)行第一動作指令的消息。
上述方案,若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。由于伺服器控制系統(tǒng)中每個(gè)伺服器對應(yīng)不同的延時(shí)時(shí)間,因此伺服器根據(jù)各自對應(yīng)的延時(shí)時(shí)間向主控制器發(fā)送反饋信息,可以避免總線沖突。
請參見圖4,圖4是本發(fā)明另一實(shí)施例提供的一種伺服器控制系統(tǒng)的通信方法的示意流程圖。本實(shí)施例中伺服器控制系統(tǒng)的通信方法的執(zhí)行主體為伺服器。如圖所示伺服器控制系統(tǒng)的通信方法可包括以下步驟:
S401:若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間。
請一并參閱圖1與圖2,圖1是伺服器控制系統(tǒng)的示意性框圖,圖2是主控制器發(fā)送的第一動作指令的示意圖。
本發(fā)明實(shí)施例中伺服器控制系統(tǒng)包括主控制器以及多個(gè)伺服器,具體地,伺服器連接在主控制器的通信接口上。如圖1所述,為一個(gè)主控制器上某一通信接口串接了多個(gè)伺服器,如1#伺服器、2#伺服器、3#伺服器......N#伺服器,共N個(gè)伺服器,N為正整數(shù)。同樣的,其他通信接口也可以同樣的串接多個(gè)伺服器。
在伺服器控制系統(tǒng)中,主控制器通過通用串行數(shù)據(jù)總線向伺服器發(fā)送第一動作指令,例如,主控制器可以通過通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)向伺服器發(fā)送第一動作指令。當(dāng)主控制器向一個(gè)或多個(gè)伺服器發(fā)送動作指令時(shí),包含要發(fā)送的目標(biāo)伺服器的ID標(biāo)識,在伺服器接收到動作指令后,根據(jù)動作指令包含的ID,獲取對應(yīng)ID的動作信息。
上述第一動作指令包含用于控制伺服器動作的信息,例如伺服器轉(zhuǎn)動角度信息。上述第一動作指令通過命令幀的形式發(fā)送,如圖2所述,為主控制器向1#伺服器至N#伺服器發(fā)送的第一動作指令,第一動作指令中可以包含每個(gè)伺服器的ID標(biāo)識及動作信息,每個(gè)伺服器接收到第一動作指令后獲取對應(yīng)ID的動作信息。
在伺服器接收到主控制器通過串行數(shù)據(jù)總線發(fā)送的第一動作指令后,伺服器獲取預(yù)設(shè)延時(shí)時(shí)間。上述預(yù)設(shè)延時(shí)時(shí)間可以根據(jù)需要設(shè)置,且每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間,例如1#伺服器為1ms,2#伺服器為2ms……N#伺服器為Nms。
S402:所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。
在伺服器獲取到預(yù)設(shè)延時(shí)時(shí)間后,伺服器根據(jù)延時(shí)時(shí)間向主控制器發(fā)送反饋信息,所述反饋信息用于標(biāo)識伺服器的工作狀態(tài)。例如,反饋信息可以為通知主控制器伺服器已接收到第一動作指令的消息,反饋信息也可以為通知主控制器已經(jīng)接收到第一動作指令,且伺服將要執(zhí)行第一動作指令的消息。
S403:所述伺服器接收第二動作指令,所述伺服器判斷所述第二動作指令是否為有效指令;其中,所述第二動作指令是由所述主控制器向多個(gè)所述伺服器發(fā)送第一動作指令,且在預(yù)設(shè)時(shí)間內(nèi)沒有接收到所有所述伺服器發(fā)送的所述反饋信息時(shí)發(fā)送的,所述第二動作指令與所述第一動作指令相同。
在伺服器接收到第二動作指令后,伺服器判斷第二動作指令是否為有效指令。第二動作指令是主控制器向多個(gè)伺服器發(fā)送第一動作指令后,在預(yù)設(shè)時(shí)間內(nèi)沒有接收到伺服器發(fā)送的反饋信息時(shí)發(fā)送的。上述預(yù)設(shè)時(shí)間可以根據(jù)需要進(jìn)行設(shè)定,例如可以設(shè)為Nms,即在主控制器向多個(gè)伺服器發(fā)送第一動作指令后,會在Nms內(nèi)還沒有接收到某一個(gè)或多個(gè)伺服器的反饋信息時(shí),會再次發(fā)送第一動作指令,當(dāng)伺服器接收到第二動作指令時(shí),判斷第二動作指令是否為有效指令。
S404:若所述第二動作指令為所述有效指令,所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送所述反饋信息。
如果第二動作指令為有效指令,伺服器根據(jù)預(yù)設(shè)延時(shí)時(shí)間向主控制器發(fā)送反饋信息。具體地,如果第二動作指令為有效指令,伺服器獲取所述伺服器對應(yīng)的延時(shí)時(shí)間,再根據(jù)延時(shí)時(shí)間向主控制器發(fā)送反饋信息。
進(jìn)一步地,若所述主控制器在發(fā)送所述第二動作指令超過預(yù)設(shè)次數(shù)后仍未接收到所述伺服器發(fā)送的所有所述反饋信息,主控制器輸出報(bào)錯(cuò)指令。
若主控制器在發(fā)送第二動作指令超過預(yù)設(shè)次數(shù)后,仍未接收到所有伺服器發(fā)送的反饋信息,主控制器向用戶進(jìn)行報(bào)錯(cuò)提醒,具體地,主控制器輸出報(bào)錯(cuò)指令。
上述預(yù)設(shè)次數(shù)可以根據(jù)需要進(jìn)行設(shè)定,例如可以設(shè)定為3次,即若主控制器在3次發(fā)送與第一動作指令一致的指令后,仍未接收到所有伺服器發(fā)送的反饋信息,主控制器發(fā)送報(bào)錯(cuò)指令,提醒用戶可能存在錯(cuò)誤。
其中報(bào)錯(cuò)指令可以被預(yù)設(shè)程序捕獲用于通過聲音報(bào)警,也可以用于向?qū)?yīng)的上位機(jī)發(fā)送信息報(bào)警,具體的通過報(bào)錯(cuò)指令進(jìn)行報(bào)錯(cuò)的形式有很多,可以根據(jù)需要選擇。
進(jìn)一步地,所述步驟S403包括:所述伺服器判斷所述伺服器是否正在執(zhí)行所述第一動作指令對應(yīng)的動作;若所述伺服器正在執(zhí)行所述第一動作指令對應(yīng)的動作,所述伺服器識別所述第二動作指令不為所述有效指令,屏蔽所述第二動作指令。
伺服器在接收到第二動作指令后,伺服器判斷第二動作指令是否為有效指令。具體地,伺服器判斷伺服器是否正在執(zhí)行第一動作指令對應(yīng)的動作來進(jìn)行判斷。
具體的,伺服器可以判斷伺服器是否在執(zhí)行動作,若伺服器在執(zhí)行動作,伺服器根據(jù)伺服器執(zhí)行的動作對應(yīng)的標(biāo)識與接收到的命令標(biāo)識是否一致,來判斷伺服器是否正在執(zhí)行與第一動作指令對應(yīng)的動作。
當(dāng)伺服器識別第二動作指令不為有效指令,標(biāo)識與第二動作指令一致的第一動作指令已經(jīng)被執(zhí)行了,此時(shí)屏蔽第二動作指令,伺服器不再執(zhí)行第二動作指令。
進(jìn)一步地,若所述伺服器沒有執(zhí)行與所述第一動作指令對應(yīng)的動作,所述伺服器識別所述第二動作指令為所述有效指令。
若伺服器沒有執(zhí)行與第一動作指令對應(yīng)的動作,標(biāo)識伺服器沒有接收到第一動作指令,此時(shí)伺服器識別第二動作指令為有效指令。在伺服器識別第二動作指令為有效指令后,可以執(zhí)行第二動作指令對應(yīng)的動作。
上述方案,若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。由于伺服器控制系統(tǒng)中每個(gè)伺服器對應(yīng)不同的延時(shí)時(shí)間,因此伺服器根據(jù)各自對應(yīng)的延時(shí)時(shí)間向主控制器發(fā)送反饋信息,可以避免伺服器控制系統(tǒng)的總線沖突。
在伺服器接收到第二動作指令后,判斷第二動作指令是否為有效指令,若為有效指令,執(zhí)行所述第二動作指令,若不為有效指令,屏蔽第二動作指令,由于第二動作指令與第一動作指令相同的動作指令,可以使得伺服器在沒有接收到第一動作指令時(shí)再次執(zhí)行第一動作指令對應(yīng)的動作,若已經(jīng)執(zhí)行了第一動作指令,不再執(zhí)行第一動作指令對應(yīng)的動作,提高了通信的準(zhǔn)確性和實(shí)時(shí)性。
請參見圖5,圖5是本發(fā)明實(shí)施例提供的一種伺服器的示意框圖。本實(shí)施例中的伺服器所包含的各單元用于執(zhí)行圖3對應(yīng)的各步驟,具體請參閱圖3以及圖3對應(yīng)的實(shí)施例中的相關(guān)描述,此處不贅述。本實(shí)施例的伺服器500包括:
獲取單元510,用于若伺服器控制系統(tǒng)中伺服器接收到主控制器發(fā)送的第一動作指令,獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間。獲取單元510將獲取到的預(yù)設(shè)延時(shí)時(shí)間發(fā)送至信息發(fā)送單元520。
信息發(fā)送單元520用于接收獲取單元510的預(yù)設(shè)延時(shí)時(shí)間,根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。
上述方案,若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。由于伺服器控制系統(tǒng)中每個(gè)伺服器對應(yīng)不同的延時(shí)時(shí)間,因此伺服器根據(jù)各自對應(yīng)的延時(shí)時(shí)間向主控制器發(fā)送反饋信息,可以避免伺服器控制系統(tǒng)的總線沖突。
請繼續(xù)參見圖5,圖5是本發(fā)明實(shí)施例提供的另一種伺服器的示意框圖。本實(shí)施例中的伺服器所包含的各單元用于執(zhí)行圖4對應(yīng)的各步驟,具體請參閱圖4以及圖4對應(yīng)的實(shí)施例中的相關(guān)描述,此處不贅述。本實(shí)施例的伺服器500包括:
獲取單元510,用于若伺服器控制系統(tǒng)中伺服器接收到主控制器發(fā)送的第一動作指令,獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間。獲取單元510將獲取到的預(yù)設(shè)延時(shí)時(shí)間發(fā)送至信息發(fā)送單元520。
信息發(fā)送單元520用于接收獲取單元510的預(yù)設(shè)延時(shí)時(shí)間,根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。
進(jìn)一步地,所述信息發(fā)送單元520還用于所述伺服器接收第二動作指令,判斷所述第二動作指令是否為有效指令;所述第二動作指令是在所述主控制器發(fā)送第一動作指令后預(yù)設(shè)時(shí)間內(nèi)沒有接收到所述反饋信息后再次發(fā)送的與所述第一動作指令相同的動作指令。
所述信息發(fā)送單元520還用于若所述第二動作指令為所述有效指令,根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送所述反饋信息。
進(jìn)一步地,所述信息發(fā)送單元520具體用于所述伺服器接收第二動作指令,判斷所述伺服器是否正在執(zhí)行所述第一動作指令對應(yīng)的動作。
所述信息發(fā)送單元520還用于若所述伺服器正在執(zhí)行所述第一動作指令對應(yīng)的動作,識別所述第二動作指令不為所述有效指令,屏蔽所述第二動作指令。
進(jìn)一步地,所述信息發(fā)送單元520還用于若所述伺服器沒有執(zhí)行與所述第一動作指令對應(yīng)的動作,識別所述第二動作指令為所述有效指令。
上述方案,若伺服器控制系統(tǒng)中伺服器接收到主控制器通過通用串行數(shù)據(jù)總線發(fā)送的第一動作指令,所述伺服器獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;所述伺服器根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。由于伺服器控制系統(tǒng)中每個(gè)伺服器對應(yīng)不同的延時(shí)時(shí)間,因此伺服器根據(jù)各自對應(yīng)的延時(shí)時(shí)間向主控制器發(fā)送反饋信息,可以避免伺服器控制系統(tǒng)的總線沖突。
在伺服器接收到第二動作指令后,判斷第二動作指令是否為有效指令,若為有效指令,執(zhí)行所述第二動作指令,若不為有效指令,屏蔽第二動作指令,由于第二動作指令與第一動作指令相同的動作指令,可以使得伺服器在沒有接收到第一動作指令時(shí)再次執(zhí)行第一動作指令對應(yīng)的動作,若已經(jīng)執(zhí)行了第一動作指令,不再執(zhí)行第一動作指令對應(yīng)的動作,提高了通信的準(zhǔn)確性和實(shí)時(shí)性。
參見圖6,是本發(fā)明另一實(shí)施例提供的一種伺服器示意框圖。如圖6所示的本實(shí)施例中的伺服器600可以包括:一個(gè)或多個(gè)處理器610;一個(gè)或多個(gè)輸入設(shè)備620,一個(gè)或多個(gè)輸出設(shè)備630和存儲器640。上述處理器610、輸入設(shè)備620、輸出設(shè)備630和存儲器640通過總線650連接。存儲器640用于存儲指令,處理器610用于執(zhí)行存儲器620存儲的指令。
處理器610用于根據(jù)存儲器640存儲的程序指令執(zhí)行以下操作:
處理器610用于若伺服器控制系統(tǒng)中伺服器接收到主控制器發(fā)送的第一動作指令,獲取預(yù)設(shè)延時(shí)時(shí)間;其中,所述伺服器控制系統(tǒng)包括所述主控制器以及多個(gè)所述伺服器,每個(gè)伺服器對應(yīng)不同的預(yù)設(shè)延時(shí)時(shí)間;以及用于根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送反饋信息;其中,所述反饋信息用于標(biāo)識所述伺服器的工作狀態(tài)。
進(jìn)一步地,處理器610用于所述伺服器接收第二動作指令,判斷所述第二動作指令是否為有效指令;所述第二動作指令是在所述主控制器發(fā)送第一動作指令后預(yù)設(shè)時(shí)間內(nèi)沒有接收到所述反饋信息后再次發(fā)送的與所述第一動作指令相同的動作指令;以及用于若所述第二動作指令為所述有效指令,根據(jù)所述預(yù)設(shè)延時(shí)時(shí)間向所述主控制器發(fā)送所述反饋信息。
進(jìn)一步地,處理器610用于所述伺服器接收第二動作指令,判斷所述伺服器是否正在執(zhí)行所述第一動作指令對應(yīng)的動作;以及用于若所述伺服器正在執(zhí)行所述第一動作指令對應(yīng)的動作,識別所述第二動作指令不為所述有效指令,屏蔽所述第二動作指令。
進(jìn)一步地,處理器610用于若所述伺服器沒有執(zhí)行與所述第一動作指令對應(yīng)的動作,識別所述第二動作指令為所述有效指令。
應(yīng)當(dāng)理解,在本發(fā)明實(shí)施例中,所稱處理器601可以是中央處理單元(Central Processing Unit,CPU),該處理器還可以是其他通用處理器、數(shù)字信號處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現(xiàn)成可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
該存儲器640可以包括只讀存儲器和隨機(jī)存取存儲器,并向處理器610提供指令和數(shù)據(jù)。存儲器640的一部分還可以包括非易失性隨機(jī)存取存儲器。例如,存儲器640還可以存儲設(shè)備類型的信息。
具體實(shí)現(xiàn)中,本發(fā)明實(shí)施例中所描述的處理器610、輸入設(shè)備620、輸出設(shè)備630可執(zhí)行本發(fā)明實(shí)施例提供的伺服器控制系統(tǒng)的通信方法的第一實(shí)施例和第二實(shí)施例中所描述的實(shí)現(xiàn)方式,也可執(zhí)行本發(fā)明實(shí)施例所描述的伺服器的實(shí)現(xiàn)方式,在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的終端和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的終端和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機(jī)械的或其它的形式連接。
本發(fā)明實(shí)施例方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減。
本發(fā)明實(shí)施例終端中的單元可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本發(fā)明實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以是兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分,或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。