一个逻辑很强的程序【Q】检测出口温度来控制20个风扇,温度高于设定值就启动一台风扇,一分钟后温度还高于设定值就启动下一台风扇,
一分钟后温度降到设定值以下就关闭一台风扇
上面的动作容易实现,现在的问题是每个风扇都有手动和自动两个状态
假如说现在1,6,9,18,20
5台在自动,其余手动温度高于设定值启动1,温度还高于设定值怎么才能跳过2,3,4,5直接启动6呢
我考虑的是为每台风扇编号,首先检测哪几台在自动状态,然后控制,可是这样逻辑太复杂了有没有简单的办法
【A】fx3u可以对位变址,程序比较简单,循环控制即可:FX2N就要用移位,间接获得自动位,M0仍为1min计时,M10~M29为自动状态标识,M100~M119为对应的风扇输出,其他为缓存位:2
三菱PLC程序动作分析【Q】这是其中的一部分为什么C1线圈已得电,可下面的RSTM100却没有得电这里的动作为什么是M19得电一次,M100置位一次,M19再得电一次,变复位一次
我用的是在线模拟,有关系吗
【A】考虑一个扫描周期内的状态:首先M100是OFF的,C1被M100的常闭触点一直复位中;M19置ON后第一个扫描周期第一句指令:当M19第一次为ON时,C0计数到1,线圈变为ON;第二句指令:C0将M100置位为ON;(注意此时程序还没有扫描到后面,C1仍然是在被复位的状态
而内存中的M100状态已经由OFF变为ON了)第三句指令:M100将C0复位;第四句指令:虽然M19和M100同时为ON,但是因为C1仍在被复位的状态,所以此时没有计数
虽然输出线圈显示为ON了,但计数值仍为0;第五句指令:C1计数值为0,未达到设定值1,触点保持为OFF,未能复位M100;第六句指令:M100保持为ON,未能继续复位C1;第二个扫描周期:第一句指令:当M19仍为ON时,但M100也为ON了,所以C0不