LabVIEW通讯-DataSocket

DataSocket是一项基于TCP/IP协议的技术,用于自动化应用中实时数据的共享与发布。它通过封装TCP/IP协议简化了通信连接的维护与数据类型转换工作,并提供三种数据目标:File、DataSocketServer与OPCServer。
摘要由CSDN通过智能技术生成

DataSocket

套接字(Socket)是网络应用层与TCP/IP协议族传输层中间的软件抽象层。

DataSocket是一项基于TCP/IP协议的技术,它可以在测量和自动化应用中用于共享和发布实时数据。
它并不是一种协议,而是封装了TCP/IP协议族的应用程序编程接口(API),实质是一个基于URL的单一的一元化末端用户API,它独立于协议、语言和操作系统。

DataSocket包括DataSocket Server Manager、DataSocket Server和DataSocket函数库三部分,及DSTP协议、URL、和文件格式等规程。

DataSocket提供三种数据目标:File、DataSocket Server、OPC Server,支持多进程并发。

通过TCP/IP协议进行多客户端数据传输时,需要编写代码维护与每个客户端间的连接。此外,TCP/IP以字节流形式传递数据因此通常会在发送端和接收端都需要进行应用程序数据结构或类型到字符串的转换才能进行传输。
DataSocket封装并优化了通信连接的维护和数据类型的转换工作,仅保留打开链接、数据读写和关闭链接等编程接口。

DataSocket通过URL定位数据源和目标,其中数据源可来自以下类型服务器
HTTP
FTP
OPC
DSTP
本地文件
DataSocket URL格式通常包括协议标识、数据源标识和数据标识。数据源位置可以是网络上的设备名称或IP地址,数据标识用于标记存放数据的缓冲区。

在这里插入图片描述
1 传输协议(http、ftp、dstp、file等)
2 数据源位置(网络上的计算机名,IP等)
3 数据缓冲区标识(在read/write操作中使用)

实现

无缓冲单向通信

打开DataSocket Server服务器
在这里插入图片描述


1 打开DataSocket链接,创建一个URL
2 发送数据至服务器
3 关闭连接
在这里插入图片描述

1 打开链接
2 读取数据
3 关闭连接
在这里插入图片描述
用数据绑定也可以做出相同的效果。

发送端
1 在前面板放置波形图表,右键-属性-数据绑定,把波形图表绑定至DataSocket,设置只写。
2 写一个使波形图表值改变的小程序

在这里插入图片描述在这里插入图片描述
接收端
1 1 在前面板放置波形图表,右键-属性-数据绑定,把波形图表绑定至DataSocket,设置只读。
2 将波形图表放入while循环中。
在这里插入图片描述
在这里插入图片描述
通过前面板绑定,无需对程序框图进行任何操作便可更新绑定至DataSocket URL值的显示控件。相反,数据读取波形图将随时更新发布至服务器的新数据。这样程序框图只需确保VI保持运行,直至按下停止按钮。

数据读写在无缓存的情况下进行时,接收端收到的数据始终是发送端上传到服务器的最新值。在发送速度快于接收速度时,数据将会丢失。
要在客户端进行带缓冲的数据读取操作,可以在打开DataSocket连接后,通过连接的属性设置缓冲区大小(也可以直接通过URL后添加参数最大字节和最大包数量来设置,如dstp://server/numeric?maxbytes=1000&maxpackets=10),并在读取过程中通过BufferUtility属性监控缓存区使用情况,必要时对缓冲区大小进行调整。

用DataSocket传输图像时,需要先将图像转换成字符串再发送,如果直接传视觉函数的输出的话,则实际上传输的是指向图像的指针或引用。

pd.read_excel()函数是pandas库中用于读取Excel文件的函数。它的常用参数如下: 1. filepath_or_buffer:Excel文件的路径或者URL,可以是字符串、路径对象或者类文件对象。 2. sheet_name:要读取的工作表的名称或索引。默认为0,表示读取第一个工作表。 3. header:指定作为列名的行数,默认为0,表示使用第一行作为列名。如果设置为None,则不使用列名。 4. names:自定义列名,可以是列表或者数组。 5. index_col:指定作为行索引的列,默认为None,表示不使用行索引。 6. usecols:要读取的列的索引或者列名,可以是列表、元组、字符串或者可迭代对象。 7. nrows:要读取的行数,默认为None,表示读取所有行。 8. skiprows:要跳过的行数,默认为None,表示不跳过任何行。 9. skipfooter:要跳过的尾部行数,默认为0,表示不跳过任何行。 10. na_values:将指定值视为缺失值的列表或者字典。 11. parse_dates:将指定列解析为日期,默认为False。 12. date_parser:用于解析日期的函数,默认为None,表示使用pandas的默认解析器。 13. converters:用于将列数据转换为特定类型的函数或者字典。 14. dtype:指定每列的数据类型,可以是字典、numpy.dtype对象或者None。 15. squeeze:如果数据只有一列,则返回Series对象,默认为False。 16. engine:指定解析引擎,可以是xlrd、openpyxl或者其他可选引擎。 17. keep_default_na:是否保留默认的缺失值标记,默认为True。 18. verbose:是否显示读取过程中的详细信息,默认为False。 以上是pd.read_excel()函数的一些常用参数,你可以根据需要选择合适的参数来读取Excel文件中的数据。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斯金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值