在用 plc4x+java 做 pc 读写 plc 的项目,需要读写 bool,word 和 real 三种类型。读测试过了都行,写 bool 也行,就是 word 和 real 一写入就 no such method exception 。翻源码处理输入的方法里发现是用了反射,把一个数组 castedValues 传给了构造器,但是 plcValue 就没有接受数组的构造器。
fieldType.getDeclaredConstructor(valueType).newInstance(castedValues);
fieldType 是 plcValue 的子类,plcFloat 类构造器可以接受 Float 或 float,但是没有 Float[],所以每次都在这里报 no such method
文档没写,搜过发现没人问这个,看 plc4x 的 issues 页面甚至发现没有测试写的功能。到这我就不知道怎么办了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/735611
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.