### MeterBUS 详尽的协议 英文版 #### 一、引言 MeterBUS(M-Bus)是一种专门设计用于远程抄表系统的通信协议,主要用于家庭和商业环境中的水表、电表、煤气表等公用事业仪表的数据采集。本文档基于参考文献[11]和[12],提供了关于M-Bus的详细且实用的信息,该文档由M-Bus用户组发布。 #### 二、串行总线系统基础 ##### 2.1 应用与定义 M-Bus作为一种串行总线系统,在多种应用场景下都有广泛的应用,例如远程抄表、能源管理等。串行总线系统是指数据以串行方式传输的系统,其特点是数据位按顺序发送或接收,适用于长距离传输。 ##### 2.2 总线系统的基本功能 - **访问技术**:指总线系统中如何控制多个设备对总线的访问,常见的有轮询、令牌传递等。 - **参与者同步**:确保所有连接到总线上的设备能够正确同步,这对于数据的可靠传输至关重要。 - **错误处理**:总线系统需要具备检测和纠正数据传输错误的能力,以保证数据完整性。 ##### 2.3 OSI参考模型 M-Bus协议遵循了OSI(开放系统互连)七层模型,每一层都有特定的功能,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 #### 三、M-Bus概述 ##### 3.1 对于消费类公用事业仪表的需求 M-Bus设计时考虑到了消费类公用事业仪表的特点,如低成本、低功耗、易于安装等。 ##### 3.2 M-Bus在OSI模型中的位置 M-Bus主要涵盖了OSI模型的物理层、数据链路层和应用层。这些层次为M-Bus提供了从物理信号到数据交换的服务。 #### 四、物理层 ##### 4.1 运作原理 物理层负责将数字信号转换成可以在介质上传输的形式。M-Bus采用了双绞线作为传输介质,并规定了最大传输距离和连接节点的数量。 ##### 4.2 安装规范 为了保证M-Bus系统的稳定运行,必须遵循一定的安装规范,比如线路的长度、分支的限制等。 ##### 4.3 重发器规范 重发器(Repeater)用于扩展M-Bus网络的范围,它可以放大信号并增加节点数量。 ##### 4.4 奴节点设计 奴节点是M-Bus网络中的终端设备,如水表、电表等。它们的设计需考虑功耗、通信速率等因素。 #### 五、数据链路层 ##### 5.1 传输参数 数据链路层定义了传输速率、编码格式等参数,确保数据在物理层上的可靠传输。 ##### 5.2 电报格式 M-Bus电报由多个字段组成,包括起始字符、地址、命令等部分,这些字段共同构成了完整的通信帧。 ##### 5.3 字段含义 每个字段都有其特定的功能,如地址字段用于标识目标设备;命令字段则决定了通信的目的。 ##### 5.4 通信过程 M-Bus通信通常由主设备发起,通过询问或命令的方式与奴节点进行交互。 ##### 5.5 FCB 和 FCV 位及寻址 FCB 和 FCV 位用于确保通信的可靠性,它们可以用来控制数据的确认与重传机制。 #### 六、应用层 ##### 6.1 CI 字段 CI 字段用于标识特定的数据类型,是应用层数据结构的重要组成部分。 ##### 6.2 固定数据结构 固定数据结构包含了基本的通信信息,如设备类型、制造商代码等。 ##### 6.3 变量数据结构 变量数据结构可以根据实际需求动态改变,用于传输具体的测量值和其他信息。 ##### 6.4 配置奴节点 配置奴节点的过程包括设置通信速率、写入数据以及配置数据输出等步骤。 ##### 6.5 通用对象层 通用对象层提供了一种统一的方式来管理和操作M-Bus系统中的对象。 ##### 6.6 应用层状态 应用层状态反映了当前通信的状态,有助于诊断问题和维护系统。 ##### 6.7 特殊奴节点特性 - **自动速度检测**:奴节点可以自动识别最合适的通信速率。 - **碰撞检测**:当多个设备同时发送数据时,系统能够检测并处理冲突。 - **制造编号的使用**:利用制造编号来唯一标识设备,便于管理和跟踪。 - **十六进制代码在BCD数据字段中的使用**:采用十六进制表示法来提高数据的可读性。 #### 七、网络层 ##### 7.1 选择与次级寻址 网络层提供了更高级别的寻址机制,使得系统能够有效地管理和寻址大量的奴节点。 ##### 7.3 FCB 位与选择 FCB 位在网络层中也有应用,它可以帮助确定哪些设备应该响应特定的命令。 ##### 7.4 搜索已安装的奴节点 系统可以通过特定的搜索程序来发现网络中的所有奴节点,这有助于系统的初始化和维护。 #### 八、附录 附录部分包含了各种协议细节和技术标准,如报警协议、数据记录的编码方法等。 MeterBUS(M-Bus)是一种专为远程抄表系统设计的通信协议,它涵盖了从物理层到应用层的各个方面,确保了数据传输的安全性和可靠性。通过对M-Bus协议的深入理解,可以更好地应用于智能计量和能源管理系统中。
2024-11-27 15:22:54 382KB
1
《Thinking in C++》是Bruce Eckel所著的一本经典的C++编程教程,它深入浅出地介绍了C++语言的核心概念和技术。这本书分为两卷,第一卷主要关注基础语法和面向对象编程,第二卷则涉及更高级的主题,如模板、异常处理和STL等。 在压缩包中,我们有两个版本的电子书:《Thinking+in+C++.pdf》可能是中文版,而《C++编程思想.PDF》可能是英文原版。这两个文件都是学习者宝贵的资源,无论你是初学者还是有经验的程序员,都可以从中受益。 1. **C++基础知识**:C++是一种静态类型、编译式的多范式编程语言,它继承了C语言的特性并增加了类、模板、命名空间、异常处理等面向对象特性。C++支持过程化编程、面向对象编程以及泛型编程,使得它在系统级编程、游戏开发、科学计算等领域广泛应用。 2. **面向对象编程(OOP)**:《Thinking in C++》强调了C++的面向对象特性,包括封装、继承和多态。封装允许将数据和操作数据的方法结合在一起,形成对象;继承允许创建新的类,这些类从已有的类中继承属性和行为;多态则允许通过不同的对象调用相同的方法,但实现方式不同,增强了代码的灵活性和可扩展性。 3. **模板**:C++的模板是一种泛型编程工具,可以用于创建泛化的函数和类,使得代码更加通用。模板可以用于编写不依赖特定类型的代码,提高代码复用性,减少冗余。 4. **异常处理**:C++的异常处理机制提供了错误处理的方法,当程序遇到预期之外的情况时,可以抛出异常,然后在合适的地点捕获并处理,避免程序崩溃。 5. **标准模板库(STL)**:STL是C++中一组预定义的模板类和函数,包括容器(如vector、list、set等)、迭代器、算法和分配器等,极大地简化了编程工作,提高了代码效率。 6. **实践与思考**:《Thinking in C++》不仅讲解了理论知识,还鼓励读者通过实际编程来加深理解。书中包含了大量的实例和习题,帮助读者巩固所学,提升编程技能。 7. **编程风格**:作者在书中强调了良好的编程习惯和风格,这包括代码的可读性、可维护性和效率,是成为优秀程序员不可或缺的一部分。 《Thinking in C++》全面覆盖了C++语言的基础到高级主题,无论你是新手还是资深开发者,都能从中找到提升自己编程能力的路径。通过阅读和实践书中的内容,你将能够更好地理解和掌握C++这一强大的编程工具。
2024-11-06 08:15:57 15.51MB Thinking
1
ARINC429总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出发表并获批准使用。 它的规范全称是数字式 信息传输系统( Digital InformationTransfer System ,DITS)。 协议标准规定了航空电子设备及有关系统间的数字信息传输要求。
2024-10-23 10:40:14 344KB ARINC429 429总线
1
### Visual Studio 高级编程 2012 英文版 #### 一、集成开发环境(Integrated Development Environment) 在本书的第一部分,作者详细介绍了Visual Studio 2012的集成开发环境(IDE)。这部分是程序员们最常用到的功能区域之一。 **第1章:快速浏览** - **概述**:这一章节提供了对Visual Studio 2012 IDE的基本介绍,包括其新特性以及如何开始使用。 - **知识点**: - 开发环境的概述 - 新功能介绍 - 快速启动指南 **第2章:解决方案资源管理器、工具箱和属性** - **概述**:这一章节深入探讨了解决方案资源管理器、工具箱和属性窗口这些关键组件的作用。 - **知识点**: - 解决方案资源管理器的使用方法 - 工具箱的组成与应用 - 属性窗口的使用技巧 - 如何管理项目中的文件和设置 **第3章:选项和自定义** - **概述**:本章讲解了如何根据个人喜好和需求来自定义Visual Studio 2012的工作空间。 - **知识点**: - 自定义环境的方法 - 设置个性化选项 - 如何更改主题和字体大小 - 调整编辑器布局 **第4章:Visual Studio 工作区** - **概述**:介绍了如何有效利用Visual Studio 2012的工作空间来提高开发效率。 - **知识点**: - 工作区的概念及其重要性 - 不同工作区的创建与切换 - 如何优化工作区布局以提高生产力 **第5章:查找和替换及帮助** - **概述**:这一章节涵盖了如何高效地使用查找和替换功能,以及如何利用Visual Studio的帮助文档解决问题。 - **知识点**: - 查找和替换功能的应用技巧 - 快速定位代码错误 - 利用在线帮助文档解决技术问题 #### 二、入门篇 第二部分主要介绍了使用Visual Studio 2012进行软件开发的基础知识。 **第6章:解决方案、项目和项** - **概述**:本章重点介绍了如何创建、管理和组织解决方案、项目和项。 - **知识点**: - 解决方案的概念与用途 - 创建项目的步骤 - 添加和管理项目内的文件和资源 **第7章:IntelliSense 和书签** - **概述**:讲解了如何利用IntelliSense提高编码效率,并介绍了书签的使用方法。 - **知识点**: - IntelliSense 的功能及其使用技巧 - 如何快速定位和跳转代码 - 书签的设置与使用场景 **第8章:代码片段和重构** - **概述**:这一章节介绍了代码片段和重构工具,这些都是提高编码速度的重要工具。 - **知识点**: - 代码片段的创建与使用 - 重构工具的种类及其应用场景 - 如何安全地重构代码 **第9章:服务器资源管理器** - **概述**:介绍了如何使用服务器资源管理器连接数据库和其他服务。 - **知识点**: - 连接数据库的方法 - 管理数据源和服务 - 数据库对象的浏览与操作 **第10章:使用类设计器进行建模** - **概述**:讲解了如何使用类设计器来进行类的设计和建模。 - **知识点**: - 类设计器的功能 - 类设计的基本原则 - 如何绘制类图并进行交互设计 #### 三、深入篇 第三部分则更深入地探讨了如何使用Visual Studio 2012的一些高级特性。 **第11章:单元测试** - **概述**:介绍了如何在Visual Studio 2012中进行单元测试。 - **知识点**: - 单元测试的重要性 - 测试框架的选择与配置 - 编写有效的测试用例 **第12章:使用XML注释进行文档编写** - **概述**:讲解了如何使用XML注释来为代码添加文档。 - **知识点**: - XML注释的基本语法 - 如何生成API文档 - 使用工具自动化文档生成过程 **第13章:代码一致性工具** - **概述**:介绍了如何使用工具来保持代码的一致性。 - **知识点**: - 代码分析工具的使用 - 代码格式化工具的应用 - 静态代码分析的最佳实践 **第14章:使用T4进行代码生成** - **概述**:讲解了如何使用T4模板来生成代码。 - **知识点**: - T4模板的工作原理 - 创建和编辑T4模板的方法 - 使用T4模板自动生成代码的示例 **第15章:项目和项模板** - **概述**:介绍了如何创建和使用项目及项模板。 - **知识点**: - 模板的创建流程 - 定制模板以适应特定需求 - 分享和安装模板的方法 **第16章:特定语言的功能** - **概述**:这一章节涵盖了不同编程语言在Visual Studio 2012中的特定功能。 - **知识点**: - 支持的语言及其特性 - 针对特定语言的工具和支持 - 如何利用这些特性提高开发效率 以上是本书的主要知识点概括。通过这些章节的学习,开发者可以全面掌握Visual Studio 2012的各项功能,从而更加高效地进行软件开发工作。
2024-10-12 09:58:39 44.91MB Visual Studio 高级编程 2012
1
《FoxBASE plus v2.10 英文版:DOS时代的数据库先驱》 在计算机发展的早期,尤其是在DOS操作系统盛行的年代,有一款数据库软件以其易用性和高效性赢得了广泛的认可,那就是FoxBASE plus v2.10。这款英文版的数据库管理系统,对于当时的用户来说,不仅是入门数据库编程的首选,也是专业人士的重要工具。本文将深入探讨FoxBASE plus v2.10的功能特性、使用场景以及它在数据库发展史上的地位。 FoxBASE plus v2.10是基于FoxBASE系列的升级版本,它继承了前者的强大功能并进行了进一步的优化。这个系统以DBase II为基础,引入了更多的高级特性,如结构化查询语言(SQL)支持,使得数据操作更加灵活。在那个时代,这种集成的数据库管理和编程环境是十分先进的,它不仅支持创建、修改和查询数据库,还能编写复杂的数据库应用程序。 其核心特性包括: 1. **数据库管理**:FoxBASE plus支持多种文件格式,包括.dbf、.ndx和.fpt等,可以创建和管理包含各种数据类型的表。用户可以通过命令行或简单的用户界面进行数据的增删改查操作。 2. **SQL支持**:虽然不完全符合标准SQL,但FoxBASE plus v2.10提供了基本的SQL功能,如SELECT、INSERT、UPDATE和DELETE语句,方便用户进行复杂的数据检索和更新。 3. **程序开发**:内置的编程语言FoxBASE语言,是一种类似BASIC的高级语言,允许用户编写自定义的数据库应用程序。它的语法简洁,学习曲线平缓,为初学者提供了友好的编程环境。 4. **报表与图形**:除了基础的数据处理,FoxBASE plus还具备生成报表和图表的能力,这对于数据分析和展示至关重要。 5. **网络支持**:尽管在DOS环境下,FoxBASE plus仍能通过网络共享数据,实现了在局域网内的多用户协作。 6. **文件兼容性**:与其他DBase家族成员兼容,这使得用户可以在不同的数据库系统间轻松迁移数据。 在实际应用中,FoxBASE plus v2.10广泛应用于企业管理、财务记录、销售统计等领域。由于其强大的数据处理能力和便捷的编程接口,它成为了个人计算机时代许多小型企业和组织的首选数据库系统。 然而,随着Windows系统的普及和关系型数据库管理系统(RDBMS)的崛起,如Oracle、Microsoft SQL Server和MySQL等,FoxBASE plus逐渐被更现代化的解决方案所取代。尽管如此,它在数据库发展史上留下的烙印不容忽视,为后来的数据库技术进步奠定了基础。 总结来说,FoxBASE plus v2.10作为DOS时代的经典之作,它的出现推动了数据库技术的普及,降低了数据管理的门槛,是IT历史中不可或缺的一环。尽管现在可能较少被使用,但其理念和创新仍然值得我们学习和借鉴。
2024-10-11 14:24:18 405KB
1
这些文件是华中科技大学软件工程课程的英文版课件,涵盖了软件工程的多个核心主题,旨在帮助学生和专业人士深入理解软件开发的各个阶段。以下是各文件名称对应的详细知识点: 1. **SW02第二章-基于计算机的系统工程**: - 这一章可能介绍如何将计算机科学理论应用于解决实际问题,包括系统分析、设计和实施的过程。 - 可能会讲解系统工程的基本概念,如需求获取、系统建模以及可行性研究。 2. **SW03第三章-软件过程**: - 讲述软件开发的生命周期,包括计划、分析、设计、实现、测试和维护。 - 可能会涉及敏捷开发方法、瀑布模型等不同的软件开发模型。 3. **SW06第六章-需求工程过程**: - 需求工程是软件开发的关键阶段,可能会涵盖需求分析、需求规范、需求验证和需求管理。 - 学习如何有效地与用户沟通以获取准确的需求,以及如何编写清晰的需求文档。 4. **SW07第七章-系统模型**: - 解释系统模型的作用,如数据流图、实体关系图和状态机模型等。 - 教授如何使用模型来理解和表达系统的复杂性。 5. **SW08第八章-软件原型系统开发**: - 原型是软件开发中的一个重要工具,用于快速验证需求和设计方案。 - 会介绍不同类型的原型(如功能原型、探索性原型)及其在迭代开发中的应用。 6. **SW10第十章-体系结构的设计**: - 体系结构设计是软件设计的高级阶段,包括选择架构模式、组件定义和接口设计。 - 可能会探讨微服务架构、SOA(面向服务的架构)等现代架构原则。 7. **SW11第十一章-分布式系统体系结构**: - 分布式系统的基础知识,如并行处理、分布式计算、网络通信协议。 - 可能会讲解云计算平台(如AWS、Azure)上的分布式系统实现。 8. **SW12第十二章-面向对象的设计**: - 面向对象编程的基本概念,如类、对象、继承、封装和多态。 - 可能包括UML(统一建模语言)用于表示面向对象设计的图表。 9. **SW20第二十章-软件测试**: - 软件测试的重要性,包括单元测试、集成测试和验收测试。 - 强调测试策略、缺陷管理以及自动化测试工具的使用。 10. **SW27第二十七-软件变更**: - 讨论软件变更管理,包括变更控制、版本控制和配置管理。 - 可能会涉及Git、SVN等版本控制系统在软件变更中的应用。 这些课件为学习者提供了一个全面的软件工程知识框架,从需求分析到软件发布,每个环节都有所涉及,对于想要深入理解和实践软件工程的人来说是宝贵的资源。通过深入学习这些内容,可以提升软件开发的专业技能,更好地适应软件行业的快速发展。
2024-10-09 14:27:36 5.44MB 软件工程课件
1
《ISO SAE 21434-2021:智能网联汽车网络安全风险管理》 ISO SAE 21434-2021是国际标准化组织(ISO)和美国汽车工程师学会(SAE)联合发布的一项标准,旨在为汽车行业提供一套全面的网络安全管理框架,以应对智能网联汽车领域日益严峻的网络安全挑战。这项标准于2021年发布,对全球汽车制造商及其供应链都具有深远的影响。 1. **标准背景**:随着汽车技术的飞速发展,尤其是自动驾驶和车联网技术的普及,汽车正逐渐转变为移动的数据处理和通信平台。然而,这些先进的功能同时也引入了新的安全风险,如黑客攻击、数据泄露等。ISO SAE 21434应运而生,旨在确保车辆在整个生命周期内的网络安全。 2. **核心内容**:该标准的核心是要求汽车制造商和供应商建立一个系统性的网络安全管理体系(Cybersecurity Management System,简称CSMS),涵盖了设计、开发、生产、运行、维护和报废等各个环节。CSMS强调了风险评估、控制实施、监控和改进的持续过程。 3. **风险管理**:ISO SAE 21434强调了风险评估的重要性,要求企业识别可能的威胁源,评估潜在的风险,并采取适当的控制措施降低风险。这包括威胁建模、脆弱性分析以及对现有安全机制的审查。 4. **生命周期管理**:标准覆盖了产品全生命周期的网络安全考虑,从概念设计阶段就开始,直至产品退役。这意味着在每个阶段都需要进行相应的安全活动,如设计评审、测试验证、安全更新等。 5. **合规性要求**:ISO SAE 21434也对供应链提出了明确的合规要求,供应商必须符合标准规定,确保提供的零部件或服务满足整体系统的网络安全要求。 6. **国际合作与协调**:此标准的制定和实施体现了全球汽车行业的合作趋势,各国监管机构和行业组织正在参考或采纳这一标准,以建立统一的网络安全法规和指导原则。 7. **文件解读**:提供的"ISO SAE 21434-2021 中文版.pdf"和"ISO21434.pdf"分别为该标准的中文和英文版本,方便不同语言背景的读者理解和应用。阅读这两份文档,可以深入理解标准的具体条款和技术要求,为企业的网络安全实践提供指导。 ISO SAE 21434-2021是智能网联汽车领域的一个里程碑,它不仅规范了汽车制造商的行为,也推动了整个行业对网络安全问题的认识和重视,为构建安全可靠的未来出行环境奠定了基础。
2024-09-30 11:33:38 2.58MB
1
### VC6.0全集(包含VC6.0中英文版和MSDN以及相关插件) #### 一、概述 Microsoft Visual C++ 6.0(简称VC6.0)是微软公司推出的一款非常经典的集成开发环境(IDE),主要用于Windows平台下的C/C++程序开发。该版本发布于1998年,尽管它已经比较陈旧,但在某些情况下仍然被广泛使用。VC6.0不仅支持C++编程,还支持MFC(Microsoft Foundation Classes)、ATL(Active Template Library)等库,为开发者提供了丰富的功能和便利。 #### 二、VC6.0的特点与功能 ##### 1. 集成开发环境 VC6.0提供了一个集成的开发环境,包含了代码编辑器、编译器、调试器等多种工具,使得开发者可以在一个统一的界面内完成整个开发流程。 ##### 2. 多语言支持 VC6.0支持中英文两种语言版本,用户可以根据自己的需求选择合适的版本进行安装使用。这对于非英语母语的开发者来说是一个极大的便利。 ##### 3. MSDN文档 VC6.0捆绑了MSDN文档,这是一个极其强大的在线帮助系统,包含了几乎所有微软技术的文档资料,可以帮助开发者快速查找并解决问题。这对于初学者和经验丰富的开发者来说都是极为有用的资源。 ##### 4. 支持多种开发库 除了标准的C/C++库之外,VC6.0还支持MFC、ATL等高级库,这些库提供了丰富的API接口,可以极大地提高开发效率,特别是在GUI界面设计方面。 ##### 5. 调试工具 VC6.0内置了强大的调试工具,支持断点设置、变量查看等功能,有助于开发者快速定位和修复代码中的错误。 ##### 6. 插件支持 为了进一步增强其功能,VC6.0支持各种插件扩展,如代码美化工具、项目管理工具等,这使得开发过程更加高效。 #### 三、安装与配置 ##### 1. 安装过程 安装VC6.0相对简单,只需按照提示步骤进行即可。需要注意的是,在现代操作系统(如Windows 10)上安装时可能会遇到兼容性问题,此时可能需要使用一些补丁或兼容模式来解决。 ##### 2. 环境配置 安装完成后,还需要对开发环境进行一些基本配置,如设置编译选项、添加库路径等,以便能够顺利进行开发工作。 #### 四、使用技巧与建议 ##### 1. 学习资源 虽然VC6.0已经较为老旧,但网络上仍有很多相关的教程和文档可供学习参考。对于初学者而言,掌握好基础的C/C++知识是非常重要的。 ##### 2. 社区支持 加入相关的开发者社区或论坛,如Stack Overflow等,可以在遇到问题时获得及时的帮助和支持。 ##### 3. 升级考虑 考虑到安全性及技术支持等方面的问题,如果条件允许,建议考虑升级到更现代的Visual Studio版本,如Visual Studio 2019或2022等。 #### 五、总结 尽管VC6.0在今天看来已经不再是最新的开发工具,但它依然在特定领域和场景下发挥着重要作用。对于那些需要维护旧代码或在较老系统上进行开发工作的开发者来说,VC6.0仍然是一个不可或缺的选择。同时,通过不断学习新技术并结合现有的工具,开发者们可以更好地应对不断变化的技术挑战。
2024-09-25 13:44:12 48B VC6完整版
1
新版CCNP学习指南(英文版),包括BSCI、BCMSN、ISCW、ONT
2024-08-24 17:10:42 47.86MB CCNP学习指南(英文版)
1
用于在XP上开发、调试16位即DOS汇编程序。直接解压到硬盘。运行其中的regEmu8086.exe就可以。niye你也可以在网上找到kg生成相应的注册信息后再输入到regEmu8086的对话框中完成绿化。 regEmu8086.exe是本人开发的、无插件病毒。
2024-07-29 15:04:13 1.6MB 汇编利器
1