首页 >> 豆豆

基于MODBUS总线多功能电力仪表远程通讯的软件开发技术0漏电开关

文章来源:大旺娱乐网  |  2022-09-03

基于MODBUS总线多功能电力仪表远程通讯的软件开发技术

基于MODBUS总线多功能电力仪表远程通讯的软件开发技术 2011年12月09日 来源: 一、前言原来的电力系统中,高低压配电柜中往往要安装各种各样的仪表,(如电度表、电流表、电压表等)实现对电力系统的监视。而如果在一些大厂往往就有很多仪表,每隔一段时间就要有专人带着纸笔到厂区内的所有仪表点巡视一番,并将所有的数值记录下来,带回办公室作数据分析和处理。随着计算机科学技术的发展,计算机在电力监控领域中得到了越来越广泛的应用。使用多功能智能电力仪表代替机械式的电力仪表是工业自动化的大势所趋。由于多功能仪表不但可以一表多用,而且一般的多功能仪表都可以通过其通讯接口来实现对仪表的编程、数据采集等功能。所以使用多功能电力仪表能够在很大程度上减少人们的劳力,并且可以极大地提高效率。由于实现对电力多功能仪表的监视,功能比较单一,且市场上的组态软件也比较昂贵。在这里作者就是用MSComm控件实现对串口的控制,实现对江阴长江斯菲尔电力仪表公司的多功能电力仪表远程读取电能数据,从而达到软件的设计。MSComm控件是Microsoft提供的扩展控件,用于支持VB程序对串口的访问,该控件“隐藏”了大部分串口通讯的底层运行过程和许多烦琐的处理过程,同时支持查询方法和事件驱动通讯的机制。因此用其实现微机串口的数据通讯相当简单,以很少的程序代码就可以轻松串口的访问和数据通讯。二、MODBUS通讯协议分析:   由于江阴长江斯菲尔电力仪表公司CD194E系列的多功能电力仪表是采用远程RS-485数字接口(差分、半双工)和使用MODBUS-RTU通讯协议,来实现对仪表的编程、数据采集等功能,所以先介绍MODBUS协议:MODBUS协议是一种主从式点对点的通讯协议,允许一台主机和多台从机之间进行数据通信,在CD194E系列的多功能电力仪表通讯系统中,主机是微机(PC、工控机、PLC),从机是CD194E系列仪表。在该通讯系统中,允许系统连接多达128个仪表及1200米的通讯距离。通讯方式采用主机请求,从机应答。即:主机提出命令请求,从机响应接收数据后作数据分析,如果数据满足通讯规约,从机做数据响应。主、从机间的通讯每一帧数据包含以下信息(16进制):从机地址、命令字、信息字、校验码从机地址(1个字节):从机设备号,主机利用从机地址来识别进行通讯从机设备。命令字(1个字节):设定主机对从机的通讯内容。信息字(N个字节):包括进行两机通讯中各种数据地址、数据长度、数据信息。校验码(2个字节):用于检测数据通讯错误,采用循环冗余码CRC16。通讯参数的设置:通过仪表上的编程键盘对仪表的仪表地址(1-247)、通讯速度(4800或9600)和数据格式(1个起始位,8个数据位,1个停止位,可选择无校验位、奇校验位、偶校验位。)进行设置。网络连线如图一如示:    在这里,作者使用的是台湾泓格科技有限公司的232/485转换模块。由主控计算机送出的命令是通过RS-232串行通信端口发送出去,此信号经过232/485转换模块(模块编号I-7520)将信号标准电位及类型转换后,在485网络上传播开来。多功能电力仪表收到属于自身的命令后,会进行分析控制的操作,最后将结果送至485网络让,此信号再通过I-7520的转换后,可由计算机的RS-232串行通信端口接收进来。整个送收过程全是以串行处理。三、软件的设计和开发3.通信步骤:⑴加入通信控件。也就是MSComm控件⑵设置通信端口号码。即CommPort属性,在本文使用Com1。⑶设置通讯参数。即Settings属性。在本文设置为9600,n,8,1。即通讯速度为9600,数据格式为1个起始位,8个数据位,1个停止位,无校验位。注意必须与多功能电力仪表的设置一致,不然就会通信失败。⑷设置其它参数。必要时再加上其它的属性设置。⑸打开通信端口。即PortOpen属性设成True。⑹每隔500毫秒送出字符串或读入字符串。即发送命令4(读N个字节)来读取电功率参数,使用Input 及Output属性。⑺使用完MSComm控件后,将通信端口关闭。4.人机界面:5.程序代码:Private Declare Function GetTickCount Lib "kernel32" () As LongPrivate Sub CmdEnd_Click()EndEnd SubPrivate Sub CmdRead_Click()Timer1.Enabled = Not Timer1.EnabledIf Timer1.Enabled ThenCmdRead.Caption = "停止读数"ElseCmdRead.Caption = "读电功率"End IfEnd SubPrivate Sub Form_Load()MSComm1.InputMode = comInputModeBinaryMSComm1.PortOpen = True<

绍兴哪家医院可以治疗阳痿

上海哪个医院可以看心理医生

常州十大男科医院排名—常州正规治疗早泄医院

厦门什么医院可以治疗牛皮癣

2022排名推荐合肥白癜风的治疗方法