串口通讯程序的一些思考

对样本信息进行手工添加

接口打开时,应该限制不能打开设置界面,需要停止接口才能改设置的东西。

启动时给启动画面提示,启动结束自动关闭

宣传资料设计

双向通讯的限制

[读取文件结果]读取结果文件后如何记录已经读取过的文件不再读取!

如果一个解析模板没有指定TestCode(Channel),就用生成结果的顺序号“i”来当作结果进行存储,后续可以使用结果处理做通道号转换做对应关系。

结果二次处理:内容应包括
        1.小数点位置的设置
        2.是否去掉样本号和结果前面的0
        3.数据帧序号和项目通道号的对应设置
        4.
日志管理:需要设置显示列和是否将指定类型的log信息记录到数据库,过滤条件,需要增加类型过滤

*****************************************************************************宣传网站

结果去前面的0

程序打包

order信息查看,重新发送Order信息给仪器(Batch)(使用说明中加上这一段)

显示此LDCI支持的仪器列表,以及支持的仪器数量,有效日期(对试用版才显示)

增值服务

通讯记录的外化,Log分类记录(存储到文本或者html),每天一个文件作为记录,导出功能

字符转换(显示)

服务器端与客户端的通信,限制仪器数量.

图形,酶免,微生物等的支持.

质控

***************************************************************************************
(对此记录应定期进行清除,默认记录7天)
对日志进行分类:

    程序级
        1.程序的启动与停止
        2.错误信息

    仪器级
        1.接口的启动与停止
        2.错误信息
        3.通讯记录

过滤条件:
    1.(空):程序级
    2.deviceID:仪器级

内容分类:
    等级(0~5)
    0:灰色,尚未分类的错误,无法估算其出现的后果。
    1:红色,严重错误。发生后程序无法运行。
    2:橙色,错误,发生后与仪器的通讯可能中断,接口状态可能无法回到Idle,无法正常接收和发送信息。
    3:黄色,严重警告,发生后部分样本或结果信息无法正常解析,存储或上传,可能会丢失部分结果。
    4:浅黄,警告,程序中已经对此错误的可能性进行了预测,并进行补救,但仍可能会带来部分未知的后果。
    5:绿色,通讯记录,程序和各仪器接口的启动停止记录。物理层,协议层,数据链路层接收到的数据,为调试时参考的内容,可能会轻微影响程序的工作效率。
      可通过配置停止记录此类信息,对程序运行没有影响。

数据库字段设计:

仪器ID:(如果仪器ID为空,则是程序级的日志记录)
级别:0~5
时间:自动生成
类名:
方法名:
信息:
描述:自己对此错误的解释,可能发生的情况,补救的办法,影响的范围及严重性。

    Log.WriteLogToDB(deviceID, 5, "通讯", System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.Namespace + "." + System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name, "", "");

----------------------------------------------------------------------------------------

传对象的线程    (            
        // 创建执行任务的线程,并执行
                Thread t = new Thread(new ThreadStart(this.IsPOpenedThread));
                t.Start();
        )


//===================================================================================================
针对自定义解析字符串的思考:

1.ASTM协议:逐帧解析.用字符串分隔,截取.
2.普通单帧协议:一般以[STX]开始,[ETX]结束,用字符串分割,或截取固定长度.(一般使用尿仪)
2.普通多帧协议:一般以[ENQ]开始,[EOT]结束,每帧使用[STX]开始,[ETX]结束,用字符串分割,或截取固定长度.
3.多帧协议:[STX]开始[ETX]结束,通道号,结果需要指定不同的字符串截取,通讯数据中不包含通道号,结果小数位需要外部指定.



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 318
发表评论
你没有权限发表评论!