三菱plc学习入门(三,FB模块)

news2025/1/10 17:38:54

小编很抱歉,因为小编是以基恩士,三菱的plc一起学习并找发现不同!!!并结合工作的案例来进行学习,所以内容上与系统的学习还是存在差异。如果只是单独的学习此篇文章,如果对您有帮助,欢迎点赞收藏,有不足之处欢迎评论,一起讨论。

目录

什么是FB模块?

什么是FC模块? 

二者有什么区别?

FB模块如何使用?

1,创建FB的工程

2,新建FB数据

3,局部标签的设置(设置FB标签中使用的局部标签)

局部标签

4,FB程序的创建

5,FB程序的转换(调用)

为什么要自己创建FB模块(小编自己的)


什么是FB模块?

        FB是"Function Block"(功能块)的缩写,它是一种可重复使用的程序单元,可以被多次调用并集成到更大的控制程序中。FB通常用于解决重复的控制问题或在不同控制任务之间共享代码

        FB模块一般是由PLC制造商提供的预先编写的FB代码,它负责执行特定的控制函数,并展示该函数的输入和输出信息。FB模块可以包括各种控制功能,例如逻辑运算、加、减、乘、除、计数、定时和比较等。

        使用FB模块具有多种优点。首先,它可以促进PLC程序的重用性和模块化,从而提高编程效率和整体控制系统的可维护性。其次,FB模块的封装性使得其易于测试、调试和优化

        在使用FB模块时,控制工程师只需要将其嵌入到PLC程序中,并为其指定输入和输出参数,该块就可以完成指定的控制功能。PLC制造商通常会提供一些常见的FB模块,以便用户直接使用,也可以自己编写自定义的FB模块,以实现特定的控制需求。

什么是FC模块? 

        FC模块是PLC中的一个术语,它代表"Function Chart"(功能图表)。FC是一种图形化的编程语言,用于描述程序执行的流程和逻辑

        FC模块是由PLC制造商提供的预先编写的FC代码,它主要用于描述程序的执行步骤和条件。FC模块可以包含一系列的步骤或动作,这些步骤可以是顺序的、并行的、交替的或循环的

        FC模块的目的是将程序的逻辑和控制流程可视化,并且更易于理解和调试。使用FC模块,控制工程师可以通过连接和配置不同的功能块来构建程序。这些功能块可以是输入/输出逻辑、计算函数或其他控制操作,可帮助实现复杂的自动化控制。

        通过在FC模块中定义各个步骤的条件和操作,并将它们按照需要的顺序连接在一起,控制工程师可以创建一个整体的控制逻辑。这种模块化的方法使得程序更容易理解、维护和修改。

        同时,FC模块还可以提供诊断和运行时监视功能,帮助控制工程师对程序的执行进行实时监测和分析。

二者有什么区别?

        小编用下表来显示区别

FB与FC区别
FBFC
英文名称function blockfunction
中文名称函数功能块函数
实例化(就是需不需要名称需要不需要
背景数据块(是否一直分配内存需要不需要
监控调试可以不可以
内存释放情况变量每一次调用完也不会释放,变量值有累计的效果(类似C语言的static命名的变量),相同的输入会出现不同的输出。变量每一次调用完就被会释放,变量值没有累计的效果(类似C语言的普通变量),相同的输入会有确定的输出。
嵌套情况FB可以调用FB/FCFC可以调用FC,不可以调用FB(因为FB运行需要一直分配内存)
重复调用可以可以

FB模块如何使用?

1,创建FB的工程

        创建工程,选择好系列,要点击标签

         新建FB模块

2,新建FB数据

        创建查看自己的FB。 

 

3,局部标签的设置(设置FB标签中使用的局部标签)

局部标签中的变量名称含义
VAR内部变量
VAR_CONSTANT常量(不能改变)
VAR_INPUT输入类型变量
VAR_OUTPUT输出类型变量
VAR_IN_OUT既有输入也有输出类型变量(起保停常用)

        例,起保停:对于小编设置的起保停程序,需要二个输入,一个输出(启动和暂停,一个输出有保持作用)

局部标签

        只能该程序能读取,其他程序查看不了!!!

4,FB程序的创建

        使用标签进行编辑

5,FB程序的转换(调用)

        点击F4对程序进行转换。       

        

为什么要自己创建FB模块(小编自己的)

        

创建自己的FB模块可以带来多种优点和好处:

1. 代码重用性:通过创建自己的FB模块,你可以将常见的控制功能抽象为可重用的代码单元。这样,在不同的项目或任务中,你可以简单地调用和集成这些模块,而无需从头开始编写相同的代码。这大大提高了编程效率,减少了重复劳动。

2. 模块化和可维护性:自己创建的FB模块可以使PLC程序更加模块化和结构化。每个模块专注于特定的功能,易于理解和管理。如果需要更改或优化某个功能,只需修改对应的模块而无需改动整个程序,这提高了程序的可维护性。

3. 抽象和封装:通过自己创建FB模块,你可以将复杂的控制逻辑和算法进行抽象,隐藏内部细节,只暴露必要的输入和输出接口。这样,使用这些模块的人员不需要了解底层实现细节,而只需关注功能的调用和结果。

4. 代码可读性和可理解性:自己创建的FB模块可以使用自己熟悉的命名和注释规范,使代码更加易读、易理解和易于维护。其他团队成员或后续维护人员可以更快地理解你的代码意图,减少沟通成本和错误发生的概率。

5. 适应特定需求:自己创建的FB模块可以完全适应你的特定需求和控制任务。你可以根据项目的要求,定制和优化功能模块,实现更高的性能、灵活的配置和精确的控制。

尽管自己创建FB模块需要额外的时间和努力,但它可以提供更好的可重用性、模块化和可维护性,提高代码的可读性和适应特定需求。这对于长期复杂的控制项目来说是非常有价值的。

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1373642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回归预测 | Matlab基于SO-BiLSTM蛇群算法优化双向长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SO-BiLSTM蛇群算法优…

深入了解鸿鹄电子招投标系统:Java版企业电子招标采购系统的核心功能

随着市场竞争的加剧和企业规模的扩大,招采管理逐渐成为企业核心竞争力的重要组成部分。为了提高招采工作的效率和质量,我们提出了一种基于电子化平台的解决方案。该方案旨在通过电子化招投标,使得招标采购的质量更高、速度更快,同…

Kubernetes/k8s的存储卷/数据卷

k8s的存储卷/数据卷 容器内的目录和宿主机的目录挂载 容器在系统上的生命周期是短暂的,delete,k8s用控制创建的pod,delete相当于重启,容器的状态也会回复到初始状态 一旦回到初始状态,所有的后天编辑的文件都会消失…

pytorch10:正则化(weight_decay、dropout、Batch Normalization)

目录 一、正则化regularization1.概念2.过拟合3.减小方差策略4 正则化--权值衰减 二、正则化-dropout2.1 dropout概念2.2 数据尺度变化2.3 nn.Dropout2.4 两种模式 三、Batch Normalization3.1 ICS现象(Internal Covariate Shift,内部协变量偏移)3.2 BN原…

Web实战丨基于django+html+css+js的学院门户网站

文章目录 写在前面项目概述基本信息项目需求 项目框架程序设计运行结果项目总结 写在后面 写在前面 本期内容:基于DjangoHtmlCssJavaScript的学院门户网站 项目需求: pythondjango 项目下载地址:https://download.csdn.net/download/m0_6…

SemiDrive E3 打包说明

一、 概述 本文介绍 E3 PAC 打包,编译器生成 bin 文件需要通过打包生成 PAC 包,再通过 SDToolBox 工具将 PAC 包烧写到芯片,PAC 包的物理载体分为 Flash、eMMC、SD,一个 PAC包最多支持 3 个BootPackage;本文主要描述打…

深入理解C#中的引用类型、引用赋值以及 `ref` 关键字

深入理解C#中的引用类型、引用赋值以及 ref 关键字 在C#编程中,理解引用类型、引用赋值以及 ref 关键字的使用对于编写高效、可靠的代码至关重要。本文将深入探讨这些概念,帮助您更好地理解C#的工作原理。 引用类型简介 在C#中,所有的类型都…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-4系统的可控性Controllability(LTI)线性时不变

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-4系统的可控性Controllability-LTI线性时不变

K8S的存储卷---数据卷

容器内的目录和宿主机的目录进行挂载 容器在系统上的生命周期是短暂的。delete,K8S用控制器创建的pod,delete相当于重启,容器的状态也会恢复到初始状态。一旦回到初始状态,所有的后天编辑的文件都会消失 容器和节点之间创建一个…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑧

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷8 目录 需要竞赛软件包环境以及备赛资源可私信博主!!! 2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷8 模块一 …

基于传统机器学习模型算法的项目开发详细步骤

1 场景分析 1.1 项目背景 描述开发项目模型的一系列情境和因素,包括问题、需求、机会、市场环境、竞争情况等 1.2. 解决问题 传统机器学习在解决实际问题中主要分为两类: 有监督学习:已知输入、输出之间的关系而进行的学习,从而…

e2studio开发LPS28DFW气压计(1)----轮询获取气压计数据

e2studio开发LPS28DFW气压计.1--轮询获取气压计数据 概述视频教学样品申请完整代码下载产品特性通信模式速率新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user…

从0开始学Git指令(2)

从0开始学Git指令 因为网上的git文章优劣难评,大部分没有实操展示,所以打算自己从头整理一份完整的git实战教程,希望对大家能够起到帮助! 工作区(Working Directory) 就是你在电脑里能看到的目录&#x…

SQLServer设置端口,并设置SQLServer和SQLServer Browser服务

SQLServer默认使用动态端口,即每次启动sqlserver.exe时,端口port都会动态变化。若要使用静态端口,比如port1433,则需要在SQL Server Configuration Manager(简称SSMS)里配置。这里以SQL Server 2005 Configuration Man…

Python异步网络编程库之twisted 详解

概要 Python twisted 是一个强大的异步网络编程框架,它允许开发者轻松构建高性能的网络应用和协议。无论是构建网络服务器、客户端、聊天应用还是实时通信工具,twisted 都提供了丰富的工具和组件。本文将深入探讨 twisted 的基本概念、安装方法以及详细…

如何将字符串转换为整数

将字符串转换为整数是常见的编程需求。以下是几种常见编程语言的示例: Python str_num "123" num int(str_num) print(num) # 输出: 123 JavaScript let str_num "123"; let num parseInt(str_num); console.log(num); // 输…

geemap学习笔记045:单波段图像梯度计算

前言 求图像的梯度,一般是指在灰度图像或者彩⾊图像上的操作。数字图像是离散的点值谱,也可以叫⼆维离散函数。图像的梯度就是这个⼆维离散函数的求导。下面将详细介绍earth engine中单波段图像的梯度计算。 1 导入库并显示地图 import ee import gee…

文心大模型融入荣耀MagicOS!打造大模型“端云协同”创新样板

2024年1月10日,在荣耀MagicOS 8.0发布会及开发者大会上,荣耀终端有限公司CEO赵明宣布了“百模生态计划”,并与百度集团执行副总裁、百度智能云事业群总裁沈抖共同宣布,百度智能云成为荣耀大模型生态战略合作伙伴。 沈抖在现场演讲…

SPDK As IPU Firmware

对于不熟悉术语Infrastructure Processing Unit (IPU, 基础设施处理器)的同学,IPU是PCIe形态的卡,连接到主机系统后可以卸载主机的“基础设施”工作。它通常是面向云服务商或者超融合服务提供商的。对于熟悉SPDK的开发人员来理解,这些卡通常具…

楼宇管理新智慧:Panorama SCADA楼宇管理系统应用实例

一、背景介绍 楼宇管理系统旨在集中控制和监测楼宇运营,涵盖暖通空调(HVAC)、照明、电力系统、消防和安全系统等。通过直观的用户界面,用户得以实时监测和精准掌控这些系统,从而提升能源效率、确保设备正常运行&#…