1

Visual Studio 2012 で OPC Foundation .NET API を使用しています。接続しようとすると、次のエラーが発生します。

タイプ「OpcCom.Factory」のオブジェクトをタイプ「Opc.IFactory」にキャストできません

...new Opc.Da.Server(このコードの命令で:

private void button1_Click(object sender, EventArgs e)
{
    Opc.Da.Server plcServer = null;

    string serverUrl = "opcda://localhost/RSLinx OPC Server";

    plcServer = new Opc.Da.Server(new OpcCom.Factory(), new Opc.URL(serverUrl));
    plcServer.Connect();
}
4

2 に答える 2

0

問題は私が使用している rslinx のバージョンでした。rslinx は opc .net api バージョン 1.3 をインストールし (私はこれを知りませんでした)、opc .net api 2.0 をインストールして opc クライアントを作成しました。参照 dll の 2 つのバージョンがあることに気づきませんでした。リストで最初に見たものだけを選びました。

最後に、OpcNetApi.dll 2.0 と OpcNetApi.Com.dll 1.3 を使用していました。そして、それがそのエラーをスローしていた理由です。

于 2013-08-15T22:02:46.643 に答える
0

Opc.Da.Serverのインターフェイスが を予期しているため、このエラーがスローされますが、Opc.IFactoryから返されたものOpcCom.Factory()はそのインターフェイスを実装していません。

于 2013-08-14T16:17:02.697 に答える