组件技术一直都想用一下,但是无奈技术门槛太高,为了项目进度需要不得不退而求其次,使用那些自己有把握的技术,大好青春浪费在了重复劳动之中。拜今年经济危机所赐,项目一下子少了许多,于是萌生了深入学习ATL的念头。
众所周知,COM和ATL早已是昨日黄花,但是余威尚在,在工控领域和大多数商业软件都可以看到它们的身影,可以说是Windows平台编程技术的No1。
工控领域大量用到串口设备,如485的模拟量变送器,232的称重平台..,如果项目中需要用到这些设备,则必须撰写串口通讯程序,然后和接线进行测试。有时候因为设备在现场,还必须提着电脑或控制器到现场去连线,在外地的时候更是苦不堪言。今年年初我得到一块1拖4的USB转232的通讯模块,5,6月就有了编写虚拟设备的想法。
串口设备的工作原理相对简单:有的是接到Client发来的字符串,返回数据;有的是以固定周期(如50ms)向Client发送数据。
如果用电脑程序仿真串口设备的工作,指挥串口响应工作。PLC或者电脑永远也不可能知道串口线的另一端连接的到底是什么。
于是我确定下来先做电子秤的串口仿真程序,因为这个东西在我的项目中用的最多。
至于选用的编程语言,其实什么都可以。但是我决定用ATL折腾一下。
因为这是我的第一个COM项目,所以计划分2步走
1.撰写组件,可以用在MFC或者VB中
2.撰写ActiveX组件,可以用在组态软件中,如组态王,Intouch...具体哪个可以嵌入,到时候再说。