恭喜,你发布的帖子
发布于 2021-03-25 09:28:12
7楼
FUNCTION "Input_SymbolName" : Void
{ S7_Optimized_Access := 'TRUE' }
AUTHOR : Watson
VERSION : 0.1
VAR_INPUT
FirstScan : Bool;
"Byte" : WString;
"Byte.0" : Bool;
"Byte.1" : Bool;
"Byte.2" : Bool;
"Byte.3" : Bool;
"Byte.4" : Bool;
"Byte.5" : Bool;
"Byte.6" : Bool;
"Byte.7" : Bool;
END_VAR
VAR_OUTPUT
结构体 : "Symbol名称";
END_VAR
VAR_TEMP
Bit名称 : WString[50];
转换名称 : WString[50];
END_VAR
VAR CONSTANT
"I.0" : WString := WSTRING#'I.0';
"I.1" : WString := WSTRING#'I.1';
"I.2" : WString := WSTRING#'I.2';
"I.3" : WString := WSTRING#'I.3';
"I.4" : WString := WSTRING#'I.4';
"I.5" : WString := WSTRING#'I.5';
"I.6" : WString := WSTRING#'I.6';
"I.7" : WString := WSTRING#'I.7';
END_VAR
BEGIN
IF #FirstScan THEN
//Byte.0
#Bit名称 := GetSymbolName(variable := #"Byte.0", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.0", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称0 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
//Byte.1
#Bit名称 := GetSymbolName(variable := #"Byte.1", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.1", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称1 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
//Byte.2
#Bit名称 := GetSymbolName(variable := #"Byte.2", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.2", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称2 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
//Byte.3
#Bit名称 := GetSymbolName(variable := #"Byte.3", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.3", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称3 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
//Byte.4
#Bit名称 := GetSymbolName(variable := #"Byte.4", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.4", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称4 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
//Byte.5
#Bit名称 := GetSymbolName(variable := #"Byte.5", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.5", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称5 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
//Byte.6
#Bit名称 := GetSymbolName(variable := #"Byte.6", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.6", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称6 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
//Byte.7
#Bit名称 := GetSymbolName(variable := #"Byte.7", size := 0);//读取Byte.0的名称
#Bit名称 := REPLACE(IN1 := #Bit名称, IN2 := WSTRING#' ', L := 1, P := 1);//把第一位替换为空格
#Bit名称 := DELETE(IN := #Bit名称, L := 1, P := LEN(#Bit名称));//删除最后一个字符
#转换名称 := INSERT(IN1 := #"I.7", IN2 := #Byte, P := 1);//第一段名称,插入字符
#结构体.名称7 := CONCAT(IN1 := #转换名称, IN2 := #Bit名称);//合并2个字符
END_IF;
#结构体.值0 := #"Byte.0";
#结构体.值1 := #"Byte.1";
#结构体.值2 := #"Byte.2";
#结构体.值3 := #"Byte.3";
#结构体.值4 := #"Byte.4";
#结构体.值5 := #"Byte.5";
#结构体.值6 := #"Byte.6";
#结构体.值7 := #"Byte.7";
END_FUNCTION
请填写推广理由:
分享
只看
楼主