作者: 刘洪峰 主要简历: 网名叶帆,06/07年两届微软MVP获得者,从事软件开发已有十余年的历史,从最初的DOS平台下的Basic、C、foxbase,到现在的Windows平台下的VB、VC、C#,顺着微软技术为主的技术路线一路走来,上规模的大型程序(上千行过万行的代码)不少,小程序更是多如繁星;以前主要用C/VB/VC开发程序,现在主要用VS2005(C#)/EVC/Python开发嵌入式系统和上位机监控系统。 其它技能:对PLC编程(主要为西门子、AB、欧姆龙、三菱系列PLC)、现场总线、数据通信、OPC Server/Client开发等相关技术有5年多的工控经验。 主要作品:API浏览器、VB源码之友、PPI控件、Modbus控件、CP243控件、叶帆密码箱、正则表达式工具等等; 主要项目:二型计量监控系统、焦炉四大机车自动化系统、烧结配水监控系统、隧道广告影像系统、通用组态软件、嵌入式系统组态、LED视频影像系统、ICU病室输液管理等等; [叶帆工作室]:http://blog.csdn.net/yefanqiu
作者: 刘洪峰
主要简历:
网名叶帆,06/07年两届微软MVP获得者,从事软件开发已有十余年的历史,从最初的DOS平台下的Basic、C、foxbase,到现在的Windows平台下的VB、VC、C#,顺着微软技术为主的技术路线一路走来,上规模的大型程序(上千行过万行的代码)不少,小程序更是多如繁星;以前主要用C/VB/VC开发程序,现在主要用VS2005(C#)/EVC/Python开发嵌入式系统和上位机监控系统。 其它技能:对PLC编程(主要为西门子、AB、欧姆龙、三菱系列PLC)、现场总线、数据通信、OPC Server/Client开发等相关技术有5年多的工控经验。 主要作品:API浏览器、VB源码之友、PPI控件、Modbus控件、CP243控件、叶帆密码箱、正则表达式工具等等; 主要项目:二型计量监控系统、焦炉四大机车自动化系统、烧结配水监控系统、隧道广告影像系统、通用组态软件、嵌入式系统组态、LED视频影像系统、ICU病室输液管理等等; [叶帆工作室]:http://blog.csdn.net/yefanqiu
上一篇: .Net Micro Framework研究—IO读写
http://blog.csdn.net/yefanqiu/archive/2007/10/28/1851355.aspx
试验平台:Digi MF开发板
Digi提供的示例中包含了串口的示例程序,主要代码如下:
部署运行后,你可以用超级终端进行测试,测试图如下:
(图MF10280001.JPG)
注意:如果串口程序非正常退出,有可能导致开发板无法发送数据(接收倒是正常),重启开发板即可。
用测试程序还是体现不出.Net Micro Framework的优势,我决定用MF实现Modbus Rtu Slave服务端(支持Modbus Rtu 3号命令),并且地址为0的数据存放了GPIO入的信息,这样在上位机就很方面的检测IO信号了。
用了大约15分钟,就把我以前用C++开发的Modbus Rtu Slave程序移植到MF平台上来的,我想如果用单片来开发,虽然也有可能借用以前的代码,但很方便的把IO信号也非常快捷的集成进来,恐怕不容易。
值得一提的是VS2005 的调试功能非常强大,很容易添加断点及监控当前变量的值,同时用debug.print()命令也非常好使,这样调试程序绝对比调试单片舒服。
下面贴出我写的Modbus RtuSlave代码
程序部署运行后,直接用标准的Modbus Rtu客户端程序测试即可,我用的是我以前编写的Modbus Rtu Client程序,测试如下:
(图MF10280002.JPG)
这时候,你直接操作SW2的拨码,该数字就会发生变化(前提SW1的拨码都拨到右边)。
缺点:很奇怪的是串口的参数仅能配置波特率,奇偶校验,数据位却无法配置。
总的印象:用MF开发嵌入式系统还是非常有前景的,至少使产品的开发周期大大缩短,并且代码升级维护方便。
下一篇:.Net Micro Framework研究—TCP/IP通信
http://blog.csdn.net/yefanqiu/archive/2007/10/30/1855762.aspx