问题补充:4)对于SV的设定:设定值(如50度*100/27648然后将结果传送到SP-INT,对于反馈值:调用FC105,FC105的输出值*100/27648然后将结果传送到PV-IN,这样处理对吗?
解决方案:模拟量输入输出处理不必放在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可以给定一压力值,同样进行控制。
|