代码拉取完成,页面将自动刷新
同步操作将从 ydl/iec104 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
该项目基于Netty实现的底层网络通信,支持从站服务端、主站客户端的模式, 可以通过Master采集数据,
也可以通过Slave模拟终端。该项目已经支持: S帧、U帧、总召唤指令、沾包拆包等功能,由于104协议部分内容
存在可扩展性,因此本项目只完成通讯部分以及协议的解码和转码部分。在实际使用过程中需要按照硬件厂商提供
的点表再将消息部分装换成可识别的业务对象。
// 创建一个配置文件
Iec104Config iec104Config = new Iec104Config();
// 指定收到多少帧就回复一个S帧
iec104Config.setFrameAmountMax((short) 1);
// 终端地址需要和从站保持一致
iec104Config.setTerminnalAddress((short) 1);
Iec104MasterFactory.createTcpClientMaster("127.0.0.1", 2404).setDataHandler(new SysDataHandler()).setConfig(iec104Config).run();
// 创建一个配置文件
Iec104Config iec104Config = new Iec104Config();
// 指定收到多少帧就回复一个S帧
iec104Config.setFrameAmountMax((short) 1);
// 终端地址
iec104Config.setTerminnalAddress((short) 1);
Iec104SlaveFactory.createTcpServerSlave(2404).setDataHandler(new SysDataHandler()).setConfig(iec104Config).run();
public class SysDataHandler implements DataHandler {
@Override
public void handlerAdded(ChannelHandler ctx) throws Exception {
// 连接成功后
}
@Override
public void channelRead(ChannelHandler ctx, MessageDetail ruleDetail104) throws Exception {
// 收到消息后
// 注意 往ctx.writeAndFlush中存放的应该是自己封装的 MessageDetail对象
ctx.writeAndFlush(BasicInstruction104.getEndGeneralCallRuleDetail104());
}
项目相关的技术问题、缺陷报告、建议等信息请通过 Issue 发布
感谢mujave提供的iec项目 https://github.com/mujave/iec
MIT © Richard Littauer
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。