信捷C语言定时器函数-函数返回法.zip
(12.38 KB, 售价: 1 E币)
此函数为定时器函数,不使用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再启动,定时器才起作用。
本程序使用在XD系列,软件版本3.7.14b,使用在XC系列或者其他系列,或者软件版本低于此版本,不确保是否可行
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|