参数(Arguments)
CSM - Argument Type.vi
从编码后的参数字符串中提取参数的编码类型标记。
CSM参数类型(Argument Type)
在CSM中,所有参数/返回均以字符串形式呈现,但其背后可承载任意数据类型。因此,发送端需先进行编码,接收端再进行解码。 例如CSM内置HEXSTR编码方案,也可按需扩展自定义编解码器。 为便于识别编码方式,推荐将编码后的参数写成
<Argument Type> STRING FORMAT ARGUMENT格式。 使用CSM - Argument Type VI即可提取类型标记,据此选择对应的解码函数。
– 输入控件(Controls) –
- Arguments: 参数字符串。
– 输出控件(Indicators) –
- Arguments (Dup): 输入的参数字符串副本。
- Argument Type: 参数字符串的编码类型标记。
CSM - Keywords.vi
用于罗列CSM消息中的关键字及其%Hex格式。
CSM消息关键字
包括:
->、->|、-@、-&、<-、\r、\n、//、>>、>>>、;、,。
– 输出控件(Indicators) –
- keywords: CSM关键字列表。
- Keywords (%Hex Format): CSM关键字列表的%Hex格式。
CSM - Make String Arguments Safe.vi
将参数字符串中的CSM关键字转换为%Hex格式,确保不影响CSM消息字符串解析。
CSM消息关键字
包括:
->、->|、-@、-&、<-、\r、\n、//、>>、>>>、;、,。
CSM安全字符串参数(CSM Safe String Argument)
为了在CSM参数中传递任意字符串且不破坏消息解析,CSM内置了Safe-String编解码方案,其参数类型字符串为SAFESTR。转换过程如下:
- 扫描输入字符串,若出现CSM关键字(如
->、;、\r等),则将其替换为%Hex转义序列;- 最终得到形如
<SAFESTR> 已转义字符串的参数,可安全嵌入状态字符串,不会破坏CSM消息解析。
参考范例:参数安全转义示例 - [CSM-Example]\0. Base Concepts\4.3 Arguments - Safe Arguments if it contains key words of CSM.vi。
– 输入控件(Controls) –
- Argument String: 字符串参数。
- Ignore Argument Type(F): 不添加参数类型标记
SAFESTR。
– 输出控件(Indicators) –
- Safe Argument String: 安全的字符串参数。
CSM - Revert Arguments-Safe String.vi
将安全的字符串参数中的%Hex格式的CSM关键字转换回普通格式。
- 当Force Convert (F)为FALSE时,仅当参数类型标记为
SAFESTR时才进行转换。 - 当Force Convert (F)为TRUE时,无论参数类型标记为何值均进行转换。
CSM消息关键字
包括:
->、->|、-@、-&、<-、\r、\n、//、>>、>>>、;、,。
CSM安全字符串参数(CSM Safe String Argument)
为了在CSM参数中传递任意字符串且不破坏消息解析,CSM内置了Safe-String编解码方案,其参数类型字符串为SAFESTR。转换过程如下:
- 扫描输入字符串,若出现CSM关键字(如
->、;、\r等),则将其替换为%Hex转义序列;- 最终得到形如
<SAFESTR> 已转义字符串的参数,可安全嵌入状态字符串,不会破坏CSM消息解析。
参考范例:参数安全转义示例 - [CSM-Example]\0. Base Concepts\4.3 Arguments - Safe Arguments if it contains key words of CSM.vi。
– 输入控件(Controls) –
- Safe Argument String: 安全的字符串参数。
- Force Convert (F): 强制转换,即使参数类型标记不是
SAFESTR。
– 输出控件(Indicators) –
- Origin Argument String: 字符串参数。
CSM - Convert Data to HexStr.vi
将LabVIEW任意数据类型转换为HEXSTR格式参数字符串。
CSM参数类型(Argument Type)
在CSM中,所有参数/返回均以字符串形式呈现,但其背后可承载任意数据类型。因此,发送端需先进行编码,接收端再进行解码。 例如CSM内置HEXSTR编码方案,也可按需扩展自定义编解码器。 为便于识别编码方式,推荐将编码后的参数写成
<Argument Type> STRING FORMAT ARGUMENT格式。 使用CSM - Argument Type VI即可提取类型标记,据此选择对应的解码函数。
CSM HEXSTR格式参数
为了在CSM参数中传递任意数据类型,CSM内置了HEXSTR格式参数编解码方案。其参数类型字符串为HEXSTR。转换过程如下:
- 将LabVIEW数据先转为变体;
- 再将变体的内存映像序列化为十六进制字符串;
- 得到
<HEXSTR>十六进制字符串形式的参数,可安全嵌入状态字符串,不会破坏CSM消息解析。
参考范例:复杂数据作为参数示例 - [CSM-Example]\0. Base Concepts\4.1 Arguments - Complex Data As Arguments.vi。
– 输入控件(Controls) –
- Variant: LabVIEW数据,通过变体支持任意数据类型。
– 输出控件(Indicators) –
- HEX String (0-9,A-F): CSM HEXSTR格式参数。
CSM - Convert HexStr to Data.vi
将十六进制字符串参数转换回变体数据。
CSM参数类型(Argument Type)
在CSM中,所有参数/返回均以字符串形式呈现,但其背后可承载任意数据类型。因此,发送端需先进行编码,接收端再进行解码。 例如CSM内置HEXSTR编码方案,也可按需扩展自定义编解码器。 为便于识别编码方式,推荐将编码后的参数写成
<Argument Type> STRING FORMAT ARGUMENT格式。 使用CSM - Argument Type VI即可提取类型标记,据此选择对应的解码函数。
CSM HEXSTR格式参数
为了在CSM参数中传递任意数据类型,CSM内置了HEXSTR格式参数编解码方案。其参数类型字符串为HEXSTR。转换过程如下:
- 将LabVIEW数据先转为变体;
- 再将变体的内存映像序列化为十六进制字符串;
- 得到
<HEXSTR>十六进制字符串形式的参数,可安全嵌入状态字符串,不会破坏CSM消息解析。
参考范例:复杂数据作为参数示例 - [CSM-Example]\0. Base Concepts\4.1 Arguments - Complex Data As Arguments.vi。
– 输入控件(Controls) –
- HEX String: CSM HEXSTR格式参数。
– 输出控件(Indicators) –
- Variant: LabVIEW数据,通过变体支持任意数据类型。
CSM - Convert Error to Argument.vi
将LabVIEW错误簇转换为CSM错误参数格式。
CSM参数类型(Argument Type)
在CSM中,所有参数/返回均以字符串形式呈现,但其背后可承载任意数据类型。因此,发送端需先进行编码,接收端再进行解码。 例如CSM内置HEXSTR编码方案,也可按需扩展自定义编解码器。 为便于识别编码方式,推荐将编码后的参数写成
<Argument Type> STRING FORMAT ARGUMENT格式。 使用CSM - Argument Type VI即可提取类型标记,据此选择对应的解码函数。
CSM ERRSTR格式参数
LabVIEW错误簇是一个复杂数据类型,错误信息字符串中通常包含回车符,因此它通常不能直接作为CSM参数传递。虽然可以将错误簇信息转换为HEXSTR格式,但这种方式缺乏可读性,在日志中无法直观读取信息。 因此,为了在CSM参数中传递LabVIEW错误信息,CSM内置了ERRSTR格式参数编解码方案。其参数类型字符串为ERRSTR。转换过程如下:
- 将错误簇中的code、source格式化为以下格式的字符串:
- 错误:
<ERRSTR>[Error: error-code] error-description-As-safe-argument-string- 警告:
<ERRSTR>[Warning: error-code] warning-description-As-safe-argument-string- 将这段字符串中的特殊字符替换为安全字符;
- 得到CSM ERRSTR格式参数,可安全嵌入状态字符串,不会破坏CSM消息解析。
参考范例:错误作为参数示例 - [CSM-Example]\0. Base Concepts\4.2 Arguments - Error As Arguments.vi。
– 输入控件(Controls) –
- Error: LabVIEW错误簇。
– 输出控件(Indicators) –
- Argument: CSM错误参数格式。
CSM - Convert Argument to Error.vi
将CSM错误参数格式转换为LabVIEW错误簇。
CSM参数类型(Argument Type)
在CSM中,所有参数/返回均以字符串形式呈现,但其背后可承载任意数据类型。因此,发送端需先进行编码,接收端再进行解码。 例如CSM内置HEXSTR编码方案,也可按需扩展自定义编解码器。 为便于识别编码方式,推荐将编码后的参数写成
<Argument Type> STRING FORMAT ARGUMENT格式。 使用CSM - Argument Type VI即可提取类型标记,据此选择对应的解码函数。
CSM ERRSTR格式参数
LabVIEW错误簇是一个复杂数据类型,错误信息字符串中通常包含回车符,因此它通常不能直接作为CSM参数传递。虽然可以将错误簇信息转换为HEXSTR格式,但这种方式缺乏可读性,在日志中无法直观读取信息。 因此,为了在CSM参数中传递LabVIEW错误信息,CSM内置了ERRSTR格式参数编解码方案。其参数类型字符串为ERRSTR。转换过程如下:
- 将错误簇中的code、source格式化为以下格式的字符串:
- 错误:
<ERRSTR>[Error: error-code] error-description-As-safe-argument-string- 警告:
<ERRSTR>[Warning: error-code] warning-description-As-safe-argument-string- 将这段字符串中的特殊字符替换为安全字符;
- 得到CSM ERRSTR格式参数,可安全嵌入状态字符串,不会破坏CSM消息解析。
参考范例:错误作为参数示例 - [CSM-Example]\0. Base Concepts\4.2 Arguments - Error As Arguments.vi。
– 输入控件(Controls) –
- Argument: CSM错误参数格式。
– 输出控件(Indicators) –
- Error: LabVIEW错误簇。