2016-08-15 16 views
1

當運行BACnet ProxyMasterDriver代理商,我收到以下錯誤信息:VOLTTRON:中止設備通信:segmentationNotSupported

master_driver.driver ERROR: Failed to scrape Device Name: RuntimeError('Device communication aborted: segmentationNotSupported')

誰能幫我解決這個問題?

+0

你能提供一些代碼嗎? –

回答

1

BACnet對消息的大小有限制。消息大小根據BACnet規範有幾個不同的有效值。如果設備想要發送超過任一設備支持的大小的消息,則可以將該消息分割成更小的塊。兩種設備都必須支持細分才能正常工作,否則會出現您所看到的錯誤。

此錯誤的原因是設備被抓取不支持分段,並且驅動程序一次性抓取的點數(默認情況下,所有這些)創建的消息太大,無法避免分段發送或接收。

BACnet驅動程序當前支持手動分割以克服此設備限制,但不會減少驅動程序中配置的點數。您可以在BACnet設備配置的driver_config部分中設置max_per_request設置。該設置是針對每個設備的,因此您必須在每個受影響的設備中包含max_per_request。典型值爲20.如果錯誤仍然存​​在,請嘗試較低的值。

BACnet驅動程序計劃的未來增強功能是自動檢測此情況並自動設置理想的max_per_request值。

編輯

我應該還提到,在VOLTTRON 3.0後,加入max_per_request說法。您需要運行3.5RC1或開發分支。

+0

嘿凱爾。非常感謝你的解釋。我將max_per_request值減小到1,但錯誤沒有消除。 – Sen

+0

您正在運行多少個BACnet驅動程序?它需要針對每個受影響的設備進行配置。我會編輯我的回覆以明確說明。你可以添加一個你的配置文件到你的問題,所以我們可以確保你做的是正確的。 –

+0

另外,您正在使用哪個版本的VOLTTRON?我不認爲這個功能是在3.0穩定版本。 –