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项目合作开发,请与我们联系。
相关文章:

LabVIEW通过IEC61508标准验证ITER联锁系统
LabVIEW通过IEC61508标准验证ITER联锁系统 保护环境要求系统能够保护机器免受工厂系统故障或机器危险操作造成的严重损坏。负责此功能的ITER系统是联锁控制系统(ICS)。该系统通过中央联锁系统(CIS)监督和控制不同的工厂联锁系统&…...
如何处理日期和时间?
处理日期和时间是计算机编程中的常见任务,无论是在C语言还是其他编程语言中。C语言提供了一些库函数来处理日期和时间,主要是通过<time.h>头文件中的函数来完成的。在本文中,我将详细解释如何在C语言中处理日期和时间,包括日…...

【开发】视频集中存储/直播点播平台EasyDSS点播文件分类功能优化
视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 TSINGSEE青犀视频的EasyDSS平台具有点播文件分类展示方法…...

论文多级编号-word2010
多级列表-定义新的多级列表 注意1.1中的两个1必须是灰色(如果不是灰色,解决方法放在文本文末了) 如果定义过程中发现1.1中的1不是灰色,如下图,那么需要操作下述步骤 点击文件-选项 取消勾选自动编号列表。确定后关闭文…...

Jetpack Compose基础组件之 — Text
Text的源码参数预览 Composable fun Text(text: String,modifier: Modifier Modifier,color: Color Color.Unspecified,fontSize: TextUnit TextUnit.Unspecified,fontStyle: FontStyle? null,fontWeight: FontWeight? null,fontFamily: FontFamily? null,letterSpac…...

动手学深度学习——Windows下的环境安装流程(一步一步安装,图文并配)
目录 环境安装官网步骤图文版安装Miniconda下载包含本书全部代码的压缩包使用conda创建虚拟(运行)环境使用conda创建虚拟环境并安装本书需要的软件激活之前创建的环境打开Jupyter记事本 环境安装 文章参考来源:http://t.csdn.cn/tu8V8 官网…...

打印日志遇到的问题,logback与zookeeper冲突
在做项目时需要打印日志引入了logback打印日志,但是一直无法打印,于是一路查找原因。发现zookeeper中默认带的有个logback和我自己引入的logback版本冲突了,这样直接使用exclusions标签将zookeeper中自带的日志框架全部排除即可 按理说到这一…...
【Node.js操作SQLite指南】
Node.js操作SQLite指南 在本篇博客中,我们将学习如何在Node.js中操作SQLite数据库。我们将使用sqlite3模块来创建数据库、创建表以及进行数据的增删改查操作。 文章目录 Node.js操作SQLite指南安装sqlite3模块创建数据库创建表数据的增删改查插入数据查询数据更新…...

PyTorch之张量的相关操作大全 ->(个人学习记录笔记)
文章目录 Torch1. 张量的创建1.1 直接创建1.1.1 torch.tensor1.1.2 torch.from_numpy(ndarray) 1.2 依据数值创建1.2.1 torch.zeros1.2.2 torch.zeros_like1.2.3 torch.ones1.2.4 torch.ones_like1.2.5 torch.full1.2.6 torch.full_like1.2.7 torch.arange1.2.8 torch.linspace…...

ChatGPT生成内容很难脱离标准化,不建议用来写留学文书
ChatGPT无疑是23年留学届的热门话题,也成为了不少留学生再也离不开的万能工具,从总结文献、润色论文、给教授写email似乎无所不能。 各大高校对于学生使用ChatGPT的态度也有所不同。例如,哈佛大学教育代理院长 Anne Harrington 在内部邮件中…...
sqlserver @@ROWCOUNT的使用
T-SQL是一种用于与关系型数据库(如Microsoft SQL Server)交互的SQL(Structured Query Language)方言。 在T-SQL中,ROWCOUNT是一个系统变量,它返回最后执行的语句影响的行数。你提供的代码检查ROWCOUNT的值…...
Hbase批量删除数据
一、TTL机制 HBase的TTL(Time To Live)是一种用于指定数据存活时间的机制。它允许用户为HBase中的数据设置一个固定的生存时间,在达到指定的时间后,HBase会自动删除这些数据。 具体操作如下: 三步走,先禁用…...

飞行动力学 - 第20节-part2-机翼上反及后掠对横向静稳定性的影响 之 基础点摘要
飞行动力学 - 第20节-part2-机翼上反及后掠对横向静稳定性的影响 之 基础点摘要 1. 上反角贡献2. 后掠角贡献3. 参考资料 1. 上反角贡献 对于无后掠、大展弦比带上反的矩形机翼,飞行状态为 α \alpha α, β \beta β及V。 上反角增加稳定性,…...

力扣 -- 1218. 最长定差子序列
参考代码: class Solution { public:int longestSubsequence(vector<int>& arr, int difference) {int narr.size();unordered_map<int,int> hash;//nums[i]绑定dp[i]hash[arr[0]]1;int ret1;for(int i1;i<n;i){int aarr[i];int ba-difference;…...
【程序员装机】在右键菜单中添加Notepad++选项
文章目录 前言在右键菜单中添加Notepad选项的批处理脚本上述批处理脚本的功能包括 总结 前言 本文将介绍如何通过批处理脚本来在Windows右键菜单中添加Notepad选项,使您能够轻松使用Notepad打开各种文件。 在右键菜单中添加Notepad选项的批处理脚本 以下是一个用于…...

Scrapy的基本介绍、安装及工作流程
一.Scrapy介绍 Scrapy是什么? Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架(异步爬虫框架) 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。 Scrapy使用了Twisted异步网络框架&…...

CMS 三色标记【JVM调优】
文章目录 1. 垃圾回收器2. CMS 原理3. 三色标记算法 1. 垃圾回收器 ① Serial:最原始的垃圾回收器,用于新生代,是单线程的,GC 时需要停止其它所有的工作,算法简单,但它只能在内存较小时勉强使用;…...

使用 CSS 伪类的attr() 展示 tooltip
效果图: 使用场景: 使用React渲染后台返回的数据, 遍历以列表的形式展示, 可能简要字段内容需要鼠标放上去才显示的 可以借助DOM的自定义属性和CSS伪类的attr来实现 所有代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-…...
在命令窗口便捷快速复制输出结果到剪贴板
在macOS上,将命令的输出结果复制到剪贴板 在日常的工作中, 经常使用命令的小伙伴可能会遇到一个场景, 就是把命令执行的结果复制出来另作它用. 每次都需要通过鼠标进行选择然后复制, 虽然 macOS 的命令行的复制快捷键和普通的复制是一样的, 非常友好, 但是还要选择…...

CUDA小白 - NPP(8) 图像处理 Morphological Operations
cuda小白 原始API链接 NPP GPU架构近些年也有不少的变化,具体的可以参考别的博主的介绍,都比较详细。还有一些cuda中的专有名词的含义,可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》 常见的NppStatus…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...

GAN模式奔溃的探讨论文综述(一)
简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...