版权声明:本文为博主原创文章,欢迎转载,并请注明出处。联系方式:460356155@qq.com

不少仪器/设备都提供了数据采集的接口,其中不少是串口或网络的MODBUS/TCP协议。

串口是比较简单,但是较为古老的接口方式,现在的笔记本基本上都没有这种形式的接口了,如果软件开发在笔记本上进行的话,无法调试,或要绕一下用USB转串口的小设备,很不方便。

还好有前辈开发了虚拟串口软件,可以很方便的用于串口通讯的软件开发,我用的是VSPD(网盘)。用虚拟串口软件开发有几方面的好处:

1、电脑/笔记本没有串口也能正常进行开发。
2、通信/采集软件开发过程中不影响设备的正常使用。
3、软件开发过程中可以剔除硬件故障的影响。
4、如果软件、硬件一起开发的话,可并行进行,无需等待硬件完成后才能进行软件调试。

VSPD的安装及基本使用方法:
1、执行vspd.exe进行软件安装
2、运行vspdconfig.exe
3、选择端口名称对,点击添加端口。每次添加2个端口,一发送的二接收,二发送的一接收。

用一个端口模拟电脑串口,另一个端口模拟其他设备端口,根据两者的通信协议进行程序编写。

下面是编写的模拟FIBERPRO偏振消光比测试仪ER2200的Python程序:

# -*- coding:utf-8 -*-

u"""FIBERPRO偏振消光比测试仪ER2200模拟程序"""

__author__ = 'zhengbiqing 460356155@qq.com'

import binascii
import signal
import sys import serial ser = serial.Serial('COM4', 115200, timeout=1) print 'Welcome to ', __doc__, ',', 'device is %s' % ('Ready' if ser.isOpen() else 'Error')
print 'Author is ', __author__ # ctrl+c处理函数
def signal_handler(signal, frame):
ser.close()
print 'You pressed Ctrl+C! ', 'device is %s' % ('Closed' if not ser.isOpen() else 'Error')
print 'Goodbye!'
sys.exit(0) # 程序是死循环,通过ctrl+c退出,为了在退出时关闭串口,捕获该信号
signal.signal(signal.SIGINT, signal_handler) while True:
data = ser.read(7)
if len(data):
# 调试打印,b2a_hex(data)是把字符串data转换为十六进制数
print binascii.b2a_hex(data), data if data == 'read?\r\n':
#三个数字分别表示被测光的消光比,偏振角度,和光功率
ser.write('19.35,53.47,-5.17\r')

对采用网口的MODBUS TCP协议的设备,开发数据采集软件也可以用模拟软件替代实际设备,完成后再把软件用到实际设备上。

我用得是ModbusTool(网盘),包括master和slave,分别模拟主设备和从设备。

ModbusTool的安装和基本使用方法:
1、分别执行setup.exe安装。
2、对master,填写好希望连接设备的ip、port,点击connnet连接设备,填写start起始地址,size读写的长度,点击Functions的功能码就行了。
3、对slave,填写侦听的端口号port,点击listen等待master连接(侦听接口为127.0.0.1),可以在地址中输入数字后点Apply进行地址数据设置。

采用VSPD、ModbusTool模拟串口、MODBUS TCP设备进行Python采集软件开发的更多相关文章

  1. 用virtualbox+模拟串口+CDT调试linux内核 TCP/IP协议栈-起步

    经常有人问一台机器如何将hello经网络发送给另一台机器,我确实是不知道,只能看代码了. 说明:本人对内核的研究学习也是刚刚起步,有很多不了解的,所以文中可能会有一些"一本正经的胡扯&quo ...

  2. Socket编程之聊天程序 - 模拟Fins/ModBus协议通信过程

    设备控制软件编程涉及到的基本通信方式主要有TCP/IP与串口,用到的数据通信协议有Fins与ModBus. 更高级别的通信如.net中的Remoting与WCF在进行C/S架构软件开发时会采用. 本篇 ...

  3. Modbus tcp 格式说明 通讯机制 附C#测试工具用于学习,测试

    前言: 之前的博客介绍了如何用C#来读写modbus tcp服务器的数据,文章:http://www.cnblogs.com/dathlin/p/7885368.html 当然也有如何创建一个服务器文 ...

  4. Modbus RTU通信协议详解以及与Modbus TCP通信协议之间的区别和联系

    Modbus通信协议由Modicon公司(现已经为施耐德公司并购,成为其旗下的子品牌)于1979年发明的,是全球最早用于工业现场的总线规约.由于其免费公开发行,使用该协议的厂家无需缴纳任何费用,Mod ...

  5. 【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信

    前言:随着工业化的发展,目前越来越多的开发,从互联网走向传统行业.其中,工业领域也是其中之一,包括各大厂也都在陆陆续续加入工业4.0的进程当中. 工业领域,最核心的基础设施,应该是与下位硬件设备或程序 ...

  6. 开放型Modbus/TCP 规范

    修订版 1.0,1999 年3 月29 日Andy SwalesSchneider 电气公司aswales@modicon.com目录目录............................... ...

  7. modbus tcp 入门详解

    Modbus tcp 格式说明 通讯机制 附C#测试工具用于学习,测试   前言: 之前的博客介绍了如何用C#来读写modbus tcp服务器的数据,文章:http://www.cnblogs.com ...

  8. Modbus TCP和Modbus Rtu协议的区别 转

    http://blog.csdn.net/educast/article/details/9177679   Modbus rtu和Modbus tcp两个协议的本质都是MODBUS协议,都是靠MOD ...

  9. MODBUS TCP和MODBUS RTU的差别

    TCP和RTU协议非常类似, MBAP Header长度共7个字节,分别为Transaction identifier(事务标识符),Protocol identifier(协议标识符),Length ...

随机推荐

  1. 【开源】Netty轻松实现聊天室,附带数据记录,聊天历史

    阅读本文约“2.5分钟” 听说快七夕······ 不对,这不是今天的主题,嘿嘿. 今天说说一个小的网页聊天室,功能如下 群聊无限制 记录用户群聊信息 下次登录显示聊天历史 消息发送速度(光速) 聊天历 ...

  2. Maven(九)Eclipse创建Web项目(简单方式)

    1. 创建Maven项目(以简单方式) 2. 勾选WAR 3. 选择properties->projectFacts 此处的错误可忽略,配置好会会消失,主要缺失web.xml文件 4. 将框中选 ...

  3. react create-react-app 跨域

    "proxy":"http://youAddr.com" 直接到根目录package.json里增加上面这行就行了,改成自己需要的地址.

  4. vue2.5.2版本 :MAC设置应用在127.0.0.1:80端口访问; 并将127.0.0.1指向www.yours.com ;问题“ Invalid Host header”

    0.设置自己的host文件,将127.0.0.1指向自己想要访问的域名 127.0.0.1 www.yours.com 1.MAC设置应用在127.0.0.1:80端口访问: config/index ...

  5. Dynamics 365 POA表记录的查询

    微软动态CRM专家罗勇 ,回复313或者20190311可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . PrincipalO ...

  6. 免费开源ERP-成功案例分析(2)

    Odoo用户案例 Odoo用户概要 关于Odoo全球的用户,我们来看一些数据: Odoo目前全球有300万使用者 Odoo系统上每天新创建的数据库超过1000个 Odoo和Word.Excel.Pow ...

  7. 前端js面向对象编程以及封装组件的思想

    demo-richbase 用来演示怎么使用richbase来制作组件的例子 作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力 ...

  8. Git在商业项目中的使用流程

    一 引言 这一篇文章还是记录我在杭州工作的总结. 我刚来公司的时候,对Git的使用很头痛,因为在学校里面很少用这个东西,即使用,一般也只有一个分支,不会出现代码冲突和代码合并的情况.但是公司里面一个项 ...

  9. 01-vue学习之前的准备

    一.具备的基础知识 1.扎实的HTML/CSS/Javascript基本功,这是前置条件. 2.不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法.不 ...

  10. [20190416]11g下那些latch是Exclusive的.txt

    [20190416]11g下那些latch是Exclusive的.txt --//昨天测试了11g下那些latch是共享的,链接:--//是否反过来剩下的都是Exclusive的.继续测试: 1.环境 ...