ModBus协议在工业控制系统中的应用

合集下载

Modbus协议和USB接口在工业控制上的应用

Modbus协议和USB接口在工业控制上的应用

出一种在工业控制 中采用 US B接 口构建 Mo b s d u 协议 通信 网络系统 , 析了两者 的特 点 , 出了 US 分 给 B接 口 主机识别标准和 白定义设备驱动 实现硬件连接 , 义 了 US 定 B设 备上 的 Mo b s d u 协议 消息 帧格式 ; 实验 表明 , 该方法可为工业控制提 供一 种更加简单 、 便利 及高速的通讯组 网手段 。
Ab ta t I h n u t i l o t o ,t e n t r f n u t ilc n r l r r v d sm u h c n e in ef r sr c : n t e i d s ra n r l h e wo k o d s r a o t o l s p o i e c o v n e c o c i e t e c n r l a a e e t A o h o t o n g m n . m c mm u ia i n n t r y t m h t a o t h S i t r a e t m p e n c to e wo k s s e t a d p s t e U B n e f c o i l — m e tt e M o b sp o o o n i d s ra o to i p e e t d n h d u r t c li u t i l n r l s r s n e .Th e t r so h o b sp o o o n n c efau e f eM d u r t c l d t a t e U S i t r a e a e a a y e . Th a d r o n c i n f t e s a d r n s r d f e e i e h B n e f c r n l z d e h r wa e c n e to s o h t n a d a d u e — e i d d v c n d i e h ta e i e tfe y t e US n e f c f h o tc m p t ra e g v n rv r t a r d n i d b h B i t ra eo e h s o i t u e r i e .Th o ma f h o e f r to eM d t b s p o o o r m e o h S d v c S d fn d Th x e i e t r s ls i d c t h t t e p e e t d u r t c l a n t e U B e i e i e i e . f e e p rm n e u t n i a e t a h r s n e m e h d p o i e i p e .m o e c n e i n n a t rm e n o o t o r v d sa sm lr r o v n e ta d f s e a sf r c mm u i a i n o h d s ra o n c to ft e i u t i l n n c t o e wo k rl t r. n Ke r s y wo d :M o b s d u ;US n e f c ;i d s r a o t o e wo k B i t r a e n u t ilc n r l t r n

modbus 通讯协议解析

modbus 通讯协议解析

modbus 通讯协议解析Modbus通讯协议解析1. 引言(100字左右)在工业控制系统中,通讯协议扮演着关键角色,以确保设备之间的有效通信。

其中,Modbus通讯协议成为了最常用和广泛应用的协议之一。

本文将逐步解析Modbus通讯协议从起源到应用的全过程,旨在帮助读者更好地理解和应用该协议。

2. Modbus的历史(200字左右)Modbus协议于1979年由Modicon公司(现为施耐德电气旗下品牌)开发,旨在连接可编程逻辑控制器(PLC)与其他电子设备,以实现数据交换。

Modbus通讯协议于2004年成为开放标准,并由Modbus-IDA (Modbus-IDA:现在是Modbus-IDA和Modbus-IDA用户组合并成的Modbus委员会)进行维护。

3. Modbus通讯协议概述(400字左右)Modbus协议采用了一种基于串行通信的主从机结构,支持大量不同设备之间的通信。

Modbus通讯协议使用了简化的应用层协议数据单元(ADU),其中包含了功能代码、数据和错误检查等信息。

Modbus协议支持不同的物理层和传输层,包括串行通信(如RS-232、RS-485等)和以太网通信(如TCP/IP)。

在串行通信中,Modbus协议基于传统的ASCII或RTU格式进行数据的传输,而在以太网通信中,Modbus协议使用TCP/IP协议进行数据的传输。

Modbus协议提供了多种不同类型的功能码,包括读取和写入数据寄存器、读取和写入线圈等操作。

通过这些功能码,设备可以实现数据的读取和写入以及对设备进行控制。

4. Modbus协议的应用范围(300字左右)Modbus通讯协议广泛应用于工业自动化系统中,特别是在控制系统和传感器/执行器之间的通信中。

例如,Modbus协议可用于读取和写入传感器的数据,控制执行器的操作,以及与其他控制设备进行通信。

Modbus协议作为一种开放的通讯协议,使得不同供应商的设备之间能够实现互操作性。

工业通讯协议有哪些

工业通讯协议有哪些

工业通讯协议有哪些工业通讯协议是指工业控制领域中用于设备间通讯和数据交换的协议标准。

在工业自动化系统中,不同厂家的设备需要进行数据交换和通讯,而工业通讯协议的应用就是为了实现不同设备之间的互联互通。

下面将介绍几种常见的工业通讯协议。

1. Modbus协议。

Modbus是一种串行通讯协议,广泛应用于工业控制领域。

它是一种简单、开放的协议,易于实现和部署。

Modbus协议主要包括Modbus RTU、Modbus ASCII和Modbus TCP/IP三种变种,分别适用于串行通讯和以太网通讯。

Modbus协议常用于PLC、传感器、执行器等设备之间的通讯。

2. Profibus协议。

Profibus是一种用于工业自动化领域的现场总线通讯协议。

它是一种开放的标准,支持高速数据传输和实时通讯。

Profibus协议主要包括Profibus DP(分布式外围设备)和Profibus PA(过程自动化)两种变种,分别适用于工业控制和过程控制领域。

3. Ethernet/IP协议。

Ethernet/IP是一种基于以太网的工业通讯协议,它将TCP/IP协议栈应用于工业控制领域。

Ethernet/IP协议支持实时控制和数据交换,广泛应用于工业自动化系统中。

它是一种开放的标准,能够实现不同厂家设备之间的互联互通。

4. Profinet协议。

Profinet是一种基于以太网的工业通讯协议,它支持实时通讯和高速数据交换。

Profinet协议具有灵活的拓扑结构和高可靠性,适用于工业自动化系统中复杂的通讯需求。

Profinet协议能够实现设备级、控制级和信息级的通讯,为工业控制系统提供了全面的解决方案。

5. CANopen协议。

CANopen是一种基于CAN总线的工业通讯协议,它广泛应用于工业控制和机器人领域。

CANopen协议支持多主控制、多速率通讯和实时数据交换,具有高可靠性和实时性。

CANopen协议适用于各种工业设备之间的通讯和控制。

Modbus+协议

Modbus+协议

Modbus 协议工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。

Modbus就是工业控制器的网络协议中的一种。

一、Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它已经成为一通用工业标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。

它制定了消息域格局和内容的公共格式。

当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成反馈信息并用Modbus协议发出。

在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。

这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

1、在Modbus网络上转输标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。

控制器能直接或经由Modem组网。

控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。

其它设备(从设备)根据主设备查询提供的数据做出相应反应。

典型的主设备:主机和可编程仪表。

典型的从设备:可编程控制器。

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。

如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。

Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。

从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。

MODBUS协议详细讲解

MODBUS协议详细讲解

MODBUS协议详细讲解在工业自动化领域,通信协议就如同语言一样,使得不同的设备能够相互理解和交流。

其中,MODBUS 协议是一种广泛应用的通信协议,它简单易用、可靠稳定,为工业控制和监控系统提供了强大的支持。

MODBUS 协议最初由 Modicon 公司于 1979 年开发,如今已经成为了工业领域通信的标准之一。

它可以在多种物理介质上运行,如串行链路(RS232、RS485 等)和以太网。

MODBUS 协议主要有两种传输模式:ASCII 模式和 RTU 模式。

在ASCII 模式中,每个 8 位字节被拆分成两个 ASCII 字符进行传输,这种模式的优点是可读性强,但传输效率相对较低。

而 RTU 模式则直接传输二进制数据,传输效率高,但可读性稍差。

MODBUS 协议的消息帧结构相对简单明了。

以 RTU 模式为例,一个消息帧包括地址域、功能码域、数据域和 CRC 校验域。

地址域用于标识从站设备;功能码告诉从站要执行的操作,例如读取寄存器、写入寄存器等;数据域则包含了具体的操作数据;CRC 校验用于保证数据的完整性和准确性。

MODBUS 协议支持多种功能码,常见的有 01 读取线圈状态、02 读取输入状态、03 读取保持寄存器、04 读取输入寄存器、05 写单个线圈、06 写单个寄存器等。

通过这些功能码,主站可以实现对从站设备的各种数据读写操作。

在实际应用中,MODBUS 协议的配置也比较灵活。

例如,对于串行通信,需要设置波特率、数据位、停止位和奇偶校验等参数,以确保通信的稳定和可靠。

而在以太网环境中,则需要配置 IP 地址和端口号等信息。

MODBUS 协议的优点众多。

首先,它的开放性使得不同厂家的设备能够轻松集成,降低了系统的成本和复杂性。

其次,其简单的协议结构和易于理解的指令,方便了工程师的开发和维护工作。

此外,MODBUS 协议具有良好的兼容性,可以在不同的操作系统和硬件平台上运行。

然而,MODBUS 协议也并非完美无缺。

modbus与dcs通讯实例

modbus与dcs通讯实例

modbus与dcs通讯实例Modbus是一种用于工业自动化领域的通信协议,而DCS(分散式控制系统)是一种用于监控和控制工业过程的系统。

在工业控制领域,Modbus协议常常用于不同设备之间的通讯,而DCS系统则用于整合和管理这些设备。

下面我将从多个角度给出Modbus与DCS通讯的实例。

首先,Modbus与DCS通讯的实例可以是在工业生产过程中,使用Modbus协议的传感器和执行器与DCS系统进行通讯。

例如,一个温度传感器通过Modbus协议将实时温度数据传输到DCS系统,DCS系统可以根据这些数据来控制加热器或冷却器的操作,从而实现对温度的精确控制。

其次,另一个实例可以是在能源管理系统中,使用Modbus协议的电表或能耗传感器与DCS系统进行通讯。

这样DCS系统可以实时监测能源消耗情况,进行能源分配和优化,实现对能源的有效管理。

此外,还可以考虑在工业自动化生产线中,使用Modbus协议的PLC(可编程逻辑控制器)与DCS系统进行通讯。

PLC负责控制生产线上的各种设备,而DCS系统则可以监控整个生产线的运行状态,并进行集中控制和调度。

另外,Modbus与DCS通讯的实例还可以扩展到建筑自动化领域,比如使用Modbus协议的空调控制器与DCS系统进行通讯,实现对建筑内部环境的智能化控制和管理。

总之,Modbus与DCS通讯的实例非常广泛,涵盖了工业控制、能源管理、生产自动化以及建筑自动化等多个领域。

通过这些实例,可以看出Modbus协议在工业领域的重要性,以及与DCS系统结合应用的广泛性和实用性。

希望以上回答能够全面地解答你的问题。

modbus通信协议

modbus通信协议

modbus通信协议Modbus通信协议。

Modbus通信协议是一种用于工业控制系统的通信协议,它是一种基于主从架构的协议,主要用于实现设备之间的数据交换和控制。

Modbus协议最初由Modicon公司于1979年开发,现在已经成为工业自动化领域中最为常用的通信协议之一。

Modbus协议主要包括Modbus RTU、Modbus ASCII和Modbus TCP/IP三种通信方式。

其中,Modbus RTU和Modbus ASCII是串行通信方式,而ModbusTCP/IP是基于以太网的通信方式。

这三种通信方式在不同的场景下都有着广泛的应用。

Modbus协议的主要特点包括简单、开放、灵活和可靠。

它的简单性使得设备之间的通信变得更加容易,而且由于其开放性,不同厂家的设备可以通过Modbus协议进行通信,这使得设备的互联变得更加灵活。

同时,Modbus协议的可靠性也得到了广泛的认可,它可以在恶劣的工业环境中稳定地运行。

在Modbus通信协议中,主要包括了一些常用的功能码,例如读保持寄存器、写单个寄存器、读输入寄存器、写多个寄存器等。

这些功能码可以满足不同设备之间的数据交换和控制需求。

Modbus协议的应用场景非常广泛,它可以用于工业自动化、楼宇自动化、能源管理、环境监测等领域。

在工业自动化领域,Modbus协议可以实现PLC与HMI、PLC与PLC之间的通信;在楼宇自动化领域,Modbus协议可以实现空调、照明、门禁等设备之间的联动控制;在能源管理领域,Modbus协议可以实现电表、水表等设备的数据采集和监控。

总的来说,Modbus通信协议作为一种成熟、稳定、可靠的通信协议,已经在工业控制系统中得到了广泛的应用。

它的简单性和灵活性使得设备之间的通信变得更加容易,而且由于其可靠性,它可以在各种恶劣的工业环境中稳定地运行。

因此,对于工程师和技术人员来说,掌握Modbus通信协议是非常重要的。

Modbus通讯协议详解 (2)

Modbus通讯协议详解 (2)

Modbus通讯协议详解协议名称:Modbus通讯协议详解一、引言Modbus通讯协议是一种常用的工业自动化通讯协议,广泛应用于工业控制系统中。

本协议详解将介绍Modbus通讯协议的基本原理、通讯方式、数据帧格式以及常见应用场景等内容,旨在帮助读者全面理解和掌握该协议。

二、Modbus通讯协议概述Modbus通讯协议是一种基于主从架构的串行通讯协议,用于实现设备间的数据交换。

该协议支持多种物理层接口,如串口、以太网等,可实现不同设备之间的通讯。

三、通讯方式Modbus通讯协议主要有两种通讯方式:RTU和ASCII。

RTU方式使用二进制编码进行数据传输,具有较高的传输效率;ASCII方式使用ASCII码进行数据传输,具有较好的可读性。

根据实际需求,可以选择合适的通讯方式。

四、数据帧格式Modbus通讯协议的数据帧格式如下:1. RTU方式:- 起始位:1个起始位,用于标识数据帧的开始。

- 设备地址:1个字节,用于标识通讯的设备。

- 功能码:1个字节,用于标识通讯的功能。

- 数据域:N个字节,用于传输数据。

- CRC校验:2个字节,用于校验数据的完整性。

- 结束位:1个结束位,用于标识数据帧的结束。

2. ASCII方式:- 起始符:1个起始符“:”,用于标识数据帧的开始。

- 设备地址:2个字符,用于标识通讯的设备。

- 功能码:2个字符,用于标识通讯的功能。

- 数据域:N个字符,用于传输数据。

- LRC校验:2个字符,用于校验数据的完整性。

- 结束符:2个字符“\r\n”,用于标识数据帧的结束。

五、常见应用场景Modbus通讯协议广泛应用于工业控制系统中,常见的应用场景包括:1. 监控系统:通过Modbus通讯协议,实现对工业设备的数据监控和远程控制,提高生产效率和安全性。

2. 仪器仪表:将仪器仪表与上位机进行通讯,实现数据的采集和分析,为生产决策提供依据。

3. 自动化控制:通过Modbus通讯协议,实现对生产线的自动化控制,提高生产效率和质量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ModBus协议在工业控制系统中的应用 (1) 2008-08-11 10:07:19 来源:互联网

 随着计算机网络、通讯、控制等技术的发展,信息交换沟通的领域正在迅速覆盖从工厂的现

场设备层到控制、管理的各个层次。基于现场总线的智能仪表对现场总线技术在我国的推广应用具有非常重要的意义。本文在Modbus现场总线协议的基础上设计了一个工业温度控制系统。

关键字:现场总线 [174篇] ModBus协议 [5篇] 单片机控制 [2篇] 一、ModBus协议简介 当今世界,工业控制已从单机控制走向集中监控、集散控制。在进入网络时代的今天,工业控制器连网也为网络管理提供了方便。ModBus协议就是工业控制器的网络协议中的一种。ModBus协议是Modicon公司于1978年发明的一种用于电子控制器进行控制和通讯的通讯协议。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以进行通信。它的开放性、可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商生产的控制设备可以简单可靠地连成工业网络,进行系统的集中监控,从而使它成为最流行的协议之一。

ModBus协议包括ASCII, RTU, PLUS, TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的ModBus 是使用RS-232C 兼容串行接口, RS-232C规定了连接器针脚、接线、信号电平、波特率、奇偶校验等信息,ModBus的ASCII, RTU协议则在此基础上规定了消息、数据的结构、命令和应答的方式。ModBus控制器的数据通信采用Master/Slave方式(主/从),即Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

ModBus可以应用在支持ModBus协议的PLC和PLC之间、PLC和个人计算机之间、计算机和计算机之间、远程PLC和计算机之间以及远程计算机之间(通过Modem连接),可见ModBus的应用是相当广泛的。由于ModBus是一个事实上的工业标准,许多厂家的PLC, HMI、组态软件都支持ModBus,而且ModBus是一个开放标准,其协议内容可以免费获得,一些小型厂商甚至个人都可根据协议标准开发出支持ModBus的产品或软件,从而使其产品联入到ModBus的数据网络中。因此,ModBus有着广泛的应用基础。在实际应用中,可以使用RS232, RS 485 /422 , Modem加电话线、甚至TCP/IP来联网。所以,ModBus的传输介质种类较多,可以根据传输距离来选择。

二、ModBus协议的通讯格式 ModBus可分为两种传输模式:ASCII模式和RTU模式。使用何种模式由用户自行选择,包括串口通信参数(波特率、校验方式等)。在配置每个控制器的时候,同一个ModBus网络上的所有设备都必须选择相同的传输模式和串口参数。 2.1 ASCII模式 当控制器设为在ModBus网络上以ASCII模式通信,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。

表1 ASCII模式的消息帧

如表1所示,使用ASCII模式,消息以冒号(:)字符(ASCII码3AH)作为起始位,以回车换行符(ASCII码0DH, 0AH)作为结束符。传输过程中,网络上的设备不断侦测“:”字符,当有一个冒号接收到时,每个设备就解码下个位的地址域,来判断是否发给自己的。与地址域一致的设备继续接受其它域,直至接受到回车换行符。除起始位和结束符外,其他域可以使用的传输字符是十六进制的0„9,A„F,当然也要用ASCII码表示字符。当选用ASCII模式时,消息帧使用LRC(纵向冗长检测)进行错误检测。

2.2RTU模式 当控制器设为RTU模式时,消息帧中的每个8Bit字节包含两个4Bit的十六进制字符。

表2 RTU模式的消息帧

该模式下消息发送至少要以3.5个字符时间的停顿间隔开始。传输过程中,网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,相应的设备就对接下来的传输字符进行解码,一旦有至少3. 5个字符时间的停顿就表示该消息的结束。

在RTU模式中整个消息帧必须作为一连续的流转输,如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3. 5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。如果在传输过程中有以上两种情况发生的话,必然会导致CRC校验产生一个错误消息,反馈给发送方设备。 当控制器设为RTU(远程终端单元)模式通信时,消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种模式与ASCII模式相比在同样的波特率下,可比ASCII模式传送更多的数据。

三、系统设计 本文所设计的系统是一个基于modbus的工业控制网络,它主要由实现现场控制功能的智能控制仪表、实现对智能控制仪表在线配置与监控功能的主机两部分组成。作为从机的现场智能控制仪表主要任务有:实现现场温度采集、输出控制、显示、系统配置以及响应主机激励;主机的主要任务是在线配置从机、监控从机从而得到相应从机的状态、历史温度数据分析;两者之间的通讯是基于现场总线技术的。

ModBus协议在工业控制系统中的应用 (2) 2008-08-11 10:07:19 来源:互联网

 随着计算机网络、通讯、控制等技术的发展,信息交换沟通的领域正在迅速覆盖从工厂的现

场设备层到控制、管理的各个层次。基于现场总线的智能仪表对现场总线技术在我国的推广应用具有非常重要的意义。本文在Modbus现场总线协议的基础上设计了一个工业温度控制系统。

关键字:现场总线 [174篇] ModBus协议 [5篇] 单片机控制 [2篇] 3.1 系统的硬件设计 系统主要由通讯电路(输入)、数据采集、输出控制、LCD显示、通信及电源模块等组成。如图1所示,系统具有对外界温度信号进行采集的能力,采集的模拟信号经A/D模块转换为相应的数字量,送入微处理器进行处理。采集到的每一路温度都要与系统此路的温度设定值进行比较,然后根据结果调用合适的控制算法,并通过控制相应的继电器的占空比实现对温度的调节。

考虑到系统实际应用,在硬件设计方面,微控制器选用了台湾Syncmos公司生产的8位微控制器SM5964, 它是80C52 微控制器家族的派生产品,其强大的片内资源,只需添加少量的外围器件即可实现系统的要求。温度测量利用Pt(100Ω)热敏电阻,测量的模拟信号经A/D模块转换后送入微处理进行处理。模数转换器选用凌特公司(Linear Technology)推出的20位无延迟模数转换器LTC2430,此模块可直接对测量的毫伏级信号进行处理,并能够满足精度要求。其它也选用了与通信和输出控制相关的器件。 图1 系统结构框图 由于篇幅关系,只介绍本系统通信部分的电路原理。由于标准的ModBus物理层采用了RS-232串行通信标准,在PC机上模拟MODBUS通信通过使用RS-485插卡或者RS-232/ RS-485转换模块,实现多点通信,这里选用的是RS-232/RS-485转换模块。电路图如图2所示:

图2 通信电路原理图 SM5964的串行发送端口TXD和接收端口RXD经MAX232芯片进行电平转换后,分别与PC机的数据接收端口RXD和数据发送端口TXD相连接。SM5964串行通信的发送端TXD连接到的11引脚,发出的数据信号经过MAX232芯片转换后,由0~5V的TTL电平变为-12~+12V的RS232电平,从14引脚输出到PC机串行口的第二引脚。按RS232通信协议规定,PC机串行口的第二引脚为数据输入端,这样,发出的数据就可被PC机接收到。由PC机串行口的发送端TXD(PC机串行口的第三引脚)传输来的数据,作为RS232电平的信号输入到MAX232芯片的第13引脚,经过MAX232芯片进行电平转换后变为TTL电平,再由MAX232的12引脚输出到SM5964串行口的接收端口RXD。从而完成数据的双向传输。

在设计中,使用了两个发光二极管D7和D8监视通信的工作状态。 3.2 系统的软件设计 本系统的软件设计是基于软件开发平台μC/OS-II,它是由Labrosse先生编写的一个开放式内核,最主要的特点就是源码公开,清晰明了。在单片机系统中嵌入μC/OS-II将增强系统的可靠性,并使得调试程序变得简单起来。但由于它没有功能强大的软件包,基于具体应用需要自己编写驱动程序,对内核进行扩充。为使其能够正常工作,要根据具体的硬件平台完成相应的移植工作。μC/OS-II是一个占先式的内核,即已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务的CPU使用权。这个特点使得它的实时性比非占先式的内核要好。根据要实现的功能,我将系统划分为如下6个任务:按键处理、LCD显示、串行通信、输出任务、控制运算、信号采集处理。这里只介绍和ModBus总线协议相关的部分。

当选用的是ModBus的RTU模式时,一帧报文中字节与字节之间的时间间隔比帧与帧之间的时间间隔小得多,因此主要的难点在于如何判断一帧报文接收结束与否,这可以利用单片机内置的定时器来进行判断。若实际实现时,我们选择了19200的传输速率,那么空闲间隔时间T≥1/19200*8*3.5=1.5ms。每当接收到一个新的字节,就启动定时器开始计时,定时器的时间设定为帧与帧之间的最小时间间隔(上面提到的例子中是1.5ms)。波特率不同,该时间的间隔也不同。若不到预定时间又接收到下一个字节,则说明一帧报文尚未结束,定时器重新开始计数;若定时器顺利计数到预定时间,就会触发相应的中断,在该定时中断服务程序中设定帧结束标志字节,表明一帧报文接收完毕。这样就可以防止报文接收不完整,导致该帧通讯任务无法结束而影响下一帧的接收。

相关文档
最新文档