python作为服务端使用udp发送数据,labview作为客户端接收数据。

服务端程序

import signal
import threading
import sysimport socket# 创建Socket,SOCK_DGRAM指定了这个Socket的类型是UDP
s_pattern = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s_fatigue = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口:
s_pattern.bind(('127.0.0.1', 61556))
s_fatigue.bind(('127.0.0.1', 61555))
# 设置接收超时,此时间应大于服务端完成一次采样的时间
s_pattern.settimeout(1)
s_fatigue.settimeout(1)
print('Bind UDP on 61556...')# 定义按下Ctrl+C时退出的处理
def client_exit(num, frame):print("退出数据收集")s_pattern.close()    # 关闭Sockets_fatigue.close()sys.exit(0)signal.signal(signal.SIGINT, client_exit)    # 对于KeyboardInterrupt的handlder处理
exit = threading.Event()    # 创建一个eventwhile not exit.is_set():    # 当exit事件没有set时,循环运行s_pattern.sendto(b'3',('127.0.0.1', 61557))    # 向服务端发送模式数据s_fatigue.sendto(b'0.5',('127.0.0.1', 61558))    # 向服务端发送疲劳数据

在绑定端口时,是绑定本机的ipv4地址和端口,如果报错的话可以检查端口是否占用和增大接收超时数值。如果是同一个局域网下两个不同的机器之间进行通信,需要将bind绑定的ip地址改为本机的ip,sendto的地址改为接受电脑的ip地址。

接收端程序

labview接收程序是仿照simpleUDP官方示例修改的,程序框图如下:

在python发送数据中绑定了客户端ip地址,就不需要在labview客户端指定发送端的ip地址,注意上面框图中的receive port需要和python中sendto端口相同。

实验

发送3和0.5:

附件代码

Github仓库地址,本文首发于Nickxie的博客。

python与Labview进行数据通信(UDP)相关推荐

  1. 如何用Python实现多任务版的udp聊天器

    这篇文章主要为大家详细介绍了Python实现多任务版的udp聊天器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 一.案例示例 二.案例说明 1.编写一个有2个线程的程 ...

  2. 使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本

    使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本 文章目录 使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本 前言: 背景 tm ...

  3. python监听多个udp端口_Python的Socket编程过程中实现UDP端口复用的实例分享

    关于端口复用 一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数( sendto, 或 write ),系统会自动给当前网络 ...

  4. Python标准库socketserver实现UDP协议时间服务器

    Python标准库socket提供了套接字编程所需要的绝大部分功能,更多案例详见文末相关阅读. 很久之前推送过一个使用标准库socket实现UDP协议时间服务器的代码,参考 Python使用UDP协议 ...

  5. 【计算机网络】python——socket编程(TCP/UDP)

    前言 以前做了实验都是直接分享实验报告.反思了一下,实验报告又臭又长,最多只有同做这个实验的朋友会耐着性子看一看.为了提供更有效的知识分享,能为更多的朋友提供一些参考,以后的文章我都会尽量主题鲜明,简 ...

  6. 浅谈仪器控制【1.Python与Labview/Labwindows】

    (一) Python Python是一种易于学习的脚本语言,开发周期短.它有专门控制仪器的库函数Pyvisa,代码简洁且支持各种科学计算.一般情况下,我们可以使用SCPI命令控制仪器,也可以加载仪器函 ...

  7. 使用Python读取LabVIEW TDMS 格式文件转成 pandas及Excel

    个人用Django开发的博客已上线,欢迎访问:https://www.zhibibin.com Labview的TMDS格式文件在很多偏硬件相关的工作中经常出现,有时候面临将TDMS转成Excel通用 ...

  8. python和labview的区别_测量仪器科普:LabVIEW与虚拟仪器那点事

    说起LabVIEW编程软件,大家接触的时候大多是与虚拟仪器分不开的,这儿理一下什么是虚拟仪器,什么是LabVIEW,它们之间关系是怎样的,下面作个简单的说明,以便记录及理解. 1.何谓虚拟仪器 &qu ...

  9. python通信模块库_python-基于UDP通信的套接字,socketserver模块的使用

    一.基于UDP协议通信的套接字 udp是没有链接的,所以先启动哪一端都不会报错 importsocketserver=socket.socket(socket.AF_INET,socket.SOCK_ ...

最新文章

  1. C++/C++11中std::set用法汇总
  2. linux端口找进程,Linux查看端口、进程情况及kill进程的方法
  3. display:inline-block的深入理解 转
  4. α稳定分布噪声基本原理及基于Chambers Mallows Stuck算法生成噪声并对信号加噪
  5. 点击开启此虚拟机时,出现“该虚拟机似乎正在使用中”问题
  6. 【转】Linux 移动或重命名文件/目录-mv 的10个实用例子
  7. wxpython 隐藏_使用cxFreeze冻结wxPython应用程序时如何隐藏控制台窗口?
  8. cisco 交换机 获取 转发表_看完这份1113页的TCP/IP协议+路由与交换机,成功上岸字节跳动...
  9. wineskin下plsql解决中文乱码问题
  10. 禁忌搜索算法求解 TSP 问题的代码示例
  11. .NetCore控制台应用程序
  12. 对话机器学习大神Yoshua Bengio(下)
  13. “Microsoft Internet Explorer”,微软的最后一款IE,以此命名——IE6!
  14. 三相电机控制方式入门,看完这一篇就够了
  15. Thinkpad T410加内存
  16. IDEA下载源码报错 Cannot reconnect.
  17. jdt eclipse_Eclipse JDT语言服务器项目
  18. vue框架中使用高德地图自定义icon问题
  19. 全球注意力缺陷多动障碍(ADHD)市场规模2021年大约为796亿元(人民币),预计2028年将达到1259亿元
  20. matlab噪音的消除办法,基于MATLAB的噪声消除方法.ppt

热门文章

  1. Event Logging 技术简介
  2. 李航《统计学习方法》第二章课后答案链接
  3. Leetcode 347.前K个高频元素
  4. 【CS229】向量化
  5. Win10+Anaconda创建新环境安装pytorch
  6. tensorflow 实验过程可重复
  7. mysql 配置 explicit_defaults_for_timestamp
  8. 【转】JS判断SWF,JPG加载完毕、兼容(Activex,plugIn)所有浏览器
  9. Kmalloc和Vmalloc的区别
  10. Android使用相机demo