倍福PLC获取系统时间指令

        本文介绍使用TwinCAT2软件内部的指令来修改、获取系统时间。

1.添加TcUtilities.lib库文件。

        在Resources——Library Manager中添加TcUtilities.lib库文件。如下图所示:

2. 添加完成之后,就可以看到 NT_GetTime读取系统时间和NT_SetLocalTime设置系统时间两个FB。

3.在主程序中声明函数:

    GetTime:NT_GetTime;
    SetLocalTime:NT_SetLocalTime;

    LocalTime:TIMESTRUCT;
    startSetLocalTime:BOOL;

    SystemTime:TIMESTRUCT;
    startGetTime:BOOL;
    SystemTimeString:STRING;(*系统时间转换成字符串格式*)

4.编程如下:
SetLocalTime(
    NETID:= ,
    TIMESTR:=LocalTime ,
    START:=startSetLocalTime ,
    TMOUT:=T#3S ,
    BUSY=> ,
    ERR=> , 
    ERRID=> );


GetTime(
    NETID:= , 
    START:=startGetTime ,
    TMOUT:=T#3S ,
    BUSY=> ,
    ERR=> ,
    ERRID=> ,
    TIMESTR=>SystemTime );

SystemTimeString:=SYSTEMTIME_TO_STRING(SystemTime);

4.各参数的定义如下:

  • NETID:输入数据,字符串类型,表示控制器的AmsNetID。如果是在本地运行,该参数可为空;
  • START:输入数据,布尔类型,上升沿信号启动函数执行;
  • TMOUT:输入数据,TIME类型,读取超时的时间设置值;
  • BUSY:输出数据,布尔类型,1=正在读取;
  • ERR:输出数据,布尔类型,1=读取时间发生错误。0=无错误;
  • TIMESTR:输出数据,时间结构体(TIMESTRUCT),存放读取到的时间信息;

注意:wDayOfWeek:周几,取值范围: 0 ~ 6 (周日 = 0,周一 = 1以此类推);

5.编译下载程序,如下图所示:

 6.系统时间处理,为了便于查看可以将系统时间转换成字符串类型。

SystemTimeString:=SYSTEMTIME_TO_STRING(SystemTime);

格式:YYYY-MM-DD-hh: mm: ss。YYYY:年MM:月DD:日hh:小时MM:分钟ss:秒xxx:毫秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值