首页 > 其他分享 >Qt TwinCAT3中的变量回调函数的时间戳读取方式

Qt TwinCAT3中的变量回调函数的时间戳读取方式

时间:2023-08-04 09:12:36浏览次数:46  
标签:SystemTime 读取 例程 FileTime TimeZoneInformation TwinCAT3 LargeInteger include Qt

官网提供了例程,官网真是个宝库。基本ADS的操作都里面有例程了,但是可能会稍微分散一点,不过多看几遍,也就慢慢整理你所需要的东西出来了。

https://infosys.beckhoff.com/index_en.htm

 1 #include <Windows.h>
 2 #include <conio.h>
 3 #include <winbase.h>
 4 
 5 #include <TcAdsDef.h>
 6 #include <TcAdsAPI.h>
 7 
 8 void myPAdsNotificationFuncEx(AmsAddr*    pAddr,
 9                               AdsNotificationHeader* pNotification,
10                               unsigned long hUser
11                               )
12 {
13     SYSTEMTIME              SystemTime, LocalTime;
14     FILETIME                FileTime;
15     LARGE_INTEGER           LargeInteger;
16     TIME_ZONE_INFORMATION   TimeZoneInformation;
17 
18     // Convert the timestamp into SYSTEMTIME
19     LargeInteger.QuadPart = pNotification->nTimeStamp;
20     FileTime.dwLowDateTime = (DWORD)LargeInteger.LowPart;
21     FileTime.dwHighDateTime = (DWORD)LargeInteger.HighPart;
22     FileTimeToSystemTime(&FileTime, &SystemTime);
23 
24     // Convert the time value Zeit to local time
25     GetTimeZoneInformation(&TimeZoneInformation);
26     SystemTimeToTzSpecificLocalTime(&TimeZoneInformation, &SystemTime, &LocalTime);
27 
28     // Print out the timestamp
29     qDebug() << LocalTime.wHour << ":"
30              << LocalTime.wMinute << ":"
31              << LocalTime.wSecond << '.'
32              << LocalTime.wMilliseconds;
33 
34     //这样子不行,貌似Qt不支持这种timeStamp
35     //qDebug() << QDateTime::fromTime_t(pNotification->nTimeStamp);
36 }

 

标签:SystemTime,读取,例程,FileTime,TimeZoneInformation,TwinCAT3,LargeInteger,include,Qt
From: https://www.cnblogs.com/ybqjymy/p/17604982.html

相关文章

  • Qt ADS中通过变量名访问变量的值
    在倍福提供的TwinCATADS的库的C(C++)接口中,有两种方式可以访问到PLC中的变量:根据地址访问、根据变量名访问。根据地址来访问的代码如下:1...2QStringhostNetId="192.168.12.51.1.1";3inthostPort=851;4AmsAddrtargetAddr=createAddr(hostNetId,hostPort);//这个......
  • shell 读取文件内容到数组
     在shell脚本中,可以使用下面的语法来读取文件内容并将其存储到数组中: bash复制代码array=()whilereadline;doarray+=("$line")done<file.txtLOG_INFO(){localcontent=${1}echo-e"\033[32m[INFO]${content}\033[0m"}IFS=''catbanner.......
  • shell 将文件内容读取到 数组中
    #!/bin/bashprod_file=/home/vmuser/linbo/kettleDemo/job/test/CA-20201224.csvtest_file=/home/vmuser/linbo/kettleDemo/job/test/uat_CA-20201224.csvdtm=`date+"%Y%m%d%H%M%S"`echo$dtmrowCnt=`cat$test_file|wc-l`echo$rowCntecho"-----......
  • excel递归读取目录并输出
    添加依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> ......
  • pycharm配置QtDesigner
    一、安装需要的库pipinstallpyqt5pipinstallpyqt5-tools 二、配置QtDesigner 配置 QtDesignerName:QtDesignerGroup:QtProgram:C:\python\venv\Lib\site-packages\qt5_applications\Qt\bin\designer.exeWorkingdirectory:$ProjectFileDir$ 配置 PyUICNa......
  • UE5 蓝图运行时错误:"“无访问”正在尝试读取属性
    场景测试DBBrowser控件,打开网页功能,调试错误:蓝图运行时错误:"“无访问”正在尝试读取属性DBBrowserUI0"。节点:LoadURL图表:EventGraph函数:ExecuteUbergraphLoginUI蓝图:LoginUI分析当前问题是创建了一个DBBrowser的变量,但是没有给它赋值,就直接调用了,导致该值是空的,从而......
  • iTOP-STM32MP157开发板一键烧写 QT 程序到开发板
    1根据上一小节设置好编译套件后,打开自己的qt工程,然后点击qtcreator里面的项目,把编译器切换成上一章节设置好的的编译器,如下图所示:2然后打开要编译的QT代码的pro文件,在里面添加以下代码,这俩行代码的意思是说把编译的可执行程序下载到开发板的/opt目录下并执行。target.pa......
  • MQTT:轻量级消息传输协议在物联网中的应用
    随着物联网技术的发展,越来越多的设备需要进行实时通信和数据交换。在这样的背景下,MQTT(MessageQueuingTelemetryTransport)作为一种轻量级的消息传输协议,逐渐成为物联网领域的热门选择。本文将介绍MQTT协议的基本概念、特点以及在物联网中的应用,同时通过代码实例演示如何使用MQTT......
  • python使用mqtt
    一、安装mqtt服务器安装对应的软件:https://www.emqx.io/zh/downloads推荐使用docker安装默认账号和密码:admin、public 二、编写代码消息发布程序importtimeimportjsonimportpsutilimportrandomfrompaho.mqttimportclientasmqtt_clientbroker='127.0.0.1......
  • Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo
    前言  上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好。<br>大地坐标简介概述  大地坐标(Geodeticcoordinate)是大地测量中以参考椭球面为基准面的坐标,地面点P的位置用大地经度L、大地纬度B和大地高H表示。原理  当点在......