1、目的:1200压力PID。
时间:2018-08-21,2019-01-25
修改人:幕染
1200压力PID
1.组态PLC。组PLC 1215C DC/DC/DC 组CM1241
图1.1
没有文字文库不让过,天啊!
这部分是添加PLC块,选择’添加新设备’,见图1.2.将PLC1215增加到设备视图中。这是在将大脑准备好,以待我等放入灵魂。接着让我们放入名为MODBUS的485耳朵。
让我们看右手边的硬件目录,‘通讯模块->点到点->CM1241(RS422/RS485)’中选择RS232/RS485接口模块,用于等会的MODBUS 通讯。见图1.3.
图
2、1.2
图1.3
这样我们就将硬件部分的东西组态完成了。下面先是PID程序的简易使用。
2.子程序的编写。
图2.1
我写的这套PID程序是采用百分比的写法完成的。所以需要将输入的值和设置的值转换为百分比的格式。(其实转换为0.34类似的数值也是能用的)在‘程序块->添加新块->函数块’我建了转换为‘0-100’值的程序。建块的方式是如图2.1.转换的方法如图2.2.
图2.2
3.主程序的编写。
图3.1
图3.1的原理是建立一个如同PLC200的SM0.0及SM0.1。虽然在PLC属性中也可以对系统储存位和时间储存位进行设置,但用的不是
3、很开心。这样建的和PLC200亿样了。见图3.2.
图3.2
图3.3
这部分程序段是将设置和反馈值进行转换为百分比的程序段。
4.0B30中断程序的编写。
图4.1
让我们开始进行PID的程序的设计。添加组织块中的中断块,在手动的情况下,还可以对编号,循环时间(中断时间)进行设定。编号决定了中断的优先级,循环时间要以系统的运行时间配合好。特别是循环时间不要进行错误的设置,一定要注意!!!周期时间的设置在图4.2.具体怎么进行调节我这里未进行类似的试验。但在周期时间150ms的情况下,循环时间(中断时间)设置为50ms的情况下,在空试的情况下,PID调节不正常。
4、图4.2
重要的部分
图4.3
在‘指令->工艺->PID控制’中选择建立指令,建立一个名为‘主机PID’,编号120是PID块,如果你想不用默认的编号,需要打在手动上,才可以对编号进行修改。
图4.4
上面是对主机PID块的外部数据进行设置,放入设定值,反馈值,闭环状态(对于闭环状态,还有一个低版本的设置方法,在块中无法直接设置,见下文)。1200的PID还可选择手动和自动。在手动的情况下,PID的输出值是读取‘ManualValue’中的值我这里是叫做主机速度手动。
图4.5
图4.5是对PID参数进行设置,具体设置方式看图4.4和图4.5.
在有些时候
5、我们需要方便的对PID参数进行设置,例如操作屏,下面的图纸讲述了如何将PID的地址从DB块中取出,方便通过屏进行设置。
下列为PID数据地址,可以间接调用。
PID赋值
5.低版本状态下(博图V14)PID的格式。
最主要是这个PID块中没有闭环状态的设置,所以我们需要通过一个传送指令将‘PID设定状态’,送到‘“试验PID”.sRet.i_Mode’中。
6.PID实验中遇到的问题。
故障1,PID的“state”(PID当前状态)一直为0(未激活)。
解决:我将上述中‘“试验PID”.sRet.i_Mode’先设置为0,再设置为3。
故障2,将PID的输入设定为模拟量显示报错。
解决:报错后无法直接启用PID,需要将‘“试验PID”.sRet.i_Mode’先设置为0,再设置为3。
试验1,SET-15 IN-10---------------成功
试验2,SET-16000 IN-17000-----------失败(故障1)
试验3,SET-110 IN-120--------------失败(PLC乱了)