您现在所在的是:

人机界面

回帖:2个,阅读:733 [上一页] [1] [下一页]
* 帖子主题:

宏指令应用

42328
YXBK 版主
文章数:19445
年度积分:2742
历史总积分:42328
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2020/11/16 11:09:25
#0楼
公司有3台罗茨风机,分正常模式M450=1和省电模式M450=0,正常模式分连续运行M451=1和间隔运行M451=0还分1台M452=1与2台M452=0,

转换时间LW3110,间隔的运行时间LW3111,间隔的停止时间LW3112,

正常模式的连续运行就是轮流切换,如果是1台,那么就是1#2#3#轮流转换,如果是2台,就是1#2# 2#3# 3#1#这样轮流转换

正常模式的间隔运行就是假设运行2小时,然后又停2小时,运行的时间加起来到转换时间时再轮流切换,切换跟连续运行方式一样

省电模式是1台连续运行加一台间隔运行,间隔运行要能选择1#2#3#(LW3115=1、2、3),连续运行的两台要自动转换,假设2#为间隔,那么1#和3#轮流转换,假设3#为间隔,那么1#和2#轮流转换。

用的是优控一体机,这个PLC是FX1S的,FX1S功能指令比较少,我就用触摸屏的宏指令来写了。


附件 1.jpg

附件 2.jpg

附件 3.jpg

附件 4.jpg

附件 5.jpg

附件 6.jpg



大家一起学习
42328
YXBK 版主
文章数:19445
年度积分:2742
历史总积分:42328
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2020/11/16 11:10:43
#1楼
这样一来,PLC里面的程序就很简单了。

附件 7879.jpg
大家一起学习
42328
YXBK 版主
文章数:19445
年度积分:2742
历史总积分:42328
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2020/11/16 11:11:14
#2楼
#include "MacroInit.h"

void Macro_main()
{
//Put you code here
//or visit www.ykhmi.com to learn more

if(LB10==1)  //清零
{
LW3120=0;
LW3121=0;
LW3122=0;
LW3123=0;
LW3124=0;
LW3125=0;
LW3126=0;
LB10=0;
}

if(M450==1) //正常模式计时
{
if (YY4==1)
{
LW3120=LW3120+1;
}

if (YY5==1)
{
LW3121=LW3121+1;
}

if (YY6==1)
{
LW3122=LW3122+1;
}
}


if (M450==1 && M452==1)  //正常模式单台
{
if (LW3120 < LW3110)
{
M400=1;
M401=0;
M402=0;
}
if (LW3120 >= LW3110)
{
M400=0;
M401=1;
M402=0;
}
if (LW3121 >= LW3110)
{
M400=0;
M401=0;
M402=1;
}
if (LW3122 >= LW3110)
{
M402=0;
LW3120=0;
LW3121=0;
LW3122=0;
}
}


if (M450==1 && M452==0)//正常模式两台
{
if (LW3120 < LW3110)
{
M400=1;
M401=1;
M402=0;
}
if (LW3120 >= LW3110)
{
M400=1;
M401=0;
M402=1;
}
if (LW3122 >= LW3110)
{
M400=0;
M401=1;
M402=1;
}
if (LW3121 >= LW3110*2)
{
M401=0;
M402=0;
LW3120=0;
LW3121=0;
LW3122=0;
}
}


if (M450==1 && M451==1)  //连续运行
{
M410=M400;
M411=M401;
M412=M402;
LW3123=0;
LW3124=0;
}


if( M450==1 && M451==0)  //间隔运行
{
if (YY4==1 || YY5==1 || YY6==1)
{
LW3123=LW3123+1;
}
if (LW3123>= LW3111)
{
M410=0;
M411=0;
M412=0;
LW3124=LW3124+1;
}
if (LW3124>= LW3112)
{
M410=M400;
M411=M401;
M412=M402;
LW3123=0;
LW3124=0;
}
}


if (M450==0)  //省电模式
{
if (LW3123<LW3111)
{
M400=1;
}
if (M400==1 && (YY4==1 || YY5==1 || YY6==1))
{
LW3123=LW3123+1;
}
if (LW3123>=LW3111)
{
M400=0;
LW3124=LW3124+1;
}
if (LW3124>=LW3112)
{
LW3123=0;
LW3124=0;
}
if (LW3125< LW3110)
{
M401=1;
M402=0;
}
if (M401==1 && (YY4==1 || YY5==1 || YY6==1))
{
LW3125=LW3125+1;
}
if (LW3125>=LW3110)
{
M402=1;
M401=0;
}
if (M402==1 && (YY4==1 || YY5==1 || YY6==1))
{
LW3126=LW3126+1;
}
if (LW3126>=LW3110)
{
M402=0;
LW3125=0;
LW3126=0;
}
if (LW3115==1)  // 1号省电
{
M410=M400;
M411=M401;
M412=M402;
}
if (LW3115==2)  // 2号省电
{
M410=M401;
M411=M400;
M412=M402;
}
if (LW3115==3)   // 3号省电
{
M410=M401;
M411=M402;
M412=M400;
}
}
}
大家一起学习

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

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

31.2002