写入网口
此工具被设置为旧版。为了提供向后兼容性,它仍可用,但在即将发布的 MERLIC 版本中不再获得维护或更新。
使用此工具将数据写入(服务器)套接字。
在“URL”参数中设置要写入的套接字,并通过将“连接”参数设为 1 建立连接。由于此工具会建立客户端连接,服务器必须可用。通过 按钮,您可以在单个步骤中执行此工具。这样让您可以逐步写入数据。
如果从前一套接字工具连接“套接字句柄”,则所有参数将仅采用自第一个套接字工具。因此,如果想要调整当前工具的参数设置,您必须在第一个工具中进行调整,否则参数更改将被忽略。
执行行为
此工具的执行行为不同于默认行为。通常,在以下情况下会执行 MERLIC 工具:
- MERLIC Vision App 在连续模式下显式执行。
- MERLIC Vision App 在“运行一次”模式下显式执行。
- 在 MERLIC Creator 中打开了包含该工具的 MERLIC Vision App。
- 在 MERLIC Creator 中更改了该工具的参数值。
不过,仅在以下情况下会执行写入网口工具:
- MERLIC Vision App 在连续模式下显式执行。
- MERLIC Vision App 在“运行一次”模式下显式执行。
这可以确保在加载 MVApp 或更改该工具的参数值时不应用读取和写入操作。但如果参数连接设为 1,则该工具仍会尝试与远程设备建立连接。
参数
基本参数
URL:
此参数定义了要写入的套接字的 URL。一个有效的“URL”包括要使用的协议、要连接的计算机主机名以及用冒号隔开的端口号,例如“tcp://localhost:4000”。
连接:
此参数定义与套接字的连接是激活还是停用。默认情况下,此参数设置为 0。这表示与套接字的连接未激活,因此未建立连接进行写入。如果要开始向套接字写入数据,您需要将参数设为 1 才能打开连接进行写入。
由于每次更改值都会执行工具,所以我们建议将“连接”参数设置为 0,直至该工具已完全配置。
数据:
此参数包含要写入网口的数据。默认情况下它包含字符串 “MyString”。数据可由整数、实数或字符串值表示。数据还可以元组形式发送。如果要写入前一工具的结果,您可将参数连接至前一工具的相应结果。随后,已连接的数据会写入网口。
为了确保正确发送数据,必须在“数据格式”参数中设置正确的格式。
超时:
此参数定义了写入超时。它以秒为单位并默认设为 0.5。您可以在相应的连接器中更改 “超时”。
数据格式:
此参数定义了如何转换数据以供写入。这是必须的,因为数据以二进制包的形式发送。默认情况下设置为“z”。您可以在相应的连接器中更改其值。“数据格式”可包含一个或多个限定符,每个后面紧跟可选修饰符和重复计数。
整数值
|
值 |
描述 |
|---|---|
|
c |
1 字节 = 8 位,已签署 |
|
C |
1 字节 = 8 位,未签署 |
|
s |
2 字节 = 16 位,已签署 |
|
S |
2 字节 = 16 位,未签署 |
|
i |
4 字节 = 32 位,已签署 |
|
I |
4 字节 = 32 位,未签署 |
|
q |
8 字节 = 64 位,已签署(仅在 64 位架构上可用) |
|
Q |
8 字节 = 64 位,未签署 |
浮点值
|
值 |
描述 |
|---|---|
|
f |
浮点,4 字节 = 32 位 |
|
d |
双精度浮点数,8 字节 = 64 位 |
字符串值
|
值 |
描述 |
|---|---|
|
A |
字符串(默认长度为 1024 字节),使用空格填充。 |
|
z |
长度可变的字符串,长度修饰符指定最大长度(默认长度为 1024 字节)。 |
|
Z |
A 字符串(默认长度为 1024 字节),使用零填充并且在发送时以零终结。 |
不需要值作为数据格式的特殊字符
|
值 |
描述 |
|---|---|
|
- |
零字节会被跳过。 |
|
_ |
空格字节会被跳过。 |
可在以上限定符之一后面使用的修饰符
|
值 |
描述 |
|---|---|
|
n |
网络字节序。此修饰符在从网络字节序(大端序)读取到主机字节序时转换整数或浮点值。 它还可用作格式字符串中的第一个字符。 |
|
N |
此修饰符在从 intel 字节序(小端序)读取到主机字节序时转换整数或浮点值。 它还可用作格式字符串中的第一个字符。 |
用于前置限定符的重复计数
|
值 |
描述 |
|---|---|
|
n |
如果使用整数和实数值,此计数器会定义前置限定符的重复频率,例如,如果 n=5,则“c5”表示“ccccc”。 您可为 n 使用任何整数值。如果使用字符串值,n 表示字符串的大小,例如,“A2”表示大小为 2 个字节的字符串。 如果要发送包含两个字符串的元组,您必须重复限定符,例如,“AA”或“zz”。在接收套接字中,使用单一限定符即足以定义数据格式(例如,“z”)以读取字符串。 |
|
数据 |
数据格式 |
描述 |
|---|---|---|
|
string |
z |
“string”数据作为字符串写入。 |
|
my_string |
z9 |
大小为 9 个字节的“my_string”数据会写入。 |
|
['this'; 'is'; 'a'; 'string'] |
zzzz |
字符串会连结并作为单个字符串“thisisastring”写入。 |
|
[396.457; 402.589; 235.459] |
d3 |
包含三个双精度值的元组会写入。这对应于“ddd”。 |
|
[2.54; 1.4; 3.28; 214748; -43897] |
d3i2 |
包含三个双精度值和两个大小为 4 个字节的带符号整数的元组会写入。 |
|
[1; 2; 'string'] |
i2z |
包含两个带符号整数(4 个字节)和一个字符串的元组会写入。接收套接字读取元组 [1, 2, 'string']。 |
|
[1; 2; 'string'; 'string2'] |
i2z |
包含两个带符号整数(4 个字节)和两个字符串的元组会写入。接收套接字读取元组 [1, 2, 'stringstring2']。 |
其他参数
套接字句柄:
此参数可用于指定从前一工具“套接字句柄”已定义写入数据的套接字的句柄。如果已设置“套接字句柄”,则将从前一工具采用 “URL”和“超时”。
结果
基本结果
此工具没有在 MERLIC 中可见的基本结果。实际结果是写入文本的文件。
工具状态:
“工具状态”返回有关工具状态的信息,因此可用于处理错误。请参阅主题工具状态结果,了解关于不同工具状态结果的更多信息。
其他结果
使用的套接字句柄:
此参数代表写入数据的目标套接字的句柄。它可被后续工具用于写入或读取。应避免几个工具使用相同的句柄同时读取或写入同一套接字,否则可能会导致意外效果。
处理时间:
此结果返回最近一次执行工具的持续时间(以毫秒为单位)。该结果作为附加结果提供。因此,默认情况下它是隐藏的,但是可以通过工具结果旁边的 按钮显示。有关更多信息,处理时间请参工具参考中所阅部分。