LabVIEW通过IEC61508标准验证ITER联锁系统

LabVIEW通过IEC61508标准验证ITER联锁系统

保护环境要求系统能够保护机器免受工厂系统故障或机器危险操作造成的严重损坏。负责此功能的ITER系统是联锁控制系统(ICS)。该系统通过中央联锁系统(CIS)监督和控制不同的工厂联锁系统(PIS)和高级保护系统(APS),确保机器的完整性和可用性。

这些架构由冗余配置的NI-9159机箱组成。这些系统是使用高级图形编程工具LabVIEW FPGA开发的。IEC61508是适用于所有行业的功能安全标准。该标准定义了设计、部署和维护电气/电子/可编程电子(E/E/PE)安全相关系统的方法。它

ICS是负责保护托卡马克操作免受绝对工程限制的系统。投资保护危害在各个工厂中横向识别,ITER联锁完整性等级与IEC61508安全完整性级别相称。ITER使用与标准相同的按需故障概率目标。因此,

ICS执行具有不同时序要求的功能。一些要求要求控制器能够以亚毫秒级的响应时间提供互锁信号,需要严格的实时控制周期,其顺序为100μ秒.这些要求被分配给快速控制器。

快速控制器使用NI提供的基于Xilinx FPGA的COTSCompact RIO NI 9159。对故障、模式、影响和诊断分析进行了研究,以分析行为并提供架构解决方案。

Compact RIO技术为硬件开发和采集提供了节省成本的解决方案。控制器固件通过LabVIEWFPGA图形化编程工具开发。LabVIEW FPGA使开发人员能够创建设计,并直接将设计转换为配置流文件(位文件)。LabVIEW FPGA固件的编译步骤描述如下

中间文件的生成:LabVIEW的FPGAVI被转换为中间文件[超高速集成电路硬件描述语言(VHDL)代码],并准备发送给编译工作程序。

•      排队:挂起的作业由编译器服务器排队,稍后,它将中间文件发送到编译工作程序以进行编译过程。

•      VHDL编译、分析和综合:数字逻辑元素由编译工作线程从中间文件创建。

•      映射:编译工作线程将逻辑分布在FPGA的物理构建块上。

•      放置和布线:逻辑被分配给FPGA的物理构建块,并建立逻辑块之间的连接以满足编译的空间或时序限制。

•      生成编程文件:编译工作程序创建二进制数据,并将其存储到LabVIEW创建的位文件中。

•      创建位文件:LabVIEW将位文件保存在项目目录的子目录中,并可以下载和/或在FPGAVI上运行应用程序。

LabVIEW生成VHDL代码,通过这些代码可以对FPGA进行编程,但用户无法直接访问这些代码。用户只能访问LabVIEW图形代码,且如上所述,该标准不为使用高级综合语言或图形语言开发的系统提供指令。此外,在无法访问自动生成的VHDL代码的情况下深入验证系统也很复杂。通过配置FPGA的最终代码进行验证过程。该进程应包括以下目标。

•      应验证单个单元功能的正确运行。

•      应验证组件之间的正确集成和通信。

•      应验证整个系统的行为。

要执行此任务,必须访问LabVIEW工具生成的中间VHDL代码,并对其应用测试技术。此外,建议使用经过认证的第三方VHDL编译器执行此过程。

第一个任务集中在有关代码分析和正确使用编译工具的IEC61508条款上。首先,对LabVIEW FPGA通过自动编译过程生成固件的步骤进行了详细研究。然后,尝试使用Xilinx工具复制LabVIEW编译自动生成的FPGA配置比特流。最后,可以创建一个TCL脚本,该脚本使用Xilinx ISE工具生成的结果结果与从LabVIEW编译获得的结果结果完全相同。

通过LabVIEW外部的仿真器运行固件的功能仿真是否可行,测试了实施此过程。MentorGraphics的第三方工具Questa高级模拟器用于运行模拟。测试平台是使用System Verilog语言开发的,并结合了先进的测试技术,例如:

•      代码覆盖率。

•      通过SystemVerilog断言实现功能覆盖。

•      刺激随机化。

创建SystemVerilog仿真框架。它是一个典型接口和转移代理类库,用于加快新测试的开发和将V&V过程应用到新模板。一套n创建了测试,每个要测试的模块都有一个测试。此外,每个测试都包含一个断言模块,该模块实现功能覆盖并验证是否符合旨在验证每个测试的系统要求。为了标准化给定模块的断言和测试平台与被测设备之间的连接,必须使用System Verilog接口。

 根据ITERICS-FA上的IEC61508标准,V&V工艺的应用一系列可能性和局限性。它确保接受所使用的COTS设备适合在投资保护环境中运行的必要保证。

基于所获得的结果,提出了适用于ICS-FA的优化V&V方法。因此,可以得出结论,系统的V&V是可能的,但有一些限制。一方面,不可能涵盖标准的所有项目,使标准部分适用。另一方面,必须考虑到应用此过程所需的巨大努力和时间成本。特别是,首次理解、管理和实施此过程所需的工作量非常高。即便如此,随后的执行次数也需要付出很大的努力。当前基线中的几个关键系统,如中断缓解系统或超导磁体保护,可能会经历所描述的极其谨慎的V&V过程。然而,如果以有限和有针对性的方式应用,所确定的技术也可以使低临界系统受益。

此外,还考虑了开发安全系统的两个必要方面。首先,研究证明了在基于NI9159的应用中集成SEU检测和缓解系统的必要性和可能性。其次,它发现了如何控制FPGA的放置并隔离LabVIEW中引入的VHDL模块,从而揭示了单芯片容错在CIS-FA设计中的相关位置。

这是LabVIEW的一个应用,更多的开发案例,欢迎登录北京瀚文网星官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

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

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

相关文章

react | react-router-dom v6 结合 antd 面包屑 |嵌套路由

大致需求图示如上: 需求: 1. 点击page2默认进入/page2/中国 2. 在中国界面选择省份,进入浙江省 3. 在浙江省中选择市,进入杭州市 4. 选择大学,进入浙江大学 5. 点击面包屑中某个tab,进入对应tab界面&…

Ubuntu22.04_如何调试ROS2_humble的源代码

这里的源码,是指的ros2 humble的官方源码。如果是自己手撸的节点或相关源码,请参考本人以前的贴子, Ubuntu20.04vscode快速调试ROS通用程序_ubuntu20.04vscode那个版本和ros 兼容_高精度计算机视觉的博客-CSDN博客 Ubuntu20.04+…

HTML 知识扫盲

写在前面 HTML 是一门超文本标记语言,不管你听没听说过 HTML,但在网上冲浪的途中你无时不刻都在与它接触,他遍布在每个你看得到的互联网的角落。其实对于笔者而言,我已经断断续续地学习过这门语言,经过时间的磋磨&…

利用cms主题构造木马(CVE-2022-26965)

简介 CVE-2022-26965是Pluck CMS 4.7.16版本存在一个远程shell上传执行漏洞。 攻击者可利用此漏洞通过构造恶意的主题包进行上传并执行,未经授权访问服务器,造成潜在的安全隐患。 过程 1.打开环境,查看源码,发现login.php 2.进…

带你熟练使用list

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻强烈推荐优质专栏: 🍔🍟🌯C的世界(持续更新中) 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔…

使用jupyter运行sympy库

1.首先下载sympy插件: (1)在下图这里输入cmd (2)pip install sympy 若出现不信任此资源错误,改成pip install sympy--trusted-host pypi.tuna.tsinghua.edu.cn (3)检查是否安装成功 python import sympy sympy.__version__&#…

GemBox.Bundle 47.0.1227 Crack

GemBox.Document 35.0.1480 GemBox.Email 17.0.1147 GemBox.Imaging 10.0.1096 GemBox.Pdf 17.0.1404 GemBox.Presentation 25.0.1526 GemBox.Spreadsheet 49.0.1454 GemBox.Spreadsheet 从 .NET 应用程序读取、写入、转换和打印 XLSX、XLS、XLSB、CSV、HTML 和 ODS 电子表…

Git使用方法与IDEA集成Git

1.Git介绍 1.1版本控制(理解) 无论是代码编写,还是文档编写,我们都会遇到对文档内容反复修改的情况。 1.2开发中存在的问题(理解) 程序员小明负责的模块就要完成了,就在即将提交发布之前的一瞬间,电脑突然蓝屏,硬盘…

解决three.js中加载纹理贴图时,初次渲染不显示的问题

效果: 解决方法:主要是将一些构建网格对象的操作放在了textureLoader.load()方法中,加载图片也用了require init() {// 1, 创建场景对象this.scene new this.$three.Scene();// 2, 创建立方缓冲几何体this.geometry new this.$three.BoxGe…

Promethus(普罗米修斯)安装与配置(亲测可用)

1. 普罗米修斯概述 Prometheus(是由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。适合监控docker容器。 Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus&#…

电压源与电流源简介

文章目录 电压源与电流源简介1.电压源的本质2.电流源的本质3.Q&A 推荐学习 电压源与电流源简介 1.电压源的本质 无论带什么样的负载,输出电压保持不变的电路才是电压源。 一个电路想要输出电压不变,那它必须有强有力的输出电流能力,而不…

idea在同一窗口打开多个项目

ieda中同一窗口打开多个项目操作如下: 1.点击文件中的项目结构 2.点击模块,选择号 3.点击想要加入的模块,点击下一步确定等,最后点击应用,确定。变成如下图所示,这样方便多个项目代码的阅读

EdgeX Foundry MQTT设备服务

一、部署edgex 1.运行命令行,进入放置docker-compose-fuji-no-secty.yml文件的路径下 下载到本地的docker-compose文件 执行: docker-compose -f docker-compose-fuji-no-secty.yml pull 拉取相关镜像,这里默认将文件中没有注释的服务镜像全部…

27、Flink 的SQL之SELECT (SQL Hints 和 Joins)介绍及详细示例(2-1)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

HarmonyOS开发环境搭建

一 鸿蒙简介: 1.1 HarmonyOS是华为自研的一款分布式操作系统,兼容Android,但又区别Android,不仅仅定位于手机系统。更侧重于万物物联和智能终端,目前已更新到4.0版本。 1.2 HarmonyOS软件编程语言是ArkTS&#xff0c…

Flutter快速入门学习(一)

目录 前言 新建项目 项目入口 Dart的入口(项目的入口) 布局 视图组件 Container(容器) Text(文本) Image(图片) Row(水平布局)和Column&#xff08…

C++ 算法学习 之 vector assign

参考c官方手册 vector::assign是C标准模板库中的一个函数&#xff0c;它的主要功能是给vector容器重新赋值。具体来说&#xff0c;vector::assign函数会删除vector中的所有元素&#xff0c;并根据用户提供的参数重新填充。 这个函数有三种形式&#xff1a; template <cla…

P2P协议的传输艺术

TP 采用两个 TCP 连接来传输一个文件。 控制连接&#xff1a;服务器以被动的方式&#xff0c;打开众所周知用于 FTP 的端口 21&#xff0c;客户端则主动发起连接。该连接将命令从客户端传给服务器&#xff0c;并传回服务器的应答。常用的命令有&#xff1a;list——获取文件目…

随机抽样一致RANSAC

文章目录 RANSAC简介RANSAC算法Ransac在3D视觉中的用法直线拟合单应性矩阵拟合RANSAC的优缺点RANSAC的优点RANSAC的缺点RANSAC在弯曲场景中的缺点:RANSAC适用场景RANSAC简介 RANSAC是 RANdom SAmple Consensus 的缩写,中文翻译叫随机采样一致。它可以从一组观测数据中,找出…