天天看点

#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈

作者:闲下自清

#从今天起记录我的2023##头条创作挑战赛#

今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈”

一.OB组织块:操作系统与用户程序之间的接口。可以通过对组织块编程,来创建PLC在特定时间执行的程序以及响应特定时间的程序。

下列事件可以利用到组织块:

启动、循环程序、延时中断、硬件中断、时间错误中断、诊断错误中断。如图2所示

二.FC功能块:

1.不带“存储区”的代码块,类似于“子程序”,仅在其他程序调用时才执行。

2.调用FC时,“需要用实际参数代替形式参数”,形参就是类似于“#启动”,只在本程序中有效,只要符号没有地址是局部变量,调用时要填写具体的点位,简单理解为就是需要填入一个PLC上的输入点。

3.当FC执行结束后,临时变量里的数据将会丢失;如果要永久保存数据,FC可以使用全局数据块。(例如程序中水泵阀门的输出状态关联全局数据块)如图3所示。

三.FB功能块:

1.带“存储区”的代码块,类似于“子程序”,仅在其他程序调用时才执行。

2.调用FB时,必须为其指定背景数据块

3.传递给FB的参数和静态变量都永久地保存在背景数据块中,即使在FB执行完毕以后,这些“值”仍然有效,临时变量Temp里的数据将会丢失。背景数据块中的变量就是对应的FB接口区中的Input、Output、Inout参数和Static变量。如图4所示

4."Static"--静态变量:只存在于FB的接口区,保存在FB的背景数据块,可读写,不参与参数的传递,主要用于保存FB中运算的中间结果,可以被其它程序访问。简单理解为中间标志位(中间继电器、辅助继电器);它在调用时不会生成“管脚”。

5.Temp:临时变量,一般是“先赋值后使用”

6.Constant:常量,是用于本块中的常量定义,它在块中是只读的,常量的值在整个程序运行中保持不变。

四.DB数据块:

1.数据块用于存储用户数据,数据块中没有指令,只是一个数据存储区。

2.分为全局数据块和背景数据块;它们的区别是:

A.全局数据块可以从所有的程序块中存取,其结构是用户定义的,如图5所示

B.一个背景数据块对应于一个功能块,其结构和功能的接口规格是一致的。如图6所示

五."结构化编程"的思路:

1.分析项目需求。 (自动补液--如何实现自动补液?)

2.将项目进行分解,具体到某个对象。(阀门、电机、液位)如图7所示

3.通过FB对每个对象进行参数化,然后通过FC和OB进行结构化调用。(阀门FB、电机FB、自动补液控制)如图8所示

4.补充部分程序见后面几张图。

水平有限,欢迎大家多多指教!

#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈
#从今天起记录我的2023##头条创作挑战赛#今天是我坚持学习工控知识并分享的第36天----“面向对象编程的知识点浅谈