就是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
直接组态王时间对应电脑时间不就可以了吗?
组态王上面没有时间控件吗?
感谢楼主分享,学习中。。。。
感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。
对于求助者要求:
1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;
2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。
3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。
4、2025年加油!
引用 "JSdanzi" 的回复,发表在1楼
内容: // 数据块定义VAR // 输入:8个VW字(假设存储年月日时分秒等) VW_Year AT VW0 : WORD; // 年(如2023) VW_Month AT VW2 :...