如题,大侠帮帮忙啊!
解决方案 »
- 求解一个函数的返回值作为另一个函数的输入值,如何写
- 求开源网站网址,Delphi的,老外的也可
- 关于数据库的连接问题,告急,在线等
- SELECT语句返回的结果,为何不可以编辑,删除呢?
- 请问怎样在delph中实现用xsd对xml的内容进行校验
- 关于屏幕保护程序中键盘和鼠标的响应
- 关于DBGRID显示的问题; 错误信息为List Index out of bound(1) ; 程序在GotoBookmark(pointer(DBGrid1.SelectedRows.Items[1]))处停住!!
- 如何在指定数字里随机取数?
- 一个字符串的问题
- zip格式的问题和zipTv
- delphi 这个#$C2#$18#$00计算出来整数是多少
- 为啥同一段代码 Delphi比VB慢很多
粗粗说下吧
1、每种通信协议包装成一个类,打包拆包函数全部是类函数,只有方法函数,没有属性及数据字段
2、一个串口一个类,引用通信组件,再增加自己的特殊功能(这个类按设计模式来说是单例模式,只能有一个实例)
3、每种设备弄个虚拟设备类,再做个对象管理器,专门管理这些设备(在我的系统中,一些控制装置还是共用的,这样就只有一个物理设备,但是也根据需要创建多个虚拟设备,用于保存状态)
4、采集数据用线程,一些向下控制的量如果要分时步进的,也开个线程。线程同步为了简单,全部用事件。
5、再就是界面了,界面啊蛋疼的地方。首先,界面和功能要分离,这虽然会增加不少工作量,但是你绝对不会后悔的。另外,因为涉及到界面逻辑关系,工控上的逻辑,一多就复杂,所以基本是用消息来控制(同个界面中,为了清晰,有些也自己给自己发消息)。
哈哈
to learnvolcanol