采用VSPD、ModbusTool模拟串口、MODBUS TCP设备进行Python采集软件开发,,版权声明:本文为博主
采用VSPD、ModbusTool模拟串口、MODBUS TCP设备进行Python采集软件开发,,版权声明:本文为博主
版权声明:本文为博主原创文章,欢迎转载,并请注明出处。联系方式:[email protected]
不少仪器/设备都提供了数据采集的接口,其中不少是串口或网络的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 [email protected]‘import binasciiimport signalimport sysimport serialser = 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采集软件开发
相关内容
- 出现问题:Command "python setup.py egg_info" f
- 分享《Keras快速上手:基于Python的深度学习实战(谢梁等
- python3----练习题(爬取电影天堂资源),, 1 import
- python报错ImportError: [joblib] Attempting to do parallel computing
- Python初学者第九天 字符串、列表、字典练习,python第九
- 1、Python环境安装部署,,一、环境准备1、下载
- python批量启动关闭程序,,#!/usr/bin
- Python Deque 模块,,Deque模块是Py
- Python学习之路——Linux基础之yum,pythonyum,yum本地源修改
- Pycharm+Django搭建第一个Python Web程序,,1.安装django
评论关闭