gasuser
级别: 探索解密
精华主题: 0
发帖数量: 56 个
工控威望: 123 点
下载积分: 4577 分
在线时间: 39(小时)
注册时间: 2020-08-31
最后登录: 2024-07-12
查看gasuser的 主题 / 回贴
楼主  发表于: 2020-11-17 15:42
各位前辈请教一个控制程序

目前手头上有五颗水泵马达分别五台变频器控制
我的控制需求如下  请问该如何编写PLC程序比较适合呢?


1.    每次开启时均开启其中1、2、3、4马达 听机后下次开启则是2、3、4、5马达依此下去循环
2.    变频控制则是当温差小于设定值则降频、反之则增频,若是降频至30Hz时温差仍是小于设定值时则是关闭第一台而其他台则是根据温差判断是否增频以此类推下去

请各位前辈不吝指导  谢谢  最好是三菱或是永宏的程序  不然小弟看不懂
我只是个新手 问题比较多 请各位前辈多多见谅
二当家的
级别: 家园常客
精华主题: 0
发帖数量: 108 个
工控威望: 907 点
下载积分: 4263 分
在线时间: 79(小时)
注册时间: 2016-09-19
最后登录: 2024-05-25
查看二当家的的 主题 / 回贴
1楼  发表于: 2020-11-17 19:17
PROGRAM Main_PRG
VAR                  
        iMotor: ARRAY[1..10] OF INT := [15,30,29,27,23];
    iOutPut : INT;
    iMotorCmd : INT := 1;
    iMotorSts : INT;
    bStartBtn: BOOL;
    bStopBtn: BOOL;
    RT: ARRAY[1..5] OF R_TRIG;
END_VAR

RT[1](CLK := bStopBtn);
RT[2](CLK := bStartBtn);
IF RT[1].Q THEN
    IF iMotorCmd <5 THEN
        iMotorCmd := iMotorCmd + 1;
    ELSE
        iMotorCmd := 1;            
    END_IF
    iOutPut := 0;
END_IF
IF RT[2].Q THEN
    IF iMotorCmd >= 1 AND iMotorCmd <= 5 THEN    
        iOutPut := iMotor[iMotorCmd];
        iMotorSts := iMotorCmd;
    ELSE
        iMotorSts := 0;    
        iOutPut := 0;
    END_IF
END_IF
本帖最近评分记录:
  • 下载积分:+1(幽默人生) 好贴好贴!