完整word版博图V15PLC1200PID.docx
- 文档编号:6857602
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:11
- 大小:1.31MB
完整word版博图V15PLC1200PID.docx
《完整word版博图V15PLC1200PID.docx》由会员分享,可在线阅读,更多相关《完整word版博图V15PLC1200PID.docx(11页珍藏版)》请在冰豆网上搜索。
完整word版博图V15PLC1200PID
目的:
1200压力PID。
时间:
2018-08-21,2019-01-25
修改人:
幕染
1200压力PID
1.组态PLC。
组PLC1215CDC/DC/DC组CM1241
图1.1
没有文字文库不让过,天啊!
这部分是添加PLC块,选择’添加新设备’,见图1.2.将PLC1215增加到设备视图中。
这是在将大脑准备好,以待我等放入灵魂。
接着让我们放入名为MODBUS的485耳朵。
让我们看右手边的硬件目录,‘通讯模块->点到点->CM1241(RS422/RS485)’中选择RS232/RS485接口模块,用于等会的MODBUS通讯。
见图1.3.
图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属性中也可以对系统储存位和时间储存位进行设置,但用的不是很开心。
这样建的和PLC200亿样了。
见图3.2.
图3.2
图3.3
这部分程序段是将设置和反馈值进行转换为百分比的程序段。
4.0B30中断程序的编写。
图4.1
让我们开始进行PID的程序的设计。
添加组织块中的中断块,在手动的情况下,还可以对编号,循环时间(中断时间)进行设定。
编号决定了中断的优先级,循环时间要以系统的运行时间配合好。
特别是循环时间不要进行错误的设置,一定要注意!
!
!
周期时间的设置在图4.2.具体怎么进行调节我这里未进行类似的试验。
但在周期时间150ms的情况下,循环时间(中断时间)设置为50ms的情况下,在空试的情况下,PID调节不正常。
图4.2
重要的部分
图4.3
在‘指令->工艺->PID控制’中选择建立指令,建立一个名为‘主机PID’,编号120是PID块,如果你想不用默认的编号,需要打在手动上,才可以对编号进行修改。
图4.4
上面是对主机PID块的外部数据进行设置,放入设定值,反馈值,闭环状态(对于闭环状态,还有一个低版本的设置方法,在块中无法直接设置,见下文)。
1200的PID还可选择手动和自动。
在手动的情况下,PID的输出值是读取‘ManualValue’中的值我这里是叫做主机速度手动。
图4.5
图4.5是对PID参数进行设置,具体设置方式看图4.4和图4.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-15IN-10---------------成功
试验2,SET-16000IN-17000-----------失败(故障1)
试验3,SET-110IN-120--------------失败(PLC乱了)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 版博图 V15PLC1200PID
![提示](https://static.bdocx.com/images/bang_tan.gif)