已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LabVIEW编程规范 IntelligentElectronicsInstituteHuazhongUniversityofScience Technology 2 目录 编程规范的重要性前面板创建规范背面板创建规范VI图标和连接器创建规范 3 编程规范的重要性 编程规范是指某种计算机编程语言的基本风格或典范模式 或者说是将计算机要执行的任务 按某种编程语言的基本风格或典范模式 形成概念化和结构化设计框架与实现方式 4 编程规范的重要性 软件是一个复杂的体系好的软件程序应当具备以下特性 易用性 高效性 可读性可维护性 健壮性 简洁性 5 编程规范的重要性 对一个给定的具体软件任务 也许有多种实现方式去完成同一功能 个人的偏好 编程的风格 软件的需求对程序开发有着重要的影响 并且开发人员的意向直接影响程序应用的实际效果 软件程序要达到以上的诸多特性 开发团队人员之间必须要有一种通用的规定约束 以尽量减少个人的主观随意性色彩 6 编程规范的重要性 LabVIEW提供多种方式来创造程序的样式 而且在实际开发应用中也可看到许多不同的编程规范 好的规范可以开发出更优秀的程序 兼顾编程规范与软件开发时间的平衡选取 7 编程规范的重要性 形成良好编程规范习惯 需要进行前期准备工作 主要包括以下4个方面 写需求说明 构建软件设计架构 配置LabVIEW环境 制定项目工程管理规范 8 前面板创建规范 布局 配色 帮助信息 9 前面板创建规范 布局 一个项目所需的设计主要包括用户界面设计 程序结构设计 接口设计 模块设计等 对于编写LabVIEW程序 通常先做用户界面设计 可以使界面不受程序实现的影响 先设计程序结构 再设计界面 难免会朝着简化编码工作方向去努力 但是这样的界面设计往往不是最方便用户使用的状态 10 前面板创建规范 布局 对于界面设计的评价首先 看这个界面是否完成了其交互功能 用户可以通过界面为程序提供必要的信息 可以通过界面接收到需要的信息 其次 通过这个界面用户可以简单直观地输入或获取信息 最后 才是界面的美观程度 11 前面板创建规范 布局 好的用户界面都有一些共同的特点 使用恰当的数据类型和控件类型控件的分类排布合理 简洁颜色搭配科学有必要的文档说明和注释 12 前面板创建规范 布局 关于布局的几条基本原则 最重要控件放在最醒目位置对于布局 就是将最重要部分放在最显眼的地方 这是一个非常重要的规范 根据大多数人的阅读习惯 总是从左到右 从上到下 因此要把最重要的部分放在左上角 LabVIEW提供了排列控件 控件对齐 等间隔这些工具 通过这些工具 程序设计人员就可以非常方便地布置界面上的控件 13 前面板创建规范 布局 同一类控件进行归类和相似控件的尺寸保持一致除了使用布局工具将控件对称排列整齐 编程人员还需要将同一类控件进行归类 并且相似控件的尺寸最好保持一致 这样就可使界面看上去更加有层次感 LabVIEW编程提供了可通过多种装饰控件 空白间隔 选项卡和簇来对控件进行归类的方法 使不同控件看上去有丰富的层次感 14 前面板创建规范 布局 正确调控窗口大小进行窗口大小调控是非常重要的 一般而言 程序员在一个分辨率的显示器下开发的程序 如果在另外一个不同分辨率的显示器上运行时 就有可能使界面两端的空白区域显示出来 为了解决这个问题 LabVIEW编程软件在 VI属性 菜单栏的窗口大小中有两个选项 第一个选项可以让程序在不同分辨率下保持窗口比例 第二个选项可以根据窗口的尺寸 自动调节界面中控件的大小 15 前面板创建规范 布局 图示是我们智能电子学研究所 IEI 完成的程序开发项目 对于程序设计人员来说 版权是最重要的 所以我们将研究所的图徽放在了左上角 整个界面虽然控件很多 但是排列整齐 而且对功能类似的控件进行了有效的分类 让人一看上去就清晰 明了 16 前面板创建规范 布局 图形用户界面 GUI GUI 即图形用户界面 是指采用图形方式显示的用户操作界面 GUI分为桌面GUI和工业GUI 桌面GUI 主要提供给个人在办公室 私人实验室或其他个人计算环境下使用 工业GUI 使用场合是与仪器设备相关 实现工业测试测量 嵌入式控制 设计典型应用环境 17 前面板创建规范 布局 关于GUI的几点布局规范 工业GUIVI中主VI面板显示最大化工业GUI常作为监视和控制工业设备的专门接口 不希望提供可视的操作系统接入 以避免用户访问与应用无关的资源 因此 对于工业GUIVI 应该将主VI面板最大化 大多数工业GUIVI都会随PC启动而自动运行 并且主VI面板会占据整个屏幕 该功能是通过设置 窗口运行时最大化 属性来实现的 可通过 文件 VI属性 选取 然后从 类别 中选择 窗口运行时位置 在位置选项中选择 最大化 18 前面板创建规范 布局 正确设置GUIVI分辨率在某一个分辨率下开发的程序 在另一个分辨率下运行时 如果显示分辨率增加 前面板的一些附加部分会显示出来 这就有可能暴露了在开发过程中需要对用户隐藏的控件部分 因此 如果不想让用户看见这些控件 就要保证控件对用户是不可见的 19 前面板创建规范 布局 GUIVI面板中对话框设置和使用对话框VI前面板的显示应该居中并且小于全屏尺寸 这样既可以让用户很容易识别出它们是对话框 还可以在面板打开时总出现在屏幕的中央 一般可以通过VI属性中 窗口运行时位置 中设置属性为窗口中心来实现 与此同时 对话框VI也必须注意分辨率的设置问题 而且还应考虑几个对话框同步打开时的情况 20 前面板创建规范 布局 工业GUI自定义对话框VILabVIEW用户可以根据具体需求自定义对话框 自定义对话框VI对桌面GUI和工业GUI都是适用的 对于桌面GUI而言 从 文件 VI属性 窗口外观 中设置对话框的窗口外观属性 面板背景颜色 模式行为及其他属性 选择一个与操作系统对话框类似的对话框 尽量保持与操作系统对话框的一致 对于工业GUI 需要较大的面板 控件和文本 3D风格的控件会经常用在工业GUI的界面设计中 并且还要根据重要性来调节工业GUI的大小和位置 21 前面板创建规范 布局 桌面GUI和工业GUI的区别示例 22 前面板创建规范 布局 关于GUIVI还有几点值得提醒 在满足应用需求前提下 界面尽可能简洁 不要重叠控件 也不能因为控件多而出现界面重叠的现象 适度隐藏开发界面上所有调试按钮工具栏 特别是为程序添加一个停止按钮 不要使用开发界面提供的中止运行按钮 可以用一个停止控件来退出需要关闭的程序 给完成的GUI设计放上一个图标 23 前面板创建规范 布局 子VI 对于子VI面板上的控件 文本基本上采用默认的外观 简单明了 方便判断其是否为子VI即可 24 前面板创建规范 配色 关于颜色的搭配 有几个重要的原则 总体协调 局部对比设计一个LabVIEW前面板 其整体的色调应该是协调的 而局部或者小范围内 可以使用一些亮色来形成对比 经常看到一些GUI的配色让人感到不舒服 其存在的一个共同问题是颜色太多 所以 程序开发人员要谨慎地使用颜色 界面的配色就像穿衣时的颜色搭配一样 总体上不要超过3种 否则会给人一种眼花缭乱的视觉 25 前面板创建规范 配色 相关控件采用同一种颜色 同一个应用程序的所有VI界面 可采用一致的配色方案 一般子VI的面板和控件不需要配色前面提到要对相关的控件进行归类 突出层次感 对控件颜色的使用也是很好的归类方式之一 同一个应用程序中应该保持一致的颜色主题 对于子VI的前面板就不需要颜色了 只需保持默认的外观 有助于将其识别为子VI即可 26 前面板创建规范 配色 遵循通用的惯例我们经常使用的一些亮色 比如红色 黄色 绿色 在使用中尽量遵循工业标准的一些规范 比如说红色表示警告 用来表示一些非常紧急的情况 黄色用来引起注意 绿色表示整个工作是非常正常的状态 27 前面板创建规范 配色 黑 白色是经典配色黑 白色是不会过时最经典的颜色 当打开一个VI的前面板 不知道如何下手设计时 首先可以将前面板的背景设置为全黑或者全白 然后根据个人的创意搭配一些局部的小的亮色 同样也能设计出美观的界面 28 前面板创建规范 配色 最重要的是对界面颜色的设计 必须建立在保证应用程序功能正确的基础上大多数LabVIEW应用程序基本目的是测试 测量和控制 在关键的应用需求得到满足后 若时间允许 才会考虑配色方案的设计 29 前面板创建规范 帮助信息 帮助信息主要是指为了帮助新手而提供的一些说明文档 任何描述结构 组件 系统操作 应用程序及源代码的文件都称为说明文档 说明文档的具体内容因应用类型 开发人员 用户的不同而相异 前面板的说明文档一般包括控件标签 描述 提示条和自由标签 30 前面板创建规范 帮助信息 说明文档的通用规范 尽量减少在前面板中使用说明文档直观的前面板一般是图形化设计的 而不是文本式描述的 因而 无论是用户还是程序开发者 都不想在前面板看到太多的文本式描述 相比之下 通俗易懂的按钮 控件 图标和图片 则会更受欢迎 因此 应该避免在标签和控件中加入太多的文本 31 前面板创建规范 帮助信息 创建直观 明了的GUI来减少文本的使用在创建GUI时 对于不可避免的文档说明 尽量使用Help菜单或标签为Help的按钮 还可以根据要求从LabVIEW载入帮助信息 如在线文档 LabVIEWContextHelp窗口 在外部文档或编写的帮助文件内创建用户手册或帮助标题 32 前面板创建规范 帮助信息 特别提醒对于一个大项目的开发 往往是一个团队的工作 团队每位开发人员可能会在自己的任务VI中为同事留下注释文本 帮助理解和阅读程序 对于这些文本 在整个开发任务结束时 是应该删掉的 33 前面板创建规范 帮助信息 说明文档撰写应该注意的事项 对于同一个应用程序 应该采用一致的字体 可以通过改变尺寸 粗细和颜色来达到多种文本样式通常 应用程序需要多种类型文本来区分不同类型的数据和事件 比如 通常在工业GUI内 会用大号粗体来显示重要数据或者标题 对那些报警 警告之类的重要信息 则会采用强对比的颜色 此时应该注意到 太多的文本类型会使整个界面显得杂乱 34 前面板创建规范 帮助信息 同一个应用程序 不同的文本样式最好不要超过3种 否则界面就会变得难以分辨且分散用户的注意力前面讲到关于控件的归类 对类似的控件 标签尽量使用一致的文本样式 这样既有层次感 又减少了文本样式的使用 选择一致的文本样式既可以节省开发时间 又能提高程序的易用性 35 前面板创建规范 帮助信息 使用简洁 直观的控件标签在LabVIEW的应用程序中 有一种看起来最醒目的文本类型 即控件标签 使用简洁 直观的控件标签对程序的易用性是很重要的 另外 尽量为每个代表物理参数的控件附加上默认值和单位 当需要使用很长的描述或者GUI标签的设计与控件标签不同时 尽量使用标题 如果通过标签还不能将对象的性质表述清楚 那就需要输入一两行的描述性文本 也可以是具有描述性短语的提示条 当鼠标光标放在控件上时 提示条就会显示简略的描述 36 前面板创建规范 帮助信息 子VI的说明文档采用默认值为宜子VI的说明文档一般使用默认值即可 除了商用子VI 如仪器驱动和开发工具箱 其所有的控件和指示器应该是粗体的 而在附加的默认值和单位则是普通文本 而工业GUI 根据其应用场合 一般需要采用较大的文本来显示命令按钮和重要数据 文本的颜色也应该和背景色有很高的对比度 对于多平台应用程序 需要在标签和对象之间留下额外的空间 37 背面板创建规范 布局 连线 数据流 程序注释 38 背面板创建规范 布局 背面板上显示的是程序框图 虽然不像前面板的控件那样直接与用户交互 但是良好的背面板布局 对于程序的可读性是很重要的 LabVIEW作为图形化系统设计编程语言 应当考虑将源代码控制在一屏能显示的范围内 39 背面板创建规范 布局 在背面板布局时 应当遵循以下一些规范 不要给程序框图着色界面的背景色和每个结构的子界面都默认为白色 数据流向非常容易识别 对象尽量布局紧凑 但同时对象不能靠得太近从而引起对象和连线重叠 尽量缩小程序框图大小使之能在一个屏幕显示出来 在某些情况下 比如说某些复杂的程序包含很多个并行循环 要满足这个限定非常困难 在这种情况下 调整程序框图 或者将一些循环变成子VI来减小所占的背面板空间 使背面板仅在一个方向上滑动 40 背面板创建规范 布局 采用从上至下和自下而上相结合的方法 来构建多层次结构关系VIVI的层次结构可以通过选择 查看 VI层次结构 来查看 窗口的工具条包括VILib 全局变量和自定义类型 只显示自己提供的用户VI 通常的几何形状包括直线型和圆角型 除了非常简单的应用程序外 VI层次结构中在顶层VI之下应包含多行子VI 41 背面板创建规范 布局 应用程序可采用大量的数值属性节点来控制GUI行为许多属性节点的读 写操作都是由GUI事件触发的 因此 事件结构是理想的处理属性节点结构 因为事件结构为每个事件分支分配一个单独的子程序 一个事件分支的程序不会跑到其他事件分支 然而 多事件分支需要许多个相同的属性节点 其值因每次读 写操作而不同 将这些普通的属性节点模块化为子VI 通过控件引用和属性值传递到子VI中 每个子VI程序代表在内存中同一属性节点的备份 这减小了内存使用和程序复杂性 42 背面板创建规范 布局 创建可见子VI可为程序开发节省背面板空间子VI非常有用 因为相对于一个大型程序来说 它易于开发 测试 调试 维护和代码重用 因而 子VI也为程序开发中节省了可观的背面板空间 总之 如果同一函数 属性节点 程序被多次调用 将这些重复代码换成子VI将使程序开发变得简单 43 背面板创建规范 布局 记住为每个子VI创建一个有含义的图标和相应的描述图标和描述信息能帮助在调用这些子VI的程序时 可通过帮助窗口的文字识别这些子VI 这些描述可以促使程序设计人员进行内聚性测试 如果程序设计人员不能通过两到三句话总结子VI的功能 那么子VI可能包含了太多的子代码 44 背面板创建规范 连线 在布线规则上 LabVIEW编程人员应该遵循一些基本原则 主要包括 尽量使程序中弯折线最少 不要形成扭结和圈保持并行连线之间的间隔不要遮挡连线和节点 避免重叠程序框中的对象 45 背面板创建规范 连线 LabVIEW编程中有自动和手动布线两种方式来连线和清除连线自动方式优先考虑水平接线端 并且以多余的曲线为代价来避免对象重叠 为了使弯折线最少 必须采用手动方式进行程序连线 此外 在现有的连线上 右击选择 整理连线 会自动减少扭结 圈和弯折线 46 背面板创建规范 连线 隧道连线通过结构左侧边界进入结构 并从结构的右侧边界穿过结构不要让隧道在结构的顶部或底部穿过 同样如果结构内部未使用到也不要让连线穿过结构 47 背面板创建规范 连线 避免在程序框图中重叠连线和节点将偶尔交叉的连线改为横向和纵向 有时能很好地解决这些问题 例如 通常位于循环结构的左下脚的周期端子 必须连接到右上方的位置 而许多其他的数据流连线 需要经由隧道或移位寄存器在水平方向穿过整个结构 如错误簇就是一个典型例子 此外 不要将连线和一个对象或节点重叠 因为连线在函数或子VI下面流动会被误认为是节点的输入和输出 从而影响程序可读性 48 背面板创建规范 连线 切勿使用局部变量或全局变量来作为一种减少连线的方法变量增加处理开销 内存使用和程序的复杂性 此外 使用变量破坏了LabVIEW数据流原则 掩盖了实际的数据来源 当变量从程序的多个位置读 写时 就难以确定哪个在实际影响数据值 当使用连线时 很容易追踪到数据唯一的源终端 49 背面板创建规范 连线 将没有连线的前面板控件在程序框图上放在一起 程序开发人员就能非常容易找到布尔控件设置为触发动作后 控件自身不能自动重置 如果接线端的控件与事件结构中的注册事件相关 将控件的接线端放在事件结构中 这能保证接线端的值 能够在事件每次发生时被程序正确读取 对于那些与事件结构无关的而且没有连线的接线端 只需将其简单地放置在程序框图主结构的左边 50 背面板创建规范 连线 使用簇来组织相关数据 减少连线的数量若能够减少面板中的连线 程序的可读性将得到很大的提高 所以 通常使用簇来组织相关数据 减少连线的数量 在框图的任何一个地方 如果涉及许多相互关联的数据 可以用簇来将其替换掉 并且这样做能方便地将数据传递到子VI中 但要特别提醒 簇中的元素必须是相关的 或是有相同的目的地 51 背面板创建规范 数据流 数据流编程是LabVIEW区别于其他文本编程语言的显著特征之一 所谓数据流 指在LabVIEW中 数据沿着连线 从源端流向终端 程序框图中 一个节点只有在其所有的输入端都接收到数据后才会执行 执行完毕后 数据再接着从其输出端沿着数据流方向流向下一个节点 52 背面板创建规范 数据流 数据流编程应该遵循以下一些基本原则 数据流总是从左流到右除采用反馈节点和顺序局部变量编程外 LabVIEW数据流都是沿着连线从左端流向右端的 反馈节点和顺序局部变量均是LabVIEW中自带的结构 但有违背数据流流向的原则 然而正确使用反馈节点 相比移位寄存器来说 是能够降低混乱连线的 顺序局部变量只与层叠顺序结构相关 在LabVIEW编程中应该尽量避免使用 53 背面板创建规范 数据流 避免出现数据类型强制转换为避免在数据传输过程中数据类型的不匹配 可以选择在节点的端子上右击直接创建输入控件 显示控件或常量 通过右击需要创建控件的节点连线端 在菜单中选择 创建 常量 输入控件 显示控件 与连线段数据类型相符的常量 输入控件或显示控件就创建完成了 54 背面板创建规范 数据流 除非必须 尽量避免使用顺序结构 特别是能够并行执行的函数 不要使用顺序结构去替换它将程序编写为能够独立并行的函数 能够有效提高程序的运行效率 55 背面板创建规范 数据流 避免使用超过3层的嵌套结构嵌套结构就是放置在结构体中的结构体 超过两层或三层的嵌套结构会掩盖底层的逻辑和数据流信息 一般来讲 过多使用嵌套结构 过度使用顺序结构是一种有失规范的设计模式 最大化地使用数据流方式和最小化地使用顺序结构 能够有效地避免过多的嵌套 提高程序可读性 降低错误发生的概率 56 背面板创建规范 程序注释 程序注释其实也是一种说明文档 只不过是对背面板源代码的说明 程序的注释文档与源代码的可读性 可维护性和可用性直接相关 是非常重要的 LabVIEW的源代码是图形化的 本身就没有汉字 而文档增加了图形源代码的可读性 57 背面板创建规范 程序注释 图示是一个不带任何说明文档的程序 其主要功能是对测量仪器进行配置 示例中没有任何的标签或注释 对数据的信息比较少 整个程序的可读性很差 维护起来也很不方便 58 背面板创建规范 程序注释 针对上图进行了改进后 首先 各个控件的标签进行可见的设置 其次 移位寄存器左端连线进行了标注 并且每个条件结构中也进行了注释 修改后的程序框图相比之前清晰了很多 可以很容易看出每个控件的意义和每个条件结构实现的功能 59 背面板创建规范 程序注释 再进一步完善 主要包括直观的标签 枚举条件结构 使用按名称捆绑 程序中采用定义仪器名称的枚举型变量替换掉 仪器类型 数值型变量 因此 仪器名称也出现在了条件结构的选择区域里 由于使用了枚举型和条件结构 节省了大量结构中的注释 仪器的信息可以从条件选择区域中直观考察 60 VI图标和连接器创建规范 图标 连接器 61 VI图标和连接器创建规范 图标 图标是LabVIEW源代码中的重要特点之一 主要包含各种图形和文本的组合显示 用于子VI的识别 提高其可读性 有助于对主程序框图说明 一个成功的图标是对一个VI直观的描述 一个图标就能代表一个函数 一个程序 在LabVIEW中 图标是通过图标编辑器工具画出来的 或者是现有的图片文件 或者是应用程序中复制出来的 62 VI图标和连接器创建规范 图标 关于图标创建的一些规范 制作通俗 易懂 有特定意义图标由于LabVIEW中图标都是32 32像素的 所以 图标里的内容必须小而精炼 要在有限的空间内 制作出清晰易读且有意义的图片和字体 正如日常生活中见到的一些符号 如公共标志或是交通信号等 都是图形和文字结合得很好的例子 LabVIEW图标制作时也应该具有通俗 易懂 有特定意义 63 VI图标和连接器创建规范 图标 在图标内容小且精炼的前提下 图标中的文本就必须统一字体格式要求一般对于大多数的文本推荐使用8磅或10磅的字体 LabVIEW中应用程序默认的字体是13磅 如果使用默认字体 那么图标中每行就只能写5个字母 这就占了图标高度的1 3 这种字体只适用于包含少量大写字母的图标 而将所有的文本设为8磅或10磅的小字体 将会使图标上的文本在大小合适 清晰可辨的前提下数量最大化 假如使用8磅小字体的大写字母 就能在每行写入7个字母 而且只会占用图标高度的1 4 64 VI图标和连接器创建规范 图标 好图标应该是图片 颜色和文本合成的整体符号为了描述更多的内容 用4行文本将图标填满 也是不可取的方式 因此 推荐使用8磅或10磅小字体 因为在使用相同文本的前提下 将为图片和空白区域提供更多的空间 几种不同图标字体大写字母效果的对比 65 VI图标和连接器创建规范 图标 关于图标设计与开发时间的平衡问题总原则是 对于重用率很高的VI 如产品的开发工具包或仪器的驱动 就值得投入大量的时间和精力去设计一个构思精妙的图标 如果要在短期内开发大量的VI 并且这些VI没有重复使用的可能 那就无须花大量的精力在图标的设计上 而是可以用快捷有效的方法设计出一个有特定含义的图标即可 66 VI图标和连接器创建规范 图标 创造一个包含文本 彩色背景
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 潮流计算的仿真课程设计
- 四年级数学(小数加减运算)计算题专项练习与答案汇编
- 潮州拜神风俗研究报告
- 测量温度课程设计
- 测量快递件重量课程设计
- 测量仪器管理工作方案
- 测绘项目工期安排方案
- 仲恺农业工程学院《回归分析》2021-2022学年第一学期期末试卷
- 测绘单位目标考核方案
- 测温监控维修方案
- 艾滋病职业防护培训
- 全科医生转岗培训结业考核模拟考试试题
- 2025年高考数学专项题型点拨训练之初等数论
- 上海市浦东新区2024-2025学年六年级上学期11月期中数学试题(无答案)
- 吃动平衡健康体重 课件 2024-2025学年人教版(2024)初中体育与健康七年级全一册
- 通信技术工程师招聘笔试题与参考答案(某世界500强集团)2024年
- 2024至2030年中国节流孔板组数据监测研究报告
- 2024年第九届“学宪法、讲宪法”活动知识竞赛测试题库及答案
- 2024年四川省宜宾市中考地理试卷(含答案与解析)
- 黑龙江省哈尔滨市师大附中2024-2025学年高一上学期10月阶段性考试英语试题含答案
- 电力设备预防性试验规程
评论
0/150
提交评论