PLC 顺序控制在工业控制中占有很大分量,对复杂系统采用功能图法,
它把整个系统分成几个时间段,在此时间段里可以有一个输出,也可以有多
个输出,但它们各自状态不变。一旦输入有一个变化,状态就发生变化,给
每个时间段设定一个状态器,利用这些状态器的组合控制输出。电动机顺序
控制要求如下:
(1)按下电动机 1 启动按钮时,电动机 1 启动并连续运转,并为电动
机 2 启动做好准备;当按下电动机 2 启动按钮后,电动机 2 启动并连续
运转。
(2)电动机 1 处于停止状态时,电动机 2 不能启动。
(3)按下停止按钮,电动机 1、电动机 2 停止运转与FB相比,FC的局部变量多了一个RET_VAL(返回值)。它实际上是输出参数。默认的情况它是没有数据类型的,在调用FC时也看不到这个输出参数。只要在局部变量表中设置RET_VAL的数据类型,在调用时就能看到它在方框的右边出现,所以它是一个输出参数。 我很长时间一直不理解为什么要设置这样一个局部变量,而不是将它纳入输出参数。后来偶然在一个资料上看到,这是为了和plc编程语言的IEC 61131-3一致而设置的。 西门子的FC对输出参数的个数没有限制,比IEC 61131-3的FC更好用一些。 |
1、定时器在子程序中的表现: |
1:采样周期默认设置为1S,实际编程中这个应该怎么进行设置?
2:必须用SM0.0调用,可是我想在一段时间内才进行PID运算,怎么设置?
3:当偏差变大,则PID输出结果也变大;那么当设定值小于过程值,即偏差变成负值时候,PID输出结果怎么变化?
4:S7-200用向导编程PID之后,直接用SM0.0调用就可以了吗?我看有的资料说还要写入回路控制 0才能运行?。
5:向导生成PID输出的范围是多少?如果用这个输出值来控制一个+-10V的阀门,怎么把PID输出转化到+-10V上面?
6:程序中的PID子程序运行时,怎么能让它运行20MS,然后退出运行?
答:1:采样周期默认设置为1S,实际编程中这个应该怎么进行设置?
、编程时指定的PID控制器采样时间必须与实际的采样时间一致。S7-200中PID的采样时间精度用定时中断来保证。
、定时中断:
S7-200有四个定时中断定时器,两个特殊寄存器(SMB34/SMB35)和两个定时器( T32/T96)中断。中断定时计时**,可以用来执行模拟量定时采样等任务。
2:必须用SM0.0调用,可是我想在一段时间内才进行PID运算,怎么设置?
定时中断(SMB34/SMB35)长定时为255ms,如何实现更长时间的定时?
可以采用T32/T96中断,长时间可到32.767s。在定时中断服务程序中对进入中断的次数进行计数,也能实现更长时间的中断延时。
3:当偏差变大,则PID输出结果也变大;那么当设定值小于过程值,即偏差变成负值时候,PID输出结果怎么变化?
、过程变量超过设定值很多就会很大的超调。产生原因:积分时间(Integral time)可能太高
解决方法:降低积分时间 。
、得到一个非常不稳定的PID。产生原因:如果用了微分,可能是微分参数有问题。没有微分,可能是增益(Gain)值太高。
解决方法:
调整微分参数到0-1的范围内 ,根据回路调节特性将增益值降低,低可从0.x 开始逐渐增大往上调,直到获得稳定的PID。
4:S7-200用向导编程PID之后,直接用SM0.0调用就可以了吗?我看有的资料说还要写入回路控制 0才能运行?
详见上传的图片。
5:向导生成PID输出的范围是多少?如果用这个输出值来控制一个+-10V的阀门,怎么把PID输出转化到+-10V上面?
应用在指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。
6:程序中的PID子程序运行时,怎么能让它运行20MS,然后退出运行?
PID需要有一个调节过程,必须是根据反馈连续地调节才能趋于稳定。不知楼主的用意是什么?限时20MS,对于信号的反馈时间与硬件有关。
- 西门子低压代理-2023 2023-10-26
- 西门子数控系统代理-2023 2023-10-26
- 西门子触摸屏代理-2023 2023-10-26
- 西门子伺服电机代理-2023 2023-10-26
- 西门子交换机代理-2023 2023-10-26
- 西门子变频器代理-2023 2023-10-26
- 西门子电线电缆代理-2023 2023-10-26
- 西门子cpu模块代理-2023 2023-10-26
- 西门子plc模块代理-2023 2023-10-26
- 西门模块代理-2023 2023-10-26