CN1169063C - 现场总线与串行接口设备间的协议转换方法 - Google Patents
现场总线与串行接口设备间的协议转换方法 Download PDFInfo
- Publication number
- CN1169063C CN1169063C CNB021387036A CN02138703A CN1169063C CN 1169063 C CN1169063 C CN 1169063C CN B021387036 A CNB021387036 A CN B021387036A CN 02138703 A CN02138703 A CN 02138703A CN 1169063 C CN1169063 C CN 1169063C
- Authority
- CN
- China
- Prior art keywords
- message
- data
- fieldbus
- main website
- serial interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种现场总线与串行接口设备间的协议转换方法和装置。其装置结构为,微控制器通过内部总线与现场总线协议芯片、静态存储器、非易失性存储器相连,现场总线协议芯片、光电隔离电路和现场总线接口顺序连接,在内部总线上接有供串口设备连接的串行接口。采用本发明装置不需要附加其它的软件和硬件,即可把普通的串行接口设备集成到现场总线系统中去,不需要修改上位的控制软件接口和串行接口设备,降低了系统成本和工程难度,在不影响系统性能的前提下,大大提高了系统的兼容性。
Description
技术领域
本发明属于计算机现场总线外围设备领域,具体地说,本发明涉及一种现场总线与串行接口设备间的协议转换方法。
背景技术
在工业自动化领域,存在着大量的带有串行接口的仪表和设备,采集来自工业现场的压力、流量、位移、温度等物理量,通过传感器转换成电信号,进行处理后通过数字串行接口传送到上位设备中去,或者通过串行接口从上位设备接收命令和数据,控制执行部件工作,完成给定的任务。通常可由一个上位设备和多个串行接口仪表设备构成主从式控制系统。
近二十年来,现场总线控制系统已经被广泛采用,现场总线是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通讯网络。现场总线控制系统具有很好的开放性、互操作性、互换性、可集成性。
虽然带有现场总线接口的仪表设备日益增多,但是在实际的工业控制现场,上述的串行接口仪表设备仍在广泛使用,所以需要一种方法和一种装置,能够把串行接口设备的数据传送到现场总线控制系统中去,而基本上不会引起控制系统性能的下降。本发明的目的就是提供一种现场总线和串行接口设备间的协议转换方法及其实现装置。
本发明所涉及的现场总线均指PROFIBUS(Process Fieldbus)现场总线的一个主要子集PROFIBUS-DP(Decentralized Periphery),这是在世界范围内获得广泛应用的一种现场总线协议标准。PROFIBUS-DP的协议具体内容可参见EN50170 Volume 2,这里不再详述。
目前在各种仪表设备中广泛采用的串行接口主要有RS-232、RS-422、RS-485等几种。
RS-232(ANSI/EIA-RS232)是建立在IBM-PC机上的串行连接,它有许多用途,如连接鼠标,调制解调器以及工业仪表,RS-232被定义为串行口和外设之间的点对点连接。
RS-422(EIA RS-422-A)应用差分电信号,而不是RS-232所用的对地失衡信号,在差分传输中使用两根线分别用于发送和接收,这样的结构极大地提高了抗干扰性能和长距离传输的能力。工业环境中强的抗干扰能力和长的传输能力具有极大的优越性。
RS-485(EIA-485)是改善了的RS-422,因为它把接收设备数目从10提高到32,并且定义了在最大负荷下为保证正确的电压信号所必需的电气特性,抗干扰能力和多主站能力使RS-485在要求多个分布设备与PC机或其他控制器组成的网络进行数据收集时尤其有利。
土桥利光在1998年3月5日提交的发明专利“现场设备和现场总线系统及其控制现场设备的方法”(申请号:98107141.4)中给出了一种把模拟信号设备转换到现场总线系统的设备。但在已公布的专利文献中尚未有涉及现场总线与数字串行接口协议转换的内容。
发明内容
本发明的目的在于提供一种现场总线与串行接口设备间的协议转换方法,可以将现有的串行接口设备集成到现场总线系统中,在不影响系统性能的前提下,大大提高系统的兼容性。
为实现上述发明目的,一种现场总线与串行接口设备间的协议转换方法,其步骤为:
(1)读取存储在非易失性存储器中的参数数据并按照参数数据初始化现场总线接口和串行接口;
(2)等待接收现场总线主站设备的参数化报文和组态检查报文,报文处理后进入和现场总线主站设备的数据交换状态;其中,报文处理的步骤为:
当现场总线协议芯片接收到来自现场总线主站的参数化报文、组态检查报文、地址设置报文时,向微控制器发出中断请求,微控制器执行该中断程序,中断程序对上述报文进行相应的处理,从而使协议转换装置进入正常的数据交换状态;
中断程序首先判断接收到的报文类型,如果是参数化报文,中断程序把包括最小报文处理时间和设备标识号的数据写入相应的寄存器,并向现场总线主站发送应答报文,表明参数化成功;
如果接收到的报文是组态检查报文,中断程序检查该报文与原来的组态检查报文是否相同,如果不同则更新原来的组态检查报文,设置与现场总线主站设备进行数据交换的字节数,并向现场总线主站发送应答报文,表明组态检查成功;
如果接收到的报文是设置从站地址报文,中断程序把该报文中的地址号存入地址缓冲区,作为新的从站地址;
(3)接收来自现场总线主站设备的数据报文,并判断该数据报文属于参数数据还是过程数据:
如果数据报文属于参数数据,则把参数数据存储在非易失性存储器中,取代原来的参数数据;
如果数据报文属于过程数据,把该报文放入静态存储器中的输出缓冲区;
(4)按照先入先出原则从输出缓冲区中取出过程数据,根据过程数据给出的设备地址和功能代码,按照参数数据给定的串行数据传输协议的传输模式发送到给定地址的串行接口设备;
(5)启动定时器,等待接收来自串行接口设备的应答报文;
(6)接收到来自串行接口设备的应答报文后,进行数据校验判断是否正确接收:
如果没有正确接收,向该串行接口设备发出重发请求;
如果正确接收到报文,则从报文中取出现场总线主站设备需要的数据,放入输入缓冲区;
(7)当定时器超过给定时间限制时仍未收到串行接口设备的应答数据,把出错信息写入静态存储器中的诊断报文缓冲区,并通知现场总线主站设备读取诊断报文:
(8)按照先入先出的原则把输入缓冲区中的数据发送到现场总线上;
(9)循环执行以上步骤(3)-(8),直至关机。
与现场总线与模拟接口的转换相比,本发明实现了现场总线与串行接口的协议转换,并解决了如下技术问题:
(1)能够通过现场总线对串行接口的通讯参数包括波特率、数据位、停止位、奇偶位等进行设置。
(2)现场总线和串行接口工作在不同的通讯波特率下数据传输速度的匹配。
(3)现场总线协议和串行接口传输协议之间的协议转换。
总之,采用本发明装置不需要附加其它的软件和硬件,即可把普通的串行接口设备集成到现场总线系统中去,不需要修改上位的控制软件接口和串行接口设备,降低了系统成本和工程难度。总之,本发明在不影响系统性能的前提下,大大提高了系统的兼容性。
附图说明
图1为本发明实施例的主程序框图;
图2为本发明实施例的现场总线中断程序框图;
图3给出了中断程序实现的PROFIBUS-DP现场总线从站的状态机制;
图4为本发明实施例的硬件结构示意图;
图5给出了本发明实施例在一个现场总线系统中所处的位置。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
在图1中,主程序首先读取存储在非易失性存储器中的参数数据并按照参数数据初始化现场总线接口和串行接口;参数数据包括:串行接口的波特率、数据位、停止位、奇偶校验位,以及串行传输协议的传输模式定义以及现场总线接口参数等。现场总线接口参数包括站地址、报文缓冲区指针和长度等。
图2给出了一个中断程序的流程图,当现场总线协议芯片接收到来自现场总线主站的参数化报文、组态检查报文、地址设置报文时,向微控制器发出中断请求,微控制器执行该中断程序,中断程序对上述报文进行相应的处理,从而使协议转换装置进入正常的数据交换状态。
中断程序首先判断接收到的报文类型,如果是参数化报文,中断程序把最小报文处理时间和设备标识号等数据写入相应的寄存器,并向现场总线主站发送应答报文,表明参数化成功。
如果接收到的报文是组态检查报文,中断程序检查该报文与原来的组态检查报文是否相同,如果不同则更新原来的组态检查报文,设置与现场总线主站设备进行数据交换的字节数,并向现场总线主站发送应答报文,表明组态检查成功。
如果接收到的报文是设置从站地址报文,中断程序把该报文中的地址号存入地址缓冲区,作为新的从站地址。
如果数据报文属于参数数据,则把参数数据存储在非易失性存储器中,取代原来的参数数据。当装置下次重新启动时,新的参数数据生效。
如果数据报文不属于参数数据则为过程数据,把该报文放入输出缓冲区。按照先入先出原则从输出缓冲区中取出过程数据,根据过程数据给出的设备地址和功能代码,按照参数数据给定的串行数据传输协议的传输模式转换报文格式,并发送到给定地址的串行接口设备。然后启动定时器,等待接收来自串行接口设备的应答报文。
接收到来自串行接口设备的应答报文后,进行数据校验判断是否正确接收,如果没有正确接收,向该串行接口设备发出重发请求。如果正确接收到报文,则从报文中取出现场总线主站设备需要的数据,放入输入缓冲区。
当定时器超过给定时间限制时仍未收到串行接口设备的应答数据,把出错信息写入诊断报文缓冲区,并通知现场总线主站设备读取诊断报文。
主程序然后按照先入先出的原则把输入缓冲区中的数据发送到现场总线上。
主程序按照图1所述流程循环进行数据报文的接收和转换。
图2给出了一个中断程序的流程图,当现场总线协议芯片向微控制器发出中断请求时微控制器执行该中断程序,中断程序接收来自现场总线主站的参数化报文、组态检查报文、地址设置报文等并进行相应的设置,从而使协议转换装置进入正常的数据交换状态。
图3给出了中断程序实现的PROFIBUS-DP现场总线从站的状态机制。该状态机制描述了PROFIBUS-DP现场总线从站在各种情况下的行为,用以保证它的一致性,其主要状态如下:
(1)“通电”状态
在“通电”状态,从站接收2类主站“设置从站地址”报文,以改变从站地址。从站具有非易失性的存储器来存储从站地址。
(2)“等待参数化”状态
内部起动后,从站进入“等待参数化”状态,等待设置参数报文。同时,在此状态下,从站还可以接收“获取配置”和“从站诊断”报文,但拒绝处理其他报文,不能进行数据通讯。
(3)“等待组态”状态
如果参数化正确,从站进入“等待组态”状态,等待组态检查报文。组态检查报文规定输入和输出字节数。另外也可以接收“获取配置”和“从站诊断”报文。
(4)“数据交换”状态
当参数化和组态已被接收时,从站进入“数据交换”状态,可与主站进行数据通讯。
在图4中描述了协议转换装置的主要硬件部件,包括微控制器(7),通过内部总线(4)与现场总线协议芯片(1)、静态存储器(6)、非易失性存储器(4)相连,现场总线协议芯片(1)、光电隔离电路(2)和现场总线接口(3)顺序连接,在内部总线上还接有供串口设备连接的串行接口(8)。具体介绍如下:
(1)微控制器:微控制器内部带有程序存储器和数据存储器,外部需要连接相应的时钟电路、复位电路和看门狗电路配合工作。在本实施例中采用8051系列微控制器。
(2)现场总线协议芯片:现场总线协议芯片实现PROFIBUS-DP总线的数据链路层协议和物理层协议,完成总线报文的收发功能,用微控制器进行报文的处理,并转换成串行接口数据报文。有多种专用协议芯片可供选择,在本实施例中采用SIEMENS公司生产的SPC3(SIEMENS PROFIBUS CONTROLLER)协议芯片,SPC3能独立地处理PROFIBUS-DP协议的各种通信任务,能自动检测波特率从9.6K到12M,集成有1.5K的RAM、方式寄存器、状态寄存器、中断寄存器以及各种缓冲器指针和缓冲区等,与用户和主站的数据交换采用三缓冲器机制工作,保证系统的通信速度和数据交换的可靠性。
(3)光电隔离电路:采用光电隔离电路主要是为了消除来自零线的干扰,可采用光耦芯片如HCPL7720,HCPL0720,HCPL7721,HCPL0721等实现。
(4)现场总线接口:由现场总线总线驱动器和D型插座组成,现场总线驱动器一侧与D型插座相连,另一侧通过光电隔离电路与现场总线协议芯片相接。D型插座用来连接现场总线电缆。
(5)串行接口:在本实施例中实现了RS-232、RS-422、RS-485等接口,采用RS-232驱动器芯片,把串行信号的TTL电平转变成RS-232电平。采用RS-422/RS-485驱动芯片,把串行信号转变成RS-422/RS-485差分信号。
(6)非易失性存储器,用来保存协议转换装置的参数,
(7)静态存储器,用来作为数据报文的输入输出缓冲区。
图5给出了应用了本发明实施例的一个PROFIBUS-DP现场总线网络拓扑结构。协议转换装置(11)一方面作为PROFIBUS-DP现场总线(10)的一个从站设备,和其它普通从站设备(12)共同连接在现场总线上,与PROFIBUS-DP主站设备(9)进行数据交换,同时又连接到串行接口总线(13)上,与各种串行接口设备(14)进行通信。
上述叙述给出了本发明的一个实施例,本发明并不限于这些细节。本领域的技术人员可根据本发明给出的方法和步骤进行适当的修改。
Claims (1)
1.一种现场总线与串行接口设备间的协议转换方法,其步骤为:
(1)读取存储在非易失性存储器中的参数数据并按照参数数据初始化现场总线接口和串行接口;
(2)等待接收现场总线主站设备的参数化报文和组态检查报文,报文处理后进入和现场总线主站设备的数据交换状态;其中,报文处理的步骤为:
当现场总线协议芯片接收到来自现场总线主站的参数化报文、组态检查报文、地址设置报文时,向微控制器发出中断请求,微控制器执行该中断程序,中断程序对上述报文进行相应的处理,从而使协议转换装置进入正常的数据交换状态;
中断程序首先判断接收到的报文类型,如果是参数化报文,中断程序把包括最小报文处理时间和设备标识号的数据写入相应的寄存器,并向现场总线主站发送应答报文,表明参数化成功;
如果接收到的报文是组态检查报文,中断程序检查该报文与原来的组态检查报文是否相同,如果不同则更新原来的组态检查报文,设置与现场总线主站设备进行数据交换的字节数,并向现场总线主站发送应答报文,表明组态检查成功;
如果接收到的报文是设置从站地址报文,中断程序把该报文中的地址号存入地址缓冲区,作为新的从站地址;
(3)接收来自现场总线主站设备的数据报文,并判断该数据报文属于参数数据还是过程数据:
如果数据报文属于参数数据,则把参数数据存储在非易失性存储器中,取代原来的参数数据;
如果数据报文属于过程数据,把该报文放入静态存储器中的输出缓冲区;
(4)按照先入先出原则从输出缓冲区中取出过程数据,根据过程数据给出的设备地址和功能代码,按照参数数据给定的串行数据传输协议的传输模式发送到给定地址的串行接口设备;
(5)启动定时器,等待接收来自串行接口设备的应答报文;
(6)接收到来自串行接口设备的应答报文后,进行数据校验判断是否正确接收:
如果没有正确接收,向该串行接口设备发出重发请求;
如果正确接收到报文,则从报文中取出现场总线主站设备需要的数据,放入输入缓冲区;
(7)当定时器超过给定时间限制时仍未收到串行接口设备的应答数据,把出错信息写入静态存储器中的诊断报文缓冲区,并通知现场总线主站设备读取诊断报文;
(8)按照先入先出的原则把输入缓冲区中的数据发送到现场总线上;
(9)循环执行以上步骤(3)-(8),直至关机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021387036A CN1169063C (zh) | 2002-06-21 | 2002-06-21 | 现场总线与串行接口设备间的协议转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021387036A CN1169063C (zh) | 2002-06-21 | 2002-06-21 | 现场总线与串行接口设备间的协议转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1388455A CN1388455A (zh) | 2003-01-01 |
CN1169063C true CN1169063C (zh) | 2004-09-29 |
Family
ID=4749644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021387036A Expired - Fee Related CN1169063C (zh) | 2002-06-21 | 2002-06-21 | 现场总线与串行接口设备间的协议转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1169063C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4385247B2 (ja) * | 2003-08-04 | 2009-12-16 | 日本電気株式会社 | 集積回路、および情報処理装置 |
CN100344125C (zh) * | 2003-11-26 | 2007-10-17 | 华为技术有限公司 | 一种数据传输死锁的解决方法 |
GB0408876D0 (en) | 2004-04-21 | 2004-05-26 | Level 5 Networks Ltd | User-level stack |
CN101094076B (zh) * | 2006-06-23 | 2010-11-10 | 深圳达实智能股份有限公司 | 一种以太网多路通讯服务器及其控制方法 |
CN100426276C (zh) * | 2006-12-07 | 2008-10-15 | 威盛电子股份有限公司 | 总线相容装置和暂存值修正方法 |
CN101354829B (zh) * | 2008-09-12 | 2010-06-02 | 航天东方红卫星有限公司 | 一种卫星遥测数据传输方法 |
CN102541038A (zh) * | 2012-02-28 | 2012-07-04 | 华电新疆发电有限公司乌鲁木齐热电厂 | 基于rs485串行通讯网络的多台异种变频器控制方法 |
CN103699074B (zh) * | 2013-12-11 | 2016-06-08 | 南车株洲电力机车研究所有限公司 | 一种变流器中的can通信控制装置及通信方法 |
CN107222379A (zh) * | 2017-06-07 | 2017-09-29 | 南京南瑞继保电气有限公司 | 一种串口通信的方法和装置 |
CN113485957B (zh) * | 2021-06-25 | 2023-05-30 | 厦门码灵半导体技术有限公司 | 适用于工业级应用场景的用于物理层的多协议系统控制装置和多协议系统控制方法 |
-
2002
- 2002-06-21 CN CNB021387036A patent/CN1169063C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1388455A (zh) | 2003-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1169063C (zh) | 现场总线与串行接口设备间的协议转换方法 | |
CN1151449C (zh) | 允许服务器远程访问未通电的客户计算机系统资产信息的数据处理系统和方法 | |
CN1713164A (zh) | 可自主处理多事务传输要求的dma控制器及数据传输方法 | |
CN1801020A (zh) | 嵌入式现场总线协议接口装置和实现方法 | |
CN101060457A (zh) | 基于光纤的高速串行工业实时通信总线系统及其控制方法 | |
CN105635184A (zh) | 通信协议转换方法、装置及系统 | |
CN100337217C (zh) | 存储控制芯片及数据存储控制方法 | |
CN1811480A (zh) | 一种电平信号的实时监测方法及装置 | |
CN105243044A (zh) | 基于串口的管理系统及管理方法 | |
JPH034351A (ja) | システム・バス・データ・リンク装置 | |
CN101078922A (zh) | 用于将多信道消息转换成单信道安全消息的方法和设备 | |
CN1160618C (zh) | 可编程控制器 | |
CN100351824C (zh) | 总线系统和用于连接到总线的总线接口 | |
CN101047447A (zh) | 基于光纤的点对点工业串行实时通信系统及其控制方法 | |
CN1715956A (zh) | 双机热备份的双采集机系统及其双采集方法 | |
CN101414177A (zh) | 基于现场总线数据采集的串口转以太网系统 | |
US8074232B2 (en) | Method for improving the communication of the human interface device | |
CN101867570B (zh) | 基于can的嵌入式软件可靠性测试中的通信方法 | |
CN2585317Y (zh) | 现场总线与串行接口设备间的协议转换装置 | |
CN1684030A (zh) | 码流播放卡和码流采集卡的驱动方法 | |
CN1901492A (zh) | 一种通过网络中的总线接口进行通信的方法和系统 | |
CN1151443C (zh) | 非软驱存储器接口转换为软驱接口的装置 | |
CN1292362C (zh) | 串口扩展芯片 | |
CN1486047A (zh) | 网关控制装置及方法 | |
CN1964300A (zh) | 可读写的串行接口总线通信控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |