技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 调用FB41 无值输出

调用FB41 无值输出

刘玉蓉 发布于2014-10-15 17:05 749 0 标签:

问题有点多耐心看一下:
我的思路是 在OB35里面调用FB1:   
   CALL  "调用PID" , "FB1背景块"
       COM_RST:=M2.0
       CYCLE  :=T#200MS
 在FB1里面调用FB41(PID)背景块为DB41  实参的值我在共享数据块DB2里面给定的(有图的)时间是200毫秒没错的我设定好了。怎么会没有输出值呢,帮个忙看一下,还有就是PID调节面板有没有说明的,麻烦发个链接,看一下。我的PID面板的参数有没有错误的。

问题补充:
刚刚试了一下 好了,是输入的P I D 参数不能为0,我把DB2.DBD10 DB2.DBD14 DB2.DBD18 DB2.DBD22给删了,假如我想用这些 DB2.DBD10 DB2.DBD14 DB2.DBD18 DB2.DBD22赋值的话应该怎么做呢,还有就是还有就是PID调节面板有没有说明的。


图片说明: 1,PID调节   2,FB41   3,FB4值  

佳答案

我个人感觉你的设计比较复杂,你可以直接在周期性中断OB35中调用PID控制块FB41,然后在CYCLE参数中输入采用时间就可以了,当然你也可以在自动生成的背景数据块如DB1,其变量与对应的FB41的变量声明表中的变量一一对应,可以在数据显示方式下修改实际值,即可以“Actual Value”(实际值)中进行修改参数值,也可以通过对应的FB41的变量声明表来修改,操作比较简单,没有必要使用共享数据块,实际工作中也没有这样做,方法如下:
FB41“CONT_C”用于连续控制,它是系统固化的纯软件PID控制器,运行过程中循环扫描、计算所需的全部数据存储在分配给FB41的背景数据块里,所以可以无限次调用。在SIMAITC管理器中,依次展开你的项目到Blocks(块),选择菜单Insert(插入)/S7 Block(S7块)/Organization Block(组织块),插入OB35;
双击打开OB35,依次展开左边Libraries(库)/Standard Library(标准库)/PID Control Blocks(PID控制块),双击下面的FB41 “CONT_C”ICONT,就在OB35下插入一个FB41,在调用块“CONT_C”上面“???”填写背景数据如DB1,就会出现下面对话框:
LAD/STL/FBD
The instance data block DB1 doesn’t exist, Do you want to generate it?(背景数据块DB1不存在,你是否要产生它?“,点击”Yes“,就自动建立一个背景数据块DB1,
这里有几个问题必须明确:
FB41 中参数PV_IN(浮点格式过程变量输入)必须是实数,一般通过在OB1中调用规范化块FC105把整形值转换为以工程单位表示的介于下限和上限之间的实型值(即浮点格式)给DB1.DBD10,直接提供给参数PV_IN;
同时在OB1中,将FB41参数LMN_PER(I/O格式的PID输出值)通过赋值指令MOVE经PID输出值经过D/A转换后送出如到PQW3;
需要在OB100中重启PID,程序结构如下:
Network 1
S  DB1.DBX 0.0 //重启PID
Network2
R  DB1.DBX 0.0
参考下列链接《用Step7中SFB41/FB 41、SFB42/FB42、SFB43/FB43实现PID控制》
https://www.ad.siemens.com.cn/download/Html/download.aspx?DownloadID=1231&TreeID=8&URL=/Download/Upload/AS/application/A0018.pdf

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签