西门子CPU224XPCN继电器输出详解
长期低价销售西门子PLC,200,300,400,1200,西门子PLC附件,西门子电机,西门子人机界面,西门子变频器,西门子数控伺服,西门子总线电缆现货供应,欢迎来电咨询系列产品,折扣低,货期准时,并且备有大量库存.长期有效
欢迎您前来询价.100分的服务.100分的质量.100分的售后.100分的发货速度
您的选择您的支持是我的动力! ————致我亲爱的客户!
价格波动,请来电咨询
如上图所示,LmnN为PID的运算结果,通过和脉冲周期时间PER_TM相乘得到高电平的输出时间:
脉宽=LmnN*PER_TM/100
脉冲输出单元每次执行都累加一个CYCLE_P,通过判断累加值和脉宽,或者和周期与脉宽差值的比较来改变输出点的状态。
3.2.1 脉冲输出和PID运算
在FB58中,脉冲输出和PID计算是两个相对独立的过程,各自有自己的计算周期。对于PID计算来说,CYCLE参数可以看成是PID计算的循环周期时间,例如PID在OB35每次执行过程中都会被调用,而硬件组态过程中OB35的周期时间被设置成了500ms,则CYCLE应该填写为0.5。对于脉冲输出来说,其循环周期时间是CYCLE_P。这两个时间参数可以一样,也可以不一样。PID的计算周期主要由被测量的变化规律决定的,而脉冲输出的CYCLE_P参数由要求的脉冲输出精度决定。
为了协调PID和脉冲输出之间的矛盾,FB58提供了“SELECT"参数,其具体使用如下所示:
根据上表描述,FB58的调用可以有如下三种情况:
(1)SELECT=0,FB58只在周期中断OB(例如OB35)中调用
此时的参数配置应该将CYCLE_P和周期中断OB的中断时间保持一致。因为PID计算的执行条件是CYCLE_P的累计值和CYCLE参数一致,而脉冲输出周期PER_TM则应该CYCLE_P的整数倍,和CYCLE无关。
例如,在OB35中调用FB58,OB35的周期时间为50ms,FB58中的CYCLE_P是0.05s,CYCLE是1.0s,PER_TM是3.0s。
观察参数之间的关系,CYCLE是CYCLE_P的20倍,即OB35每20个周期执行一次FB58里的PID计算,而输出的脉冲周期是3秒钟。
(2)FB58分别在OB1和周期中断OB(例如OB35)中调用
在两个OB块中调用的FB58使用同样的背景数据块和参数,只是SELECT参数有所不同,在OB1中调用,SELECT设置为1;在周期中断OB中调用,SELECT设置为2。为了缩短OB1执行时间,可以通过FB58背景数据块中的“QC_ACT"来选择是否执行FB58,当QC_ACT为TRUE时,执行,否则跳过。
在这种方式下,处理原理同(1)一致,不同的是PID运算总是在OB1中执行罢了。OB1的执行周期对PID运算、脉冲输出均没有影响。
(3)FB58在两个不同周期时间的周期中断OB(例如OB32和OB35)中调用
FB58分别在两个周期中断OB中调用,其中周期时间长的OB中调用的FB58的SELECT参数设置为3,时间短的设置为2。
同前面两种情况不一样,SELECT选择为3时,PID的运算只和调用周期有关。例如OB32定义的周期时间是1000ms,OB35的周期时间是100ms,CYCLE_P是0.02s,PER_TM是1.0s。这样在OB32中定义SELECT参数为3,则每1秒钟就执行一次PID运算,并不是由CYCLE和CYCLE_P的关系来决定。
3.2.2 参数设置的经验法则
前面的描述说明了CYCLE/CYCLE_P/PER_TM之间的关系,对于具体的参数设置,可以有如下几条法则:
(1)CYCLE时间不能超过积分时间TI的10%;
(2)为了保证控制精度,脉冲周期时间PER_TM应该至少是CYCLE_P的50倍;
(3)脉冲周期时间CYCLE不能超过积分时间TI的5%
西门子CPU224XPCN继电器输出详解