我們已經有一個較舊的VB .NET(Visual Studio 2013社區版)代碼片段,當前與一個PLC通過UDP進行通信,其中一些很基本數據傳輸。OPC UA客戶端 - BadCertificateHostNameInvalid - opcfoundation.org
現在我們需要PLC和PC之間更緊密的耦合(PC必須能夠設置一堆參數,而Labview程序可能需要直接訪問PLC),所以我們的PLC供應商(B & R )表示,OPC UA是要走的路。
這似乎相似,這裏提出的問題:
OPC-UA client SDK for C#.NET application development
在介紹性研討會,OPC UA,我們得到了編制的OPC UA客戶端的版本,如果我火了一個PLC模擬器中,客戶端可以連接到PLC模擬器。當然,它要求提供一個名稱和一個密碼,但彈出式窗口會顯示我說要嘗試連接,我得到一個UA示例客戶端的彈出窗口,其中顯示「證書無法驗證:BadCertificateUntrusted」
好的,我沒有證書。點擊後,客戶端繼續向前,並顯示一個由PLC代碼暴露給OPC UA的所有元素的樹。一切都很好。
現在,如果我從opcfoundation.org網站下載完整代碼,則在確認我沒有有效證書後,可以編譯代碼但是,在確認我沒有有效證書後,窗口彈出,上面寫着:
異常(ServiceResultException) BadCertificateHostNameInvalid 服務結果(BadCertificateHostNameInvalid)
這些都是OPC UA 1.02,BTW。
是否有其他地方需要配置?我注意到有幾個XML文件(Opc.Ua.SampleClient.Config.xml和Opc.Ua.SampleClient.Endpoints.xml),我想知道他們是否需要修改以擺脫此停止。
我確實記得,如果你自動地允許它是OK(當然),那麼某些東西就不符合OPC UA標準,所以你不能只是自動地發生這種情況,但這對我來說沒問題。
使用OPC UA代碼的缺點是它有點深(如用戶Brino在原始的StackOverflow文章中指出的那樣),並且它需要您自己的代碼在GPL下發布,所以Unified-Automation看起來很誘人,因爲我們可能不想發佈我們的源代碼。
對這個問題有什麼想法?