欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

在Java环境中使用OpenSCADA的utgard子项目连接OPCserver,openscadautgard,http://hi.ba

来源: javaer 分享于  点击 38807 次 点评:75

在Java环境中使用OpenSCADA的utgard子项目连接OPCserver,openscadautgard,http://hi.ba


http://hi.baidu.com/bluedream348/item/048d382c6c7d1b9ab632637b

直接上代码:运行需要五个jar包:

分别是:j-Interop三个,

utgrad两个,slf4j两个。

中间注释的部分采用监听模式。

package com.casit;import java.net.UnknownHostException;import java.util.concurrent.Executors;import org.jinterop.dcom.common.JIException;import org.jinterop.dcom.common.JISystem;import org.jinterop.dcom.core.JIVariant;import org.openscada.opc.lib.common.ConnectionInformation;import org.openscada.opc.lib.common.NotConnectedException;import org.openscada.opc.lib.da.AddFailedException;import org.openscada.opc.lib.da.AutoReconnectController;import org.openscada.opc.lib.da.DuplicateGroupException;import org.openscada.opc.lib.da.Group;import org.openscada.opc.lib.da.Item;import org.openscada.opc.lib.da.Server;public class SCADA { public static void main(String[] args){  AutoReconnectController autos = null;  try {   JISystem.setAutoRegisteration(true);   ConnectionInformation ci = new ConnectionInformation();   ci.setHost("localhost");   ci.setDomain("localhost");   ci.setClsid("6E6170F0-FF2D-11D2-8087-00105AA8F840");   ci.setUser("Administrator");   ci.setPassword("123");   final Server s = new Server(ci,Executors.newSingleThreadScheduledExecutor());         autos = new AutoReconnectController(s);   autos.connect();Thread.sleep(100);//   dumpTree(s.getTreeBrowser().browse(),0);   Group group = s.addGroup("test");            group.setActive(true);            final Item item = group.addItem("Channel1.Device1.D0");            item.setActive(true);            Thread.sleep(100);            System.out.println("读取值:"+item.read(false).getValue().getObjectAsUnsigned().getValue());            JIVariant value = JIVariant.makeVariant(new Integer(777));   item.write(value);//   final AccessBase access = new Async20Access(s,100,false);//            access.addItem ( "sim.test.D0", new DataCallbackDumper());//            access.bind ();//            Thread.sleep(100*1000);//            access.unbind();  } catch (IllegalArgumentException e) {   e.printStackTrace();  } catch (UnknownHostException e) {      e.printStackTrace();  } catch (JIException e) {     e.printStackTrace();  } catch (NotConnectedException e) {     e.printStackTrace();  } catch (DuplicateGroupException e) {                e.printStackTrace();  } catch (AddFailedException e) {   e.printStackTrace();  } catch (InterruptedException e) {   e.printStackTrace();  }finally{   autos.disconnect();  }   }}//该片段来自于http://byrx.net
相关栏目:

用户点评