TwinCAT3中GetSystemTime()功能块使用
GETSYSTEMTIME功能块的使用
功能块调用:
首先需要实例化功能块:然后就可以调用了,很简单。
GETSYSTEMTIME(timeLoDW=> , timeHiDW=> );
功能块讲解:
此功能块可以读取操作系统的时间戳(time stamp),这个time stamp 是一个64位整形数据,精度是100ns,每当TwinCAT3 plc 调用此功能块,就会更新此time stamp。
其中最主要的两个用法是:1,用于给某项任务定时。2,用于计算时间,比如给气缸运行时间,电机运行时间计时等。请注意一个最小单位是100ns(纳秒)。
下面给出在此功能块中纳米和毫秒的具体转换公式:
convert to ms :
SystemTime.timeLoDW is time in 100ns
SystemTime.timeHiDW is time in 4294967295 * 100 ns
使用例子:
首先创建一个函数叫F_GetSysTime, 返回值类型为ULINT。
变量声明如下:
FUNCTION F_GetSysTime : ULINT
VAR_INPUT
END_VAR
VARGetSystemTime: GETSYSTEMTIME;
END_VAR
函数主代码如下:
GetSystemTime(timeLoDW=> , timeHiDW=> );
F_GetSysTime := UDINT_TO_ULINT(GetSystemTime.timeHiDW)*4294967296 + UDINT_TO_ULINT(GetSystemTime.timeLoDW)/10000;
这样就可以在main程序里应用上边这个函数了,以下代码段是main程序的变量声明和主代码。
PROGRAM MAIN
VARbStart:BOOL;bEnd:BOOL;StartTime,EndTime:ULINT;ElapseTime:ULINT;END_VARIF bStart THENStartTime:= F_GetSysTime();
END_IFIF bEnd THENEndTime := F_GetSysTime();
END_IF
ElapseTime := EndTime - StartTime;
然后我在TwinCAT3的Visualization里边分别链接了这几个变量,用来演示上边的例子。
Start button 链接了MAIN.bStart 变量,
End button-->MAIN.bEnd
StartTime Label -->MAIN.StartTime, text 属性设置为:StartTime: %d ms
EndTime Label-->MAIN.EndTime, text 属性设置为:EndTime: %d ms
Elapsetime Label-->MAIN.ElapseTime, text 属性设置为:ElapseTime: %d ms
在下图中,我首先点击Start button,然后点击End button, 就可以看到ElapseTime的值为4040ms, 即我点击start button 和End Button 中间的间隔是4040ms。
TwinCAT3中GetSystemTime()功能块使用相关推荐
- TWINCAT3中使用FIFO收集三轴的位置信息,XML文件的生成,解决常见报错
TWINCAT3中使用FIFO收集三轴的位置信息,XML文件的生成,解决常见报错 1.首先到官网下载程序 很多时候我们用twincat不具备硬件条件,需要用到虚轴进行测试,但是对于初学者来说,用twi ...
- 倍福TwinCAT3中使用久同伺服
目录 一.测试设备说明 二.伺服通电和参数设置 1.恢复出厂参数设置 2.恢复出厂,重启后 3.伺服自己点动操作 4.增益.刚度调整 5.伺服零位设定 6.伺服转动一圈编码器脉冲量设定 7.参数保存 ...
- TwinCAT3中授权码激活操作的详细步骤和注意事项
前言 倍福的PLC在购买以后通常需要根据自己的需求购买对应的软件授权模块,这样就需要自行进行软件激活操作,本文详细阐述了PLC激活软件模块的操作步骤和注意事项,以供工程师参考. 步骤一 License ...
- TwinCAT3安装完成后使用过程中遇到的问题
** TwinCAT3安装完成后使用过程中遇到的问题 ** 最近在学习倍福的TwinCAT3软件,也遇到了一些问题,想着记录一下,方便之后查找,其实也是给自己写的.毕竟第一次在CSDN上写文章,写的不 ...
- TwinCAT3第三方伺服电机——汇川IS620N使用
目录 一.硬件连接和NC轴关联. 1.首先将IS620N配置文件IS620N-Ecat_v2.5.3.xml文件拷贝到C:\TwinCAT\3.1\Config\Io\EtherCAT中. 2.新建T ...
- altium pcb 信号高亮_在PCB设计中高效的放置元件技巧
在印刷电路板设计中,设置电路板轮廓后,将零件(占地面积)调用到工作区.然后将零件重新放置到正确的位置,并在完成后进行接线. 组件放置是这项工作的第一步,对于之后的平滑布线工作是非常重要的工作.如果在接 ...
- 西门子300 PLC 功能块及背景数据块的说明
S i e me n s S T E P ' / 语言是 S i e me n s s 7-3 0 0 . 4 0 0系列 P L C程序设计语言.s 7系列 P L C 是 S 5系列 P ...
- 无线传感器网络技术中的关键性问题
一.引言 无线传感器网络是一种独立出现的计算机网络,它的基本组成单位是节点,这些节点集成了传感器.微处理器.无线接口和电源四个模块.传统的计算机网络技术中业已成熟的解决方案可以借鉴到无线传感器网络中来 ...
- 西门子PLC中OB、FC、FB、SFC、SFB的区别是什么?
导读: 程序采用结构化程序,把程序分成多个模块,各模块完成相应的功能.结合起来就能实现一个复杂的控制系统.就像高级语言一样,用子程序实现特定的功能,再通过主程序调用各子程序,从而能实现复杂的 ...
最新文章
- 人工智能研究人员都忽略的问题
- win32 api setwindowlong 第2个参数_FME与MapBox 01:等时圈(Isochrone)API
- 安装源码包(这里主要写了redis,其他都一样的操作)
- 毕业论文摘要的书写方法和技巧
- 云服务器定时启动程序_过去、现在和未来:开发一款微信小程序的技术迭代全过程...
- codeforces 1221 A B C D
- eclipse上的maven,添加依赖后无法自动下载相应的jar包
- 从Android转大前端半年,我的一些思考
- 自动驾驶 2-4 环境表示 Environment Representation
- 宋宝华:公元1024年Linux内核的尘封往事
- 学习Python制作的智能小车
- 百度热力图和高德热力图对比
- Electron技术架构
- 如何理解C++中的.h文件和.cpp文件
- Win7激活工具无效?输入SLMGR -REARM显示不是内部命令?
- 一键上传文档至Google文档
- ch341a i2c 安卓_CH341-I2C-labview-all-vision CH341A的I2C接口Labview all vision - 下载 - 搜珍网...
- Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤
- java教学视频毕向东_集合3--毕向东java基础教程视频学习笔记
- Efficient Dense Frontier Detection for 2D Graph SLAM Based on Occupancy Grid Submaps
热门文章
- Android中导航栏之溢出菜单OverflowMenu
- 会计平台常见问题QA
- 批量修改文件名,图文教学,2分钟简单学会
- 电子科技大学计算机科学与技术考研复试,电子科技大学计算机科学与工程学院2021考研招生复试工作安排...
- 网易称暴雪离婚不离身;苹果发布 M2 Pro 和 M2 Max 芯片;滴滴出行 App 已重新上架安卓应用商店 | 极客头条...
- Jboot整合Swagger
- 富有人情味的入住体验
- 国产ChatGPT命名图鉴
- 微信支付分 - 取消支付分API
- 计算机关闭显示器电源,打开计算机电源后,将显示进入睡眠模式时如何修复计算机...