S300PID控制-解决方案_自动化英才网_百度空间

问题补充:4)对于SV的设定:设定值(如50度*100/27648然后将结果传送到SP-INT,对于反馈值:调用FC105,FC105的输出值*100/27648然后将结果传送到PV-IN,这样处理对吗?
5) 对于输出变量 ,执行:LMN*27648/100,然后将结果取整传送给FC106,再将FC106的输出值输给变频器。


问题资料:CPU是314C-2DP;在OB35里面调用FC105来处理模拟量输入:(有热电阻温度的也有4到20MA信号的)模拟量大概有100个(整个系统的)其中有5个是PID的过程值:
PID控制:有两种,1)种是控温的,2)是控压力的;
做法:控温是控制热水流进量的大小的;用FC51的变频器,首先通过温度传感器采集温度值送给PLC,PID之后再通过FC106输出4~20MA信号给变频器控制电机,从而控制水量;
压力控制:也是控制液休的流速,方法同上;
问1)我OB35里面用了那么多模拟量,请问这样会不会对PID处理速度有影响(OB35的周期为500MS)??有没有加一个PID控制模块的必要?
2)温度控制的PID是调用FB41还是FB58?

解决方案:模拟量输入输出处理不必放在OB35里,可以放在自己建立FC功能中,这样做便于维护,也符合程序的结构化思想。都放在OB35里,对处理速度当然是有影响的啊,PLC也有操作系统,资源是有限的。按照你的工艺,用FB41即可。至于设定值SP_INT,不需要那样处理,因为SP_INT数据类型是浮点型,可以定义一个浮点型的参数(如MD20或DBD1.DBD10),设定时直接往这个参数写入50.0就可以啦。对于反馈值,也就是过程实际过程值,你已经用FC105转化过了,FC105的输出值就是一个浮点型的数值,所以,FC105的输出值可以直接放在PV_IN上。至于输出,你的做法是多余的,:LMN*27648/100的处理是对的,你已经经过线性化处理,就可以把这个转化结果直接传送给变频器控制字的写频率字,也可以不要转化,直接把外部输出点放在LMN_PER上,如PQW300,因为LMN_PER=LMN*27648/100。不需要用FC106。

解决方案2:对于温度控制,可以调用FB41来实现,PIW(温度传感器信号)经过I--DI,DI---R,R/10,得到实际值,温度不能调用FC105来得到实际值,只能这样转换。将此实际值给FB41的PV-PER,而SP-INT,可以通过DB1.DBD124等来设定(0--100度),LMN-PER即为PQW(4--20ma)输出至变频器,进而控制电机的速度,达到控制温度的目的。当实际温度小于设定温度时,电机加速,温度上升,当实际温度大于设定温度时,电机减速,温度下降,适当的调整P,I常数,可以控制温度的恒定。对于压力,同样处理,压力传感器的PIW经过FC105转化成介于规定压力的范围内的实数值,即为FB41的实际值,SP-INT可以给定一压力值,同样进行控制。
对于输出,可以将PQW端子直接接至变频器,即可,不用FC106转化。



郑重声明:资讯 【S300PID控制-解决方案_自动化英才网_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——