品信生殖道分泌物分析仪工控屏通信协议

品信生殖道分泌物分析仪工控屏通信协议


生殖道分泌物分析仪工控屏通信协议

<h4>生殖道分泌物分析仪工控屏通信协议</h4> <h5>1.通讯方式:UDP</h5> <p>无须建立连接,即发即用。</p> <h5>2.编码格式:UTF-8</h5> <h5>3.协议格式</h5> <table> <thead> <tr> <th>组成部分</th> <th>内容</th> <th>长度</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td>固定头</td> <td>px+#</td> <td>4</td> </tr> <tr> <td>功能码</td> <td>0000-9999</td> <td>4</td> <td>长度不足4时左边填充0</td> </tr> <tr> <td>报文</td> <td>Json格式</td> <td>Max:9999</td> </tr> <tr> <td>校验码</td> <td>功能码与报文的UTF8格式的Byte数组之和取10000的余数</td> <td>4</td> <td>长度不足4时左边填充0</td> </tr> <tr> <td>固定尾</td> <td>px-#</td> <td>4</td> </tr> </tbody> </table> <p>数据包长度 = 16(固定长度)+报文长度</p> <p>示例:<code>px+#0100{&amp;quot;FunctionID&amp;quot;:100,&amp;quot;ControlType&amp;quot;:1}0631px-#</code></p> <h5>4.应答机制与规范</h5> <ul> <li>遵从一问一答的规则,主机发起请求,从机做出回复,通信双方可互为主从。</li> <li>请求或响应报文应该继承接口IRsfRequest或者IRsfRequest&lt;T&gt;,定义如下: <pre><code class="language-csharp">public interface IRsfRequest { /// &amp;lt;summary&amp;gt; /// 功能码 0-9999 /// &amp;lt;/summary&amp;gt; int FunctionID { get; set; } } public interface IRsfRequest&amp;lt;T&amp;gt;:IRsfRequest { /// &amp;lt;summary&amp;gt; /// 请求数据 /// &amp;lt;/summary&amp;gt; T Data { get; set; } }</code></pre></li> <li> <p>请求报文 请求报文应该继承接口IRsfRequest或者IRsfRequest&lt;T&gt;,T为RsfDataPack,具体定义如下:</p> <pre><code class="language-csharp">public class RsfRequest&amp;lt;T&amp;gt;: IRsfRequest&amp;lt;T&amp;gt; { /// &amp;lt;summary&amp;gt; /// 功能码 /// &amp;lt;/summary&amp;gt; public int FunctionID { get; set; } /// &amp;lt;summary&amp;gt; /// 内容类型 请求0 响应1 /// &amp;lt;/summary&amp;gt; public int ContextType { get; set; } /// &amp;lt;summary&amp;gt; /// 数据内容 /// &amp;lt;/summary&amp;gt; public T Data { get; set; } } /// &amp;lt;summary&amp;gt; /// 请求数据包 /// &amp;lt;/summary&amp;gt; public class RsfDataPack { /// &amp;lt;summary&amp;gt; /// 连接Id /// &amp;lt;/summary&amp;gt; public string Guid { get; set; } /// &amp;lt;summary&amp;gt; /// 功能码 /// &amp;lt;/summary&amp;gt; public int FunctionID { get; set; } /// &amp;lt;summary&amp;gt; /// 200:执行成功 其它:见各接口定义 /// &amp;lt;/summary&amp;gt; public int Code { get; set; } /// &amp;lt;summary&amp;gt; /// 消息 /// &amp;lt;/summary&amp;gt; public string Message { get; set; } /// &amp;lt;summary&amp;gt; /// json数据 /// &amp;lt;/summary&amp;gt; public string Json { get; set; } }</code></pre> </li> <li> <p>应答报文 同上,ContextType=1 </p> </li> <li>请求与应答示例 请求:<code>px+#0100{&amp;quot;FunctionID&amp;quot;:100,&amp;quot;ControlType&amp;quot;:1}0631px-#</code> 应答:<code>px+#0100{&amp;quot;Code&amp;quot;:200,&amp;quot;Message:&amp;quot;执行成功&amp;quot;}0836px-#</code></li> </ul> <h5>5.通讯功能定义</h5> <p>定义规范:相关定义名称使用Rs开头,如:RsfControl</p>

页面列表

ITEM_HTML