课程设计报告B5.docx
《课程设计报告B5.docx》由会员分享,可在线阅读,更多相关《课程设计报告B5.docx(17页珍藏版)》请在冰豆网上搜索。
课程设计报告B5
1.绪论
1.1课题背景及意义
电能是最重要的能源,它的应用在生产技术上曾引起划时代的变革。
随着我国国民经济和各项社会事业的迅速发展,在现代社会中电能己经广泛应用到社会生产的各个领域和社会生活的各个方面。
电能表是当前电能计量和经济结算的主要工具,它的准确与否直接关系到国家与用户的经济利益,而且传统的单相电能表在功能上已经不能满足人们多样化的需求。
随着电子技术、检测技和计算机技术的迅猛发展,电能计量装置也发生了巨大变革。
如今绝大部分地区对电的使用已经没有限制,一户一表制已经基本普及,直供居民户数成倍增加,抄表工作量明显加大。
人工抄表及现在的各种远程抄表方式或多或少存在不足之处,无法保证数据的准确性和实时性,浪费大量的人力和时间,并给用户带来不便。
为了改变这种状况,远程自动抄表技术就显得格外重要。
本文针对这一情况,研究开发了一种基于S7-200通信口Modbus电能采集系统。
该系统以S7-200为主站,以YKE-WH3智能电表为从站进行电能的采集。
YKE-WH3智能电表带有基于Modbus协议的RS-485串行通信接口。
主从站之间通过Modbus协议进行数据的交换,主站向从站发送读取电能数据的请求,从站及时响应,完成主战对电能数据的读取,从而实现远程抄表.该系统的开发从根本上克服了传统的人工抄表模式的弊端,给电能管理的现代化带来了新的希望,此系统具有运行可靠、成本低、扩展性好的优点。
通过此系统管理部门可实现远程抄表,这样大大降低物业管理人员的劳动强度,提高物业管理水平,构建和谐社区具有重要意义。
2.系统组成
2.1系统结构说明
系统主要由三部分组成电能表,S7-200PLC,通信网络,以及与电能表进行数据交换的各种设备。
按照电能采集数据方式的不同,电能采集系统可以被大致划分为本地和远程两种。
本地采集系统所使用的电度表一般加装红外转换装置,把电量转换为红外信号,抄表时操作人员到现场使用便携抄表微机在红外可视的距离内非接触地读取数据。
电子式电度表或加装了光电转换器的机电脉冲式电度表构成远程采集系统的最前端。
它们把用户的用电量以电脉冲的形式传递给上了一级数据采集装置。
目前实际应用的远程电能采集系统大多采用两级式数据汇集结构。
本文采用远程电能数据采集。
2.2S7-200简介
S7-200系列是一种可编程序逻辑控制器(MicroPLC)。
它能够控制各种设备以满足自动化控制需求。
S7-200的用户程序中包括了位逻辑、计数器、定时器、复杂的数学运算以及与与其他智能模块通信等指令内容,从而使它能够监视输入状态,改变输出状态以达到控制目的。
紧凑的结构、灵活的配置和强大的指令集使S7-200成为各种控制应用的理想解决方案。
它有CPU、存储器、基本输入输出点和电源等模块组成,内部有输入继电器、输出继电器、中间继电器、特殊继电器、定时器、计数器、变量存储器等软资源,这些软资源是PLC内部具有一定功能器件它们都具有继电特性,这使得原来庞大的继电控制系统变得简单明了。
STEP7-Micro/WIN软件是S7-200编程软件,其指令系统中提供的编程语言梯形图、语句表、功能块图、顺序功能图。
梯形图:
以图形方式显示程序,与电气接线图类似。
是最早使用的PLC语言,也是现在最常用的PLC语言,它是从继电器控制原理图的基础上演变而来的,他继承了继电气控制系统中的基本工作原理和电气逻辑关系的表示方法,梯形图与继电器控制系统梯形图的基本思想是一致的,只是在使用符号和逻辑关系的表示方法有一定区别,所以在逻辑顺序控制系统中得到广泛使用。
他最大特点简单、直观、明了。
语句表:
是S7-200中常用的编程语言,但语句表不直观,缺陷比较突出,一般情况下,在复杂的计算、中断等场合会使用。
功能块图:
是一种基于电子器件门电路逻辑运算形势的编程语言,加上输入输出,通过一定逻辑连接方式来完成控制逻辑,它也可以把函数功能块连接到电路中,完成各种复杂的功能和计算。
功能图:
顺序功能图亦称功能图,是一种真正的图形化编程语言,使用它可以对具有并发选择等复杂的系统进行编程,特别适合在复杂的顺序控制系统中使用,也是未来使用最多的编程语言之一,它在复杂逻辑顺序任务的程序设计中得到广泛应用。
在顺序功能图中,最重要的三个元素是状态、状态相关的动作,转移。
PLC工作方式是集中输入、集中输出、周期性循环扫描的工作方式,在PLC上电后处于正常运行时他将不断重复循环扫描,上述循环扫描过程主要分为三个阶段输入采样阶段,程序执行阶段,输出刷新阶段组成。
在输入采样阶段,首先扫描所有输入端子,并将各输入状态存入相应的输入映像寄存器,此时输入映像寄存器被刷新。
接下来进入程序执行阶段,在这一阶段PLC按从左到右、从上到下的步骤顺序执行程序,待程序执行完,将最新结果存入到相应的原件映像寄存器中,在输出刷新阶段将输出映像寄存器中所有状态转存到输出锁存器中,通过一定方式集中输出,最后经过端子驱动负载。
2.3电能表
2.3.1智能电表简介
YKE-WH3是一种具有可编程测量、电能计量、数据显示,数字通讯和电能脉冲输出功能的智能型电度表,采集及传输,可广泛应用变电站自动化,配电自动化、智能建筑、企业内部的电能测量、管理、考核。
测量精度为0.5级、实现LCD现场显示和远程RS-485数字接口通讯,采用MODBUS-RTU通讯协议。
YKE-WH3智能型电度表可测量电网中的电力参数有:
Ps(总有功功率)Qs(总无功功率)以及有功电能、无功电能。
所有的测量电量参数全部保存仪表内部的电量信息表中,通过仪表的数字通讯接口可访问采集这些数据。
MODBUS地址信息表:
地址
项目
描述
字节地址
说明
电量信息
6,7
P
有功功率
12、13、14、15
浮点型数据,IEEE-574数据格式,所有的数据都是1次侧的数据,包含了变比参数。
8,9
Q
无功功率
16、17、18、19
10,11
S
视在功率
20、21、22、23
12,13
EPP
有功电能
24、25、26、27
14,15
EQP
无功电能
28、29、30、31
智能表通信参数
地址
通信速率BAUD
协议PROT
1~247
波特率4800、9600
字通讯和字节通讯
2.3.2智能电表通信
YKE-WH3智能电能表提供串行异步半工RS485通讯接口,采用MOD-BUS-RTU协议,各种数据信息均可在通讯线路上传送。
在一条485总线上可以同时连接多达32个智能电度表,每个智能电度表均可以设定其通讯地址(AddressNO.),不同系列仪表的通讯接线端子号码可能会不同,通讯连接应使用带有铜网的的屏蔽双绞线,线径不小于0.5mm2。
布线时应使用通讯远离强电电缆或其他强电场环境,推荐采用T型网络的连接方式。
不建议采用星形或其他的连接方式。
2.3Modbus通信协议
2.3.1概述
Modbus通信协议是工业控制网络中用于对自控设备进行访问控制的主从式通信协议,由Modicon公司开发,在工业控制中得到广泛应用。
协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
它有以下特点:
物理接口符合EIA-485规范;组成主从访问的单主控制网络;通过简单的通信报文完成对从节点的读写操作;通信速率可达19.2kbps;在主节点轮询即逐一单独访问从节点时,要求从节点返回一个应答信息;主节点也可以对网段上所有的从节点进行广播通信。
控制器通信使用主-从技术,即仅一台设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
2.3.2传输方式
控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。
用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,同一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。
ASCII(美国标准信息交换代码)模式:
在消息中的每个8Bit字节都作为两个ASCII字符发送。
这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。
RTU(远程终端单元)模式:
在消息中的每个8Bit字节包含两个4Bit的十六进制字符。
这种方式的优点是:
在同样的波特率下,可比ASCII方式传送更多的数据。
2.3.3MODBUS/RTU通讯协议
本电能采集系统使用的是RTU传输模式,故重点介绍RTUMODBUS/RTU通讯协议:
MODBUS协议在一根通讯线上采用主从应答方式的通讯连接方式。
首先,主计算机的信号寻址到一台唯一地址的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机,即在一根单独的通讯线上信号沿着相反的两个方向传输所有的通讯数据流。
MODBUS协议只允许在主机(PC,PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达ᴀ机的查询信号。
主机查询:
查询消息帧包括设备地址码、功能码、数据信息码、校验码。
地址码表明要选中的从机设备功能代码告之被选中的从设备要执行何种功能,例如功能代码03或04是要求从设备读寄存器并返回它们的内容;数据段包含了从设备要执行功能的其它附加信息,如在读命令中,数据段的附加信息有从何寄存器开始读的寄存器数量;校验码用来检验一帧信息的正确性,为从设备提供了一种验证消息内容是否正确的方法,它采用CRC16的校准规则。
从机响应:
如果从设备产生一正常的回应,在回应消息中有从机地址码、功能代码、数据信息码和CRC16校验码。
数据信息码包括了从设备收集的数据:
如寄存器值或状态。
如果有错误发生,我们约定是从机不进行响应。
传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS协议-RTU方式相兼容的传输方式。
每个字节的位:
1个起始位、8个数据位、(奇偶校验位)、1个停止位(有奇偶校验位时)或2个停止位(无奇偶校验位时)。
数据帧的结构:
即报文格式。
地址码
功能码
数据码
校验码
1个BYTE
1个BYTE
N个BYTE
2个BYTE
地址码在帧的开始部分,由一个字节(8位二进制码)组成,十进制为0~255,在我们的系统中只使用1~247,其它地址保留。
这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。
每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询,当终端发送回一个响应,响应中的从机地址数据告诉了主机那台终端与之进行通信。
功能码告诉了被寻址到的终端执行何种功能。
下表列出智能电能表所支持的功能码,以及它们的意义和功能。
功能码
意义
行为
03/04
读数据寄存器
获得一个或多个寄存器的当前二进制值
08
电能清零
将所操作的仪表的电能数据清零(0)
16
写预置寄存器
设定二进制值到相关的寄存器中
数据码包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。
这些数据的内容可能是数值、参考地址或者设置值。
例如:
功能域码告诉终端读取一个寄存器,数据域则需要反映明从哪个寄存器开始及读取多少个数据,而从机数据码回送内容则包含了数据长度和相应的数据。
校验码错误校验(CRC)域占用两个字节,包含了一个16位的二进制值。
CRC值由传输设备计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC进行比较。
若这两个值不相等,就发生了错误。
2.3.4S7-200中Modbus主站协议库指令
2.3.4.1MBUS_CTRL指令
MBUS_CTRL指令用于初始化主站通信,MBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于启动对Modbus从站的请求并处理应答。
MBUS_CTRL指令用于S7-200端口0的MBUS_CTRL指令(或用于端口1的MBUS_CTRL_P1指令)可初始化、监视或禁用Modbus通讯。
在使用MBUS_MSG指令之前,必须正确执行MBUS_CTRL指令。
指令完成后立即设定“完成”位,才能继续执行下一条指令。
MBUS_CTRL指令在每次扫描且EN输入打开时执行。
MBUS_CTRL指令必须在每次扫描时(包括首次扫描)被调用,以允许监视随MBUS_MSG指令启动的任何突出消息的进程。
除非每次调用MBUS_CTRL,否则Modbus主设备协议将不能正确运行。
EN:
指令使能位。
Mode:
“模式”参数。
1-Modbus协议;0-PPI协议。
Baud:
“波特率”参数。
支持1200、2400、4800、9600、19200、38400、57600或115200bit/s。
Parity:
“奇偶校验”参数。
0无奇偶校验;1奇校验;2偶校验。
Timeout:
“超时”参数。
“超时”参数设为等待来自从站应答的毫秒时间数。
“超时”数值可以设置的范围为1毫秒到32767毫秒。
Done:
MBUS_CTRL指令成功完成时,“完成”输出为1,否则为0。
Error:
“错误”输出代码。
“错误”输出代码的含义如下:
0无错误;1奇偶校验选择无效;2波特率选择无效;3超时选择无效;4模式选择无效。
2.3.4.2MBUS_MSG指令
MBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于启动对Modbus从站的请求并处理应答。
当EN输入和“首次”输入都为1时,BUS_MSG指令启动对Modbus从站的请求。
发送请求、等待应答、并处理应答通常需要多次扫描。
EN输入必须打开以启用请求的发送,并应该保持打开直到“完成”位被置位。
EN:
指令使能位。
First:
“首次”参数。
“首次”输入应当通过一个边沿检测元素(例如上升沿)打开,这将导致请求被传送一次。
Slave:
“从站”参数。
“从站”参数是Modbus从站的地址。
允许的范围是0到247。
地址0是广播地址,只能用于写请求。
不存在对地址0的广播请求的应答。
并非所有的从站会支持广播地址,S7-200Modbus从站协议库不支持广播地址。
RW:
“读写”参数。
0—读,1—写。
Addr:
“地址”参数。
“地址”参数是起始的Modbus地址。
Count:
“计数”参数。
“计数”参数指定在该请求中读取或写入的数据元素的数目。
DataPtr:
“DataPtr”参数。
“DataPtr”参数是指向S7-200CPU的V存储器中与读取或写入请求相关的数据的间接地址指针。
Done:
完成输出。
“完成”输出在应答完成或MBUS_MSG指令因错误而中止时打开。
Error:
“错误”输出仅当“完成”输出打开时有效。
这些错误代码通常指示与MBUS_MSG指令的输入参数有关的问题,或接收来自从站的应答时出现的问题。
3.系统硬件设计和软件编程
3.1系统硬件设计
本系统硬件主要有S7-200PLC、多功能电能表、RS485串行通信电缆组成。
多功能电表与S7-200PLC通过RS485串行通信电缆连接,采用MODBUS/RTU通讯协议进行通信。
3.1.1串行通信电缆选择
3.1.1.1RS485与RS232比较
1、RS485采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。
接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
2、RS-485的数据最高传输速率为10Mbps,RS232传输速率较低,在异步传输时,波特率为20Kbps。
3、RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好,RS232接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
4、RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米(理论上的数据,在实际操作中,极限距离仅达1200米左右),RS232传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。
另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。
而RS-485接口在总线上是允许连接多达128个收发器。
即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。
3.1.1.2RS485与RS232选择
因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。
因为RS485接口组成的半双工网络一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。
RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。
3.1.1.3RS485接线方式
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。
在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
理论上,通信速率在100Kpbs及以下时,RS485的最长传输距离可达1200米,但在实际应用中传输的距离也因芯片及电缆的传输特性而所差异。
在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加八个中继,也就是说理论上RS485的最大传输距离可以达到9.6公里。
如果真需要长距离传输,可以采用光纤为传播介质,收发两端各加一个光电转换器,多模光纤的传输距离是5~10公里,而采用单模光纤可达50公里的传播距离。
在构建网络时,应注意如下几点:
(1)采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。
有些网络连接尽管不正确,在短距离、低速率仍可能正常工作,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,会造成信号质量下降。
(2)应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。
下列几种情况易产生这种不连续性:
总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。
(3)485信号西安不能与电源线绑在一起,由于强点具有强烈的电磁信号对弱电进行干扰,从而导致485信号不稳定,导致通信不稳定
(4)485总线必须要接地,单点可靠接地。
单点就是整个485总线只能有一个点接地。
一般终端匹配采用终端电阻方法,RS-485应在总线电缆的开始和末端都并接终端电阻。
终接电阻在RS-485网络中取120Ω。
相当于电缆特性阻抗的电阻,因为大多数双绞线电缆特性阻抗大约在100~120Ω。
这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。
3.1.2S7-200PLC选型
SIMATICS7-200系列:
CPU221本机集成6输入/4输出共10个数字量I/O点。
无I/O扩展能力。
6K字节程序和数据存储空间。
4个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出。
1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。
非常适合于小点数控制的微型控制器。
CPU222本机集成8输入/6输出共14个数字量I/O点。
可连接2个扩展模块,最大扩展至78路数字量I/O点或10路模拟量I/O点。
6K字节程序和数据存储空间。
4个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。
1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。
是具有扩展能力的、适应性更广泛的全功能控制器。
CPU224本机集成14输入/10输出共24个数字量I/O点。
可连接7个扩展模块,最大扩展至168路数字量I/O点或35路模拟量I/O点。
16K字节程序和数据存储空间。
6个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。
1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。
I/O端子排可很容易地整体拆卸。
是具有较强控制能力的控制器。
CPU224XP本机集成14输入/10输出共24个数字量I/O点,2输入/1输出共3个模拟量I/O点,可连接7个扩展模块,最大扩展至168路数字量I/O点或38路模拟量I/O点。
22K字节程序和数据存储空间,6个独立的高速计数器(100KHz),2个100KHz的高速脉冲输出,2个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。
本机还新增多种功能,如内置模拟量I/O,位控特性,自整定PID功能,线性斜坡脉冲指令,诊断LED,数据记录及配方功能等。
是具有模拟量I/O和强大控制能力的新型CPU。
CPU226本机集成24输入/16输出共40个数字量I/O点。
可连接7个扩展模块,最大扩展至248路数字量I/O点或35路模拟量I/O点。
26K字节程序和数据存储空间。
6个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。
2个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。
该系统运用S7-200自由通信口与从站电能表进行通信,不需要其他模块扩展,所以S7-200选用CPU221即可满足要求。
3.1.3智能电能表选择
YKE-WH3是一种具有可编程测量、电能计量、数据显示,数字通讯和电能脉冲输出功能的智能型电度表,采集及传输,可广泛应用变电站自动化,配电自动化、智能建筑、企业内部的电能测量、管理、考核。
测量精度为0.5级、实现LCD现场显示和远程RS-485数字接口通讯,采用MODBUS-RTU通讯协议。
YKE-WH3智能型电度表可测量电网中的电力参数有:
Ps(总有功功率)Qs(总无功功率)以及有功电能、无功电能。
所有的测量电量参数全部保存仪表内部的电量信息表中,通过仪表的数字通讯接口可访问采集这些数据。
该电能表满足系统设计要求,故选用该电能表即可。
3.1.4系统硬件连接图
3.2系统软件编程
3.2.1软件编程思想
以S7-200为主站,以YKE-WH3智能电表为从站进行电能的采集。
主从站之间通过Modbus协议进行数据的交换,主站向从站发送读取电能数据的请求,从站及时响应,完成主站对电能数据的读取,从而实现远程抄表。
3.2.2采集程序
4.小结
在两个星期的课程设计里,我们可以学到很多很多的东西,同时不仅可以巩固了以前所前的知识,而且学到了很多很多书本上没有学过的知识。
而且通过这次课程设计使我懂得了理论与实践结合的重要性。
提高了自己的实际动手能力和独立思考的能力。
其中遇到的问题可以说是困难重重,而且遇到了各种各样的问题,但都在老师和同学们的指引下完成了。
所以这次课程能够顺利完成全赖有各位同学和各位指导老师的帮助,在此表示衷心的感谢