[西门子] 西门子TIA博途指令GetInstanceName:读取实例的名称

[复制链接]
查看98569 | 回复0 | 2024-8-13 08:44:50 | 显示全部楼层 |阅读模式


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_2517376935614840832

可以使用“GetInstanceName”指令在函数块中读取背景数据块的名称。

要限制读实例名称的长度,可使用 SIZE 参数。如果名称被截断,则在该名称的末尾处将标识为字符“...”(Unicode 字符 16#2026)。请注意,该字符的长度为 1。

在以下示例中,说明了 SIZE 参数的含义。通过块接口,读取以下实例名称:

"Level1_DB"(左右双引号为名称的一部分。)
SIZE返回 GetInstanceName说明
1'...'
WSTRING 的第一个字符:'

被截断名称的标识符:...

WSTRING 的最后一个字符:'
2
'"...'
WSTRING 的第一个字符:'

名称的第一个字符和被截断名称的标识符:"...

WSTRING 的最后一个字符:
3'"L...'
WSTRING 的第一个字符:'

名称的前两个字符和被截断名称的标识符:"..."L...

WSTRING 的最后一个字符:'
6
'"Leve...'
WSTRING 的第一个字符:'

名称的前五个字符和被截断名称的标识符:"Leve...

WSTRING 的最后一个字符:'
0
'"Level1_DB"'
WSTRING 的第一个字符:'

该名称的所有字符:"Level1_DB"

WSTRING 的最后一个字符:'

• 背景数据块的名称被写入 OUT 参数。如果背景数据块的名称比 WSTRING 的最大长度长,该名称将被截断。

参数

下表列出了“GetInstanceName”指令的参数:
参数声明数据类型存储区说明
SIZEInputDINT
I、Q、M、D、

L 或常量

OUT 参数处,输出字符数的限值。

• SIZE > 0:GetInstanceName 返回名称的前 SIZE 个字符。

• SIZE = 0:GetInstanceName 返回整个名称。

• SIZE < 0:GetInstanceName 返回名称的最后 SIZE 个字符。
OUTOutput
WSTRING
D、L背景数据块的读取名称


示例

在以下示例中,读取背景数据块的名称。

在全局数据块中创建两个用于存储数据的变量。



创建函数块“SLI_FB_GetInstanceName”。互连“GetInstanceName”指令的参数,如下所

示:



在块“SLI_FB_GetInstanceName”中,执行指令“GetInstanceName”。通过指令“GetInstanceName”,确定块“SLI_FB_GetInstanceName”已关联的背景数据块,并通过输出参数 OUT(“outputInstName”)将其作为字符串输出。根据参数 SIZE(“limitSIZE”)的值“0”,字符串的长度不受限制。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则