论文部分内容阅读
摘 要:本文围绕电力系统性能要求出发,基于现场总线CAN,在单片机技术基础上,设计相应的软件控制程序,以达到通讯网络控制的能力。
关键词:电力系统;CAN;单片机;通讯规约
中图分类号:TM76
鉴于电力系统的连续性和供电可靠性的要求,在采用高品质的电力设备的同时,必须重视通讯网工作的可靠性研究。通讯网的设计应能使通讯负荷合理分配,保证不出现瓶颈现象和通讯负荷不过载,并采用分层分布式结构,使其组合灵活、维修调试方便,具有较强的扩展性能。
电力设备的通讯网络是基于现场总线CAN(Controller Area Network)。通信媒介为屏蔽双绞线,占用控制方式主要为主从问答,但允许事件、报警信息优先发送,遵循ICE870-5-103通信规约。作为一种现场总线,CAN总线同时还是一种串行通信网络,其不仅保密性非常高,还能够对分布式控制或实时控制起到有效支持。
国内传统的电力设备采用RS—485或者BITBUS作为通信方式一,其具有非常明显的缺陷:很难将多主结构构成,具有十分繁忙的主节点任务,一旦有故障出现在主节点,就可能会导致系统瘫痪;数据传输效率低,灵活性极差,不适于实时性要求较高的场合,特别是当下端单元出现异常或遥信变位时,数据不能立即上传;错误处理能力不强。
与上述通信方式相比,CAN具有以下特点:(1)可以多种方式进行工作,具有十分灵活的数据收发方式,能够保证全局广播、一点对多点、点对点等多种传输方式的实现,因而可将多机备份系统很快的构成;(2)可以采用不同的优先级针对网络上的节点(信息)进行划分,硬件自动实现总线冲突仲裁,可以满足不同的实时要求。即使具有很重的网络负载,也不会因此而有网络瘫痪的情况出现;(3)具有最高可达1MB/s(此时距离最长40m)的通信速率;(4)直接通信距离最远可达10km(速率5KB/s以下);(5)节点数实际可达110个;(6)采用短帧结构,且每帧信息都有CRC校验、NRZ编码/解码方式,并采用位填充技术以及其他各种检错措施,因此其具有非常低的数据出错率;(7)在具有严重错误的情况下,CAN节点能够将总线自动关闭,并且将它与总线之间的联系切断,这样就不会影响到总线上的其他操作;(8)采用双绞线作为通信介质,无特殊要求。
总之,CAN总线具有较好的操作性、简单的结构以及很高的可靠性等优点,这样就将传统的工业总线的缺陷克服了,因此其属于一种有效的解决方案。
1 硬件实现
在具有上述特点,CAN总线同时还具有灵活方便的编程方式以及较低的成本,故CAN总线在电力系统中有着很大的实用价值。
其中单片机采用AT89S52,选用SJA1000CAN作为控制器的芯片,其中片选信号为CS,单片机的相应管脚分别连接ALE、WR、RD,INTEL模式是MODE脚接高电平的特点,这样就使复位的可靠性得到了保证,而其中的三态数据总路线就是AD0-AD7。选用PCA82C250作为CAN总线驱动器,为了能够使总线节点的抗干扰能力得以有效增强,82C250的RXD、TXD与SJA1000与之间利用高速光耦6N137连接起来,这样就使二者之间的电气隔离得以实现了,同时还使节点的稳定性和安全性得到了保证。
2 软件实现
只有在复位模式下才可以实施SAJ1000的初始化,其初始化的内容主要包括中断允许寄存器的设置、总线定时寄存器的设置、工作方式的设置、波特率参数设置、接收滤波的设置、接收代码寄存器ACR的设置、接收屏蔽寄存器设置等内容,在将SJA1000的初始化工作完成以后,就能够恢复为工作状态,从而能够实现正常的通信任务。
节点报文的发送是由数据的发送子程序负责的,在具体的发送过程中只需要按特定的格式将待发送的数据组合成一帧,在SJA1000发送缓冲区送入报文,接下来将SJA1000启动,就可以完成发送,采用查询方式针对数据进行接收,其软件操作需要对报警接收溢出以及总线脱离错误等情况进行充分的考虑
由于上位主机没有CAN接口,必须为其配备转换接口,目前常见的接口格式有利用PCI和ISA插槽设计的内插式接口卡,这种CAN卡一般需要一个MCU、一片双口RAM、一个CAN控制器和一个CAN总线收发器,MCU能从CAN总线中读取数据,然后放在双中RAM中,计算机通过上位机软件读取数据;也可以通过计算机的外围接口设计外接式的CAN卡,这种外围接口包括串行通讯接口、并行通讯接口及USB接口。考虑到串行通讯的使用较为简单且应用广泛、经济实用,选用了以串口作为接口的方法
实际调试时,出于经济考虑,自制了CAN/RS232转换器,其结构为CAN-MCU-RS232,也就是利用单片机及SJA1000将CAN格式的数据接收到之后,把其转换为RS232格式的数据通过串口与主机通信,其中MCU选用的是AT89C51,与SJA1000的接口及软硬件部分均与人机板CAN电路相同,不再重复说明。
3 通讯规约实现
采用MODBUS通讯协议CAN通信与自动化系统的连接方式。应用层协议为MODBUS(RTU方式),能够通过对上述通信媒介的利用实现系统互联。采用直接内存访问的模式作为MODBUS的运行方式,其基本协议针对其中内存访问的具体细节进行了合理的定义,须提供内存地址表就可以实现各应用程序或系统互连。
其功能报文样例介绍如下:
连续读n个字(功能码03H)
下行:
通信地址(BYTE):01H~F7H
功能码(BYTE):03H
起始地址(WORD):0000H~FFFFH(先高字节后低字节)
读的字数(WORD):0001H~007DH(先高字节后低字节)
校验码(WORD):以上所有字节的CRC16校验和(先低字节后高字节)
上行:
通信地址(BYTE):01H~F7H
功能码(BYTE):03H
数据长度(BYTE):01H~FAH
数据内容(WORD):读到的具体数据(先高字节后低字节)
数据内容(WORD):读到的具体数据(先高字节后低字节)
......
数据内容(WORD):读到的具体数据(先高字节后低字节)
校验码(WORD):以上所有字节的CRC16校验和(先低字节后高字节)
为了简化通讯规约的复杂度,本文只简述了应用MODBUS规约的03H和10H两个功能码,其他详细的情况可进一步研究实验。
参考文献:
[1]桑波.电力监控传输系统的设计与实现[D].内蒙古大学,2012.
[2]程英凯,樊超.基于CAN总线的电力参数测量系统设计[J].科技信息,2010(03):716-717.
作者简介:王微(1982.10-),女,助理讲师,研究方向:电工技术及其发展研究等。
作者单位:海南省技师学院,海口 570203
关键词:电力系统;CAN;单片机;通讯规约
中图分类号:TM76
鉴于电力系统的连续性和供电可靠性的要求,在采用高品质的电力设备的同时,必须重视通讯网工作的可靠性研究。通讯网的设计应能使通讯负荷合理分配,保证不出现瓶颈现象和通讯负荷不过载,并采用分层分布式结构,使其组合灵活、维修调试方便,具有较强的扩展性能。
电力设备的通讯网络是基于现场总线CAN(Controller Area Network)。通信媒介为屏蔽双绞线,占用控制方式主要为主从问答,但允许事件、报警信息优先发送,遵循ICE870-5-103通信规约。作为一种现场总线,CAN总线同时还是一种串行通信网络,其不仅保密性非常高,还能够对分布式控制或实时控制起到有效支持。
国内传统的电力设备采用RS—485或者BITBUS作为通信方式一,其具有非常明显的缺陷:很难将多主结构构成,具有十分繁忙的主节点任务,一旦有故障出现在主节点,就可能会导致系统瘫痪;数据传输效率低,灵活性极差,不适于实时性要求较高的场合,特别是当下端单元出现异常或遥信变位时,数据不能立即上传;错误处理能力不强。
与上述通信方式相比,CAN具有以下特点:(1)可以多种方式进行工作,具有十分灵活的数据收发方式,能够保证全局广播、一点对多点、点对点等多种传输方式的实现,因而可将多机备份系统很快的构成;(2)可以采用不同的优先级针对网络上的节点(信息)进行划分,硬件自动实现总线冲突仲裁,可以满足不同的实时要求。即使具有很重的网络负载,也不会因此而有网络瘫痪的情况出现;(3)具有最高可达1MB/s(此时距离最长40m)的通信速率;(4)直接通信距离最远可达10km(速率5KB/s以下);(5)节点数实际可达110个;(6)采用短帧结构,且每帧信息都有CRC校验、NRZ编码/解码方式,并采用位填充技术以及其他各种检错措施,因此其具有非常低的数据出错率;(7)在具有严重错误的情况下,CAN节点能够将总线自动关闭,并且将它与总线之间的联系切断,这样就不会影响到总线上的其他操作;(8)采用双绞线作为通信介质,无特殊要求。
总之,CAN总线具有较好的操作性、简单的结构以及很高的可靠性等优点,这样就将传统的工业总线的缺陷克服了,因此其属于一种有效的解决方案。
1 硬件实现
在具有上述特点,CAN总线同时还具有灵活方便的编程方式以及较低的成本,故CAN总线在电力系统中有着很大的实用价值。
其中单片机采用AT89S52,选用SJA1000CAN作为控制器的芯片,其中片选信号为CS,单片机的相应管脚分别连接ALE、WR、RD,INTEL模式是MODE脚接高电平的特点,这样就使复位的可靠性得到了保证,而其中的三态数据总路线就是AD0-AD7。选用PCA82C250作为CAN总线驱动器,为了能够使总线节点的抗干扰能力得以有效增强,82C250的RXD、TXD与SJA1000与之间利用高速光耦6N137连接起来,这样就使二者之间的电气隔离得以实现了,同时还使节点的稳定性和安全性得到了保证。
2 软件实现
只有在复位模式下才可以实施SAJ1000的初始化,其初始化的内容主要包括中断允许寄存器的设置、总线定时寄存器的设置、工作方式的设置、波特率参数设置、接收滤波的设置、接收代码寄存器ACR的设置、接收屏蔽寄存器设置等内容,在将SJA1000的初始化工作完成以后,就能够恢复为工作状态,从而能够实现正常的通信任务。
节点报文的发送是由数据的发送子程序负责的,在具体的发送过程中只需要按特定的格式将待发送的数据组合成一帧,在SJA1000发送缓冲区送入报文,接下来将SJA1000启动,就可以完成发送,采用查询方式针对数据进行接收,其软件操作需要对报警接收溢出以及总线脱离错误等情况进行充分的考虑
由于上位主机没有CAN接口,必须为其配备转换接口,目前常见的接口格式有利用PCI和ISA插槽设计的内插式接口卡,这种CAN卡一般需要一个MCU、一片双口RAM、一个CAN控制器和一个CAN总线收发器,MCU能从CAN总线中读取数据,然后放在双中RAM中,计算机通过上位机软件读取数据;也可以通过计算机的外围接口设计外接式的CAN卡,这种外围接口包括串行通讯接口、并行通讯接口及USB接口。考虑到串行通讯的使用较为简单且应用广泛、经济实用,选用了以串口作为接口的方法
实际调试时,出于经济考虑,自制了CAN/RS232转换器,其结构为CAN-MCU-RS232,也就是利用单片机及SJA1000将CAN格式的数据接收到之后,把其转换为RS232格式的数据通过串口与主机通信,其中MCU选用的是AT89C51,与SJA1000的接口及软硬件部分均与人机板CAN电路相同,不再重复说明。
3 通讯规约实现
采用MODBUS通讯协议CAN通信与自动化系统的连接方式。应用层协议为MODBUS(RTU方式),能够通过对上述通信媒介的利用实现系统互联。采用直接内存访问的模式作为MODBUS的运行方式,其基本协议针对其中内存访问的具体细节进行了合理的定义,须提供内存地址表就可以实现各应用程序或系统互连。
其功能报文样例介绍如下:
连续读n个字(功能码03H)
下行:
通信地址(BYTE):01H~F7H
功能码(BYTE):03H
起始地址(WORD):0000H~FFFFH(先高字节后低字节)
读的字数(WORD):0001H~007DH(先高字节后低字节)
校验码(WORD):以上所有字节的CRC16校验和(先低字节后高字节)
上行:
通信地址(BYTE):01H~F7H
功能码(BYTE):03H
数据长度(BYTE):01H~FAH
数据内容(WORD):读到的具体数据(先高字节后低字节)
数据内容(WORD):读到的具体数据(先高字节后低字节)
......
数据内容(WORD):读到的具体数据(先高字节后低字节)
校验码(WORD):以上所有字节的CRC16校验和(先低字节后高字节)
为了简化通讯规约的复杂度,本文只简述了应用MODBUS规约的03H和10H两个功能码,其他详细的情况可进一步研究实验。
参考文献:
[1]桑波.电力监控传输系统的设计与实现[D].内蒙古大学,2012.
[2]程英凯,樊超.基于CAN总线的电力参数测量系统设计[J].科技信息,2010(03):716-717.
作者简介:王微(1982.10-),女,助理讲师,研究方向:电工技术及其发展研究等。
作者单位:海南省技师学院,海口 570203