




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考试题型考试题型 1 选择题 选择题 20 分 共分 共 10 题 每题题 每题 2 分 分 2 判断题 判断题 10 分 共分 共 5 题 每题题 每题 2 分 分 3 填空题 填空题 10 分 共分 共 5 题 每题题 每题 2 分 分 3 简答题 简答题 3030 分 共分 共 6 题 每题题 每题 5 分 分 4 分析题 分析题 30 分 共分 共 3 题 每题题 每题 10 分 分 第第 1 章章 现场总线概述现场总线概述 1 控制系统发展的四个阶段 以及各自的概念和特点 画出各自的系统结构图 控制系统发展的四个阶段 以及各自的概念和特点 画出各自的系统结构图 模拟仪表控制系统 模拟仪表控制系统 模拟仪表控制系统于 20 世纪六七十年代占主导地位 其显著缺点是 模拟信号精度低 易受干扰 集中式数字控制系统 集中式数字控制系统 集中式数字控制系统 DDC Direct Digital Control 于 20 世纪七八十年代占主导地位 它克服了模拟仪表控制系统中模拟信号精度 低的缺陷 提高了系统的抗干扰能力 集中式数字控制系统的优点优点是易于根据 全局情况进行控制计算和判断 在控制方式 控制时间的选择上可以统一调度 和安排 不足不足的是 对控制器本身要求很高 必须具有足够的处理能力和极高 的可靠性 集散控制系统 集散控制系统 集散控制系统 DCS Distributed Control System 于 20 世纪 八九十年代占主导地位 其核心思想是集中管理 分散控制 即管理与控制相 分离 上位机用于集中监视管理功能 若干台下位机下放分散到现场实现分布 式控制 因此 这种分布式的控制系统体系结构有力地克服了集中式数字控制 系统中对控制器处理能力和可靠性要求高的缺陷 遗憾的是 不同的 DCS 厂家 为达到垄断经营的目的而对其控制通信网络采用各自专用的封闭形式 因此从 该角度而言 集散控制系统是一种封闭专用的 不具有可互操作性的分布式控 制系统 并且 DCS 造价昂贵 在这种情况下 用户对网络控制系统提出了开放 性和降低成本的迫切要求 现场总线控制系统 现场总线控制系统 现场总线控制系统 FCS Fieldbus Control System 正是 顺应以上潮流而诞生 它用现场总线这一开放的 具有互操作性的网络将现场 各控制器及仪表设备互连 构成现场总线控制系统 同时控制功能彻底下放到 现场 降低了安装成本和维护费用 因此 FCS 实质是 种开放的 具有互操 作性的 彻底分散的分布式控制系统 有望成为 21 世纪控制系统的主流产品 2 现场总线的概念现场总线的概念 什么是现场总线 现场总线是应用在生产现场 在微机化测量控制设备之间 实现双向串行多节点数字通信的系统 也被称为开放式 数字化 多点通信的 底层控制网络 3 现场总线的发展现状现场总线的发展现状 多种总线共存 每种总线都力图拓展其应用领域 以扩张其势力范围 大多数总线都成立了相应的国际组织 力图在制造商和用户中建立影响 以取得更多方面的支持 每种总线都以一个或几个大型跨国公司为背景 设备制造商参加多个总线组织 每种总线大多将自己作为国家和地区标准 以加强自己的竞争地位 在激烈的竞争中出现了协调共存的前景 工业以太网的引入成为新的技术热点 4 现场总线的技术特点现场总线的技术特点 1 系统的开放性系统的开放性 系统对相关标准具有一致性 公开性 强调对标准的共识与遵从 通信协 议一致公开 各不同厂家的设备之间可实现信息交换 通过现场总线可构筑自 动化领域的开放互连系统 2 互可操作性与互用性 互可操作性与互用性 系统的开放性决定了它具有互操作性和互用性 互操作性指互连设备间 系 统间信息传送与沟通 而互用则意味着不同生产厂家的性能类似的设备可实现 相互替换 3 现场设备的智能化与功能自治性 现场设备的智能化与功能自治性 它将传感测量 补偿计算 工程量处理与控制等功能分散到现场设备中完 成 仅靠现场设备即可完成自动控制的基本功能 并可随时诊断设备的运行状 态 4 系统结构的高度分散性 系统结构的高度分散性 现场总线已构成一种新的全分散控制系统的体系结构 从根本上改变了现 有 DCS 集中与分散相结合的集散控制系统体系 简化了系统结构 提高了可靠 性 5 对现场环境的适应性对现场环境的适应性 作为工厂网络底层的现场总线还对现场环境有较强地适应性 它支持双绞 线 同轴电缆 光缆 无线和电力线等 具有较强的抗干扰能力 能采用两线 制实现供电与通信 并可满足本质安全防爆要求等 5 现场总线的优点现场总线的优点 1 节省硬件数量与投资节省硬件数量与投资 由于现场总线系统中分散在现场的智能设备能直接执行多种传感控制报警 和计算功能 因而可减少变送器的数量 不再需要单独的调节器 计算单元等 也不再需要 DCS 系统的信号调理 转换 隔离等功能单元及其复杂接线 还可 以用工控 PC 机作为操作站 从而节省了一大笔硬件投资 并可减少控制室的 占地面积 2 节省安装费用节省安装费用 现场总线系统的接线十分简单 一对双绞线或一条电缆上通常可挂接多个 设备 因而电缆 端子 槽盒 桥架的用量大大减少 连线设计与接头校对的 工作量也大大减少 当需要增加现场控制设备时 无需增设新的电缆 可就近 连接在原有的电缆上 既节省了投资 也减少了设计 安装的工作量 据有关 典型试验工程的测算资料表明 可节约安装费用 60 以上 3 节省维护开销 节省维护开销 由于现场控制设备具有自诊断与简单故障处理的能力 并通过数字通讯将 相关的诊断维护信息送往控制室 用户可以查询所有设备的运行 诊断维护信 息 以便早期分析故障原因并快速排除 缩短了维护停工时间 同时由于系统 结构简化 连线简单而减少了维护工作量 4 用户具有高度的系统集成主动权 用户具有高度的系统集成主动权 用户可以自由选择不同厂商所提供的设备来集成系统 避免因选择了某一 品牌的产品而被 框死 了使用设备的选择范围 不会为系统集成中不兼容的协 议 接口而一筹莫展 使系统集成过程中的主动权牢牢掌握在用户手中 5 堤高了系统的准确性与可靠性 堤高了系统的准确性与可靠性 由于现场总线设备的智能化 数字化 与模拟信号相比 它从根本上提高 了测量与控制的精确度 减少了传送误差 同时 由于系统的结构简化 设备 与连线减少 现场仪表内部功能加强 减少了信号的往返传输 提高了系统的 工作可靠性 6 几种有影响的现场总线几种有影响的现场总线 最为流行的现场总线主要有以下五种 基金会现场总线 FF 过程现场总线 PROFIBUS 局部操作网络 LONWORKS 控制器局域网络 CAN 可寻址远程传感器数据通路 HART 7 基金会现场总线基金会现场总线 即 Foundation Fieldbus 简称 FF 是在过程自动化领域得到广泛支持和具 有良好发展前景的一种技术 物理传输介质可为双绞线 光缆和无线 其传输 信号采用曼切斯特编码 基金会现场总线以 ISO OSI 开放系统互连模型为基础 取其物理层 数据链路层 应用层为 FF 通信模型的相应层次 并在应用层上 增加了用户层 用户层主要针对自动化测控应用的需要 定义了信息存取的统 一规则 采用设备描述语言规定了通用的功能块集 8 PROFIBUS 总线总线 PROFIBUS 是符合德国国家标准 DIN19245 和欧洲标准 EN50179 的现场总 线 包括 PROFIBUS DP PROFIBUS FMS PROFIBUS PA 三部分 它也 只采用了 OSI 模型的物理层 数据链路层 应用层 PROFIBUS 支持主从方式 纯主方式 多主多从通信方式 主站对总线具有控制权 主站间通过传递令牌 来传递对总线的控制权 取得控制权的主站 可向从站发送 获取信息 PROFIBUS DP 用于分散外设间的高速数据传输 适合于加工自动化领域 FMS 型适用于纺织 楼宇自动化 可编程控制器 低压开关等 而 PA 型则是 用于过程自动化的总线类型 9 HART 总线总线 HART 协议是由 Rosemount 公司于 1986 年提出的通信协议 它是用于现场 智能仪表和控制室设备间通信的一种协议 它包括 ISO OSI 模型的物理层 数 据链路层和应用层 HART 通信可以有点对点或多点连接模式 这种协议是可 寻址远程传感器高速通道的开放通信协议 其特点是在现有模拟信号传输线上 实现数字信号通信 属于模拟系统向数字系统转变过程中的过渡产品 因而在 当前的过渡时期具有较强市场竞争力 在智能仪表市场上占有很大的份额 第第 4 章章 LonWorks 现场总线概述现场总线概述 1 Lonworks 总线的概念总线的概念 LonWorks 是美国 Echelon 公司于 1992 年推出的局部操作网络 最初主 要用于楼宇自动化 但很快发展到工业现场网 LonWorks 技术为设计和实现可 互操作的控制网络提供了一套完整 开放 成品化的解决途径 LONWORKS 采用了 ISO OSI 模型的全部七层通信协议 采用了面向对 象的设计方法 通过网络变量把网络通信设计简化为参数设置 其通信速率从 300b s 至 1 5Mb s 不等 直接通信距离可达 2700m 78kb s 双绞线 支持双绞 线 同轴电缆 光纤 射频 红外线 电力线等多种通信介质 并开发了相应 的本质防爆安全产品 被誉为通用控制网络 2 Lonworks 技术的持点技术的持点 开放性 网络协议开放 对任何用户平等 通信媒体 可用任何媒体进行通信 包括双绞线 电力线 光纤 同轴 电缆 无线电波 红外等 而且在同一网络中可以有多种通信媒体 互操作性 Lonworks 通信协议 LonTalk 符合 ISO 定义的 OSI 参考模型 任何制造商的产品都可以实现互操作 网络结构 可以是主从式 对等式或客户服务器结构 网络拓扑 有星型 总线型 环型以及自由型 网络通信采用面向对象的设计方法 Lonworks 网络技术称之为 网络变 量 它使网络通信的设计简化成为参数设置 增加了通信的可靠性 通信的每帧有效字数为 0 228 通信速率可达 1 25Mbps 此时有效距离为 130m 78kbps 的双绞线 直 线通信长达 2700m Lonworks 网络控制技术在一个测控网络上的节点数可达 32000 个 提供强有力的开发工具平台 LonBuilder 和 Nodebuilder Lonworks 技术核心元件 Neuron 芯片内部装有 3 个 8 位微处理器 34 种 I O 对象和定时器 计数器等 还有 LonTalk 通信协议 Neuron 芯片具备通信 和控制功能 采用可预测 P 坚持 CSMA 在网络负载很重的情况下不会导致网络瘫痪 3 Lonworks 节点节点 节点被称为智能设备 它包括 个神经元芯片 LonTalk 收发器 存储器 电源和外围电路 节点是物理节点的抽象 应用设备节点 路出器 网络接口 卡都是节点 节点具有两种类型 基于芯片的节点和基于主机的节点 1 甚于芯片的节点 甚于芯片的节点 一个神经元芯片包含应用处理器 介质访问处理器和 通信处理器 因此 一个神经元芯片加上收发器就可构成一个典型的现场节点 负责现场设备的通信和简单数据处理任务 图 4 3 a 为基于芯片的节点结构框 图 2 基于主机的节点 基于主机的节点 神经元芯片是 8 位总线 最高主频为 10 MHz 对于 一些复杂的控制 如带有 PID 算法的单回路 多回路 其控制就力不从心 而 采用 Host Base 结构是解决这一矛盾的好方法 将神经芯片作为通信处理器 用 高级主机的资源完成复杂的测控功能 图 4 3 b 为一个典型的基于主机的节点 结构图 其中主处理器可以是微控制器或 PC 机等 4 网络协议 网络协议 协议定义了设备间传递的信息格式 并且定义了一个设备对另一设备在发 送信息时所期望对方采取的操作 协议通常采用嵌入软件形式并驻留在设备内 或通过网络管理工具下载到设备中 Lonworks 技术采用 LonTalk 协议 5 网络管理网络管理 网络管理工具的主要功能有 1 网络安装 网络安装 网络安装可通过 service Pin 按钮或手动的方式设定设备的地 址 然后将网络变量互联起来 2 网络维护 网络维护 网络维护主要包括维护和修理两方面 维护主要是在系统正 常运行情况下 增加删除设备以改变网络变量和显示报文的内部连接 网络修 理是一个错误设备的检测和替换的过程 3 网络监控 网络监控 应用设备只能得到本地的网络信息 然而在许多大型的控 制设备中 往往有一个设备需要查看网络所有设备的信息 例如 在过程控制 中需要一个超级用户 可以总览 监控系统和各个设备的运行情况 6 LonTalk 协议有何特点协议有何特点 1 LonTalk 协议采用分级编址方式 即域 子网和节点地址 2 LonTalk 协议支持多种通信介质 包括双绞线 电力线 同袖电缆 无 线电和红外线光纤传输介质等 3 互操作性强 网络上任一节点可以对其它节点进行操作 传输控制信息 4 响应时间快 通信安全可靠 7 Neuron ID 神经芯片具有一个特有的 48 位标识 Neuron ID Nceuron ID 由芯片生产厂 家惟一确定 并且终生不变 由此 NeuronID 作为神经芯片的名字 可以惟一 地区别于其它神经芯片 用于网络安装和配置 8 LonTalk 协议定义了分级的地址形式协议定义了分级的地址形式 域 Domain 子网 Subnet 和节点 Node 地址 除此之外 还有组地址 1 域地址 域地址 domain 域是一个信道或多个信道上的节点的逻辑集合 一 个域就是一个实际意义上的网络 通信只能在同一域中配置的节点之间进行 多个域可以占有同一个信道 所以 域地址可以用来隔离不同网络上的节点 2 子网地址 子网地址 Subnet 一个子网是在同一域中节点的逻辑集合 一个子 网最多可有 127 个节点 一个域最多可有 255 个子网 子网中的所有节点必须 在相同的网段上 子网不能跨越智能路由器 3 节点地址 节点地址 Node 一个子网内的节点被赋予该子网内的惟一的节点标 识码 节点标识码为 7 位 所以每个子网最多可以有 l 27 个节点 4 组地址 组地址 Group 组是一个域内节点的逻辑集合 与子网不同 组不 需要考虑节点的物理位置 组可以包括路由器 一个域最多可以有 256 个组 9 LonTalk 协议提供协议提供 4 种报文服务 种报文服务 1 确认服务 确认服务 这是最可靠的服务方式 以这种方式发送报文 发送方必 须收到每个接收节点的确认信号 2 请求 应答服务 请求 应答服务 请求 应答服务与确认服务有相同的可靠性 发送 方需要接收到每个接收节点的应答信号 应答信号包含数据 所以该方式适用 于远程过程调用或客户机 服务器应用 3 非确认重发服务 非确认重发服务 这是一种比较可靠的方式 报文向一个或一组节点 发送多次 而不等待应答信号 这种报文方式适合于向节点数较多的组进行广 播传送 4 非确认服务 非确认服务 非确认服务是最不可靠的一种服务 它不需要等待接收 节点的应答信号 它适用于对网络效率要求很高而网络带宽有限 且对报文的 丢失不敏感的应用场合 10 LonTalk 的介质访问控制 的介质访问控制 MAC 协议 协议 LonTalk 协议的 MAC 子层是链路层的一部分 局域网中存在多种介质访 问控制协议 其中使用最广泛的是载波多路监听 CSMA LonTalk 的 MAC 是 该协议的一种改进 对于常用的 CSMA DC 在轻负载的情况厂具有很好的性能 但当在重负 载情况下 一包数据在发送 可能有许多网络节点等待网络空闲 一旦这包数 据发送完毕 这些等待发送的节点就会马上发送报文 而同时发送必然产生碰 撞 产生碰撞后 等待一段时间再发 如这段时间相同的话 重复的碰掩仍会 发生 使得网络效率大大降低 LonTalk MAC 子层协议使用改进的 CSMA 介质访问控制协议 该协议称为 带预测的 P 坚持 CSMA 它在保留 CSMA 协议优点的同时 注意克服它在控制 网络中的不足 所有的节点根据网络积压参数等待随机时间片来访问介质 这 就有效地避免了网络的频繁碰撞 11 Lonworks 网络设备网络设备 1 路由器 2 网络接口 网络接口提供 Lonworks 网络与外部主机 例如 PC 或便携 式维护工具 的物理接口 Echelon 公司的 PCLTA 20PC 适配器就是一个网络接 口设备 该设备插入 PC 内部的 PCI 总线 使得网络工具 例如 LonMaker 工具 可以访问 Lonworks 网络 3 网关 网关允许专用的控制系统连接到 Lonworks 系统 4 WEB 服务器 WEB 服务器是为 Lonworks 网络提供 web 浏览器的一 种特殊的网关 Echelon 公司的 i lon 1000IP 服务器提供了这种 weh 服务器 12 网络集成工具 网络集成工具 LonMaker 网络集成工具 LonMaker 是进行设计 文档化 安装 维护的多卖方 开放 可互操作的 Lonworks 网络的软件包 它基于 LNS 网络操作系统 并将功能强 大的客户服务器结构与可视用户界面相结合 使开发者在人机界面的引导下完 成网络设计 安装和维护工作 13 LNS DDE 服务器服务器 LNS DDE 服务器是一个不需编程就可以使任一与微软 DDE 兼容的 windows 应用程序监督和控制 Lonworks 网络的软件包 LNS DDE server 的典型 应用包括与 HMI 应用的接口 数据跟踪和趋势分析以及图形处理显示 LNS DDE 将 Lonworks 网络与操作界面连接起来 实现对建筑物 工厂 商业 过程对象和工业应用的控制 LNS DDE server 与 InTouch Intellution Fix National Instrument 的 Labview 微软的 Excel Visual Basic 兼容 一旦一个网络运行于 Windows 集成工具 LonMaker LNS DDE 服务器就自 动访问由 LonMaker 工具创建的 LNS 数据库 LNS 保证所有的信息都可以在 LNS 数据库中获取 第第 5 章章 神经元芯片神经元芯片 1 神经元芯片简介 神经元芯片简介 P84 LonWorks 技术的核心是神经元芯片 Neuron Chip 神经元芯片主要有 3150 和 3120 两大系列 3120 芯片中包含 EEPROM RAM 和 ROM 存储器 而 3l50 芯片内部无 ROM 但拥有访问外部 存储器的接口 总寻址空间可达 64KB 可用于开发更为复杂的应用 生产厂家最早的有 Motorola 公司和 TOSHIBA 公司 目前生产神经元芯片 的厂家是 TOSHIBA 公司和美国的 Cypress 公司 TOSHIBA 公司生产的神经元 芯片型号为 TMPN3120 和 TMPN3150 两个系列 2 Neuron 芯片的主要特点芯片的主要特点 P84 高度集成 所需外部器件较少 三个 8 位 CPU 输入时钟范围 625kHz 10MHz 3 11 条可编程 I O 引脚 有 34 种工作方式 两个 16 位的定时器 计数器 15 个软定时器 网络通信端口可设置单端 差分和专用工作方式 以适应不同的通信介 质 固件包括 LonTalk 协议 I O 驱动程序 事件驱动的多任务调度程序 服务引脚 用于远程识别和诊断 每个 Neuron 芯片有唯一的 48 位的内部 ID 号 内置低压保护以加强对片内 E2PROM 的保护 通讯速率 610b s 1 25Mb s 3 神经元芯片的硬件结构图 神经元芯片的硬件结构图 P85 4 神经元芯片的处理器单元 神经元芯片的处理器单元 P85 神神经元经元 芯片内部装有三个微处理器 分别为 MAC 处理器 通信处理器 网络处理 器和应用处理器 MAC 处理器完成介质访问控制 即 OSI 七层协议的 1 2 层 包括驱动通 信子系统硬件和执行 MAC 算法 它和网络处理器间通过使用网络缓冲区达到 数据的传送 网络处理器完成 OSI 的 3 6 层网络协议 它处理网络变量 寻址 认证 后台诊断 软件定时器 网络管理和路由等 网络处理器使用网络缓冲区与 MAC 处理器进行通信 使用应用缓冲区和应用处理器进行通信 应用处理器完成用户的编程 包括用户编写的代码以及用户程序对操作系 统的服务调用 各处理器分别同时独立工作 通过缓冲区进行通信 神经芯片的三个处理 器和存储器的结构图如图所示 5 服务引脚 服务引脚 Service Pin 服务引脚用于配置 安装和维护 LonWorks 节点 服务引脚既可作输入也可 作输出 输入和漏极开路输出交替 频率是 76Hz 波形占空比是 50 作输 出时 能吸收 20mA 的电流 通过一个低电平 来点亮一个外接的 LED 当节点没有有效的应用代码或芯片已坏时 LED 保持为亮 当节点还没有 被配置网络地址信息时 LED 以 0 5Hz 的速率闪烁 当节点已配置网络地址信 息时 LED 保持为亮 当给服务引脚输入低电平时 将引起 Neuron 芯片在网上发送一个包含 48 位 Neuron ID 的网络管理消息 网络管理设备将使用该消息中包含的信息来安 装及配置该节点 6 神经元芯片的通信端口 神经元芯片的通信端口 P88 神经芯片通信支持多种通信介质 使用最广泛的是双绞线 其次是电力线 还包括无线 红外 光纤和同轴电缆等 为了适应不同的通信介质 可以将神经芯片的 5 个通信引脚 CP0 CP4 配 置三种不同的接口模式 以适应不同的编码方案和不同的波特率 这三种模式 分别为单端单端 差分差分和专用模式专用模式 7 双绞线收发器 双绞线收发器 双绞线收发器是一种最通用的类型 在许多设计方案中都会使用它 配置 双绞线收发器可满足性价比要求 双绞线收发器与 Neuron 芯片的接口有三种基 本类型 直接驱动直接驱动 EIA 485 和变压器耦合变压器耦合 最常用的是变压器耦合变压器耦合接口 8 Neuron 芯片芯片 I O 对象类型对象类型 Neuron 芯片通过 IO0 IO10 共 11 个引脚与指定的外部硬件相连 这些引脚 被称为应用 I O 应用 I O 可配置多种工作方式 从而借助于最小的外扩电路实 现灵活的 I O 功能 按 I O 对象的输入 数出方向来分 有输入 输出和双向三大类 按 I O 类 型来分 有直接 I O 对象 定时器 计数器 I O 对象 串行 I O 对象 并行 I O 对象等四类 8 比特 比特 I O 对象对象 这种 I O 对象类型用于读或控制单个管脚的逻辑状态 IO0 IO10 都可分 别配置成单个的比特输入或输出端口 0 相当于低电平而 1 相当于高电平 IO0 IO3 具有较高的高电流 20mA 吸收能力 使得它们能直接驱动多个 I O 设备 IO4 IO7 具有可编程上拉电阻 位输出举例 位输出举例 IO 0 output bit io LED unsigned int led on off when io out io LED led on off 9 神经元芯片存储器映像 神经元芯片存储器映像 Neuron 芯片上的软件 分为三个主要部分 系统映象 应用映象和网络映 象 第第 6 章章 Neuron C 编程编程 6 1 基本概念基本概念 1 Neuron C 语言的特征语言的特征 Neuron C 是建立在 ANSI C 的基础上的 对 ANSI C 进行了扩展 主要包 括 一个内部多任务调度程序 它允许程序员以自然的方式描述事件驱动的 任务 同时控制这些任务的优先级的执行 将 I O 对象直接映射到处理器的 I O 能力 网络变量对象定义 提供一种简单的实现节点之间数据共享的方法 when 语句 引入事件并定义这些事件的临时排序 显示消息传递 explicit message 用于直接对 LonTalk 协议的底层进行 访问 秒及毫秒级软件定时器对象 函数库 当调用时 可以执行事件检查 管理输入 输出 网上发送或 接收消息以及控制 Neuron 芯片的各种功能 2 调度程序调度程序 Neuron 芯片的任务调度是由事件驱动的 当一个给定的条件判断为 真 时 与该事件有关的代码被执行 称为任务被执行 调度程序允许定义任务 该任务作为特定事件的结果而被运行 如 输入管脚的改变 接收一个网络变 量的新值 或定时器溢出等 也可以指定某些任务是具有优先级优先级的任务 以便 能得到优先服务 3 when 语句语句 事件由 when 语句来定义 when 语句包含一个表达式 当表达式为真时 表达式后面的代码段被执行 例 when timer expires led timer 当定时器溢出时执行下列任务 io out io led OFF 在任务执行后 时间溢出事件被清除 当 led timer 再次溢出 when 子句 判断为真 任务又将执行 6 2 软件定时器软件定时器 Neuron 可以使用两种类型的软件定时器对象 毫秒定时器和秒定时器 它们和 Neuron 芯片上两个硬件定时器 计时器无关 1 定时器的定义 定时器的定义 mtimer repeating timer name initial value 毫秒定时器 stimer repeating timer name initial value 秒定时器 repeating 为可选项 如果定时器溢出 定时器将自动开始重新计时 使用该 选项 即使应用不能立即响应该终止事件 精确的时间间隔也能够被保留 timer name 为定时器指定的名字 init value 为可选项 指定当加电或者复位时赋给定时器的值 如果不提供 该初始值 定时器的值被置为 0 举例 举例 stimer led timer 定义秒定时器 led timer when reset led timer 5 when t 50 led timer 0 关闭秒定时器 2 时间溢出事件 时间溢出事件 语法 timer expires 定时器名 定时器名 是可选项 由它来指定所要检查的具体的定时器 如没有该选项 该事件是一个未加限定的 timer expires 事件 stimer led timer when timer expires led timer io out io led OFF 6 3 输入 输出对象输入 输出对象 对未定义的 I O 引脚也就是不用的引脚 默认为无效状态 即高阻状态 1 I O 对象的定义对象的定义 说明一个 I O 对象 完成了两件事 A 在哪个或哪几个管脚上将实现什么类型的 I O 操作 B 将 I O 对象的名字和硬件连在一起 语法 pin type option io object name pin IO0 IO10 中的一个 同一个引脚可以出现在多个 I O 对象定义中 type I O 对象类型 option 是可选的 I O 参数 不同 I O 对象有不同的选项 2 2 I OI O 函数函数 1 io in 函数函数 return value io in io object name args 从 I O 对象读取数据 2 io out 函数函数 io out io object name output value agrs 当信号要发送到某个设备时 使用向一个 I O 对象写数据 3 与 与 I O 有关的事件有关的事件 预定义事件 io changes io update occurs input value 变量 仅用于输入对象 在检测时 io update occurs 和 io changes 事件都隐含的 执行 io in 函数 该函数包括对象的输入值 任务可以通过使用关键字 input value 访问这个输入值 例 when io changes io switch in nv switch state input value SWITCH ON ST ON ST OFF 例中可以根据 input value 的值设置网络变量 nv switch state 的值 input value 只有在 io changes 和 io update occurs 事件发生后才有效 6 4 网络变量网络变量 1 网络变量特点 网络变量特点 可定义为输入或输出 基于 Neuron 节点定义 62 个 基于非 Neuron 节点可定义 4096 个 实现节点间通信 数据共享 由 LonTalk 协议实现 被称为隐式消息 类型相同的网络变量才能建立 I O 连接 不用考虑消息的打包 发送及接收 简化编程 缩短开发周期 2 网络变量的说明网络变量的说明 network input output netvar modifier class type connection info identifier initial value 或 network input output netvar modifier class type connection info identifier array bound initializer list 3 网络变量的连接 网络变量的连接 网络变量的连接是独立于节点上的 Neuron C 应用的 网络变量的连接由网 络管理工具中称为连接器 Binder 的部分来建立 Binder 是 LonBuilder 网络 管理程序 LonMaker 安装工具或其它网络管理工具的一部分 4 网络变量事件 网络变量事件 有 4 个和网络变量相关的预定义的事件 nv update completes network var nv update fails network var nv update succeeds network var nv update occurs network var 只用于输入网络变量 其它三个事件 当输出 网络变量被更新时 用于输出网络变量 当输入网络变量被轮循时 应用于输 入网络变量 network var 可用网络变量名 网络变量数组名或网络变量数组元素来限定 例如 network var index 如事件被一个数组名限定 事件将对每个数组元素发 生一次 1 nv update occurs network var 事件 network var 如果省略 事件对任何网络变量更新都为真 当输入网络变量收 到一个新值 nv update occurs 事件为真 例 network input SNVT temp tempSetPoint when nv update occurs tempSetPoint primaryHeader curTemp tempSetPoint ST ON ST OFF 2 nv update completes network var 事件 network var 可是网络变量名 网络变量数组名或网络变量数组元素 也可没 有 用于 a 输出网络变量更新完成 b 被轮循的输入网络变量操作完成 无论成功还是失败 只要完成该事件都判断为真 例 network output int humidity humidity 32 when nv update completes humidity 3 nv update fails 和 nv update succeeds nv update fails network var 当一个网络变量更新或轮循失败后 nv update fails 事件为真 如果没有为 该事件指定相应的网络变量 那么该节点上任何网络变量的更新或轮循失败该 事件都检测为真 如果多个网络变量被指定 则每一个网络变量更新或轮循失 败都使该事件为真 nv update succeeds network var 同样当输出网络变量更新已被成功地发送或来自所有写出节点的轮循都已 被接收到 nv update succeeds 事件为真 nv array index 为内嵌的变量 通过它可获得触发该事件为真的数组元素下标 5 同步网络变量 同步网络变量 当一个输出网络变量被更新 它确保赋给输出网络变量的最新的值被传播 并在输入网络变量上作为一个事件被接收 如果在一个很短的时间内对输出网 络变量有多个更新值 只有最新的值被传送 并在输入网络上作为一个事件被 接收 如果所有的对输出网络变量的更新都必须被传送和作为一个事件被输入 网络变量接收 那么就应该使用网络变量的一个子类 同步网络变量 关键字 synchronized or sync 声明同步网络变量 network output sync SNVT temp nv rel temp 同步输出网络变量不必非得连接到同步输入网络变量 但在混合使用时 LonBuilder 网络管理工具会产生告警信息 2 同步网络变量与非同步网络变量的比较 对大多数应用来说 非同步网络变量已足够了 只要允许应尽可能使用非 同步网络变量 对于给定的网络变量 许多应用需要最新的而不是所有的值 过度地使用同步网络变量将会使节点缓冲区 通道速度 网络拥塞程度 应用 性能等受到很大的影响 6 轮循网络变量 轮循网络变量 当一个写节点赋值给网络变量时 一个网络变量更新发生 在通常情况下 网络变量更新总由一个写节点引起 一个读节点也可以请求一个写节点发送给 它最新的网络变量的值 poll 函数就是由一个读节点来引起网络变量的更新 节点的程序可以在任何时候轮循输入网络变量 包括上电初始化 从离线到在 线的转变 但如果很多节点同时上电 而且在上电时都轮循可能会引起网络拥 塞 poll network var network var 输入网络变量标识符 7 网络变量使用举例网络变量使用举例 开关节点 开关节点 pragma enable io pullups include network output SNVT lev disc nv switch state ST OFF define BUTTON DOWN 1 define BUTTON UP 0 IO 4 input bit ioButton BUTTON UP I O 任务 When io changes ioButton to BUTTON DOWN nv switch state nv switch state ST OFF ST OFF ST ON 电灯节点 电灯节点 network input SNVT lev disc nv lamp state ST OFF define LED ON 1 define LED OFF 0 IO 0 output bit ioLED LED OFF 修改任务 修改电灯的状态 用网络变量的值作为电灯的新状态 when nv update occurs nv lamp state io out ioLED nv lamp state ST OFF LED ON LED OFF 6 4 显式报文显式报文 1 显式报文与网络变量的比较 显式报文与网络变量的比较 1 显式报文有一个可变大小的数据域 一个给定的网络变量数据域的大小是一 个常数 2 显式报文提供了请求 响应机制 使得在一个节点上的应用可以引起另一个节 点的应用来响应它 3 显式报文使用的 E2PROM 表空间比网络变量少 用的代码空间比网络变量要 多 4 显式报文是从一个节点向另一个节点传送信息的更复杂的方法 程序员必须 显式地构造 发送和接收显式报文 而报文的属性例如服务类型 认证和优先 级是在编译时定义的 在节点安装后是不能通过网络管理工具配置的 2 显式报文操作步骤显式报文操作步骤 1 构造一个报文 msg out 对象 2 发送一个报文 msg send 函数 msg cancel 函数 3 接收一个报文 msg arrives 事件 msg receive 函数 msg in 对象 4 报文完成事件 msg completes 事件 msg succeeds 事件 msg fails 事件 5 用请求 响应服务对报文发送一个响应 resp out 对象 resp send 函数 resp cancel 函数 resp arrives 事件 resp receive 函数 3 构造一个报文 构造一个报文 报文对象名字 msg out msg out 对象定义对象定义 struct boolean priority on 优先级消息 TRUE 缺省为 FALSE msg tag tag 报文标签该域是必须的 int code 消息代码 为数字报文码 该域必须的 int data MAXDATA 报文包含的数据 缺省没有 该域是 可选的 建议 MAXDATA 228 boolean authenticated 报文是证实的为 TRUE 缺省为 FALSE service type service 服务类型 缺省为确认服务 msg out addr dest addr msg out typedef enum ACKD 0 UNACKD RPT 1 UNACKD 2 REQUSET 3 service type service 为下列服务之一 1 ACKD 缺省值 确认服务 2 UNACKD 非确认服务 3 UNACKD RPT 非确认重发 报文发送多次 4 REQUEST 请求 响应服务 当报文使用该服务被发送 则接收节点返回 一个响应给发送节点 发送节点处理这个响应 dest addr 在 msg out 对象中是一个可选域 如果用显式地址发送报文 则应 用程序给该域赋值 4 发送报文 发送报文 void msg send void 其用 msg out 对象发送报文 例如 例如 msg tag motor define MOTOR ON 0 define ON FULL 100 when io changes switch1 to ON 给电动机发送一个报文 msg out tag motor msg out code MOTOR ON 消息代码是 0 msg out data 0 ON FULL msg send void msg cancel void 该函数取消为 msg out 对象构造的报文并释放分配给它的缓冲区 允许构造 另外的报文 它无参数 无返回值 如果构造了报文还没有发送出去 在任务 退出前报文被自动取消 这个函数用来取消优先级和非优先级报文 5 接收一个报文 接收一个报文 程序通常通过预定义事件 when msg arrives 接收一个报文 msg receive 函 数也可用来接收一个消息 收到的消息可在 msg in 对象中得到 例 struct intcode 报文码 intlen 报文数据的长度 int data MAXDATA 报文数据 boolean authenticated 如认证通过为真 service type service msg in addr addr boolean duplicate 接收消息是一个重发的请求消息 unsigned rcvtx 接收事务 ID 在节点的事务数据库中使用它 msg in msg arrives 事件 msg arrives message code 事件 message code 是一个可选的整数报文代码 如果省略这个参数 收到任何报 文 事件都为真 当报文到达时 msg arrives 事件为真 这个事件可以由报文 的发送者指定一个限定的报文码 这时只有当包含指定码的报文到达时 事件 才为真 6 报文完成事件 报文完成事件 下列事件由发送节点用来检查报文完成的情况 msg completes msg tag name msg succeeds msg tag name msg fails msg tag name 所有这三个事件都可用报文标签名加以限定 如果不加限定 事件将用于任 何报文 当用无限定报文完成事件时 内部变量 msg tag index 可以用来决定 哪个报文标签响应了这个事件 msg completes 事件是最一般的事件 当一个报文发送完成 无论成功还是 失败了 这个事件都为真 msg succeeds 当一个报文被成功的发送了 事件为真 msg fails 当一个报文 发送失败了为真 所有的重试 对不同的服务类型 成功失败的意义不同 7 基于显式消息的开关 灯节点程序设计 基于显式消息的开关 灯节点程序设计 开关程序开关程序 define LAMP ON 1 define LAMP OFF 2 define OFF 0 define ON 1 IO 4 input bit io switch in msg tag TAG OUT 声明消息标签 when reset io change init io switch in when io changes io switch in msg out code input value ON LAMP ON LAMP OFF msg out tag TAG OUT msg send 灯程序灯程序 define LAMP ON 1 define LAMP OFF 2 define OFF 0 define ON 1 IO 0 output bit io lamp control when msg arrives switch msg in code case LAMP ON io out io lamp control ON break case LAMP OFF io out io lamp control OFF break 8 使用请求 使用请求 响应机制响应机制 请求 响应报文提供了一种机制 即运行在一个节点上的应用向运行在另 一个节点上的应用请求数据 Neuron 芯片固件在轮循输入网络变量时自动使用 请求 响应机制 用显式报文的应用程序也可使用用请求 响应机制 1 请求消息 请求消息 发送请求消息给 motor msg tag motor define MOTOR STATE 1 when io changes switch1 to 0 send a request to the motor msg out tag motor msg out service REQUEST msg out code MOTOR STATE msg send 2 构造一个响应 构造一个响应 响应包含被传送到发送节点应用处理器的数据 一个响应不同于一个确认 确认不包含数据并且只发送到发送节点的网络处理器 而响应包含有数据 数 据将发送到应用程序 输出响应对象的名字是 resp out resp out 定义 struct int code 报文代码 int data MAXDATA 报文数据 resp out code 是一个 0 79 的数字报文码 该域是必须的 data 报文所包含的数据 该域是可选的 MAXDATA 是编译指令 pragma app
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【土木建筑大类】模拟练习
- 2025年春季黑龙江大庆油田有限责任公司高校毕业生招聘50人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025湖南泸溪县汇金产业投资集团有限公司招聘工作人员拟聘用人员考前自测高频考点模拟试题及答案详解(考点梳理)
- IG8-生命科学试剂-MCE
- 2025年河北唐山市直属公立医院第一次公开选聘工作人员18名模拟试卷带答案详解
- 2025广东广州市中山大学孙逸仙纪念医院耳鼻喉科医技岗位招聘1人考前自测高频考点模拟试题及完整答案详解
- 安全培训效果测验课件
- 2025湖南开放大学高层次人才公开招聘25人模拟试卷及答案详解(全优)
- 2025福建福州罗源县卫健系统事业单位招聘控制数12人模拟试卷(含答案详解)
- 行政事务处理流程模板与指南
- 跨学科实践活动07 垃圾的分类与回收利用(活动设计)-2024-2025学年九年级化学跨学科实践活动教学说课稿+设计(人教版2024)
- 2025年职业培训学校建设项目可行性分析与初步设计方案报告
- 2025年亚马逊AWS云服务合同范本参考
- 班干部聘任仪式
- 2025年老年病学住院医师规培出科考试理论笔试答案及解析
- 激光武器物理课件
- 气瓶泄漏应急演练范文大全
- 2025年REACH 250项高度关注物质SVHC清单第34批
- 2025年软件架构师专业技术考核试题及答案解析
- 八上语文第9课《天上有颗南仁东星》课件
- 2025-2026学年苏教版(2024)小学科学三年级上册(全册)课时练习及答案(附目录P102)
评论
0/150
提交评论