codesys 获取系统时间

article/2025/10/3 13:42:57

codesys 获取系统时间

  1. 添加获取时间库 添加库输入caa dtutil搜索库,选中双击添加

在这里插入图片描述

2.定义功能块,读取时间

PROGRAM PLC_PRG
VAR//定义读取当前时间功能块ReadCurrentTime:dtu.GetDateAndTime;//系统当前时间,注意此时的时间为世界时间并非本地时间dtTime:DT;//更新时间变化RTC_BLOCK:RTC;dtTime2:DT; 
END_VAR
ReadCurrentTime(xExecute:= TRUE, xDone=> , xBusy=> , xError=> , eError=> , dtDateAndTime=>dtTime , ePeriode=> );
RTC_BLOCK(EN:= ReadCurrentTime.xDone, PDT:= dtTime, Q=> , CDT=> dtTime2);

3.运行 Codesys SoftMotion Win 下载运行,效果如下:
在这里插入图片描述
4.注意此时读到的时间为世界时间需要转换为北京时间

PROGRAM PLC_PRG
VAR//定义读取当前时间功能块ReadCurrentTime:dtu.GetDateAndTime;//系统当前时间,注意此时的时间为世界时间并非本地时间dtTime:DT;//更新时间变化RTC_BLOCK:RTC;dtTime2:DT;//时间总秒数w_TotalSeconds :LINT;//本地时间总秒数l_TotalSeconds:LINT;sysCurrentTime:DT;
END_VAR
ReadCurrentTime(xExecute:= TRUE, xDone=> , xBusy=> , xError=> , eError=> , dtDateAndTime=>dtTime , ePeriode=> );RTC_BLOCK(EN:= ReadCurrentTime.xDone, PDT:= dtTime, Q=> , CDT=> dtTime2);
//获取时间时间总秒数
w_TotalSeconds:=DT_TO_LINT(dtTime2);
//应为北京时间和世界时间相差8小时
l_TotalSeconds:=w_TotalSeconds + 8 * 60 * 60;
//转换成时间格式
sysCurrentTime:=LINT_TO_DT(l_TotalSeconds);

5.从新下载运行即可得到本地时间
在这里插入图片描述
源码下载


http://chatgpt.dhexx.cn/article/f6S9vqQy.shtml

相关文章

C语言-获取系统时间

目录 1.静态打印系统时间 1.要了解的知识 1.1 time_t 类型 1.1.2struct tm 类型 1.1.3 time()函数 1.2显示系统时间函数 1.2.1 localtime()函数---显示当前时区的时间 1.2.2 ctime()函数---以特定方式显示当前时间信息 1.2.3 asctime()函数---将包含当前日期时间信息的tm*类型…

shell脚本函数返回数组

执行脚本(文件my.sh),输出结果

子函数返回数组(指针和结构体)

一般用void的话就是没有返回值和不需要返回值的了,如调用一个输出函数,这个函数就没必要返回了,事实上这个函数只管输出就好了,也没有什么值要返回的,另一种是用指针传址的时候,因为你传的是地址&#xff0…

c++函数返回数组类型

c函数返回数组类型 首先,C 不允许返回一个完整的数组作为函数的参数。但是,可以通过指定不带索引的数组名来返回一个指向数组的指针。C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。 方法一:将返回值定义…

C++ 函数返回数组处理方法

最近在通过函数返回数组时踩到了一些坑,在此记录一下。 首先C函数的返回类型没有“数组”这一结构,因此一般情况下我们会采用指针去接受数组的首地址来进行返回。另外由于函数体内定义的变量均为局部变量,局部变量被存储在栈区会在函数调用完…

c++ 函数返回数组

以下转自:http://blog.csdn.net/lijiayu2015/article/details/52821562 C中函数是不能直接返回一个数组的,但是数组其实就是指针,所以可以让函数返回指针来实现。 不能直接返回函数中定义的数组,会被释放掉 float* add(a[3],b[3]…

C++如何让函数返回数组

C如何返回数组 1.前言指针与指针变量的区分背景 2.正文第一次(❌)第二次(✔)优化vector 方法 3.总结4.更新日志 1.前言 指针与指针变量的区分 int x5; &x //这是指针 变量x的地址叫做它的指针 int * tem…

函数的返回值——数组返回

在C语言中,首先来对函数的返回值来温习一下: 函数调用使主调函数得到一个确定的值,这就是函数的返回值。函数的返回值是通过return 语句获得的。 那我们来提一个这样的问题,如果是一个数组通过排序后,得到了一个新的…

深度学习环境搭建之三_离线安装无线网卡、DKMS

2020.12.08更新:最近又离线装了一次Ubuntu系统。这次离线安装DKMS会报错,没有gcc、make;网上看了一下,gcc离线安装很麻烦,总得来看,还是放弃离线安装Ubuntu吧,联网后安装难度下降99% 【上次难道…

解决一例Fedora 31安装NVIDIA官方驱动程序无法使用DKMS注册的问题

更新: If Not True Then False提供了一份Patch后的340.108版驱动,直接使用此版驱动安装包不会遇到DKMS报错,升级5.5内核时也没有问题,点击进入下载页面。 手头一台Dell D630的本本,虽然已经10年以上寿命,拿…

DKMS:Dynamic Kernel Module Support

DKMS简介 DKMS全称是Dynamic Kernel Module Support,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。 1.背景 对于没有内核编程经验的使用者来说,使用者可能经常困惑:为什么更新操作系统之后,原来用的好好的…

DKMS(大开门是什么意思)

ZS,DZ,DKMS玩了很久了,RAIDJJC也玩了不少了,现 盗贼刚刚又被加强了.其实无论什么职业竞争,都是靠人脉和职业本身无关,刚开TBC的时候DZ下副本没人要.我们亲友团的DZ跟我们一路走来,一个副本也没拉下.所以固定亲友团才是王道.选择自己喜欢的职业,别光顾着好拿装备. 商…

DKMS是什么?

我们都知道,如果要使用没有集成到内核之中的Linux驱动程序需要手动编译。当然,这并不是一件什么难事,即使是对于没有编程经验的Linux使用者,只要稍微有点hacker的意识,努力看看代码包里的Readme或者INSTALL文件&#x…

深度linux安装dkms,安装Virtualbox 错误提示安装DKMS解决方法

玩蛇网推荐图文教程:python 列表 安装Virtualbox 错误提示安装DKMS解决方法。在open 12.3安装Virtualbox出错了,最开始提示什么安装DKMS,然后下载安装后出现如图的错误。Failed, trying without DKMS让人头疼。 下面把错误提示图和提示贴出来了 sincerefly@linux-eq1f:~/Dow…

DKMS简介

我们都知道,如果要使用没有集成到内核之中的Linux驱动程序需要手动编译。当然,这并不是一件什么难事,即使是对于没有编程经验的Linux使用者,只要稍微有点hacker的意识,努力看看代码包里的Readme或者INSTALL文件&#x…

如何解决接口幂等性问题?

什么是幂等性? 参考地址:解决幂等问题 概念: 一个接口,不管我调多少次,只要参数不变,结果也应该不变。 但是在实际工作中,幂等性一般分为两种: 请求幂等:每次请求&…

接口幂等性的理解

一. 什么是接口幂等性 幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。它是系统服务对外的一种承诺(注意不是一种实现),接口服务提…

什么是接口幂等性?为什么会产生接口幂等性问题?如何保证接口幂等性?

博主负责的项目报了一个问题,用户操作回退失效。我们的设计里,操作回退是回到操作前的状态。经过查看日志发现,用户之前的操作做了两次,也就是说提交操作的接口被调用了两次,导致之用户上一次的状态和这一次的状态是一…

接口幂等性校验

接口幂等性校验 一、概念 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指…

接口幂等性这么重要,它是什么?怎么实现?

什么是幂等性? 对于同一笔业务操作,不管调用多少次,得到的结果都是一样的。 幂等性设计 我们以对接支付宝充值为例,来分析支付回调接口如何设计? 如果我们系统中对接过支付宝充值功能的,我们需要给支付宝…