NHR系列智能显示控制仪表RS-485通信中应用
01摘要
NHR系列智能显示控制仪表是经过多年开发制造经验而设计生产,集诸多全新功能于一身的新一代智能显示控制仪表。针对现场温度、压力、液位、速度、流量等各种信号进行采集、显示、控制、远传、通讯、打印等处理,构成数字采集系统及控制系统,广泛运用于电力、石化、冶金、轻工、制药、航空等诸多领域。产品的EMC设计符合GB/T176262-11相关规定,同时产品取得了CE认证。
02产品的市场背景
在自动化控制领域,随着分布式控制系统的发展,在产业上的分布式控制系统中,经常需要采用串行通讯来达到远程信息交换的目的。目前,用于串行通讯的接口标准包括:RS-232、RS-422、RS-423和RS-485。RS-232是最早的串行接口标准,广泛应用在短间隔、较低波特率串行通讯中。其后发展起来的RS-422、RS-485是平衡传送的电气标准,比起RS-232非平衡的传送方式在电气指标上有了大幅度的进步。RS-485串行接口的电气标准实际上是RS-422的变型,它属于七层OSI (open system interconnection,开放系统互连)模型物理层的协议标准。由于性能优异、结构简单、组网轻易,RS-485总线标准得到了越来越广泛的应用。下面是关于虹润NHR 系列智能显示控制仪表在RS-485通信中的应用。
03产品的技术原理
1、系统技术方案
工业场合中,经常要用一些仪表去控制如温度、液位、流量等。在某些场合,需要1台控制器灵活地控制多台仪表,以达到设计控制目的。
本文利用标准的MODBUS RTU通讯协议与 RS-485通信指令,方便的实现与多台虹润NHR系列仪表的串行通信成功的实现了用单台控制器对多台仪表的灵活控制。可编程控制器允许在一个RS-485通信接口上连接多达100台虹润仪表,仪表大于60台时,需加一个RS-485中继器,RS-485通信口通信距离长达1KM以上。
2、RS-485总线的硬件设计
考虑到此控制系统中网络节点数较多,整个网络超过100个节点,为保证通讯的可靠性和通讯效率按照仪表在系统中实现的不同功能、数据流量、实时性要求把各仪表分布到两条总线上,而且所选器件中的RS-485芯片驱动能力均达到255点,通讯速率选96Kbps,离主站最远的节点不超过50m。
3、网络协议
为了能使具体的命令、数据在网络上正确地传输,在数据链路层必须提供一定的网络协议,保证在物理层的比特流出现错误时进行检测和校正,同时实现数据帧和命令帧的功能。然而,为保证数据传输质量,对每个字节进行校验的同时,应尽量减少特征字和校验字,而常用的数据包格式由引导码、长度码、地址码、命令码、数据、校验码、尾码组成,每个数据包长度达20~30字节,在RS-485系统中显得又有些繁杂。由于MODBUS协议是公然的通讯协议,而且被很多的工控产品生产厂家支持,该协议已广泛应用于水利、水文、电力等行业设备及系统的国际标准中,因此,本系统采用MODBUS协议作为此控制系统的网络协议。
在此控制中由于对PLC和变频器的通讯数据量小而且实时性要求不高,因此采用MODBUS ASCII方式,而对单片机的数据通讯量较大且实时性要求高,因此采用MODBUS RTU方式。
04产品的应用
考虑到100台仪表在RS485总线上的实时性、有效性、正确性,现将100台虹润NHR系列智能控制仪表通讯组网分为两条总线,分别由PLC的串口扩展口分别定义为A1、B1和A2、B2 ;下面是虹润NHR系列智能控制仪表与PLC主机连接图,见图1、图2:
图1:虹润仪表与PLC组网图
图2:虹润仪表与PLC组网图
1、虹润NHR系列智能显示控制仪表通信参数配置
(1)、通信方式为RS-485, (1个起始位,1个或2个停止位,8位数据,无奇偶校验)
(2)、通信传输数据的波特率(12K 24K 48K 96K 192K)可在仪表叁数baud中设定
(3)、通信协议为标准Modbus Rtu 模式
这里重点突出可编程控制器与虹润NHR仪表RS-485接口部分。在工业现场,RS-485通信是应用较多的一种通信方式,图中可编程控制器通过RS-485通信接口与多个NHR仪表相连接,最多可达到100台,每台仪表被赋予各自的地址码,用以识别身份,( 地址码可在仪表叁数Addr中设定),子单元和主单元采用地址轮询方式。这样可编程控制器的RS-485通信口便能通过RS485总线对挂在下面的所有仪表进行控制 *** 作。
2、虹润NHR系列智能数字显示控制仪通信数据流解析
本通信协议采用标准ModBus协议,采用RTU(十六进制数)传输模式。ModBus协议是一种主---从式协议。任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有主站能发起。主站会依次对从站进行轮流查询。只有当从站地址与轮询地址相匹配,从站才能回复消息。从站之间不能进行直接通信。协议桢中不包含任何消息报头及消息结束符,消息的开始和结束依靠间隔时间来识别,当间隔时间长于或等于35个字符时,即作为检测到桢结束。如果网络内没有与查询地址相一致的从站或从站接收时CRC校验出错,主站将不会接收到返回桢,这时主站根据超时设定判断是否超时,如超时,作出重发或d出异常错误窗口动作。
协议桢定义如下:
从站地址:地址必须在1---247之间。
在同个主站网络中每个从站地址必须唯一。
0为广播地址,从站接收消息并作相应处理,但不能回复消息。
功能代码:包含读、写寄存器。
数据:以二进制代码传输。
CRC16:循环冗余校验,校验从从站地址到数据区最后一个字节,计算多项式码为A001(hex)。
(1)、通讯口设置
通讯方式 异步串行通讯接口,如RS-485,RS-232等。
波 特 率 2400~9600bps(可由设定仪表二级参数自由更改,设定仪表二级参数BT,默认4800)。
(2)、字节数据格式 HEX
一位起始位、八位数据位、一位停止位、无校验
(3)、消息桢格式(读、写功能是从主站角度定义的)
读寄存器桢
读寄存器返回桢
写寄存器桢
写寄存器返回桢
错误返回桢
功能代码表:1
错误代码表:2
3、产品
05结论
本文利用标准的MODBUS协议和虹润NHR系列智能显示控制仪表进行RS-485通信,实现了单台控制器控制多台NHR仪表的任务,并能实时检测各仪表的运行状态,整个系统控制灵活方便, 方案结构简单,开发成本低,周期短,既使在恶劣的工业环境下也能稳定工作。
面向物联网的21个开源软件项目有哪些,物联网开源平台搭建
admin 07-26 04:41 166次浏览
2019独角兽企业重金招聘Python工程师标准
51CTOcom直译物联网市场呈现碎片化、无定形化、不断变化的特征,其性质通常只需关注互 *** 作性。 难怪开源在这方面不俗。 ——客户犹豫不决,害怕将物联网的未来寄托在可能难以定制或互联的专有平台上。
本文介绍了主要的开源软件项目,重点讨论了面向家庭和工业自动化的开源技术。 我们忽略了专注于垂直领域的物联网项目,如Automotive Grade Linux和Dronecode。 我们还忽略了面向互联网的开源 *** 作系统发行版,包括Brillo、Contiki、Mbed、OpenWrt、Ostro、Riot和Ubuntusnappping。这次,我们将智能
这里介绍的21个项目包括由Linuxfoundation管理的两个大型项目: Allseen(Alljoyn )和ocf (iotivity ),以及物联网传感器的端点和网关我还介绍了几个专门针对物联网生态系统特定领域的小项目。 我们曾介绍过更多的项目,但越来越难分清物联网软件和普通软件的区别。 从嵌入式环境到云,越来越多的项目都带有物联网元素。
您声称这21个项目都是开源的,但请确保完整的名称不在本文的范围内。 它们至少在生态系统的一个部分运行Linux,大多数都完全支持Linux,从开发环境到云/服务器、网关和传感器端点部件。 大多数组件都有可以在Linux开发板(如Raspberry Pi和BeagleBone )上运行的组件,大多数都支持Arduino。
物联网领域仍然有很多专有技术,特别是在自上而下的企业平台上。 但是,其中也提供了部分开放访问权限。 例如,威瑞森的ThingSpace针对4G智慧城市APP应用,拥有一套免费的开发API,支持开发板,尽管核心平台本身是独一无二的。 相似的是,亚马逊的AWS物联网工具包包括部分开放的设备SDK和开源入门工具包。
其他主要的专有平台包括苹果的HomeKit和微软的Azure物联网工具包。 在拥有230个成员的Thread Group中,该组织监督基于6LoWPAN的对等Thread网络协议。 Thread Group由谷歌的母公司Alphbet旗下的Nest设立,没有提供像AllSeen和OCF那样全面的开源框架。 但是,它与Brillo相关,也与Weave物联网通信协议相关。 5月,Nest发布了名为OpenThread的开源版Thread。
介绍21个面向物联网的开源软件项目。
AllseenAlliance(Alljoyn ) )。
由Allseenalliance(asa )监管的AllJoyn互 *** 作系统框架可能是市场上采用最广泛的开源物联网平台。
Bug Labs dweet和freeboard
bugglas是从制造基于模块化Linux的有bugh的硬件设备开始的,但很久以前就演变成了与硬件无关的企业级物联网平台。 Bug Labs提供“dweet”消息、警告系统和“freeboard”物联网设计APP。 dweet使用HAPI Web API和JSON来帮助发布和描述数据。 freeboard是一种拖放式工具,用于设计物联网仪表板和可视元素。
DeviceHive
DataArt基于AllJoyn的设备管理平台可以运行在许多云服务上,包括Azure、AWS、Apache Mesos和OpenStack。 DeviceHive专注于使用ElasticSearch、Apache Spark、Cassandra和Kafka,分析大数据。 有些网关组件可以在运行Ubuntu Snappy Core的任何设备上运行。 模块化网关软件与DeviceHive云软件和物联网协议配合使用,作为Snappy Core服务进行部署。
DSA
分布式服务架构(DSA )便于集中式设备的互 *** 作性、逻辑和APP应用。 DSA项目正在构建分布式服务链接(DSLinks )库,以支持协议转换以及与第三方数据源的数据集成。 DSA提供了一个可扩展的网络拓扑,其中包括多个DSLinks,用于在连接到分层代理分层结构的物理互联网边缘设备上运行。
EclipseIOT(Kura ) )。
Eclipse基金会的物联网主要围绕基于Java/OSGi的Kura API容器和聚合平台,支持在服务网上运行的m2m APP应用。 Kura基于Eurotech的Everywhere Cloud物联网框架往往与Apache Camel集成,后者是基于Java的基于规则的路由和中介引擎。 Eclipse物联网子项目包括Paho消息传递协议框架、面向轻量级服务器的Mosquitto MQTT体系结构和Eclipse SmartHome框架。 有些项目实现名为Californium的基于Java的受限APP应用协议(CoAP )。
Kaa
CyberVision支持的Kaa项目为云互联的大型物联网提供了可扩展的端到端物联网框架。
该平台包括一种支持REST的服务器功能,可用于服务、分析和数据管理,通常部署成由Apache Zookeeper协调的节点集群。Kaa的端点SDK支持Java、C++和C开发,负责处理客户机/服务器通信、验证、加密、持久性和数据编排。SDK包括针对特定服务器、支持GUI的模式,这些模式可转换成物联网物件绑定。模式治理语义,并抽象一组迥异设备的功能。
Macchinaio
Macchinaio提供了一种“支持Web、模块化、可扩展的”JavaScript和C++运行时环境,可用于开发在Linux开发板上运行的物联网网关应用程序。Macchinaio支持一系列广泛的传感器和连接技术,包括Tinkerforge bricklet、XBee ZB传感器、GPS/GNSS接收器、串行和GPIO联网设备以及方向感应器。
GE Predix
GE面向工业物联网的平台即服务(PaaS)软件基于Cloud Foundry。它增添了资产管理、设备安全、实时预测分析,并支持不同数据的采集、存储和访问。GE Predix是GE为内部运营而开发的,它已成为最成功的企业物联网平台之一,收入大约60亿美元。GE最近与HPE达成了合作伙伴关系,HPE将把Predix整合到自己的服务中。
Home Assistant
这个作为后起之秀的草根项目提供了一种面向Python的家居自动化方法。
Mainspring
M2MLabs的基于Java的框架针对远程监控、车队管理和智能电网等应用领域中的M2M通信。与许多物联网框架一样,Mainspring高度依赖REST Web服务,并提供了设备配置和建模工具。
Node-RED
这种面向Nodejs开发人员的可视化布线工具拥有基于浏览器的数据流编辑器,可用于设计物联网节点当中的数据流。然后,节点可以迅速部署成运行时环境,并使用JSON来存储和共享。端点可以在Linux开发板上运行,支持的云包括Docker、IBM Bluemix、AWS和Azure。
Open Connectivity Foundation(IoTivity)
英特尔和三星支持的开放互联联盟(OIC)组织和UPnP论坛组成的这个组织正在努力成为物联网方面领先的开源标准组织。OCF的开源IoTivity项目依赖充分利用的JSON和CoAP。
openHAB
OpenIoT
这款基于Java的OpenIoT中间件旨在使用一种公用云计算交付模式,为开放、大规模的物联网应用提供便利。除了表示物联网物件的本体、语义模型和标注外,该平台还包括传感器和传感器网络中间件。
OpenRemote
OpenRemote为家庭和楼宇自动化而设计,它以广泛支持众多智能设备和网络规范而出名,比如1-Wire、EnOcean、 xPL、Insteon和X10等规范。规则、脚本和事件都得到支持,还有基于云的设计工具,可用于用户界面、安装、配置、远程更新及诊断。
OpenThread
这是Nest最近从基于6LoWPAN的物联网Thread无线网络标准分离出来的开源项目,它还得到了ARM、Microchip旗下的Atmel、Dialog、高通和德州仪器的支持。OpenThread实现了所有Thread网络层,还实现了Thread的端点设备、路由器、Leader和边界路由器等角色。
Physical Web/Eddystone
谷歌的Physical Web让蓝牙低能耗(BLE)信标可以将URL发送到智能手机。它针对谷歌的Eddystone BLE信标经过了优化,这提供了除苹果的iBeacon之外的一种开放技术。其想法是,行人可以与任何具有BLE功能的支持性设备(比如汽车停放计时器、标牌或零售产品)联系。
PlatformIO
基于Python的PlatformIO包括IDE、项目生成器和基于Web的库管理器,它是为访问来自基于微控制器的Arduino和基于ARM Mbed的端点的数据设计的。它为200多种板卡提供了预先配置的设置,并与Eclipse、Qt Creator及其他IDE整合起来。
The Thing System
这种基于Nodejs的智能家居“监管”软件声称支持真正的自动化,而不是简单的通知。其自学习人工智能软件可处理许多协同式M2M *** 作,不需要由人干预。缺少云组件恰恰提供了更好的安全性、隐私性和控制性。
ThingSpeak
成立五年的ThingSpeak项目专注于传感器日志、位置跟踪、触发器及提醒以及分析。ThingSpeak用户可以使用用于物联网分析和可视化的MATLAB版本,不需要向Mathworks购买许可证。
Zetta
Zetta是一种面向服务器的物联网平台,利用Nodejs、REST和WebSockets构建而成,奉行基于数据流的“响应式编程”开发理念,用Siren超媒体API连接起来。设备被抽取成REST API,用云服务连接起来,这些服务包括可视化工具,并支持Splunk之类的机器分析工具。该平台可将Linux和Arduino开发板之类的端点与Heroku之类的云平台连接起来,以便构建地理分布式网络。
转载于:>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)