我们知道,任何协议的链接都有开始的过程,在IEC104中,我们叫他初始化.从iec104的协议文本中,我们知道初始化可以一般有主站的"复位"命令报文来启动,然后终端必须用"确认复位命令"报文来相应.过程如下图:
我们看到启动链路中,startdt等于1
如果STARTDT=1,那么本字节的值就应该是0x07,加上启动字符68,就应该是68 04 07 00 00 00,具体04就是长度就是 从07开始,后面一共四个字节,这样我们接收端也就知道本帧报文到哪里截止,这样复位链路就完成了.
综上所述,在开始的时候我们需要发送这个报文到终端.实现方法如下:
在窗体上设计一个按钮,名称复位链路,实现过程调用tcp104.ResetLink();
ResetLink函数如下:
复位链路
#region 发送重新启动链路 ResetLink
public int ResetLink