【原创教程】西门子_部件手动模式FB块编辑

news2024/9/27 15:05:40

1、软件配置

软件配置

名称

版本

博图

V16

2建立FB块

在编辑手动程序前应该建立手动程序的FB块,FB块的建立内容如下图所示

FB块的输入接口

Input:FB块的输入接口,将下拉列表中的数据应用于该FB块所编辑的程序中。

NO:当前部件的编号,由于在设备中有多个部件,为了精准的控制到每一个部件,所以对每个部件都给一个编号。

假如设备中有10个部件要进行操控,我们对其进行”1-10”的编号处理,其中”某部件名称X”是第6个,我们可以将”NO”的值设定为”6”。

HomePos:当前部件的原位到位信号,经常用输入信号”I”点来表示,如果该部件没有输入信号”I”点,也可用其他方式来表达。

WorkPos:当前部件的工作位到位信号,经常用输入信号”I”点来表示,如果该部件没有输入信号”I”点,也可用其他方式来表达。

OutMode:当前部件的动作方式,当该部件需要执行到”原位动作”或”工作位动作”时,通过”OutMode”的设定值来决定哪种动作方式。

目前有5种动作方式:

1、部件如何操作都不会执行任何动作。(部件不执行输出动作)。

2、当部件满足某个执行动作的条件后,会一直执行该动作。(部件会一直执行某个输出动作)。

3、当部件执行动作后,如果中途执行动作的条件不满足,则会立即停止该动作。但是当部件的动作执行到位后,会一直执行该动作。

(部件执行输出动作后,中途能够停止;但是当动作到位后,部件会一直执行该输出动作)。

4、当部件执行动作后,如果中途执行动作的条件不满足,则会立即停止该动作。(部件执行输出动作后,中途能够停止)。

5、当部件执行动作后,如果中途执行动作的条件不满足,则会立即停止该动作,当部件动作执行到位后,会立即停止执行中的动作。

(部件执行输出动作后,中途能够停止,当动作到位后,部件会立即停止执行该输出动作)。

ErrorMode:当前部件报警模式,通过”ErrorMode”的设定值来决定报警模式的选择。

目前有5报警模式:

1、部件不会出现任何报警。

2、部件在执行某个动作前,如果不满足执行该动作的安全条件,则会触发”安全互锁”报警。

3、部件在执行某个动作前,如果不满足执行该动作的安全条件,则会触发”安全互锁”报警;部件在执行某个动作后,如果执行该动作的时间超过,设定的报警时间”ErrorTime”,则会触发”动作超时报警”。

4、部件在执行某个动作前,如果不满足执行该动作的安全条件,则会触发”安全互锁”报警;部件在执行某个动作后,如果执行该动作的时间超过,设定的报警时间”ErrorTime”,则会触发”动作超时报警”;部件的原位到位信号和工作位到位信号同时”ON”,则会触发部件的”原位工作位双ON”报警。

5、部件在执行某个动作前,如果不满足执行该动作的安全条件,则会触发”安全互锁”报警;部件在执行某个动作后,如果执行该动作的时间超过,设定的报警时间”ErrorTime”,则会触发”动作超时报警”;部件的原位到位信号和工作位到位信号同时”ON”,则会触发部件的”原位工作位双ON”报警;部件在动作执行完成后,会生成一个到位状态用来表示已到达原位或工作位,在该状态存在期间如果丢失了到位信号,则会触发部件的”到位信号丢失”报警。

ErrorCode:当前部件报警的起始编号,根据”ErrorCode”的值,当前的报警程序编号规律如下: Alarm2[ErrorCode+0].该部件的”原位动作安全互锁不满足”报警

Alarm2[ErrorCode+1].该部件的”工作位动作安全互锁不满足”报警

Alarm2[ErrorCode+2].该部件的”原位动作超时”报警

Alarm2[ErrorCode+3].该部件的”工作位动作超时”报警

Alarm2[ErrorCode+4].该部件的”原位工作位双ON”报警

Alarm2[ErrorCode+5].该部件的”原位到位信号丢失”报警

Alarm2[ErrorCode+6].该部件的”工作位到位信号丢失”报警

假设”ErrorCode”的值为60,那么

Alarm2[60].该部件的”原位动作安全互锁不满足”报警

Alarm2[61].该部件的”工作位动作安全互锁不满足”报警

Alarm2[62].该部件的”原位动作超时”报警

Alarm2[63].该部件的”工作位动作超时”报警

Alarm2[64].该部件的”原位工作位双ON”报警

Alarm2[65].该部件的”原位到位信号丢失”报警

Alarm2[66].该部件的”工作位到位信号丢失”报警

ErrorTime:当前部件报警时间,当部件执行动作的时间超过”ErrorTime”时,该部件则会触发”动作超时报警”。

OPMode:当前设备的运行模式。

②FB块输出接口

Output :FB块的输出接口,将下拉列表中的数据应用于该FB块所编辑的程序中。

HomeAck:当前部件的原位动作输出引脚,当”HomeAck”ON后则会导通其引脚后的线圈。

WorkAck:当前部件的工作位动作输出引脚,当”WorkAck”ON后则会导通其引脚后的线圈。

Static:FB块中运用到的变量,将下拉列表中的数据应用于该FB块所编辑的程序中。

sTempBit:FB块的数组,由10个整数类型的缓存区构成,每个单独的缓存区都可以当做做一个”D区”来使用,下拉内容有:

sTempNO:FB块的数组,由10个整数类型的缓存区构成,每个单独的缓存区都可以当做做一个”D区”来使用,下拉内容有:

3FB块程序的构建

部件到位信号

正常情况下,每个部件都有一个”原位到位信号_HomePos”和”工作位到位信号_WorkPos”,我们通常都会使用外部传感器的信号传递”到位信号”。

然而有些情况下,某些部件会没有外部传感器来传递”到位信号”,所以我们只能通过程序手段来表达部件已经动作到位。

上图的程序中,我们用到了”ErrorMode”中的值来判断该部件是否有外部传感器来传递”到位信号”,当”ErrorMode”的值为”11”时,我们认为该部件没有外部传感器来传递”到位信号”,当”ErrorMode”的值不为”11”,该部件由外部传感器来传递”到位信号”。

②部件动作模式

由于每种部件的功能不同,有的部件需要一直有动作输出,有的部件需要到位后保持输出,有的部件需要随时停止动作输出,这些状况我们可以理解为部件的”动作模式”不同,根据”部件动作模式”的不同,我们要对部件的动作程序进行编辑。

这里我们可以用”OutMode”中的”值”来表示”部件动作模式”,以此来编辑程序。

1、”OutMode”值为”0”时,部件不会产生任何动作

2、”OutMode”值为”1”时,部件在执行某个动作后【"DB3100_Manual".Manual[#NO].Code】值会变为”1”或”3”,会一直执行这个动作。

3、”OutMode”值为”2”时,部件在执行某个动作后【"DB3100_Manual".Manual[#NO].Code】值会变为”2”或”4”,该动作在没钱到位前,中途可以停止。

如果动作执行到位后【"DB3100_Manual".Manual[#NO].Code】值会变为”1”或”3”。

4、”OutMode”值为”3”时,部件在执行某个动作后【"DB3100_Manual".Manual[#NO].Code】值会变为”2”或”4”,可以随时停止执行该动作。

5、”OutMode”值为”4”时,部件在执行某个动作后【"DB3100_Manual".Manual[#NO].Code】值会变为”2”或”4”,如果动作执行到位后【"DB3100_Manual".Manual[#NO].Code】值会变为”0”。

下图程序表示:【"DB3100_Manual".Manual[#NO].Code】的值在不同的情况下,该部件”动作输出”信号的变化。

下图程序表示:当设备出现1级报警时,【"DB3100_Manual".Manual[#NO].Code】的值变为”0”,此时该部件的动作将全部停止。

下图程序表示:当【"DB3100_Manual".Manual[#NO].Code】的值为”2”或”4”时,将其值变为”0”。当操作者在触发部件动作时,【"DB3100_Manual".Manual[#NO].Code】的值仍会变为”2”或”4”,这段程序的目的是,在【"DB3100_Manual".Manual[#NO].Code】的值为”2”或”4”的情况下,操作者停止触发动作后,将【"DB3100_Manual".Manual[#NO].Code】的值变为”0”动作将终止。

下图程序表示:该部件的输出动作都设定为”FALSE”,而外部输出接口”#HomeAck”和”#WorkAck”的状态由下图程序中的状态决定。

只有当【"DB3100_Manual".Manual[#NO].Code】的值变为”1”或”2”或”3”或”4”时,该部件才会有相应的动作。这段程序的目的是,【"DB3100_Manual".Manual[#NO].Code】的值的变更,能够决定执行哪个动作或者终止哪个动作。

③部件动作到位状态

当部件执行到原位动作时,将”在工作位状态”复位,当检测到”原位到位信号”后,置位”在原位状态”。

当部件执行到工作位动作时,将”在原位状态”复位,当检测到”工作位到位信号”后,置位”在工作位状态”。

当设备断电后,将部件的”在原位状态”和”在工作位状态”复位。

如果检测不到”原位到位信号”,则将在”在原位状态”复位;检测不到”工作位到位信号”,则将在”在工作位状态”复位。

④部件动作计时功能

当部件执行”到原位动作”或”到工作位动作”时开始计时,程序中我们以【"DB3100_Manual".Manual[#NO].HomeTime】中的值来表达”到原位动作”已经执行的时间,以【"DB3100_Manual".Manual[#NO].WorkTime】中的值来表达”到工作位动作”已经执行的时间。

当部件不在执行”到原位动作”或”设备断电”或检测到”原位到位信号”,”到原位动作计时清零。

当部件不在执行”到工作位动作”或”设备断电”或检测到”工作位到位信号”,”到工作位动作计时清零。

⑤部件的报警功能

当设备上电后,启用报警功能。

报警复位:如果按下报警复位按钮,将该部件的10个报警全部复位。

FOR的循环程序可以如下理解,报警复位按钮按下后,”sTempNO[1]”中的值从”0”到”9”开始变化,每次递增”1”,进行十次循环;而”ErrorCode ”的值,根据用户的输入为准。

以”ErrorCode”值为”60”为例子 :

第①次循环:按下按钮后,【"DB160_OP10_Alarm".Alarm2[#ErrorCode + #sTempNO[1]]】复位即【"DB160_OP10_Alarm".Alarm2[60 + 0]】复位

即【"DB160_OP10_Alarm".Alarm2[60]】复位

第②次循环:按下按钮后,【"DB160_OP10_Alarm".Alarm2[#ErrorCode + #sTempNO[1]]】复位即【"DB160_OP10_Alarm".Alarm2[60 + 1]】复位

即【"DB160_OP10_Alarm".Alarm2[61]】复位

第③次循环:按下按钮后,【"DB160_OP10_Alarm".Alarm2[#ErrorCode + #sTempNO[1]]】复位即【"DB160_OP10_Alarm".Alarm2[60 + 2]】复位

即【"DB160_OP10_Alarm".Alarm2[62]】复位

第④次循环:按下按钮后,【"DB160_OP10_Alarm".Alarm2[#ErrorCode + #sTempNO[1]]】复位即【"DB160_OP10_Alarm".Alarm2[60 + 3]】复位

即【"DB160_OP10_Alarm".Alarm2[63]】复位

第⑨次循环:按下按钮后,【"DB160_OP10_Alarm".Alarm2[#ErrorCode + #sTempNO[1]]】复位即【"DB160_OP10_Alarm".Alarm2[60 + 8]】复位

即【"DB160_OP10_Alarm".Alarm2[68]】复位

第⑩次循环:按下按钮后,【"DB160_OP10_Alarm".Alarm2[#ErrorCode + #sTempNO[1]]】复位即【"DB160_OP10_Alarm".Alarm2[60 + 9]】复位

即【"DB160_OP10_Alarm".Alarm2[69]】复位。

以上内容就是报警复位的程序。

以下内容是会有哪些报警发生。

1、当”#ErrorMode”的值为”0”时,该部件的10个报警全部取消。

2、当”#ErrorMode”的值为”1”时,该部件在执行”到原位动作”或”到工作位动作”前,如果不满足安全互锁条件,那么则会触发”到原位动作安全互锁不满足”报警或”到工作位动作安全互锁不满足”报警。

3、当”#ErrorMode”的值为”2”时,该部件在执行”到原位动作”或”到工作位动作”前,如果不满足安全互锁条件,那么则会触发”到原位动作安全互锁不满足”报警或”到工作位动作安全互锁不满足”报警。

如果部件”到原位动作_已执行时间”的值,超过设定”ErrorTime”的值,那么则会触发”到原位动作超时”报警;如果部件”到工作位动作_已执行时间”的值,超过设定”ErrorTime”的值,那么则会触发”到工作位动作超时”报警。

4、当”#ErrorMode”的值为”3”时,该部件在执行”到原位动作”或”到工作位动作”前,如果不满足安全互锁条件,那么则会触发”到原位动作安全互锁不满足”报警或”到工作位动作安全互锁不满足”报警。

如果部件”到原位动作_已执行时间”的值,超过设定”ErrorTime”的值,那么则会触发”到原位动作超时”报警;如果部件”到工作位动作_已执行时间”的值,超过设定”ErrorTime”的值,那么则会触发”到工作位动作超时”报警。

如果部件的”原位到位信号”和”工作位到位信号”同时出现,那么则会触发”部件原位_工作位双ON报警”。

5、当”#ErrorMode”的值为”4”时,该部件在执行”到原位动作”或”到工作位动作”前,如果不满足安全互锁条件,那么则会触发”到原位动作安全互锁不满足”报警或”到工作位动作安全互锁不满足”报警。

如果部件”到原位动作_已执行时间”的值,超过设定”ErrorTime”的值,那么则会触发”到原位动作超时”报警;如果部件”到工作位动作_已执行时间”的值,超过设定”ErrorTime”的值,那么则会触发”到工作位动作超时”报警。

如果部件的”原位到位信号”和”工作位到位信号”同时出现,那么则会触发”部件原位_工作位双ON报警”。

如果部件有”在原位状态”,同时”原位到位信号”丢失,则会触发”部件原位传感器丢失报警”;如果部件有”在工作位状态”,同时”工作位到位信号”丢失,则会触发”部件工作位传感器丢失报警”。

⑥复位部件动作的触发条件

这段程序的目的是,当没有人为触发”部件动作条件”,这条指令可以将目前已触发的”动作条件”复位。

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

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

相关文章

数据科学 - 字符文本处理

1. 字符串的基本操作 1.1 结构操作 1.1.1 拼接 • 字符串之间拼接 字符串之间的拼接使用进行字符串的拼接 a World b Hello print(b a) • 列表中的字符串拼接 将以分隔符‘,’为例子 str [apple,banana] print(,.join(str)); • 字符串中选择 通过索引进行切片操…

一个 Java 语言简化处理 PDF 的框架,提供了一套简单易用的 API 接口,满足多样化需求又能简化开发流程的处理方案(附教程)

前言 当前市面上处理 PDF 文件的工具众多,但它们往往存在一定的局限性,比如复杂交互、功能单一等问题。尤其对于那些需要频繁生成或编辑 PDF 文档的应用场景来说,找到一个既能满足多样化需求又能简化开发流程的处理方案显得尤为重要。那么&a…

思想和认知,从身边的事情和从小经历就在培养。谁在起跑线!

世界地图就像一张藏宝图,有的地方有宝藏,有的地方物资匮乏。当你拼命努力却一直挖不到宝藏的时候,不妨换个位置挖掘。如果你运气好,很可能就挖到一堆金子直接实现财富自由。运气不好,也能轻松过上小康生活。财富和位置…

新书推荐——《Python贝叶斯深度学习》

在过去的十年中,机器学习领域取得了长足的进步,并因此激发了公众的想象力。但我们必须记住,尽管这些算法令人印象深刻,但它们并非完美无缺。本书旨在通过平实的语言介绍如何在深度学习中利用贝叶斯推理,帮助读者掌握开…

【Java】Java中String、StringBuilder、StringJoiner详解

目录 引言 一、String 1.1 String的定义 1.1.1 直接赋值 1.1.2 new关键字创建 1.2 常用方法 1.3 字符串的不可变性 1.4 字符串内存的存储原理 二、StringBuilder 2.1 常用方法 2.2 动态扩容策略 2.3 使用场景 三、StringJoiner 3.1 构造方法 3.2 常用方法 3.3…

ArcGIS共享数据的最佳方法(不丢可视化、标注等各类显示信息一样带)

今天我们介绍一下ArcGIS数据共享的几个小妙招 我们时常要把数据发给对方,特别是很多新手朋友要将shp发给对方时只是发送了shp后缀的文件,却把shp的必要组成文件dbf、shx等等给落下了。 还有很多朋友给图层做好了符号化标注,但是数据一发给别…

介绍几个LDO低压差线性稳压器(ME6206、RT9013、XC6206)

最近翻了翻开源平台上面的一些设计,收集了一些LDO的电路设计,这边分享记录一下。 ME6206 不同的产品型号对应不同的输出电压,工作电流,封装形式。 典型应用电路图也很简单,就在电压的输入输出端各加一个电容。 输入电…

Miniforge详细安装教程(macOs和Windows)

(注:主要是解决商业应用anaconda收费问题,这是轻量级的代替,个人完全可以使用anaconda和miniconda) Miniforge 是一个轻量级的包管理器,类似于 Anaconda 和 Miniconda。它主要用于安装基于 conda 的 Python 环境,专注于…

【智能算法应用】樽海鞘群算法求解二维路径规划问题

摘要 路径规划是机器人导航和自主无人机领域中的关键问题。本文提出了一种基于智能优化算法——樽海鞘群算法(Salp Swarm Algorithm, SSA)的二维路径规划方法。该算法模拟樽海鞘的链式运动行为,旨在寻找障碍物环境中的最优路径。通过仿真实验…

StopWath,apache commons lang3 包下的一个任务执行时间监视器的使用

StopWath是 apache commons lang3 包下的一个任务执行时间监视器&#xff0c;与我们平时常用的秒表的行为比较类似&#xff0c;我们先看一下其中的一些重要方法&#xff1a; <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependen…

3D 模型GLTF、GLB格式文件介绍使用;FBX格式

一、GLTF、GLB介绍 GLTF&#xff08;GL Transmission Format&#xff09;和 GLB&#xff08;GL Binary&#xff09;是用于在 Web 和各种应用程序中传输和加载 3D 场景和模型的开放标准格式。它们由 Khronos Group 开发&#xff0c;旨在提供一种高效、可扩展且易于使用的 3D 内…

RUST语言的初印象-从一个模拟登陆谈起-slint+reqwest+aes

本文就一个做了三四天的小程序讲第一次学用RUST的感受&#xff0c;内附代码。 了角语言 从一些渠道听说了R&#xff0c;这个字母挺魔性&#xff0c;那个文章说C和R的团体已经上升到了宗教崇拜的高度&#xff0c;然后&#xff0c;我觉得必 有过人之处&#xff0c;大约10年没碰…

C# DotNetty客户端

1. 引入DotNetty包 我用的开发工具是VS2022&#xff0c;不同工具引入可能会有差异 工具——>NuGet包管理器——>管理解决方案的NuGet程序包 搜索DotNetty 2.新建EchoClientHandler.cs类 用于接收服务器返回数据 public class EchoClientHandler : SimpleChannelIn…

vs code自动报错

让vs code自动报错&#xff0c; 点击插件 → 搜索error lens → 点击install&#xff0c; 下载完后&#xff0c;编写的代码有问题就会自动报错了。 5、修改默认缩进字符 点击设置&#xff08;settings&#xff09; → 点击常用设置 → 修改字符缩进。

汽车自研算法部署芯片份额浅思

国内汽车行业如火如荼发展,汽车从业的研发人员也激增,从三电到座舱到智能驾驶和动力底盘一体化发展。 芯片承载着算法落地,国内主流的主机厂(OEM)的EE架构规划都基本使用主流的车规级芯片,如 英飞凌(Infineon):德国半导体制造商,行业当前在预控的SOC的MCU选择TC39X…

ROC、TPR、FPR的含义

1、ROC&#xff08;Receiver Operating Characteristic&#xff09; ROC&#xff08;Receiver Operating Characteristic&#xff09;曲线是一种用于评估分类模型性能的工具。它通过绘制真阳性率&#xff08;True Positive Rate, TPR&#xff09;与假阳性率&#xff08;False…

新书速览|Stable Diffusion-ComfyUI AI绘画工作流解析

《Stable Diffusion-ComfyUI AI绘画工作流解析》 本书内容 《Stable Diffusion-ComfyUI AI绘画工作流解析》从零开始&#xff0c;详尽系统地讲解从本地部署ComfyUI、下载安装自定义节点&#xff0c;到搭建各种工作流程的全过程。同时&#xff0c;辅以3D形象转绘、艺术二维码和证…

智能制造的生产力基础设施

由于全球大多数细分市场的半导体工厂都满负荷运转&#xff0c;因此&#xff0c;生产力如今成为整个行业关注的重要问题也就不足为奇了。工厂经理会仔细监控关键绩效指标 (KPI)&#xff0c;以发现任何生产力下降的迹象&#xff0c;以便快速做出反应&#xff0c;找出并解决这些偏…

UE4中 -skipbuild -nocompile 有什么区别

在项目开发中&#xff0c;我看到了在调用 Engine\\Build\\BatchFiles\\RunUAT.bat 相关的命令行中&#xff0c;有 -skipbuild、 -nocompile 两个很像的参数&#xff0c;于是想探究一下它们的区别与含义。 -skipbuild 参数 到底有没有 -skipbuild 这个参数&#xff1f;根据 http…

1.3 熟悉常用的IP相关命令

1.3熟悉常用的IP相关命令 原理概述 华为设备支持多种配置方式&#xff0c;包括Web界面管理等。但作为一名网络工程师&#xff0c;必须熟悉使用命令行的方式进行设备管理。在工作中&#xff0c;对路由器和交换机最常用的操作命令就是IP相关命令&#xff0c;如配置主机名、IP地…