西门子S7-300PLC,我们可以使用模块FB41 来实现PID 控制
经过学习西门子S7-300PLC,我们可以使用模块FB41 来实现PID 控制,FB41 就相当
于我们常规仪表里的控制器,既然是PID 控制器就应该能够设定P、I、D 参数。即:比例度、
积分时间、微分时间。常规仪表的面板上可以更改PID 参数,又有手动/自动切换按钮等。
今天我们要做的就是使用S7-300PLC 的FB41 来代替常规仪表,如何使用FB41 来实现
PID 控制的呢??
FB41 是一个功能块,它所能实现的功能(PID)已经由专业人员设计好,我们只要调用
它,并根据我们的需要来更改相应的参数即可使用。所以我们不用理会FB41 是如何实现比
例运算、积分运算、微分运算等等这些问题,只需要会调用就可以了。
现在我们已经知道FB41 就相当于常规仪表里的一个控制器了,那么我们是如何使用FB4
1 并给它设置相应的参数呢??
FB41 相当于一个子程序,它是用来实现PID 运算的,我们只需要每隔一段时间去调用这
一“子程序”就可以实现PID 控制。所以我们在OB35 里调用FB41 就可以了,调用的频率可
以在属性里面设置。
我们是在OB35 里调用FB41 的所以在OB35 里可以看到FB41 的端口。因此可以直接在
这些端口上直接设参数。
到这里有人会问,既然可以在OB35 里面可以直接给FB41 端口赋参数,为什么还要背景
数据块DB 呢???
其实PLC 在运行过程中会先检查,用户有没有在OB35 里给FB41 的端口设参数,如果有
就直接使用端口上的参数,如果没有就到背景数据表里面去取参数。
所以我们可以在两个地方设置参数,在数据表里面参数只能是一个固定值,不能是一个变量,
所以当程序
下载到PLC 之后就不能更改数据表里面的参数了。
给端口赋参数是一个变量,变量里面存有参数,当我们需要改变参数只需要改变相应的变量
就只以了。
结合两种方法的优缺点,我们可以同时在两个地方设参数,有些参数不需要经常改变的,
我们就直接在DB 里面设定。要经常改变的参数就在FB41 的端口上设定。
- Spring MVC_HandlerInterceptorAdapter的使用(不仅可实现Filter的所有功能,还可以更精确的控制拦截精度)
- 7、使用switch结构实现,如果年龄够7岁(性别男女均可)或者年龄够5岁并且性别是“男”,就可以搬动桌子。注意case块和default块的使用。我们知道case块里可以放一组语句,当然也可以放另一
- 当TextView或者EditView的内容发生变化时,其他组件及时给予响应时,我们可以使用TextWatcher来实现。
- 使用JAVASCRIPT实现的 单行文字 逐个文字变色,可以循环控制
- 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
- System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。 其函数原型是: public static void arraycopy(Object src, int
- js 记住 用户名和密码实现也是看的一篇文章。纯js当然我们可以混着jquery使用
- 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
- Factory 定义一个接口,客户可以使用这个接口创建一个对象.同时,我们还可以控制对那个类进行实例化
- 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图
- VSS实现版本控制管理的一些使用方法
- VSS实现版本控制管理的一些使用方法
- (精)在ASP.NET中使用IFRAME+DIV,可以实现在同一页面使用弹出(模态)窗口
- 使用IBM WID建立企业SOA 2(实现具体的流程控制)
- 如何使用Hyena 与 RealVNC实现灵活的远程控制?
- Owc的使用---自己封装好的类可以实现14种分析图
- ESC之ESC.wsf可以实现javascript的代码压缩附使用方法第1/5页
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- 在C#中使用COM+实现事务控制
- vb module_FunctionPtr 与FunctionPtr共同实现 CallFromDll callbyAddress 可以调用模块的函数/callbyname