您现在所在的是:

施耐德电气论坛

回帖:2个,阅读:1445 [上一页] [1] [下一页]
53
IanGoh
文章数:9
年度积分:53
历史总积分:53
品牌积分(施耐德):8
注册时间:2021/10/11
发站内信
发表于:2021/10/29 14:30:12
#0楼
请问施耐德M340如何实现定时器保持功能,软件上只有TON,TOF和TP,如果要断开信号保持计时时间怎么实现,谢谢各位大佬!
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
品牌积分(施耐德):98
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2021/10/30 10:13:02
#1楼
以下是引用IanGoh2021/10/29 14:30:12的发言:
请问施耐德M340如何实现定时器保持功能,软件上只有TON,TOF和TP,如果要断开信号保持计时时间怎么实现,谢谢各位大佬!

你可以自己构建一个带保持的定时器,例如:
STEP1:定义新定时器的输入输出,因为需要带保持,因此必须是FB,且保持定时器当前值的变量都是静态变量。
附件 Snap1.jpg

STEP2:编写类似的程序:
IF IN=TRUE AND RESET=FALSE THEN
 TON_1(IN:=NOT TON_1.Q , PT:=T#100MS);
 IF timerFlag=FALSE THEN
   V001:=TIME_TO_UDINT(PT);
timerFlag:=TRUE;
 END_IF;

 IF TON_1.Q THEN
   IF (V001<>UDINT#0) THEN
     V001:=V001-UDINT#100;
     IF V001<=UDINT#0 THEN
   Q:=TRUE;
 END_IF;
     V002:=V002+UDINT#100;
     EV:=UDINT_TO_TIME(V002);
   END_IF;
 END_IF;
END_IF;

IF RESET=TRUE THEN
 V001:=UDINT#0;
 V002:=UDINT#0;
 EV:=UDINT_TO_TIME(V002);
 Q:=FALSE;
 timerFlag:=FALSE;
END_IF;

对应于施耐德M340,我个人认为,除了少数的变量转换函数有差别外,没有更多的差别了,你可以对照着写一个。

HAVE FUN!
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
53
IanGoh
文章数:9
年度积分:53
历史总积分:53
品牌积分(施耐德):8
注册时间:2021/10/11
发站内信
发表于:2021/11/11 14:58:51
#2楼
回复 #1楼 fujifa
虽然看不懂还是谢谢你,我只会LD,最后我用的计数器配合%S6实现的,自己做了一个FBD搞定了,TIME类型感觉好大,我都是用int定义时分秒,年月日用不到了

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

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

31.2002