Java 如何对象OPC协议接口
Java可以使用OPC Java SDK来实现对象OPC协议接口。
-
下载安装OPC Java SDK,并将其添加到Java项目中的Classpath中。
-
创建一个OPC Server连接对象。可以使用OPC Java SDK提供的OpcServerFactory类来创建连接对象。
import org.jinterop.dcom.common.JIException;
import org.jinterop.dcom.core.JIVariant;
import org.openscada.opc.lib.common.ConnectionInformation;
import org.openscada.opc.lib.da.AccessBase;
import org.openscada.opc.lib.da.AccessBaseListener;
import org.openscada.opc.lib.da.Item;
import org.openscada.opc.lib.da.ItemState;
import org.openscada.opc.lib.da.Server;
public class OPCClient {
private static final String HOST = "localhost";
private static final String DOMAIN = "";
private static final String USER = "";
private static final String PASSWORD = "";
private static final String PROGID = "OPC.SimaticNET";
private Server server = null;
private AccessBase access = null;
private Item item = null;
public void connect() throws Exception {
ConnectionInformation ci = new ConnectionInformation();
ci.setHost(HOST);
ci.setDomain(DOMAIN);
ci.setUser(USER);
ci.setPassword(PASSWORD);
ci.setProgId(PROGID);
server = new Server(ci, null);
server.connect();
access = new SyncAccess(server, 1000);
access.addItem("Random.Real8", new DataCallback() {
public void changed(Item item, ItemState state) {
System.out.println(state.getValue().getObjectAsDouble());
}
});
access.bind();
}
public void disconnect() throws Exception {
access.unbind();
server.disconnect();
}
}
- 创建一个OPC Client对象,使用connect()方法连接到OPC Server。
OPCClient client = new OPCClient();
client.connect();
- 通过OPC Client对象,可以读取、写入OPC Server中的数据项。
ItemState itemState = access.read(item).get(0);
System.out.println(itemState.getValue().getObjectAsDouble());
access.write(item, new JIVariant(123.45));
- 使用disconnect()方法断开OPC Server连接。
client.disconnect();
需要注意的是,OPC Java SDK需要在Windows操作系统中运行,因为它使用了Java-Interop库来与Windows系统进行通信
原文地址: https://www.cveoy.top/t/topic/fWQT 著作权归作者所有。请勿转载和采集!