[水电厂仿真接口系统]

毕业设计(论文)

水电厂仿真接口系统

题 目 水电厂仿真接口系统

指导教师

系 别 自动化工程系

专业班级

学生姓名

学 号

摘 要

仿真水电厂由仿真软件模型、实物操作模型、虚拟传感器及仿真接口组成。仿真软件模型解决的是水电厂的数学模型的软件实现,组态监控,故障设置等问题;实物操作模型解决的是物理操作及物理动作及显示;虚拟传感器及仿真接口解决的是将仿真软件模型设置的故障内容具体实现,将物理操作的反馈传输给组态监控,将水电厂数学模型软件的仿真结果进行物理层面的执行。因此,水电厂仿真接口系统是一套集成传感器信息采集、执行器控制输出、多机信息处理通信的综合系统。本论文主要阐述该系统的设计及实现。

关键词:水电厂;多机通信;无线采集

Abstract

Simulation of hydropower plant by simulation software model, the physical operation of virtual sensor model, and the simulation interface. To solve the simulation software model is the mathematical model of hydropower plant software, configuration monitoring, fault setting; solve real operating model is a physical operation and physical action and display; virtual sensor and the simulation interface is to solve the fault content setting simulation software model implementation, the physical operation of the feedback transmission to the configuration monitoring software, the results of the mathematical model of hydropower plant in physical layer implementation. Therefore, the simulation of hydropower plant interface system is a set of integrated sensor information acquisition, implementation of integrated system control output, multi machine communication of information processing. This paper mainly expounds the design and Realization of the system.

Keywords: hydropower plant; multi machine communication; wireless data acquisition

目录

摘 要 ------------------------------------------------------------------------

Abstract-------------------------------------------------------------------- II 目录 ----------------------------------------------------------------------- II

第一章 绪论 ----------------------------------------------------------------- 1

一、 设计背景 ------------------------------------------------------------ 1

二、 设计主要内容 -------------------------------------------------------- 1

第二章 系统硬件设计 ---------------------------------------------------------- 4

一、 总体结构设计 -------------------------------------------------------- 4

二、 接口板电路设计 ------------------------------------------------------ 9

第三章 系统软件设计 --------------------------------------------------------- 13

一、 通信系统设计 ------------------------------------------------------- 13

二、 控制系统设计 ------------------------------------------------------- 21

第四章 测试方案 ------------------------------------------------------------- 22

第五章 结束语 --------------------------------------------------------------- 23 参考文献-------------------------------------------------------------------- 24 附录 ----------------------------------------------------------------------- 25

第一章 绪论

一、设计背景

水电厂仿真系统可以进行各种正常情况下开停机与增减负荷操作及各种工况下的甩负荷操作,模拟各种事故故障的现象并进行分析处理,不同环境不同场所的多媒体现场巡回检查与操作及事故处理,各种操作、控制界面与场景几乎与生产现场完全一致。水电厂生产运行技术技能人员如果采取传统的“师傅带徒弟”的培训方法,大约需要2到3年的时间才能掌握全场的主要机电设备并能进行各种操作,而采取水电厂运行仿真系统的培训则需要本年左右的时间即可达到上述效果,由此见大大缩短了时间。水电厂运行仿真系统可以模拟各种事故故障的现象,这些事故故障的操作在水电机组等设备上绝对不能随意进行操作演示的,而运行技术技能人员可以用水电厂运行仿真系统模拟各种事故故障的操作,产生的现象和现场一致,增长了培训人员的知识水平及分析问题、解决问题的能力,帮助运行技术技能人员有效处理各种事故,避免由于操作不当而产生的事故故障的发生,为电力系统安全稳定运行带来无法估量的经济效益和社会效益。

仿真水电厂由仿真软件模型、实物操作模型、虚拟传感器及仿真接口组成。仿真软件模型是运行于电脑PC 上的组态软件,负责数学模型的软件实现,组态监控,故障设置,在软件上可以监控到仿真水电厂所有输入输出的状态,并可以更改任意的输出状态。

本设计是水电厂仿真系统中的虚拟传感器及仿真接口部分。负责仿真软件模型设置的故障内容具体实现,将物理操作的反馈传输给组态监控,将水电厂数学模型软件的仿真结果进行物理层面的执行。

二、设计主要内容

在本设计中采用8051单片机做虚拟传感器及仿真接口的主控MCU ,则单片机需要采集或控制的外置硬件大致可以分有三大部分,分别是开关控制柜、仿真电路图、主控台。开关控制柜(如图1)在水电厂仿真系统中,同类型的有24个,包含的输入输出有970个,其中还有4个7位数码管和2个5位数码管。仿真电路图(如图2)在水电厂仿真系统中,同类型的有两幅,包含输入输出有233个,其中压强指示表有54个及其他机械式电压表、电流表、功率表等8种不同

类别的机械表62个,多种不同类型的5V 指示灯有117个。主控台(如图3)在水电厂仿真系统中只有一台,其包含的输入输出有349个,其中24V 的负载有156个,5V 的负载有8个。

图1 开关控制柜 图2 仿真电路图

图3 主控台

根据以上情况可见,外置负载有多种不同额定电压的负载,有5V 的也有24V 的,另外,每个地方所安置的输入输出数量也并不相等。因此,一个子机可能全部都是输出,也有可能全部是输入,且输出端的外置负载可能都是是5V ,也有可能外置负载是24V ,也有可能两者皆有的情况。设计一个兼容性强的电路,能够减少设计过程中的琐碎过程,且可以非常有效的降低成本。

通常一个直插式8051单片机拥有32个I/O端口。水电厂仿真系统场地中最远的通信距离有13米以上,如果通信采用232通信时,依然避免不了通信过程中的高丢包率;如果采用485通信时,无疑会使得成本提高了很多。通信方案最终选择采用“手牵手”方式作为子机的通信方案,这样既节约了成本又提高了通信的可靠性,虽然通信速度稍微降低了,但是也不会影响仿真电厂效果。

为此,单片机采用STC12C5A16S2(如图4)作为做虚拟传感器及仿真接口的主控MCU ,子机通信需要占用4端口,另外,还需要1个端口用于错误指示端口,此时剩下的可用端口有27个。这27个端口都可以作为数字量的输入、数字量的输出、模拟量的输出端口,而模拟量的输入端口只能使用P1.0、P1.1、P1.4、P1.5、P1.6、P1.7端口。

图4 STC12C5A16S2引脚图

第二章 系统硬件设计

一、总体结构设计

水电厂仿真系统中含有开关控制柜24个、仿真电路图2幅和主控台。整个系统硬件大体结构如图5所示。

图5 总体硬件组成

如图6所示,开关控制柜1区自左往右各自所需的子机数量分别为2、2、2、3,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是10、11、12、13、14、15、16、17、18。

图6 开关控制柜1区

如图7所示,开关控制柜2区自左往右各自所需的子机数量分别为2、2、1、2、2、3,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是19、1A 、1B 、1C 、1D 、1E 、1F 、1G 、1H 、1I 、1J 、1K 。

图7 开关控制柜2区

如图8所示,开关控制柜3区自左往右各自所需的子机数量分别为2、2、2、2,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是1L 、1M 、1N 、1O 、1P 、1Q 、1R 、1S 、1T 、1U 、1V 、1W 。

图8 开关控制柜3区

如图9所示,开关控制柜4区自左往右和自前往后各自所需的子机数量分别为3、1、4、3、1、1、4、3、1、1,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是20、21、22、23、24、25、26、27、28、29、2A 、2B 、2C 、2D 、2E 、2F 、2G 、2H 、2I 、2J 、2K 、2L 。

图9 开关控制柜4区

如图10所示,仿真电路图1区所需的子机数为57个。其中按5V 指示灯自左往右和自上往往下每27个为一个子机负责控制,那么控制5V 指示灯的子机需要三个,其地址按按5V 指示灯自左往右和自上往往下每27个为一个子机的排列顺序,地址依次是30、31、32。显示压强表的控制则是一对一负责控制,其地址自左往右和自上往往下每27个为一个子机的顺序排列,地址编制是依次从40到49,再从4A 到4Z ,再从4a 到4r 。

图10 仿真电路图1区

如图11所示,仿真电路图2区所需的子机数为5个。其中按5V 指示灯按照仿真电路图1区5V 指示灯的控制方式和地址编制方式,这种编制还需要3个子机来控制相关机械表。其地址依次为33、34。其他机械式电压表、电流表、功率表等62机械表,也是采用5V 指示灯的控制方式和地址编制方式,这种编制还需要3个子机来控制相关机械表。其地址依次为4s 、4t 、4u 。

图11 仿真电路图2区

如图12所示,主控台区所需的子机数为5个。其中按24V 指示灯自左往右和自上往往下每27个为一个子机负责控制,那么控制24V 指示灯的子机需要6个,其地址按按24V 指示灯自左往右和自上往往下每27个为一个子机的排列顺序,地址依次是50、51、52、53、54、55。其他193个输入输出,也是采用5V 指示灯的控制方式和地址编制方式,这种编制还需要8个子机来采集和控制。其地址依次为5A 、5B 、5C 、5D 、5E 、5F 、5G 、5H 。

图12 主控台区

二、接口板电路设计

水电厂仿真系统中的虚拟传感器及仿真接口部分涉及到的输入输出有上千个,所以接口电路的设计至关重要。外置负载有多种不同额定电压的负载,有5V 的也有24V 的,另外,每个地方的输入输出数量也都不一样。因此,接口板所连接的可能全部都是输出,也有可能全部是输入,也有可能两者皆有的情况;且接口是输出端时驱动的外置负载可能都是是5V ,也有可能外置负载是24V ,也有可能两者皆有的情况。而要既能驱动5V 负载,同时也要能驱动24V 负载,这些负载都不是单片机可以直接驱动的负载,因此,选取了ULN2003芯片来增强驱动力,其内部电路及实物如图13、图14。因为ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻, 在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA ,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行,足够驱动本产品的任何负载。

图13 ULN2003内部结构图 图14 ULN2003实物图

为了解决每个地方的输入输出数量也都不一样的情况,而又要尽量使得接口板发挥到到最高的兼容性能,所以增加一个虚拟的开关来选择接口的工作状态,这个虚拟开关只需在相应的地方进行短接既可以实现接口的输入或输出状态,每个接口都分配两个虚拟开关,短接时两个方向必须一致,否则会容易引起短路,

电路如图15。

图15 接口板端口部分电路

A06网络为ULN2003某个输出端,P06网络为单片机某输出端,当S55和S56同时往上接时,P06端口处于输出控制状态,通过单片机可以控制各种负载,如果是5V 的负载,则单片机可利用PWM 原理进行降压至合适的电压输出给负载;当S55和S56同时往下接时,P06端口处于输入采集状态,除了P1端口外,其他端口都只能采集数字量(即开关类输入)。

在输出端口中,无论是数字量还是模拟量的输出,全部采用单极性等幅等周期的PWM 控制输出,对于24V 的指示灯,PWM 输出无疑是要为100%;而对于5V 的指示灯,PWM 的输出为21%,其对应的电压为5.04V ;对于电压表、电流表及其他相关机械表,可根据仿真过程中,需要指示的刻度值而输出对应的PWM 值,由于各机械表满偏的电压为5.7V ,因此PWM 的可输出的范围在0%~23.75%。

在输入端口中,开关旋钮可以输入到MCU (除通信端口)的任何一个端口;由于STC12C5A16S2单片机有8路10位AD ,如果不包含通信端口则剩余6路10位AD 可用,因此对于可调电阻等模拟量的输入只能输入到MCU 的P1.0、P1.1、P1.4、P1.5、P1.6、P1.7端口中。

通信网络的设计

水电厂仿真系统中的虚拟传感器及仿真接口部分需要将信息传达至电脑PC ,并能够接收到PC 的命令以及时更新各个状态信息,在这里选择通信结构方案是子机-服务器-电脑的结构模式。根据上节的地址分配,将所有子机分成5组,每组的地址前面一个数字都一样。同一个组的下一个子机地址以串口1连接

到上一个子机地址的串口2,这样一级一级串联一直到同组的第一个地址,而第一个地址的串口1则接到一个带无线模块的接口板的串口2上,每个组的第一个地址分别是10、20、30、40、50,每个组的子机通过串口将数据一级一级往上传,当带无线模块的接口板收到子机的数据包后,再将数据发送到电脑端口。结构如图16所示。

图16 网络结构图 和上位机通信上,子机采用“手牵手”通信方式,这样既节约了成本又提高了通信的可靠性,虽然通信速度稍微降低了,但是也不会影响仿真电厂效果。在此通信方式下,每个子机都有可能成为其他子机的上位机,在串口需求上,必须要求单片机工作在双串口模式,而STC12C5A16S2刚好内置有双串口,大大降低了技术难度。通信采用232电平,使得通信距离翻了几番,给通信可靠性上了“双保险”,232电路图17。

图17 MAX3232电路

另外在此电路中还集成了无线通信模块,使得此电路还可以兼容服务器工

作!这样,如果MCU 工作在服务器模式下,则只需要将HLK-WiFi 模块接上即可,其电路如图18,实物如图19。

图18 无线模块电路

图19 HLK-WiFi

第三章 系统软件设计

一、通信系统设计

通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。协议主要由三个要素组成:语法,“如何讲”,数据的格式、编码和信号等级(电平的高低);语义,“讲什么”,数据内容、含义以及控制信息;定时规则(时序),明确通信的顺序、速率匹配和排序。

通信协议的格式,在此定了四种,分别是输出端口设置、输入端口设置、单独查询、整体查询。

① 输出端口设置格式,一帧包含有6个8位数据,主机发送命令格式:[开始标记][写地址高8位][写地址低8位][参数高8位][参数低8位][结束标记],子机回答码格式:[开始标记][写地址高8位][写地址低8位[设置成功标记][结束标记],例如主机发送代码:02H,37H,30H,36H,42H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信息;

写地址高8位:表示子机写地址的高8位,高8位地址的范围是“0~3”共4个;

写地址低8位:表示子机写地址的低8位,和高8位地址组成16位地址,每个子机都有唯一的写地址,低8位地址的范围是“A~Z”+“a~z”52个,与高8位地址组合后可表示的地址共208个;

参数高8位:设置MCU 输出端口的PWM 占空比高8位数据,范围是“0~9”+“A~F”共16个;

参数低8位:设置MCU 输出端口的PWM 占空比低8位,范围是“0~9”+“A~F”共16个,与高8位参数组合后可表示的地址有256个;

结束标记:通信帧的结束信号,当接收到此信号时停止记录通信帧的信息,并开始处理数据帧。

子机回答代码:02H,37H,30H,31H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

写地址高8位:动作子机写地址的高8位;

写地址低8位:动作子机写地址的低8位;

设置成功标记:当主机与子机通信成功后则标记为31,否则记作32,需

要主机重发命令;

结束标记:通信帧的结束信号,表示一帧信息结束。

② 输入端口设置格式,一帧包含有6个8位数据,此操作只用在第一次使用或

更换了MCU 后进行首次使用初始化操作,子机会反馈操作成功信息,使得PC 机可以继续下一步操作,始发代码较长,具体如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

写地址高8位:写地址的高8位,初始化需要指定某单个MCU 进行初始

化操作,不能整体同时初始化;

写地址低8位:子机写地址的低8位;

设置参数1:此数据为设置MCU 的P00端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数2:此数据为设置MCU 的P01端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数3:此数据为设置MCU 的P02端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数4:此数据为设置MCU 的P03端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数5:此数据为设置MCU 的P04端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数6:此数据为设置MCU 的P05端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数7:此数据为设置MCU 的P06端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数8:此数据为设置MCU 的P07端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数9:此数据为设置MCU 的P10端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数10:此数据为设置MCU 的P11端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数11:此数据为设置MCU 的P14端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数12:此数据为设置MCU 的P15端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数13:此数据为设置MCU 的P16端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数14:此数据为设置MCU 的P17端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数15:此数据为设置MCU 的P20端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数16:此数据为设置MCU 的P21端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数17:此数据为设置MCU 的P22端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数18:此数据为设置MCU 的P23端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数19:此数据为设置MCU 的P24端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数20:此数据为设置MCU 的P25端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数21:此数据为设置MCU 的P26端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数22:此数据为设置MCU 的P27端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数23:此数据为设置MCU 的P32端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数24:此数据为设置MCU 的P33端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数25:此数据为设置MCU 的P34端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数26:此数据为设置MCU 的P35端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数27:此数据为设置MCU 的P36端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

回馈参数28:此数据为设置MCU 的P37端口开关状态(即通信报警指示

灯开关,同时会影响通信警报位),开启信号为31,关闭信号为30;

结束标记:通信帧的结束信号,表示一帧信息结束。

③ 单独查询格式,一帧包含有6个8位数据,主机发送命令格式[开始标记][读

地址高8位][读地址低8位][端口地址高8位][端口地址低8位][结束标记],子机回答码格式:[开始标记][读地址高8位][读地址低8位[设置成功标记][结束标记],例如主机发送代码:02H,3AH,30H,31H,30H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

读地址高8位:表示子机读地址的高8位,高8位地址的范围是“A~D”

共4个;

读地址低8位:表示子机读地址的低8位,和高8位地址组成16位地址,

每个子机都有唯一的读地址,低8位地址的范围是“A~Z”+“a~z”52个,与高8位地址组合后可表示的地址有208个;

端口地址高8位:表示MCU 端口高8位,范围是“0~3“共4个,如果需

要读的地址的P1端口,则此数据应为31H ;

端口地址低8位:表示MCU 端口低8位,范围是“0~7”共8个,如果需

要读的端口是P1口的1.0,则此数据应为30; 结束标记:通信帧的结束信号。

子机回答代码:02H,3AH,30H,49H,,00H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

地址高8位:回馈子机读地址的高8位; 地址低8位:回馈子机读地址的低8位;

回馈参数高8位:若查询的端口属于输入端口,则记为49,若查询的端

口属于输出端口,则记为4F ;

回馈参数低8位:若查询的端口属于输入端口,则此数据为输入端口的

输入电压,如果是高电平则为FF ,如果是低电平则为00,如果是AD 量则为AD 数值的高8位,若查询的端口属于输出端口,则此数据为输出端口的PWM 值,如果是高电平则为FF ,如果是低电平则为00,如果是PWM 则为PWM 的占空比;

结束标记:通信帧的结束信号,表示一帧信息结束。

④ 整体查询格式,一帧包含有6个8位数据,主机发送命令格式[开始标记][公

共地址高8位][公共地址低8位][保留][保留][结束标记],例如主机发送代码:02H,58H,58H,31H,30H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信息;

公共地址高8位:此地址为所有子机所共有的一个地址,此地址只能进行读操作,一旦接收到此地址消息,所有子机都会响应,高8位的地址必须为“X ”;

公共地址低8位:此地址为所有子机所共有的一个地址,此地址只能进行读操作,一旦接收到此地址消息,所有子机都会响应,低8位地址也必须为“X ”;

保留:此位数据暂未用到,保留为以后使用作准备; 保留:此位数据暂未用到,保留为以后使用作准备; 结束标记:通信帧的结束信号。

整体读操作一般用在初始化读取操作中,子机须反馈所有端口状态,使得PC 机准确判断下一步操作,因此子机单次回答代码较长,具体如下: 开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信息;

读地址高8位:回馈子机读地址的高8位,为了让主机能够准确识别反馈信息的来源,反馈地址使用每台子机独有的读地址; 读地址低8位:回馈子机读地址的低8位;

回馈参数1:此数据为MCU 端口的P00数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数2:此数据为MCU 端口的P01数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数3:此数据为MCU 端口的P02数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数4:此数据为MCU 端口的P03数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数5:此数据为MCU 端口的P04数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数6:此数据为MCU 端口的P05数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数7:此数据为MCU 端口的P06数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数8:此数据为MCU 端口的P07数值,如果是高电平则为FF ,如

果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数9:此数据为MCU 端口的P10数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数10:此数据为MCU 端口的P11数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数11:此数据为MCU 端口的P14数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数12:此数据为MCU 端口的P15数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数13:此数据为MCU 端口的P16数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数14:此数据为MCU 端口的P17数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数15:此数据为MCU 端口的P20数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数16:此数据为MCU 端口的P21数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数17:此数据为MCU 端口的P22数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数18:此数据为MCU 端口的P23数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数19:此数据为MCU 端口的P24数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数20:此数据为MCU 端口的P25数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数21:此数据为MCU 端口的P26数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数22:此数据为MCU 端口的P27数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数23:此数据为MCU 端口的P32数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数24:此数据为MCU 端口的P33数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数25:此数据为MCU 端口的P34数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数26:此数据为MCU 端口的P35数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数27:此数据为MCU 端口的P36数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占

空比;

回馈参数28:此数据为MCU 端口的P37状态(即通信报警情况),如果当前子机与上位机、下位机通信成功时,此数据为54(“T ”)(即通信状况良好),如果当前子机与上位机通信不成功时,此数据为4C(“L ”) ,如果当前子机与下位机通信不成功时,此数据为4E (“N ”); 结束标记:通信帧的结束信号,表示一帧信息结束。

注:P12、P13、P30、P31用在了串口通信2及串口通信1所以这4个端口不可进行读写操作。

二、控制系统设计

本设计是水电厂仿真系统中的虚拟传感器及仿真接口部分。负责仿真软件模型设置的故障内容具体实现,将物理操作的反馈传输给组态监控,将水电厂数学模型软件的仿真结果进行物理层面的执行。当MCU 上电后执行流程如图20。

图20 程序流程图

第四章 测试方案

1.检测Power 正负极是否短路; 2.检测MCU 的pin20与pin40是否短路; 3.检测ASM1117的1脚和3脚是否短路;

4.根据电路板背面左下角和左上角说明短接电路板背面相应的焊盘,启用端口工作在输入/输出状态,左下角的是下面一排端口的说明,左上角的是上面一排端口的说明。

5.将输出端口正负对应接上24V 负载(负载的额定功率不得超过12W )。如果是5V 则需要通过PWM 进行降压,否则会烧毁负载,供给Power 的电源须为DC 24V ,最高不得超过DC 28V;

6.程序正确下载成功后,将串口1连接到电脑,利用串口助手校验每个协议,子机返回值都正常说明这块板可以投入使用。

第五章 结束语

本设计在指导老师的悉心指导和严格要求下作业已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着指导老师的心血和汗水,在三年的学习和生活期间,也始终感受着各位导师的精心指导和无私的关怀,我受益匪浅。在此向邵忠良老师表示深深的感谢和崇高的敬意。不积跬步何以至千里,本设计能够顺利的完成,也归功于各位同学们的帮助,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的鼎立帮助和支持,才使我的毕业论文工作顺利完成,在此向广东水利电力职业技术学院,自动化工程系的全体老师表示由衷的谢意!感谢他们三年来的辛勤栽培。

两年前,我怀着对学院大一如往昔的深爱、向往与期待重新踏入校园。两年后,“文以治国、工以立国、商以富国”的信念,让我必须满怀使命、挺起胸膛的说:“我们,以及我们正在把握和即将把握的企业,理应成为中国经济崛起的脊梁。”两年充实的生活告诉我,民族需要掌握先进理念、具有国际视野、熟悉具体环境的实战先锋;也告诉我,只有不断经历考验、挫折、甚至失败,才能逼近我们最终的理想。生于斯时,长于斯境,唯有以双倍的努力、十倍的耐心、百倍的豪情和千倍的执着来完成原赋的使命。在此,首先要对我的恩师致以最深的感谢。在我懵懂时,他用振聋发聩的棒喝让我警醒;在我迷失时,他用循循善诱的教诲抹去我心头的尘埃;在我痛苦时,他的精神力量让我在心底始终拥有支撑。生有吾父,教有吾师,幸甚。也要感谢师兄,他的真诚与宽厚,在关键时刻对毕业设计的指导,起到了决定性的作用。还有我的学弟学妹朋友们,是他们用最真挚的情感和最实际的援助,帮我渡过了一处处的难关。最后要感谢的是我的父母,他们期待的目光、未来的责任和时时可以寻求的慰藉,是我不断进取的力量源泉!

参考文献

[1]马杰, 朱辰,李斌. 水电厂仿真培训系统研究. 国网电力科学研究院, 南京210003.330~331。

[2]王秀清. 水电厂运行仿真培训系统. 华北电力大学, 国内TM622.1~3。

附录

图25 显示模块原理图

27

29

毕业设计(论文)

水电厂仿真接口系统

题 目 水电厂仿真接口系统

指导教师

系 别 自动化工程系

专业班级

学生姓名

学 号

摘 要

仿真水电厂由仿真软件模型、实物操作模型、虚拟传感器及仿真接口组成。仿真软件模型解决的是水电厂的数学模型的软件实现,组态监控,故障设置等问题;实物操作模型解决的是物理操作及物理动作及显示;虚拟传感器及仿真接口解决的是将仿真软件模型设置的故障内容具体实现,将物理操作的反馈传输给组态监控,将水电厂数学模型软件的仿真结果进行物理层面的执行。因此,水电厂仿真接口系统是一套集成传感器信息采集、执行器控制输出、多机信息处理通信的综合系统。本论文主要阐述该系统的设计及实现。

关键词:水电厂;多机通信;无线采集

Abstract

Simulation of hydropower plant by simulation software model, the physical operation of virtual sensor model, and the simulation interface. To solve the simulation software model is the mathematical model of hydropower plant software, configuration monitoring, fault setting; solve real operating model is a physical operation and physical action and display; virtual sensor and the simulation interface is to solve the fault content setting simulation software model implementation, the physical operation of the feedback transmission to the configuration monitoring software, the results of the mathematical model of hydropower plant in physical layer implementation. Therefore, the simulation of hydropower plant interface system is a set of integrated sensor information acquisition, implementation of integrated system control output, multi machine communication of information processing. This paper mainly expounds the design and Realization of the system.

Keywords: hydropower plant; multi machine communication; wireless data acquisition

目录

摘 要 ------------------------------------------------------------------------

Abstract-------------------------------------------------------------------- II 目录 ----------------------------------------------------------------------- II

第一章 绪论 ----------------------------------------------------------------- 1

一、 设计背景 ------------------------------------------------------------ 1

二、 设计主要内容 -------------------------------------------------------- 1

第二章 系统硬件设计 ---------------------------------------------------------- 4

一、 总体结构设计 -------------------------------------------------------- 4

二、 接口板电路设计 ------------------------------------------------------ 9

第三章 系统软件设计 --------------------------------------------------------- 13

一、 通信系统设计 ------------------------------------------------------- 13

二、 控制系统设计 ------------------------------------------------------- 21

第四章 测试方案 ------------------------------------------------------------- 22

第五章 结束语 --------------------------------------------------------------- 23 参考文献-------------------------------------------------------------------- 24 附录 ----------------------------------------------------------------------- 25

第一章 绪论

一、设计背景

水电厂仿真系统可以进行各种正常情况下开停机与增减负荷操作及各种工况下的甩负荷操作,模拟各种事故故障的现象并进行分析处理,不同环境不同场所的多媒体现场巡回检查与操作及事故处理,各种操作、控制界面与场景几乎与生产现场完全一致。水电厂生产运行技术技能人员如果采取传统的“师傅带徒弟”的培训方法,大约需要2到3年的时间才能掌握全场的主要机电设备并能进行各种操作,而采取水电厂运行仿真系统的培训则需要本年左右的时间即可达到上述效果,由此见大大缩短了时间。水电厂运行仿真系统可以模拟各种事故故障的现象,这些事故故障的操作在水电机组等设备上绝对不能随意进行操作演示的,而运行技术技能人员可以用水电厂运行仿真系统模拟各种事故故障的操作,产生的现象和现场一致,增长了培训人员的知识水平及分析问题、解决问题的能力,帮助运行技术技能人员有效处理各种事故,避免由于操作不当而产生的事故故障的发生,为电力系统安全稳定运行带来无法估量的经济效益和社会效益。

仿真水电厂由仿真软件模型、实物操作模型、虚拟传感器及仿真接口组成。仿真软件模型是运行于电脑PC 上的组态软件,负责数学模型的软件实现,组态监控,故障设置,在软件上可以监控到仿真水电厂所有输入输出的状态,并可以更改任意的输出状态。

本设计是水电厂仿真系统中的虚拟传感器及仿真接口部分。负责仿真软件模型设置的故障内容具体实现,将物理操作的反馈传输给组态监控,将水电厂数学模型软件的仿真结果进行物理层面的执行。

二、设计主要内容

在本设计中采用8051单片机做虚拟传感器及仿真接口的主控MCU ,则单片机需要采集或控制的外置硬件大致可以分有三大部分,分别是开关控制柜、仿真电路图、主控台。开关控制柜(如图1)在水电厂仿真系统中,同类型的有24个,包含的输入输出有970个,其中还有4个7位数码管和2个5位数码管。仿真电路图(如图2)在水电厂仿真系统中,同类型的有两幅,包含输入输出有233个,其中压强指示表有54个及其他机械式电压表、电流表、功率表等8种不同

类别的机械表62个,多种不同类型的5V 指示灯有117个。主控台(如图3)在水电厂仿真系统中只有一台,其包含的输入输出有349个,其中24V 的负载有156个,5V 的负载有8个。

图1 开关控制柜 图2 仿真电路图

图3 主控台

根据以上情况可见,外置负载有多种不同额定电压的负载,有5V 的也有24V 的,另外,每个地方所安置的输入输出数量也并不相等。因此,一个子机可能全部都是输出,也有可能全部是输入,且输出端的外置负载可能都是是5V ,也有可能外置负载是24V ,也有可能两者皆有的情况。设计一个兼容性强的电路,能够减少设计过程中的琐碎过程,且可以非常有效的降低成本。

通常一个直插式8051单片机拥有32个I/O端口。水电厂仿真系统场地中最远的通信距离有13米以上,如果通信采用232通信时,依然避免不了通信过程中的高丢包率;如果采用485通信时,无疑会使得成本提高了很多。通信方案最终选择采用“手牵手”方式作为子机的通信方案,这样既节约了成本又提高了通信的可靠性,虽然通信速度稍微降低了,但是也不会影响仿真电厂效果。

为此,单片机采用STC12C5A16S2(如图4)作为做虚拟传感器及仿真接口的主控MCU ,子机通信需要占用4端口,另外,还需要1个端口用于错误指示端口,此时剩下的可用端口有27个。这27个端口都可以作为数字量的输入、数字量的输出、模拟量的输出端口,而模拟量的输入端口只能使用P1.0、P1.1、P1.4、P1.5、P1.6、P1.7端口。

图4 STC12C5A16S2引脚图

第二章 系统硬件设计

一、总体结构设计

水电厂仿真系统中含有开关控制柜24个、仿真电路图2幅和主控台。整个系统硬件大体结构如图5所示。

图5 总体硬件组成

如图6所示,开关控制柜1区自左往右各自所需的子机数量分别为2、2、2、3,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是10、11、12、13、14、15、16、17、18。

图6 开关控制柜1区

如图7所示,开关控制柜2区自左往右各自所需的子机数量分别为2、2、1、2、2、3,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是19、1A 、1B 、1C 、1D 、1E 、1F 、1G 、1H 、1I 、1J 、1K 。

图7 开关控制柜2区

如图8所示,开关控制柜3区自左往右各自所需的子机数量分别为2、2、2、2,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是1L 、1M 、1N 、1O 、1P 、1Q 、1R 、1S 、1T 、1U 、1V 、1W 。

图8 开关控制柜3区

如图9所示,开关控制柜4区自左往右和自前往后各自所需的子机数量分别为3、1、4、3、1、1、4、3、1、1,各子机地址的编制按照在开关控制柜里面若有多块子机则居上方的子机地址在前依次是20、21、22、23、24、25、26、27、28、29、2A 、2B 、2C 、2D 、2E 、2F 、2G 、2H 、2I 、2J 、2K 、2L 。

图9 开关控制柜4区

如图10所示,仿真电路图1区所需的子机数为57个。其中按5V 指示灯自左往右和自上往往下每27个为一个子机负责控制,那么控制5V 指示灯的子机需要三个,其地址按按5V 指示灯自左往右和自上往往下每27个为一个子机的排列顺序,地址依次是30、31、32。显示压强表的控制则是一对一负责控制,其地址自左往右和自上往往下每27个为一个子机的顺序排列,地址编制是依次从40到49,再从4A 到4Z ,再从4a 到4r 。

图10 仿真电路图1区

如图11所示,仿真电路图2区所需的子机数为5个。其中按5V 指示灯按照仿真电路图1区5V 指示灯的控制方式和地址编制方式,这种编制还需要3个子机来控制相关机械表。其地址依次为33、34。其他机械式电压表、电流表、功率表等62机械表,也是采用5V 指示灯的控制方式和地址编制方式,这种编制还需要3个子机来控制相关机械表。其地址依次为4s 、4t 、4u 。

图11 仿真电路图2区

如图12所示,主控台区所需的子机数为5个。其中按24V 指示灯自左往右和自上往往下每27个为一个子机负责控制,那么控制24V 指示灯的子机需要6个,其地址按按24V 指示灯自左往右和自上往往下每27个为一个子机的排列顺序,地址依次是50、51、52、53、54、55。其他193个输入输出,也是采用5V 指示灯的控制方式和地址编制方式,这种编制还需要8个子机来采集和控制。其地址依次为5A 、5B 、5C 、5D 、5E 、5F 、5G 、5H 。

图12 主控台区

二、接口板电路设计

水电厂仿真系统中的虚拟传感器及仿真接口部分涉及到的输入输出有上千个,所以接口电路的设计至关重要。外置负载有多种不同额定电压的负载,有5V 的也有24V 的,另外,每个地方的输入输出数量也都不一样。因此,接口板所连接的可能全部都是输出,也有可能全部是输入,也有可能两者皆有的情况;且接口是输出端时驱动的外置负载可能都是是5V ,也有可能外置负载是24V ,也有可能两者皆有的情况。而要既能驱动5V 负载,同时也要能驱动24V 负载,这些负载都不是单片机可以直接驱动的负载,因此,选取了ULN2003芯片来增强驱动力,其内部电路及实物如图13、图14。因为ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻, 在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA ,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行,足够驱动本产品的任何负载。

图13 ULN2003内部结构图 图14 ULN2003实物图

为了解决每个地方的输入输出数量也都不一样的情况,而又要尽量使得接口板发挥到到最高的兼容性能,所以增加一个虚拟的开关来选择接口的工作状态,这个虚拟开关只需在相应的地方进行短接既可以实现接口的输入或输出状态,每个接口都分配两个虚拟开关,短接时两个方向必须一致,否则会容易引起短路,

电路如图15。

图15 接口板端口部分电路

A06网络为ULN2003某个输出端,P06网络为单片机某输出端,当S55和S56同时往上接时,P06端口处于输出控制状态,通过单片机可以控制各种负载,如果是5V 的负载,则单片机可利用PWM 原理进行降压至合适的电压输出给负载;当S55和S56同时往下接时,P06端口处于输入采集状态,除了P1端口外,其他端口都只能采集数字量(即开关类输入)。

在输出端口中,无论是数字量还是模拟量的输出,全部采用单极性等幅等周期的PWM 控制输出,对于24V 的指示灯,PWM 输出无疑是要为100%;而对于5V 的指示灯,PWM 的输出为21%,其对应的电压为5.04V ;对于电压表、电流表及其他相关机械表,可根据仿真过程中,需要指示的刻度值而输出对应的PWM 值,由于各机械表满偏的电压为5.7V ,因此PWM 的可输出的范围在0%~23.75%。

在输入端口中,开关旋钮可以输入到MCU (除通信端口)的任何一个端口;由于STC12C5A16S2单片机有8路10位AD ,如果不包含通信端口则剩余6路10位AD 可用,因此对于可调电阻等模拟量的输入只能输入到MCU 的P1.0、P1.1、P1.4、P1.5、P1.6、P1.7端口中。

通信网络的设计

水电厂仿真系统中的虚拟传感器及仿真接口部分需要将信息传达至电脑PC ,并能够接收到PC 的命令以及时更新各个状态信息,在这里选择通信结构方案是子机-服务器-电脑的结构模式。根据上节的地址分配,将所有子机分成5组,每组的地址前面一个数字都一样。同一个组的下一个子机地址以串口1连接

到上一个子机地址的串口2,这样一级一级串联一直到同组的第一个地址,而第一个地址的串口1则接到一个带无线模块的接口板的串口2上,每个组的第一个地址分别是10、20、30、40、50,每个组的子机通过串口将数据一级一级往上传,当带无线模块的接口板收到子机的数据包后,再将数据发送到电脑端口。结构如图16所示。

图16 网络结构图 和上位机通信上,子机采用“手牵手”通信方式,这样既节约了成本又提高了通信的可靠性,虽然通信速度稍微降低了,但是也不会影响仿真电厂效果。在此通信方式下,每个子机都有可能成为其他子机的上位机,在串口需求上,必须要求单片机工作在双串口模式,而STC12C5A16S2刚好内置有双串口,大大降低了技术难度。通信采用232电平,使得通信距离翻了几番,给通信可靠性上了“双保险”,232电路图17。

图17 MAX3232电路

另外在此电路中还集成了无线通信模块,使得此电路还可以兼容服务器工

作!这样,如果MCU 工作在服务器模式下,则只需要将HLK-WiFi 模块接上即可,其电路如图18,实物如图19。

图18 无线模块电路

图19 HLK-WiFi

第三章 系统软件设计

一、通信系统设计

通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。协议主要由三个要素组成:语法,“如何讲”,数据的格式、编码和信号等级(电平的高低);语义,“讲什么”,数据内容、含义以及控制信息;定时规则(时序),明确通信的顺序、速率匹配和排序。

通信协议的格式,在此定了四种,分别是输出端口设置、输入端口设置、单独查询、整体查询。

① 输出端口设置格式,一帧包含有6个8位数据,主机发送命令格式:[开始标记][写地址高8位][写地址低8位][参数高8位][参数低8位][结束标记],子机回答码格式:[开始标记][写地址高8位][写地址低8位[设置成功标记][结束标记],例如主机发送代码:02H,37H,30H,36H,42H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信息;

写地址高8位:表示子机写地址的高8位,高8位地址的范围是“0~3”共4个;

写地址低8位:表示子机写地址的低8位,和高8位地址组成16位地址,每个子机都有唯一的写地址,低8位地址的范围是“A~Z”+“a~z”52个,与高8位地址组合后可表示的地址共208个;

参数高8位:设置MCU 输出端口的PWM 占空比高8位数据,范围是“0~9”+“A~F”共16个;

参数低8位:设置MCU 输出端口的PWM 占空比低8位,范围是“0~9”+“A~F”共16个,与高8位参数组合后可表示的地址有256个;

结束标记:通信帧的结束信号,当接收到此信号时停止记录通信帧的信息,并开始处理数据帧。

子机回答代码:02H,37H,30H,31H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

写地址高8位:动作子机写地址的高8位;

写地址低8位:动作子机写地址的低8位;

设置成功标记:当主机与子机通信成功后则标记为31,否则记作32,需

要主机重发命令;

结束标记:通信帧的结束信号,表示一帧信息结束。

② 输入端口设置格式,一帧包含有6个8位数据,此操作只用在第一次使用或

更换了MCU 后进行首次使用初始化操作,子机会反馈操作成功信息,使得PC 机可以继续下一步操作,始发代码较长,具体如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

写地址高8位:写地址的高8位,初始化需要指定某单个MCU 进行初始

化操作,不能整体同时初始化;

写地址低8位:子机写地址的低8位;

设置参数1:此数据为设置MCU 的P00端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数2:此数据为设置MCU 的P01端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数3:此数据为设置MCU 的P02端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数4:此数据为设置MCU 的P03端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数5:此数据为设置MCU 的P04端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数6:此数据为设置MCU 的P05端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数7:此数据为设置MCU 的P06端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数8:此数据为设置MCU 的P07端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数9:此数据为设置MCU 的P10端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数10:此数据为设置MCU 的P11端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数11:此数据为设置MCU 的P14端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数12:此数据为设置MCU 的P15端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数13:此数据为设置MCU 的P16端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数14:此数据为设置MCU 的P17端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数15:此数据为设置MCU 的P20端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数16:此数据为设置MCU 的P21端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数17:此数据为设置MCU 的P22端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数18:此数据为设置MCU 的P23端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数19:此数据为设置MCU 的P24端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数20:此数据为设置MCU 的P25端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数21:此数据为设置MCU 的P26端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数22:此数据为设置MCU 的P27端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数23:此数据为设置MCU 的P32端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数24:此数据为设置MCU 的P33端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数25:此数据为设置MCU 的P34端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数26:此数据为设置MCU 的P35端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

设置参数27:此数据为设置MCU 的P36端口状态,如果是开关输入则为

31,如果是模拟量输入则为32,如果是输出则为33;

回馈参数28:此数据为设置MCU 的P37端口开关状态(即通信报警指示

灯开关,同时会影响通信警报位),开启信号为31,关闭信号为30;

结束标记:通信帧的结束信号,表示一帧信息结束。

③ 单独查询格式,一帧包含有6个8位数据,主机发送命令格式[开始标记][读

地址高8位][读地址低8位][端口地址高8位][端口地址低8位][结束标记],子机回答码格式:[开始标记][读地址高8位][读地址低8位[设置成功标记][结束标记],例如主机发送代码:02H,3AH,30H,31H,30H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

读地址高8位:表示子机读地址的高8位,高8位地址的范围是“A~D”

共4个;

读地址低8位:表示子机读地址的低8位,和高8位地址组成16位地址,

每个子机都有唯一的读地址,低8位地址的范围是“A~Z”+“a~z”52个,与高8位地址组合后可表示的地址有208个;

端口地址高8位:表示MCU 端口高8位,范围是“0~3“共4个,如果需

要读的地址的P1端口,则此数据应为31H ;

端口地址低8位:表示MCU 端口低8位,范围是“0~7”共8个,如果需

要读的端口是P1口的1.0,则此数据应为30; 结束标记:通信帧的结束信号。

子机回答代码:02H,3AH,30H,49H,,00H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信

息;

地址高8位:回馈子机读地址的高8位; 地址低8位:回馈子机读地址的低8位;

回馈参数高8位:若查询的端口属于输入端口,则记为49,若查询的端

口属于输出端口,则记为4F ;

回馈参数低8位:若查询的端口属于输入端口,则此数据为输入端口的

输入电压,如果是高电平则为FF ,如果是低电平则为00,如果是AD 量则为AD 数值的高8位,若查询的端口属于输出端口,则此数据为输出端口的PWM 值,如果是高电平则为FF ,如果是低电平则为00,如果是PWM 则为PWM 的占空比;

结束标记:通信帧的结束信号,表示一帧信息结束。

④ 整体查询格式,一帧包含有6个8位数据,主机发送命令格式[开始标记][公

共地址高8位][公共地址低8位][保留][保留][结束标记],例如主机发送代码:02H,58H,58H,31H,30H,03H ,其意义如下:

开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信息;

公共地址高8位:此地址为所有子机所共有的一个地址,此地址只能进行读操作,一旦接收到此地址消息,所有子机都会响应,高8位的地址必须为“X ”;

公共地址低8位:此地址为所有子机所共有的一个地址,此地址只能进行读操作,一旦接收到此地址消息,所有子机都会响应,低8位地址也必须为“X ”;

保留:此位数据暂未用到,保留为以后使用作准备; 保留:此位数据暂未用到,保留为以后使用作准备; 结束标记:通信帧的结束信号。

整体读操作一般用在初始化读取操作中,子机须反馈所有端口状态,使得PC 机准确判断下一步操作,因此子机单次回答代码较长,具体如下: 开始标记:通信帧的开始信号,当接收到此信号时开始记录通信帧的信息;

读地址高8位:回馈子机读地址的高8位,为了让主机能够准确识别反馈信息的来源,反馈地址使用每台子机独有的读地址; 读地址低8位:回馈子机读地址的低8位;

回馈参数1:此数据为MCU 端口的P00数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数2:此数据为MCU 端口的P01数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数3:此数据为MCU 端口的P02数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数4:此数据为MCU 端口的P03数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数5:此数据为MCU 端口的P04数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数6:此数据为MCU 端口的P05数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数7:此数据为MCU 端口的P06数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数8:此数据为MCU 端口的P07数值,如果是高电平则为FF ,如

果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数9:此数据为MCU 端口的P10数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数10:此数据为MCU 端口的P11数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数11:此数据为MCU 端口的P14数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数12:此数据为MCU 端口的P15数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数13:此数据为MCU 端口的P16数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数14:此数据为MCU 端口的P17数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数15:此数据为MCU 端口的P20数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数16:此数据为MCU 端口的P21数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数17:此数据为MCU 端口的P22数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数18:此数据为MCU 端口的P23数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数19:此数据为MCU 端口的P24数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数20:此数据为MCU 端口的P25数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数21:此数据为MCU 端口的P26数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数22:此数据为MCU 端口的P27数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数23:此数据为MCU 端口的P32数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数24:此数据为MCU 端口的P33数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数25:此数据为MCU 端口的P34数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数26:此数据为MCU 端口的P35数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占空比;

回馈参数27:此数据为MCU 端口的P36数值,如果是高电平则为FF ,如果是低电平则为00,如果是模拟量或PWM 值则为模拟量高8位或PWM 的占

空比;

回馈参数28:此数据为MCU 端口的P37状态(即通信报警情况),如果当前子机与上位机、下位机通信成功时,此数据为54(“T ”)(即通信状况良好),如果当前子机与上位机通信不成功时,此数据为4C(“L ”) ,如果当前子机与下位机通信不成功时,此数据为4E (“N ”); 结束标记:通信帧的结束信号,表示一帧信息结束。

注:P12、P13、P30、P31用在了串口通信2及串口通信1所以这4个端口不可进行读写操作。

二、控制系统设计

本设计是水电厂仿真系统中的虚拟传感器及仿真接口部分。负责仿真软件模型设置的故障内容具体实现,将物理操作的反馈传输给组态监控,将水电厂数学模型软件的仿真结果进行物理层面的执行。当MCU 上电后执行流程如图20。

图20 程序流程图

第四章 测试方案

1.检测Power 正负极是否短路; 2.检测MCU 的pin20与pin40是否短路; 3.检测ASM1117的1脚和3脚是否短路;

4.根据电路板背面左下角和左上角说明短接电路板背面相应的焊盘,启用端口工作在输入/输出状态,左下角的是下面一排端口的说明,左上角的是上面一排端口的说明。

5.将输出端口正负对应接上24V 负载(负载的额定功率不得超过12W )。如果是5V 则需要通过PWM 进行降压,否则会烧毁负载,供给Power 的电源须为DC 24V ,最高不得超过DC 28V;

6.程序正确下载成功后,将串口1连接到电脑,利用串口助手校验每个协议,子机返回值都正常说明这块板可以投入使用。

第五章 结束语

本设计在指导老师的悉心指导和严格要求下作业已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着指导老师的心血和汗水,在三年的学习和生活期间,也始终感受着各位导师的精心指导和无私的关怀,我受益匪浅。在此向邵忠良老师表示深深的感谢和崇高的敬意。不积跬步何以至千里,本设计能够顺利的完成,也归功于各位同学们的帮助,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的鼎立帮助和支持,才使我的毕业论文工作顺利完成,在此向广东水利电力职业技术学院,自动化工程系的全体老师表示由衷的谢意!感谢他们三年来的辛勤栽培。

两年前,我怀着对学院大一如往昔的深爱、向往与期待重新踏入校园。两年后,“文以治国、工以立国、商以富国”的信念,让我必须满怀使命、挺起胸膛的说:“我们,以及我们正在把握和即将把握的企业,理应成为中国经济崛起的脊梁。”两年充实的生活告诉我,民族需要掌握先进理念、具有国际视野、熟悉具体环境的实战先锋;也告诉我,只有不断经历考验、挫折、甚至失败,才能逼近我们最终的理想。生于斯时,长于斯境,唯有以双倍的努力、十倍的耐心、百倍的豪情和千倍的执着来完成原赋的使命。在此,首先要对我的恩师致以最深的感谢。在我懵懂时,他用振聋发聩的棒喝让我警醒;在我迷失时,他用循循善诱的教诲抹去我心头的尘埃;在我痛苦时,他的精神力量让我在心底始终拥有支撑。生有吾父,教有吾师,幸甚。也要感谢师兄,他的真诚与宽厚,在关键时刻对毕业设计的指导,起到了决定性的作用。还有我的学弟学妹朋友们,是他们用最真挚的情感和最实际的援助,帮我渡过了一处处的难关。最后要感谢的是我的父母,他们期待的目光、未来的责任和时时可以寻求的慰藉,是我不断进取的力量源泉!

参考文献

[1]马杰, 朱辰,李斌. 水电厂仿真培训系统研究. 国网电力科学研究院, 南京210003.330~331。

[2]王秀清. 水电厂运行仿真培训系统. 华北电力大学, 国内TM622.1~3。

附录

图25 显示模块原理图

27

29


相关文章

  • 系统级多学科建模与联合仿真
  • 系统级多学科建模与联合仿真 1. 概述 1.1. 数字化建模仿真 在技术的发展和市场的驱动下,产品功能越来越复杂,通过解析的方法对产品进行分析的难度逐渐增大.而采用实验的方法对产品进行研究则需要物理样机,对于这种方法,一方面所需投入较多.时 ...查看


  • 清华大学课程学习
  • 电机工程与应用电子技术系 00220012 高档单片机原理及应用 2学分 32学时 The Principles and Application of Advanced Single-Chip Computer 本课程受日本瑞萨科技公司资助 ...查看


  • 电力系统仿真软件综述
  • 一.PSAPAC 简介: 由美国EPRI开发,是一个全面分析电力系统静态和动态性能的软件工具. 功能:DYNRED(Dynamic Reduction Program):网络化简与系统的动态等值,保留需要的节点. LOADSYN(Load ...查看


  • 电气工程及其自动化专业课程体系的改革
  • 第30卷第4期2011年8月郑州航空工业管理学院学报(社会科学版) JournalofZhengzhouInstituteofAeronauticalIndustryManagement(SocialScienceEdition)Vo.l3 ...查看


  • 110kV输电线路功率方向保护设计(1)
  • 辽 宁 工 业 大 学 题目:110kV输电线路功率方向保护设计(1) 院(系): 电气工程学院 专业班级: 电气111班 学 号: 学生姓名: 指导教师: (签字) 起止时间: 20141.12.15-2014.12.26. 课程设计(论 ...查看


  • 自动存包柜的设计与仿真
  • 自动存包柜的设计与仿真 摘 要 本课题是基于单片机的自动存包柜设计.自动存包柜是新一代的存包柜,具有功能实用.操作简单.管理方便.安全可靠等特点,能够更好的服务于不同市场的广大群众,使用者可以根据简明清晰的操作说明自行完成存包取包工作.本系 ...查看


  • 四人抢答器的实验报告
  • 电气与自动化工程学院课程设计评分表 课程设计题目:微机原理与接口技术课程设计 班级:Y102101 学号:Y10210120姓名:王圣爽 指导老师: 年 月 日 常熟理工学院电气与自动化工程学院 课程设计说明书 课程名称: 微机原理与接口技 ...查看


  • 水电站综合自动化考试论文
  • <水电站综合自动化>课程感悟 系部:动力工程系 专业名称:水电站动力设备及管理 班级:20093811班 学号:2009381155 姓名:周红倩 一.前言 时光如水,岁月如梭.转眼间,大二的上学期的学习时光就如白驹过隙般匆匆的 ...查看


  • 单片机原理与接口技术实验室方案
  • 单片机原理与接口技术实验室方案 一.前言 单片机是当今电子信息产业发展最迅速的领域,大学单晶片教学和实验应该适应这样的变化,本方 案是针对单片机原理课程为主的单片机原理与接口技术 单片机原理与接口技术实验室的设备配置,从基础课程建设开始,对 ...查看


热门内容