0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用TwinCAT3内部的函数来获取系统时间?

jf_61nrsJTz 来源:方正智芯 作者:方正智芯 2023-03-07 09:56 次阅读

今天这篇文章,我们来介绍下如何使用TwinCAT3内部的函数来获取系统时间。

打开TwinCAT3(以下简称TC3)并新建项目,在项目树的“PLC”中添加标准PLC,命名为“CPU1”。默认情况下,“References(引用)”中会添加标准库“Tc2_Standard”、“Tc2_System”和“Tc3_Module”,如下图所示:

ab62c404-bc6e-11ed-bfe3-dac502259ad0.png

Tc2_System库中也有时间相关的函数,比如F_GetSystemTime,它返回一个时间戳。虽然它可也可以转换成年-月-日的形式,但是本文暂时不介绍该函数,我们使用另外一个库中的函数。

为了获取系统时间,我们添加一个库文件。在“References(引用)”右键单击,选择“Add libaray(添加库)”,在弹出对话框的顶部搜索框中输入“tc2_u”进行搜索,找到“Tc2_Utilites”,单击“OK”按钮将其添加到“References(引用)”中,如下图所示:

ab764e7a-bc6e-11ed-bfe3-dac502259ad0.png

在Main中声明函数getSystemTime(TC3中所有函数/函数块都必须先声明才能使用)

getSystemTime:NT_GetTime;

如下图所示:

ab858a70-bc6e-11ed-bfe3-dac502259ad0.png

这里的“NT_GetTime”是“Tc2_Utilites”库中的函数,它用来获取Windows系统的时间,并存储到一个TIMESTRUCT结构体变量中。由于TC3是基于Windows的自动化技术,因此使用该函数获取控制器中Windows操作系统的时间。

在主程序代码区按F2可调出输入助手(Input assitant)。单击“Instance Calls”可看到之前声明的函数getSystemTime,如下图所示:

ab922e74-bc6e-11ed-bfe3-dac502259ad0.png

单击“OK”按钮会自动添加该函数,如下图所示:

abac84f4-bc6e-11ed-bfe3-dac502259ad0.png

参数的定义如下:

NETID:输入数据,字符串类型,表示TC3控制器的AmsNetID。如果是在本地运行,该参数可为空;

START:输入数据,布尔类型,上升沿信号启动函数执行;

TMOUT:输入数据,TIME类型,读取超时的时间设置值;

BUSY:输出数据,布尔类型,1=正在读取;

ERR:输出数据,布尔类型,1=读取时间发生错误。0=无错误;

TIMESTR:输出数据,时间结构体(TIMESTRUCT),存放读取到的时间信息

时间结构体(TIMESTRUCT)的定义如下:

TYPETIMESTRUCT
STRUCT
wYear:WORD;
wMonth:WORD;
wDayOfWeek:WORD;
wDay:WORD;
wHour:WORD;
wMinute:WORD;
wSecond:WORD;
wMilliseconds:WORD;
END_STRUCT
END_TYPE

结构体中各变量的数据类型均为字(word),其中:

wYear:年份,取值范围:1970 ~ 2106;

wMonth:月份,取值范围:1 ~ 12;

wDayOfWeek:一周的第几天,取值范围: 0 ~ 6 (周日 = 0);

wDay: 日份,取值范围:1 ~ 31;

wHour:小时,取值范围:0 ~ 23;

wMinute:分钟,取值范围:0 ~ 59;

wSecond:秒,取值范围:0 ~ 59;

wMilliseconds:微秒,取值范围:0 ~ 999;

主程序编写代码如下:

abbf631c-bc6e-11ed-bfe3-dac502259ad0.png

编译程序,并下载登录,查看系统时间,如下图所示:

abd4787e-bc6e-11ed-bfe3-dac502259ad0.png

abe967d4-bc6e-11ed-bfe3-dac502259ad0.png

好了,关于倍福PLC获取系统时间的方法就先介绍到这里。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16433

    浏览量

    178933
  • plc
    plc
    +关注

    关注

    5016

    文章

    13369

    浏览量

    464648
  • 函数
    +关注

    关注

    3

    文章

    4344

    浏览量

    62853
  • TwinCAT3
    +关注

    关注

    1

    文章

    9

    浏览量

    10811

原文标题:倍福PLC学习:获取系统时间

文章出处:【微信号:方正智芯,微信公众号:方正智芯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    labview通过ADS通讯,能通讯数组吗?与TwinCAT3之间

    labview通过ADS通讯,能通讯数组吗?与TwinCAT3之间
    发表于 05-18 16:24

    如何去使用TwinCAT3中SCOPE功能?

    如何去实现一种基于TwinCAT3的伺服电机控制设计?TwinCAT3的SCOPE功能可同时监控多个变量,但我们如何添加这些变量呢?这些变量有哪些呢?
    发表于 06-28 07:46

    一种倍福TwinCAT3中读取台达伺服扭矩

    XML文件添加、IO扫描伺服和变量定义关联,参照博客TwinCAT3第三方伺服电机——汇川IS620N使用中所讲解的方法,TC3使用第三方伺服方法都是一样的。本篇文章只讲解台达伺服部分。
    发表于 06-28 09:23

    TwinCAT3 常见问题4之Delta伺服使能问题

    (ASD-A2-0421-EN伺服驱动器+ECMA-CW0604SS伺服电机),由于前期用TwinCAT3(3.1.4022.4版本)进行开发,此时PC上安装的是TC31-Full-Setup.3.1.4022.2.exe,CX控制器上安装的TC31-XAR-Setup.3.1.4022.2.exe,前期工作正常。
    发表于 06-28 06:01

    倍福TwinCAT(贝福Beckhoff)基础教程 TwinCAT安装配置

    由于TC2和TC3都有可能用到,个人推荐都安装,但是注意必须是先安装的TwinCAT2,然后安装TwinCAT3,如果反了可能两个都没法用(打开TcSwitchRuntime提示Both
    发表于 07-02 07:29

    请问如何基于TwinCAT3实现伺服电机控制?

    请问如何基于TwinCAT3实现伺服电机控制?
    发表于 09-26 09:09

    TwinCAT3怎么才能实时读出电机的力矩值?

    TwinCAT3怎么才能实时读出电机的力矩值?
    发表于 09-26 06:09

    如何利用TwinCAT3实现伺服电机的控制?

    TwinCAT3中的SCOPE怎么使用?如何利用TwinCAT3实现伺服电机的控制?
    发表于 09-27 06:33

    如何去安装TwinCAT2与TwinCAT3

    如何去安装TwinCAT2与TwinCAT3
    发表于 10-08 08:23

    请问倍福TwinCAT3是如何读取台达伺服扭矩的?

    请问倍福TwinCAT3是如何读取台达伺服扭矩的?
    发表于 10-13 07:50

    使用TwinCAT3实现高级测量数据处理

      TwinCAT3软件的CX5140嵌入式控制器、TwinCAT状态监测软件库和EtherCAT端子模块构成的控制平台基础上开发TAR9964状态监测系统
    发表于 09-25 14:47 4次下载

    TwinCAT3的入门教程详细说明

    TwinCAT3 是基于 PC 的控制软件并且它开启了一个新的时代,是倍福公司历史上又一个里程碑。特别是在高效的工程领域中 TwinCAT3 将模块化思想以及其灵活的软件架构,融入到整个平台。几乎
    发表于 02-27 08:00 0次下载

    TwinCAT 3运动控制教程Version 1.0

    TwinCAT3 是基于 PC 的控制软件并且它开启了一个新的时代,是倍福公司历史上又一 个里程碑。 特别是在高效的工程领域中TwinCAT3将模块化思想以及其灵活的软件架构,融入到整 个平台
    发表于 11-17 15:33 3次下载

    如何基于TwinCAT3实现伺服电机控制

    先说一下硬件,伺服电机采用定制的关节无框力矩电机,带力矩传感器,EtherCAT通讯,想用在康复机器人上做运动控制研究 如果软件配置完毕,重启后右下角应该有一个绿色的齿轮图标,这个代表TwinCAT3已经启动了,而在配置模式下则会变为蓝色。
    发表于 05-06 11:32 4次下载
    如何基于<b class='flag-5'>TwinCAT3</b>实现伺服电机控制

    如何基于TwinCAT3实现伺服电机控制(二)

    我的伺服电机在定制时就加上了力矩传感器,虽然已经集成好了,但我怎么才能实时读出力矩值呢?这个就需要用到TwinCAT3的读写数字量模拟量输入输出功能。我们找到I/O目录下的Drive,选项卡切
    发表于 05-06 11:44 0次下载
    如何基于<b class='flag-5'>TwinCAT3</b>实现伺服电机控制(二)