中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

信捷XINJE

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 信捷XINJE → 浏览主题: 信捷C语言定时器-函数返回值法
发表新帖 回复该主题
回帖:1个,阅读:814 [上一页] [1] [下一页]
* 帖子主题:

信捷C语言定时器-函数返回值法

分享到
647
黑武士LOMTgd
文章数:5
年度积分:50
历史总积分:647
注册时间:2016/4/4
发站内信
发表于:2022/12/8 15:25:26
#0楼
附件:信捷C语言定时器函数-函数返回法.zip
[本地下载]
附件 微信图片_20221208113925.jpg

附件 微信图片_20221208114036.jpg


此函数为定时器函数,不使用PLC内部的定时器。
函数为:INT32U Time ( INT16U IN_Tm, BOOL *IN_START, INT16U *IN_Set_Time, INT16U IN_TimeUnit )
函数形参:IN_Tm为定时器选择,和PLC内部T0、T1、T2类似。IN_Tm范围是0-99,超出范围不起作用,错误码1。
         *IN_START为定时器启动计时位,形参是布尔指针类型,如果要使用PLC内部M或者HM位作为启动位,需要使用C语言进行转换。
         *IN_Set_Time为定时器设置时间,为16位整数,参数为指针类型,可以使用&D[0]、&D[1]、&D[2]等形式进行传参或者自定义。
         IN_TimeUnit为定时器计时单位,可以写10、100、1000、60000ms即10ms、100ms、1000ms(1秒)、60000ms(1分),不是这4个值,将输出错误码1,定时器不起作用。
函数返回值为32位无符号值,例如Current1 = Time ( 0, &StartM0, &D[0], 10 ),其中Current1为32为无符号值,且为Time0的返回值。bit0~bit15位为当前计时时间,bit16为完成计时位,bit17为正在计时位,bit18~bit25为错误码输出,bit26~bit31为预留位。
本函数只能使用调试函数,不能使用到工业场景,当你调用此函数累计时间到达9小时后,函数将不起作用,只有停止PLC再启动,定时器才起作用。
如需去除限制请加QQ:1782038940

本程序使用在XD系列,软件版本3.7.14b,使用在XC系列或者其他系列,或者软件版本低于此版本,不确保是否可行



[此贴子已经被作者于2022/12/8 15:42:13编辑过]
12239
FORELF
文章数:3114
年度积分:543
历史总积分:12239
注册时间:2007/6/22
发站内信
发表于:2022/12/8 17:37:01
#1楼
用0.1秒脉冲不香吗?都不用定时器。
let me go任我行
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003