当前位置: 首页 > news >正文

【智能制造-26】PLC标准-SICAR

什么是SICAR?

SICAR 是西门子基于 TIA Portal 的汽车行业自动化标准。
SICAR 标准具有以下特点和优势:

  • 提供了统一的硬件和软件标准,以及统一的接口。
  • 涵盖了从 PLC 程序、HMI 画面到特定工艺功能块(如机器人、阀岛、视觉系统等),再到报警、诊断、文档、培训、服务等多个方面,实现了全面的标准化。
  • 降低后期的人员培训和设备维护成本。
  • 使自动化设备和产线达到更高质量的一致性。
  • 利用预定义好的软件和硬件,可缩短工程周期,提高工程效率。
  • 更利于汽车厂管理和维护线体供应商的代码质量。

例如,SICAR 4.0的 HMI 界面由原先的 OT 风格变成了 IT 风格,但画面结构未发生变化;PLC 程序结构及结构文件夹命名也延续之前的版本,不过功能块、DB 块、引脚的命名有变化,如大写改小写并去掉下划线。SICAR 标准通过 opmode 和 hmipanel 功能将多块屏和多操作区域建立联系,每个操作区域的 opmode 可独立管理包括“自动”和“手动”及相关特殊模式在内的操作模式,具体哪个操作面板控制哪个操作区域通过参数设置在 PLC 功能块调用,每个操作区域可分配多达16个操作面板,一个 PLC 中可配置多达32个操作模式区域,区域信息数据存储在全局 DB 中,同时每个 PLC 也可定义多达32个 hmIPanel,操作区域和面板的数量由 PLC 用户常量集中管理,这些常量用作数组限制。
另外,SICAR 标准中的 Prodiag 报警方式可以将 PLC 定义的报警文本信息直接推送到 HMI 上显示,无需在 HMI 侧定义报警文本,降低了 PLC 编程人员的工作量及人工出错率,同时可让上位系统直接订阅现场 PLC 报警信息。
不同版本的 SICAR 标准可能会有所更新和改进,具体内容可能会有所差异。它的产生源自车厂对产线维护的需求,目的是使维护工程师班组能根据工作需要随时调配到任何一条产线,并胜任相关工作。对于设备供应商来说,SICAR 标准是个紧箍咒,无论供应商原本的自动化工程师水平高低,都必须按规定好的规范来设计,不许有过多的个性发挥。但对于自动化工程师水平低的公司,这是好事,因为有现成的模板学习;而对于水平高的工程师,可能会感到痛苦,限制了其发挥空间。
汽车行业足够大,只要车厂有需求,像西门子、罗克韦尔这样的厂家,会自愿出面组织力量为车厂开发设计专用标准模板,车厂消化吸收后提供给设备供应商,要求其严格按照标准来设计,如有违反,可能导致验收不通过。一个车厂采用该标准后,其他车厂可能会直接套用或略加改进后发布为自己家标准并要求供应商执行。
SICAR 标准在一定程度上实现了汽车厂的目标,但对于实施过程中的设备方工程师的工作效率,可能并没有显著提升。在资本扩张时,仍需人海战术来实现,工程师们可能成为其中的一环。

SICAR 标准下的程序框架有哪些?

以下是一个较为常见的 SICAR 标准下的 PLC 程序框架的主要部分:

  1. 全局变量和常量定义:
    定义整个程序中使用的全局常量,如设备参数、时间阈值等。
    声明全局变量用于存储系统状态、故障信息等。
  2. 初始化块(OB100):
    在 PLC 启动时执行一次,用于初始化变量、设置初始状态等。
  3. 主循环块(OB1):
    程序的主要执行部分,包含系统的主要逻辑控制和流程。
  4. 故障处理块(OB80 - OB87 等):
    用于处理不同类型的故障情况,如电源故障、通讯故障等。
  5. 定时中断块(OB30 - OB38 等):
    以固定的时间间隔执行特定的任务,如周期性的数据采集或控制动作。
  6. 硬件中断块(OB40 - OB47 等):
    响应硬件事件,如外部输入信号的变化。
  7. 功能块(FB)和功能(FC):
    封装可重复使用的功能逻辑,提高程序的可读性和可维护性。
  8. 数据块(DB):
    存储程序运行过程中的数据,包括输入、输出、中间变量等。

例如,在一个汽车生产线上的 SICAR 标准程序中,可能会有一个专门的故障处理块 OB82 来处理 PLC 与传感器之间的通讯故障。在主循环块 OB1 中,会根据各种输入信号和条件,通过调用功能块来控制生产线上不同工位的设备动作。
需要注意的是,具体的 SICAR 标准程序框架可能会因项目的具体需求和应用场景而有所不同,但上述部分通常是常见的组成元素。

程序的示例

以下是一个非常简单的 SICAR 标准下的 PLC 程序示例框架,用于控制一个简单的生产流程中的电机启动和停止:

FUNCTION_BLOCK FB_ProductionControl
VAR_INPUTStartButton : BOOL;  // 启动按钮输入StopButton : BOOL;   // 停止按钮输入
END_VARVAR_OUTPUTMotorRunning : BOOL; // 电机运行状态输出
END_VARVARInternalFlag : BOOL;  // 内部标志位
END_VARBEGIN// 启动逻辑IF StartButton AND NOT InternalFlag THENInternalFlag := TRUE;END_IF;// 停止逻辑IF StopButton THENInternalFlag := FALSE;END_IF;// 输出电机运行状态MotorRunning := InternalFlag;
END_FUNCTION_BLOCK

相关文章:

【智能制造-26】PLC标准-SICAR

什么是SICAR? SICAR 是西门子基于 TIA Portal 的汽车行业自动化标准。 SICAR 标准具有以下特点和优势: 提供了统一的硬件和软件标准,以及统一的接口。涵盖了从 PLC 程序、HMI 画面到特定工艺功能块(如机器人、阀岛、视觉系统等&…...

浅学爬虫-处理复杂网页

在处理实际项目时,网页通常比示例页面复杂得多。我们需要应对分页、动态加载和模拟用户行为等问题。以下是一些常见的场景及其解决方案。 处理分页 许多网站将内容分成多个页面,称为分页。要抓取这些数据,需要编写一个能够遍历所有分页的爬…...

nginx反向代理严重错误[crit] (13: Permission denied) while reading upstream问题

nginx作为使用最广泛的一款反向代理软件,其性能也是非常优秀的,一般情况下,直接配置就可以使用,而且也都是稳定高效的,但是在实际应用中,对于不同的应用场景,总是会出现各种各样的问题&#xff…...

精通Python爬虫中的XPath:从安装到实战演示

🔸 插件安装 首先,我们需要安装用于处理XPath的库lxml。在命令行中运行以下命令: pip install lxml🔹 lxml是一个强大的库,支持XPath查询和XML处理,是爬虫开发中的重要工具。 🔸 DOM节点学习 …...

redis的使用场景

目录 1. 热点数据缓存 1.1 什么是缓存? 1.2 缓存的原理 1.3 什么样的数据适合放入缓存中 1.4 哪个组件可以作为缓存 1.5 java使用redis如何实现缓存功能 1.5.1 需要的依赖 1.5.2 配置文件 1.5.3 代码 1.5.4 发现 1.6 使用缓存注解完成缓存功能 2. 分布式锁…...

记录new Date()的各种方法以及时间差的计算方法

new Date().toLocaleDateString() —— 2024/8/2new Date().toLocaleTimeString() —— 10:21:48new Date().toLocaleString() —— 2024/8/2 10:21:48new Date().toLocaleDateString() —— Fri Aug 02 2024new Date().toDateString() —— Fri Aug 02 2024new Date…...

vue项目创建+eslint+Prettier+git提交规范(commitizen+hooks+husk)

# 步骤 1、使用 vue-cli 创建项目 这一小节我们需要创建一个 vue3 的项目,而创建项目的方式依然是通过 vue-cli 进行创建。 不过这里有一点大家需要注意,因为我们需要使用最新的模板,所以请保证你的 vue-cli 的版本在 4.5.13 以上&#xff…...

从Docker拉取镜像一直失败超时?这些解决方案帮你解决烦恼

设置国内源: 提示:常规方案(作用不大) 阿里云提供了镜像源:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 登录后你会获得一个专属的地址 使用命令设置国内镜像源:通过vim /etc/docker/d…...

R语言大尺度空间数据分析模拟预测及可视化:地统计与空间自相关、空间数据插值、机器学习空间预测、空间升降尺度、空间模拟残差订正、空间制图等

目录 专题一 R语言空间数据介绍及数据挖掘关键技术 专题二 R语言空间数据高级处理技术 专题三 R语言多维时空数据处理技术、数据清洗整合和时间序列分析 专题四 R语言地统计与空间自相关、空间插值方法 专题五 R语言机器学习与空间模型预测及不确定性评估 专题六 R语言空…...

深入理解Java内存管理机制

Java内存管理是Java开发中一个至关重要的主题。理解内存管理机制不仅有助于编写高效的代码,还可以帮助我们避免常见的内存问题,如内存泄漏和内存不足。本篇博客将详细介绍Java内存管理机制,并通过代码示例帮助读者更好地理解这一过程。 1. J…...

Helm 学习之路,一文弄懂

1. 什么是 Helm 1.1 概述 Helm 是 Kubernetes 应用程序的包管理器,和redhat中yum 管理包类似. 1.2 架构图v3 1.3 下载 官当 最新版本 官方github curl -LO https://get.helm.sh/helm-v3.15.2-linux-amd64.tar.gz 1.4 安装 解压 #由于是二进制,直接解压到/usr/local/b…...

【面试题解答】一个有序数组 nums ,原地删除重复出现的元素

面试题解答 仅供学习 文章目录 面试题解答题目一、python代码1.1 代码1.2 示例用法1.2.1 示例11.2.2 示例2 二、讲解2.1 初始化2.2 遍历2.3 返回 题目 要解决这个问题,可以使用双指针方法进行原地修改,以确保每个元素最多出现两次。 一、python代码 1.1…...

【数据结构算法经典题目刨析(c语言)】随机链表的复制(图文详解)

💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:数据结构经典题目刨析(c语言) 目录 一、题目描述 二、思路分析 三、代码实现 一、题目描述 二、思路分析 要完成一个带随机指针的链表的复制,有一个巧妙的办法:分三步走 1.完成节…...

cqyjldfx

CVE-2023-27179 靶标介绍: GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞,漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。攻击者可以通过向 filename 参数传递恶意输入来下载服务器上的任意文件。 提示有本地文件泄露&a…...

大数据——HBase原理

摘要 HBase 是一个开源的、非关系型的分布式数据库系统,主要用于存储海量的结构化和半结构化数据。它是基于谷歌的 Bigtable 论文实现的,运行在 Hadoop 分布式文件系统(HDFS)之上,并且可以与 Hadoop 生态系统的其他组…...

《电视技术》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《电视技术》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《电视技术》级别? 答:国家级。主管单位:中国电子科技集团公司 主办单位&#xff…...

网络编程 --------- 2、socket网络编程接口

1、什么是socket 套接字 socke套接字是一个编程的接口 (网络编程的接口)、是一种特殊的文件描述符 (read/write),不局限于TCP/IP 。socket是独立于具体协议的网络编程接口这个接口是位于 应用层和传输层之间 。 类型: (1)流式套接字 SOCK_ST…...

C# Deconstruct详解

总目录 前言 该文来源于探索弃元的使用,由弃元了解到元组,由元组又了解到解构方法Deconstruct。 另外本文中 解构和析构一个意思,不要在意! 一、Deconstruct是什么? 1. 关于元组 如果我们想了解Deconstruct 的使用&…...

Java 面试常见问题之——为什么重写equals时必须重写hashCode方法

Java 面试常见问题之——为什么重写equals时必须重写hashCode方法 当重写 equals 方法时,通常也应该重写 hashCode 方法,原因主要有以下几点: 一致性原则:根据 Java 的约定,如果两个对象通过 equals 方法比较返回 tr…...

后端给的树形结构 递归 改造成阶联选择器所需要的lable、value结构

赋值:this.newTreeData this.renameFields(this.treeData) 递归方法:renameFields (tree) {return tree.map(node > {// 创建一个新对象来存放修改后的字段名const newNode {value: node.id,label: node.title,// 如果有子节点,则递归处理…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...