基于微控制器和对象设计技术的Modbus主站 -——设计和实现多个网络和平台外文翻译资料

 2021-12-09 10:12

英语原文共 10 页

基于微控制器和对象设计技术的Modbus主站

-——设计和实现多个网络和平台

Santi Nuratch

嵌入式计算与控制实验室

工程学院控制系统与仪器工程系

曼谷Thonburi Mongkut国王的技术大学,泰国

摘要:本研究提出了基于对象的设计和实现技术,以构建用于工业自动化系统的基于微控制器的多通道Modbus主站。建议的Modbus Master旨在支持各种从设备。它可以与目标从设备的多种类型,供应商,协议和通信属性进行通信。主设备可以通过考虑存储在对象属性字段中的从属信息来选择并与目标设备通信。选择基于对象的设计技术来设计不同从设备的适当对象。该系统支持多通道通信。每个通道(网络)使用不同的通信端口。因此,主设备可以独立地与同时连接在不同信道中的从设备通信。主器件在具有两个UART通信端口的16位微控制器中实现。通信端口转换为RS-485并用作Modbus网络。主设备有自己的存储内存(两个MMC / SD卡),用作数据存储。此外,它还可以通过USB端口或LAN端口与主机和其他设备进行通信。设计了一个特殊的实时事件驱动内核,并将其用作操作系统,使系统正常运行。此外,还制作了一些设备驱动程序和实用程序功能 由于该程序是基于C语言设计和实现的,因此可以轻松移植到其他微控制器和计算机平台上。拟议的Modbus主站在实时电力监控系统上进行评估,该系统有三个不同品牌的数字电表,西门子,松下,阿珂法连接到网络。

关键词:基于对象的设计;嵌入式系统;微控制器;工业;电力监控

I.介绍

在工业自动化系统中,所有过程都设计为在特定任务中自动运行。大多数情况下,系统是由许多控制器(PLC和许多其他),电源驱动器(电机驱动器,高电流负载驱动器)和其他电子设备(传感器和执行器)设计和构建的。众所周知,大多数工业自动化系统由控制器或专用计算机控制的自动机器自动操作。工业中的通用自动系统由几个一起工作的自动机器组成。每台机器在特定条件或情况下完成任务。为了使机器正确地协同工作,需要适当的机器通信(机器到机器; M2M)和标准通信协议。一种众所周知且流行的标准通信协议是Modbus。Modbus是使用RS-485作为物理通信信道的串行通信协议。在标准Modbus网络中,有一个主设备和最多247个从设备[3]。

在本研究中,我们提出了设计概念和实现技术,以构建在微控制器上实现的多通道和多平台Modbus主站。所提出的系统提供许多有用的功能以支持目标从设备的多种类型,供应商,协议和通信属性。系统概述在第I节中解释。在第Ⅲ节中,我们解释了基于对象的设计技术。实验设置和评估在第VI节中说明。最后,我们的结论在第V节中给出。

Ⅱ.系统概述和Artitechtures

所提出的系统的系统概述如图1所示。系统有两个Modbus网络(RS-485线路)。许多Modbus从站设备连接在网络中。每个从设备标记为“S”,后跟“MN”(M并且是数字),“M”是网络ID,“N”和从属ID或地址。例如,“S2.3”表示网络号为2的从站具有地址编号3。通过这种设计,主站可以同时独立地与两个从站连接,在不同的网络中连接。另外,从设备可以是不同类型,协议和通信保护。例如,S1.1是一个数字能量计,它使用Mosbus ASCII作为通信协议,它需要9600位/秒,2个停止位奇数校验用于RS-485通信。虽然S2.3是一台PLC,它需要Modbus RTU作为通信协议,并且需要115200位/秒,用于RS-485通信的停止位和无奇偶校验。系统还可以通过USB端口和LAN端口连接到主机和其他设备。

图1.多通道Modbus主接口系统概述

A.硬件架构

为了达到系统要求,在第II节中解释,并使系统在实际应用中可用,设计了如图2所示的电子电路。该电路由16位微控制器和其他电子元件组成。该系统中使用的主要部件如图2所示。每个通道Modbus通信都有两个UARTRS-484模块。系统支持两种类型的USB通信,一种是用于与主机通信的人机接口设备(HID),另一种是用于与USB闪存驱动器通信的大容量存储设备(MSD)。主机或其他设备可以通过带有标准TCP / IP以太网端口(LAN; RJ-45)与该系统通信[1] [7]。选择以太网控制器芯片(ENC28J60)进行以太网通信。系统可以设置为作为Web服务器运行,因此主机或设备可以发出HTTP请求以读取和连接一些现有参数。SD / MMC存储卡被用于系统数据的存储。它们共享SPI模块和SPI总线,因此微控制器可以通过轮询CS一次访问其中一个连接到目标的引脚为低电平(#39;0#39;)。一个2行,16个字符的液晶显示器(LDC)用于显示系统状态和系统的其他参数。微控制器使用4位数据通信而不是8位数据与LCD连接。在该系统中,16位微控制器PIC24FJ64GB128,Microchip被用作系统的核心。众所周知,微控制器需要适当的程序来运行和操作系统才能正常工作。微控制器程序采用标准C语言编写,由XC16(Microchip编译器)编译,并编程到目标微控制器。

Ⅲ.基于对象的从设备设计

要实现系统要求(支持多种类型,供应商,协议和通信性能)并获取处理多个从属设备的功能,需要正确定义Modbus从属对象。从软件设计者或程序员的角度来看,“对象”一词是代表特定事物或对象的数据结构。在这项工作中,对象是Modbus从设备。

图2.所提出系统的硬件架构

由于在Modbus网络中工作的Modbus从站设备或将连接到网络的一些新设备的变化,所有这些Salve设备都需要定义为对象。众所周知,物体可以通过计算机或微控制器程序独立,方便和动态地操作。从技术上讲,对象可以用作另一个对象的一部分,称为“对象的对象”。因此,我们可以通过子对象的组合来构造Modbus从属对象。有两个子对象用于构造Modbus从属对象,通信对象和控制对象。调度程序和其他内核模块可以直接访问这些对象的所有属性,以使它们在适当的时间和特定条件下运行。

A.通信对象结构

如图3所示的通信对象代表所有通信属性,即Modbus协议和RS-485通信属性。该对象分为五个部分,每个部分包含用于定义Modbus协议和所有通信属性的不同参数。

  • Protocol规定了Modbus协议,可以是ASCII(0times;00),RTU(0times;01)和TCP(0times;02)。
  • SlaveId指定Modbus从站对象的地址,可以是0times;00到0xFF
  • NetworkId指定通信网络id,可以是0times;00和0xFF。
  • Baudrate指定RS-485通信的比特率(速度),可以是几个数字,例如4800,9600,19200,115200等等。
  • Stopbits指定RS-485通信的停止位数,可以是1,1.5和2。
  • Parity指定RS-485通信的奇偶校验类型,可以是None,Even,Odd,Mask和Space。它们分别由0times;00到0times;04的十六进制数表示。

图3. 通信对象结构

B.控制对象结构

控制对象结构由8个字节的内存构成。它报告状态并指定目标Modbus从站对象的行为。调度程序和内核的其他模块会定期检查它以控制Modbus从站执行。Modbus从站对象可以在定时和信号上运行。Control对象分为五个部分,如图4所示。

1. Status报告Modbus从站对象的状态,可以是Running(0times;00),Ready(0times;01),Waiting(0times;02)和Suspended(0times;03)。

a) Running 意味着Modbus服务器和由此对象表示的机器之间的通信正在进行中。

b) Ready 意味着满足所有条件并且Modbus从站已准备好运行。它不能在此时运行,因为处理器(CPU)现在正在执行另一个任务。

c) Waiting 意味着Slave对象正在等待的一个或多个条件(时间和/或信号)不符合。

d) Suspended 表示Slave对象处于非活动状态。通过调用该系统的内核函数ObjectResume,挂起的Slave对象将被另一个对象和程序的任何地方恢复,返回Ready或Waiting状态。

2.RunMode控件运行更多或Modbus从属对象的行为,可以是Periodic(0times;00), Single(0times;01)和 DateTime(0times;02)。

a) Periodic 意味着Modbus从属对象在Interval中定义的每个特定时间周期性地运行。当对象在此mofe运行时,它永远不会被移动到Suspanded状态。

b) Single 意味着在满足所有条件后,Modbus从站对象将仅运行一次并移至Suspanded状态。它可以通过调用ObjectWaitFor函数再次恢复到Waiting状态。

图4. 控制对象结构

c)DateTime,在此模式下,Modbus从站对象将在特定时间(系统时间)执行。Interval将用于表示将执行此对象的运行时间。间隔长度为4个字节,每个字节分别用于表示小时,日期,小时,分钟和秒(DD:HH:MM:SS)。此模式专为需要长时间采样或特定日期时间运行的系统而设计。

3. Interval 用于存储Modbus从站对象的时间间隔。它被实现为32位无符号整数,可以为运行间隔存储足够长的范围,0-232- 1。如果此值更改为0times;00000000,则表示发生超时,并且将运行此Modbus从站对象(如果满足其他条件)。如果它的值大于零,则RunMode为Periodic或Single,并且对象不处于Suspended状态,该值将由内核的时间管理器每1mS减少一个。

VI实验设置和评估

在这项研究中,电力监测系统被设计和构造用作测试环境。它由6个数字功率计组成,包括两个Iskra MC350MI),两个Panasonic Eco-POWER METER KW9MMP)和两个西门子SENTRON PAC3100MS)。在这种情况下,MIMP和MS是那些功率计的缩写。参见图1,我们有两个Modbus网络(RS-485网络)。每个网络都有三种不同类型的功率计。由于所有功率计都不支持Modbus ASCII,因此我们添加了两台计算机(PC)在网络上使用Modbus Slave ASCII模拟软件测试Modbus ASCII协议。连接和通信属性是随机设置的,如表I所示。为了评估所提出的系统的所有功能,我们设计了几种条件的测试和评估,如下所述。

1.通过发出请求帧并同时发送到连接在不同网络中的两个从设备来测试多信道并行操作。为了检查并行通信能力,在发送请求帧时启动MCU的硬件定时器。当Master从两个从设备收到响应帧时,定时器停止。然后计算操作时间。例如,网络1(Master-S1.4)的操作时间是1.5mS,网络2(Master-S2.1)的操作时间是2.0mS。如果操作时间是2.0mS(不是3.5),则意味着并行处理正常。

2.通过将从设备设置为在ASCII模式和RTU模式下工作来评估多协议(模式)操作。通过将从设备设置为在ASCII模式和RTU模式下工作来评估多协议(模式)操作。然后创建Modbus Slave对象并链接到从属设备。最后,向每个从设备(对象)发送请求帧并检查其响应数据。如果没有超时且所有数据都正确,如果没有超时并且所有数据都正确,则可以保证系统正常运行。

表I.设备连接和通信属性

3.以与多协议操作相同的方式测试和检查不同的通信属性操作。

4.连续模式,对象和时间间隔的单一模式通过将具有时间戳的对象的状态发送到主计算机并分析信息来测试。例如,如果对象每100毫秒以连续模式运行,它将每隔100毫秒将其信息发送到主机。如果它以单一模式运行,它只会将其暂停状态发送给主机一次。

5.通过设置少于两个准备在同一时间运行的对象并查看谁可以先运行来测试对象优先级。如果具有最高优先级的对象可以在其他对象之前运行,则它会告知对象优先级正常工作。

6.通过交换可读数据来评估USB通信。它不断用作HID设备来调试系统。

7.LAN /以太网通信由简单的Web应用程序检查。Web应用程序向Modbus服务器发出一些特定参数(例如电压或电流)的HTTP请求,并接收响应数据。

8.通过将从从设备读取的一些参数写入具有可读格式(文

资料编号:[6020]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。