一直以来不管是camstar或者后来的opcenter 都没有官方前端的JS库,大家的开发都是后端写API然后前端调用来实现功能开发的,因此在工作之余用typescript写了一个纯前端的库来使用,当前代码基本实现了调用camstarapi的的功能,只支持8版本,8以下版本请通过消息转发实现
代码库:307209239/OpcXmlClient (github.com)
编译好的JS库:OpcXmlClient/OpcClient.js at master · 307209239/OpcXmlClient (github.com)
html使用方式(API的使用参考官方的.net API 文档):
<!doctype html><html><head><meta charset="utf-8"/><title>Webpack App</title><script defer="defer" src="OpcClient.js"></script></head><body><h1>Hello world!</h1><h2>Tip: Check your console</h2><button onclick="ok()">click</button><script>//使用示例 var exports = { "__esModule": true }; function ok() { console.info('start') var com = new exports.OpcClient.OpcHelper("192.168.18.129", 443, "camstaradmin", "abc123..", "FactoryMaint"); var objectChanges = com.ChangesNDO("F1"); objectChanges.DataField("Description").SetValue("123"); objectChanges.NamedObjectField("AAA").SetRef("CC") objectChanges.ObjectList("BB") objectChanges var re = com.ExecuteResult().then(function (data) { if (data[0]) console.info(data[1]) else console.error(data[1]) }); console.info(re.Message); var s=new XMLSerializer().serializeToString(com.Session.Document.RequestDocument) console.info( s) if(com.Session.Document.ResponseDocument!=null) console.info( new XMLSerializer().serializeToString(com.Session.Document.ResponseDocument)) console.info('end') }</script></body></html>
代码还在不断完善中。。。有兴趣的朋友来一起完成这个库