电机监控器数据采集.docx

上传人:b****3 文档编号:5514896 上传时间:2022-12-18 格式:DOCX 页数:7 大小:157.21KB
下载 相关 举报
电机监控器数据采集.docx_第1页
第1页 / 共7页
电机监控器数据采集.docx_第2页
第2页 / 共7页
电机监控器数据采集.docx_第3页
第3页 / 共7页
电机监控器数据采集.docx_第4页
第4页 / 共7页
电机监控器数据采集.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

电机监控器数据采集.docx

《电机监控器数据采集.docx》由会员分享,可在线阅读,更多相关《电机监控器数据采集.docx(7页珍藏版)》请在冰豆网上搜索。

电机监控器数据采集.docx

电机监控器数据采集

S7-200实现对电机监控器数据采集

1.硬件设备如图安装:

 

2.安装s7-200通讯USB模块驱动CP210x(将电脑的USB接口模拟成串行口(通常是COM3,此处可右击我的电脑查看硬件设置),接通电脑与s7-200通讯。

注:

如已驱动可省略此步。

3.安装s7-200ModBus通讯库(Toolbox_V32-STEP7-MicroWIN32InstructionLibrary文件)。

注:

如有通讯库可省略此步。

4.打开s7-200程序,选择左下“库”,如图:

由于本次是采集电表数据,PLC作为主站,电表作为从站,PLC对电表只做读取操作,且PLC接入的是P1串口,因此选择ModbusMasterPort1。

如图编写程序:

 

网络1:

MBUS_CTRL_P1初始化PLC的Modbus通讯

 

网络2、3:

实现PLC对电表1、2循环间隔读取数据,每个200ms读取一个电表数据(注:

各个电表不可实现同时读取数据)

 

网络4、5:

计数为0时读取电表1(此处地址为3),将所得数据储存到VB200起(之后的数据空间);计数为1时读取电表2(此处地址为4),将所得数据储存到VB200起(之后的数据空间)。

注:

此处MBUS_MSG_P1中的各个功能可在s7-200帮助中查询学习,或到S7-200Modbus通信PPT文档中查询学习。

5.编译,保存,下载到PLC中进行状态表监控。

6.附注:

西门子Modbus主站协议库包括两条指令:

MBUS_CTRL指令和MBUS_MSG指令。

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将CPU端口分配给Modbus协议并启用该协议。

输入值0将CPU端口分配给PPI系统协议,并禁用Modbus协议。

Baud:

“波特率”参数。

MBUS_CTRL指令支持的

波特率为1200、2400、4800、9600、19200、38400、

57600或115200bit/s。

Parity:

“奇偶校验”参数。

“奇偶校验”参数被设为与Modbus从站奇偶校验相匹配。

所有设置使用一个起始位和一个停止位。

可接受的数值为:

0无奇偶校验

1奇校验

2偶校验

Timeout:

“超时”参数。

“超时”参数设为等待来自从站应答的毫秒时间数。

“超时”数值可以设置的范围为1毫秒到32767毫秒。

典型值是1000毫秒(1秒)。

“超时”参数应该设置的足够大,以便从站有时间对所选的波特率作出应答。

Done:

MBUS_CTRL指令成功完成时,

“完成”输出为1,否则为0。

Error:

“错误”输出代码。

“错误”输出代码由反应执行该指令的结果的特定数字构成。

“错误”输出代码的含义如下:

•0无错误

•1奇偶校验选择无效

•2波特率选择无效

•3超时选择无效

•4模式选择无效

 

MBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于启动对Modbus从站的请求并处理应答。

当EN输入和“首次”输入都为1时,BUS_MSG指令启动对Modbus从站的请求。

发送请求、等待应答、并处理应答通常需要多次扫描。

EN输入必须打开以启用请求的发送,并应该保持打开直到“完成”位被置位。

必须注意的是,一次只能激活一条MBUS_MSG指令。

如果启用了多条MBUS_MSG指令,则将处理所执行的第一条MBUS_MSG指令,之后的所有MBUS_MSG指令将中止并产生错误代码6。

EN:

指令使能位。

First:

“首次”参数。

“首次”参数应该在有新请求要发送时才打开以进行一次扫描。

“首次”输入应当通过一个边沿检测元素(例如上升沿)打开,这将导致请求被传送一次。

Slave:

“从站”参数。

“从站”参数是Modbus从站的地址。

允许的范围是0到247。

地址0是广播地址,只能用于写请求。

不存在对地址0的广播请求的应答。

并非所有的从站会支持广播地址,S7-200Modbus从站协议库不支持广播地址。

RW:

“读写”参数。

“读写”参数指定是否要读取或写入该消息。

“读写”参数允许使用下列两个值:

0——读,1——写。

Addr:

“地址”参数。

“地址”参数是起始的Modbus地址。

允许使用下列取值范围:

00001至09999是离散输出(线圈)

10001至19999是离散输入(触点)

30001至39999是输入寄存器

40001至49999是保持寄存器

其中离散输出(线圈)和保持寄存器支持读取和写入请求,而离散输入(触点)和输入寄存器仅支持读取请求。

“地址”的具体值应与Modbus从站支持的地址一致。

Count:

“计数”参数。

“计数”参数指定在该请求中读取或写入的数据元素的数目。

“计数”数值是位数(对于位数据类型)和字数(对于字数据类型)。

根据Modbus协议,“计数”参数与Modbus地址

存在以下对应关系:

MBUS_MSG指令将读取或写入最大120个字或1920个位(240字节的数据)。

“计数”的实际限值还取决于Modbus从站中的限制。

DataPtr:

“DataPtr”参数。

“DataPtr”参数是指向S7-200CPU的V存储器中与读取或写入请求相关的数据的间接地址指针。

对于读取请求,DataPtr应指向用于存储从Modbus从站读取的数据的第一个CPU存储器位置。

对于写入请求,DataPtr应指向要发送到Modbus从站的数据的第一个CPU存储器位置。

Done:

完成输出。

完成输出在发送请求和接收应答时关闭。

“完成”输出在应答完成或MBUS_MSG指令因错误而中止时打开。

Error:

“错误”输出仅当“完成”输出打开时有效。

低位编号的错误代码(1到8)是由MBUS_MSG指令检测到的错误。

这些错误代码通常指示与MBUS_MSG指令的输入参数有关的问题,或接收来自从站的应答时出现的问题。

奇偶校验和CRC错误指示存在应答但是数据未正确接收。

这通常是由电气故障(例如连接有问题或者电噪声)引起的。

高位编号的错误代码(从101开始)是由Modbus从站返回的错误。

这些错误指示从站不支持所请求的功能,或者所请求的地址(或数据类型或地址范围)不被Modbus从站支持。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1