就是200smart时间转换成字符串,并能在组态王上显示,就是按下按钮时间传送到组态王上,最好给源程序或者封装了。谢谢!!!
就是200smart时间转换成字符串,并能在组态王上显示,就是按下按钮时间传送到组态王上,最好给源程序或者封装了。谢谢!!!
// 数据块定义
VAR
// 输入:8个VW字(假设存储年月日时分秒等)
VW_Year AT VW0 : WORD; // 年(如2023)
VW_Month AT VW2 : WORD; // 月(1-12)
VW_Day AT VW4 : WORD; // 日(1-31)
VW_Hour AT VW6 : WORD; // 时(0-23)
VW_Minute AT VW8 : WORD; // 分(0-59)
VW_Second AT VW10 : WORD;// 秒(0-59)
// 输出:字符串缓冲区(格式:"YYYY-MM-DD HH:MM:SS")
Time_String : STRING[20]; // 预留20字节
// 触发按钮
Trigger_Button : BOOL; // 按钮触发信号
END_VAR
// 函数:WORD_To_String(将WORD转换为2位字符串,不足补零)
FUNCTION WORD_To_String : STRING[2]
VAR_INPUT
Input_Value : WORD;
END_VAR
VAR_TEMP
Temp_Int : INT;
Temp_String : STRING[2];
END_VAR
BEGIN
Temp_Int := WORD_TO_INT(Input_Value);
IF Temp_Int < 10 THEN
Temp_String := CONCAT('0', INT_TO_STRING(Temp_Int));
ELSE
Temp_String := INT_TO_STRING(Temp_Int);
END_IF;
WORD_To_String := Temp_String;
END_FUNCTION
// 主程序:拼接时间字符串
IF Trigger_Button THEN
Time_String := CONCAT(
INT_TO_STRING(WORD_TO_INT(VW_Year)), '-',
WORD_To_String(VW_Month), '-',
WORD_To_String(VW_Day), ' ',
WORD_To_String(VW_Hour), ':',
WORD_To_String(VW_Minute), ':',
WORD_To_String(VW_Second)
);
Trigger_Button := FALSE; // 复位触发信号
END_IF;
组态王事件脚本 VB
Sub Button_Click()
PLC_Time = ReadPLCString("S7-200SMART", "VW100", 20) ' 读取20字节字符串
MsgBox "当前时间:" & PLC_Time
End Sub
直接组态王时间对应电脑时间不就可以了吗?