2Modbus Master 功能块概述何.docx

上传人:b****8 文档编号:9132654 上传时间:2023-05-17 格式:DOCX 页数:25 大小:24.34KB
下载 相关 举报
2Modbus Master 功能块概述何.docx_第1页
第1页 / 共25页
2Modbus Master 功能块概述何.docx_第2页
第2页 / 共25页
2Modbus Master 功能块概述何.docx_第3页
第3页 / 共25页
2Modbus Master 功能块概述何.docx_第4页
第4页 / 共25页
2Modbus Master 功能块概述何.docx_第5页
第5页 / 共25页
2Modbus Master 功能块概述何.docx_第6页
第6页 / 共25页
2Modbus Master 功能块概述何.docx_第7页
第7页 / 共25页
2Modbus Master 功能块概述何.docx_第8页
第8页 / 共25页
2Modbus Master 功能块概述何.docx_第9页
第9页 / 共25页
2Modbus Master 功能块概述何.docx_第10页
第10页 / 共25页
2Modbus Master 功能块概述何.docx_第11页
第11页 / 共25页
2Modbus Master 功能块概述何.docx_第12页
第12页 / 共25页
2Modbus Master 功能块概述何.docx_第13页
第13页 / 共25页
2Modbus Master 功能块概述何.docx_第14页
第14页 / 共25页
2Modbus Master 功能块概述何.docx_第15页
第15页 / 共25页
2Modbus Master 功能块概述何.docx_第16页
第16页 / 共25页
2Modbus Master 功能块概述何.docx_第17页
第17页 / 共25页
2Modbus Master 功能块概述何.docx_第18页
第18页 / 共25页
2Modbus Master 功能块概述何.docx_第19页
第19页 / 共25页
2Modbus Master 功能块概述何.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

2Modbus Master 功能块概述何.docx

《2Modbus Master 功能块概述何.docx》由会员分享,可在线阅读,更多相关《2Modbus Master 功能块概述何.docx(25页珍藏版)》请在冰点文库上搜索。

2Modbus Master 功能块概述何.docx

2ModbusMaster功能块概述何

K1ModbusMaster功能块概述

MODM-VIEWMaster检查块

MODM-R8C读线圈8

MODM-R16C读线圉16

MODM-W1C写线圈1

MODM-W8C写线圈8

MODM-W16C写线圈16

MODM-R1R读寄存器1

MODM-R8R读寄存器8

MODM-R16R读寄存器16

MODM-W1R写寄存器1

MODM-W8R写寄存器8

MODM-W16R写寄存器16

METOR把尾数和指数形式转换成实数形式

RTOME把实数形式转换成尾数和指数形式

MODM-LBT诊断块

K2Modbus联结Master

使用Modbus协议,可以通过Freelance2000接口相互交换过程数据

该协议允许以主/从方式发送数据。

可以用Modbus协议发送寄存器(字)或线圈(布尔型),在freelance2000

系统,功能01,02,03,04,05,06,08,15和16见Modbus协议参考指南

“PI-MBUS-300Rev.B”1985.1月。

发送方式可以选择RIU(远程端子单元)或标准ASCII,以RTU方式发送

数据速度高。

发送数据速度可以配置在300-38400波特之间,

freelance2000在硬件上使用RS232.RS422或RS485。

MODBUS总线

最多可以配置32个节点,包括一个主节点(master),可以连接到RS485

总线,有两上CPU模块的见余过程站连接到总线,就象

两单独的结点,即算作两个结点。

其连接见安装手册。

本部分的联结说明中,freelance2000控制系统作为master,

Modbus从联结器在L部分说明,配置时,必须安排一个

MODM-DEV接口模块作为串行接口,并在该块中定义接口参数。

Modbus总线上的办主节点为读写从节点的数据用读和写功能块完成,

因此主节点接口块中必须安排读功能块和写功能块。

每个Modbus功能安排了一个功能块,在功能块符显示Modbus功能号。

由于它们的功能很相似,功能01和02,03和04由一个块覆盖,不能使用一个

单独的块只读一个开关值(线圈)。

一个开关值可以用MODMR8C功能块读。

Modbus功能说明功能块

0102读线圈MODM-R8CMODM-R16C

0304读寄存器MODM-R1RMODM-R8RMODM-R16R

05写线圈MODM-W1C

06写寄存器MODM-W1R

08wopbackMODM-LBT

15写线圈MODM-W8CMODM-W16C

16写寄存器MODM-W8RMODM-W16R

每个功能块使用一个Modbus电传用于数据传送。

Modbus协议是一个查询/

响应协议。

每个电传都进行通讯监视,通讯监视的参数单独配

置在各功能模块中。

只有连续的寄存器(字)或线圈(布尔型)才可以在Modbus电传中编址,因此

读或写功能所连接的输入信号,必须是连续的寄存器或线圈。

为此目的,

数据项的起始地址和号码输入在参数定义伪码中。

如果改变了接口功能块的标鉴名,在读和写功能块中的引用不会自动

改变。

如果Modbus通讯或处理功能块的过程中聘书错,相应功能块的ERR

端输出设置为逻辑1。

另外STA显示最新错误的错误代码。

Modbus内部错误

错误代码错误原因

1接口不能初始化

2电传太多

3协议错误,没有响应

4检查和错误

5超时

6多种错误

7接收冲区溢出

8DigiNetP错误

9加载过程站导致电传被删除

10冗余触发导致连接失败。

11安排的接口

12DCO01-EPROM版本错误

13热启动导致连接失败。

来自Modbus节点的错误电传

错误代码错误原因

256D或0100H非法功能该节点不支持所要求的Modbus功能

512D或0200H非法数据地址所请数据地址上无寄存器

768D或0300H非法数据值所请求的数据类型不正确

1024D或0400H连接失败从节点无响应

1280D或0500H确认电传已到达,从节点在处理电传

1536D或0600H忙,拒绝消息电传已到,但从节点不能处理之,送回

主节点读/写功能块只产生一个任务,实际的Modbus通讯不在用户任务中

执行而是在后台执行,如果已经接受了从节点的响应,在下次运行执行任务

前读/写功能块不能输出该响应。

主节点的读/写功能块产生的

任务可以以不同的方式通过自动请求检查框定义。

自动请求的操作方法:

无自动处理,出现在功能块中的输入请求REQ由用户

选择控制,REQ输入引脚从0变到1时产生一个请求。

写功能块一直发送数据,即使没有改变。

自动处理:

REQ输入引脚不再出现在功能块中,因为每次调用任

务时REQ输入设置为相反的状态。

对所有其它任务运行,

只有出现逻辑1时才读或写数据。

读一成功处理请求后尽快读数据

写成功处理请求消息并且数据已改变后尽快写数据。

□不处理功能不产生任何请求,功能块中同有REQ输入引脚

主节点读/写功能块表示,任务处理已完成的信号避孕药NDR(新数据就绪),

DSR(数据设置就绪),NDR属于读功能块,DSR属于写功能块。

读/写功

能块可以串联起来,方法是NDR或DSR与下一个读/写功能块的输入REQ

连接起来。

下图给出了引脚NDR/DSR与REQ之间的工作方法。

〈图K-8页〉

选择任务循环时间

如果Modbus功能块所在的任务其运行速度超过Modbus工作承受

功能,那么就会浪费CPU时间,如果出现这种情况,输出OVR设置为

逻辑1,在无自动处理方式中,请求被拒绝。

输入REQ必须被重新

触发。

在自动处理方式中,尽管所有的请求都执行,但不再保证各种

Modbus功能块的处理顺序。

输出RSR用于帮助估计任务循环时间该输出以毫秒为单位显示

一个Modbus消息到达以及从节点响应的时间间隔(包括总线时间)。

如果在任务循环中主节点读/写块生成一个新的请求,则从节点不能

输出其响应数据,因为Modbus通讯本身不是在用户任务中执行,而是

在后台执行。

如果从节点的响应已经收到,在任务的下一次运

行经过时最早由读/写功能块输出。

如果从节点的响应仍未到达,

则当前的任务循环不会采取任何动作,网络的影响是在每两次执行

期间不能产生多于一次的新的请求,这样,为了使数据传送最优,

用户任务的工作时间必须等于所有请求的传送时间的二分之一。

AzykluQpt=∑tRsP/2

设置超时的指导原则:

超时和波特毫无关,它是从节点设备采取重发的时间。

要确定超进

值,一般在50到100毫秒之间。

要注意的是有许多Modbus从节点设备

时其响应时间会有波动。

超进以毫秒为单位输入,功能块中运行plausibility(似是而非)检查

则不进行超时检查。

使用OCO01通讯模式时,响应时间要长一些,因为在DigiNetP的传

送时间加上DC001通讯模块的处理时间,上述必须加到基本响应

时间上。

K3Master检查块,MODM-VIEW

〈图K-10页之一〉

功能:

MODM-VIEW功能块用于使MODM-DEV接口功能块的静态数据可

以在应用程序中使用,对于块的处理的每个循环而言,只更新计数器的

输出。

实际的Modbus通讯经由硬件接口,在后台执行,和用户任务

无关。

可以在输出CTX读出发送的消息数易,在输出CRX读出接收的消息的数易,

在输出TOT可以得到超时的次数,在RYS可以得到重发的次数。

输出CRC是检查和出错的次数。

显示:

无操作:

K3.1参数:

Master检查块,MODM-VIEW

〈图K-10页之二〉

K3.2功能块数据:

Master检查块,MODM-VIEW

名称数据类型配置访问说明

输入端

EN布尔型yes读写出使用.TRUE;功能块在运行

输出端

ENO布尔型no只读过程状态.TRUE:

功能块在运行

CTX双字no只读发送电传的数据

TOT双字no只读超进的数据

RYS双字no只读重发的数据

CRC双字no只读CRC错误的数据

ERR布尔型no只读TRUE,如果功能块出错

STA企型no只读功能块的错误状态代码

参数定义伪码

TAGNAME文本型yes无访问接口名称

K4读线圈,MODM-R8C,MODM-R16C

〈图K-12页〉

功能:

读取开关值,用MODM-R16C代表两个功能块,因为其参数定义伪码

是相同的.

该功能块通过Freelance2000系统的串行接口读取外部系统的布尔型

数据,使用Modbus协议功能01/02.

功能01读线圈状态逻辑线圈的开/关状态,即缓冲数据

读自外部系统的开关模块.

功能02读输入状态单独输入的开/关状态.即数据直接

读自外部系统的开关模块.

功能块MODM-R8C和MODM-R16C的区别仅仅是其输出怕数据不同,功能

块MODMJ-R8C可以接收最多8个电传数据项,MODM-R16C是16个数据项.

电传数据项安排的次序为R01-R16,更多的说明见freelanc2000系统.

在Autorequestoff)()(自动请求关闭)发送方式中,输入REQ为逻辑1时

开始数据发送.

为输出NDR为逻辑0时,可以发送电传数据项

显示:

无操作:

K4.1参数:

读线圈,MODM-R8C,MODM-R16C

〈图K-13页〉

Prio输入优先级1-5,无消息则输入“一”。

Hint输入提示文本,见B部分,通用说明,功能块参数的提示的定义。

Messagetext输入等待回答的最大时间,以毫秒为单位。

以数形式输入,范围0-9999ms,输入0表示无超时。

Repeats发生超时错误时或忽略电传回答时的最大重发次数,

输入范围0-9。

Interfacename接口块MODM-DEV在硬件结构中的标鉴名。

Autorequest自动请求,即REQ输入不能转换

该功能块不处理,即没有REQ输入。

☑无自动请求。

即REQ输入启动传送。

Modbusfunctionread

Slaveaddr输入以节点地址,范围为0-247

Coilstatusmodbus功能01线圈状态的发送

Inputstatusmodbus功能02线圈状态的发送

Stataddress输入变量块的起始地址

Coilscount输入线圈变量在电传中的号码,MODM_R8C最大为8

MODM_R16C最大为16

K4.2功能块数据:

读线圈MODM_R8CMODM_R16C

名称数据类型配置访问说明

输入端

EN布尔型yes读写使用.TRUE;功能块在运行

REQ布尔型yes读写读和写的电传启动信号

输出端

ENO布尔型no只读过程状态.TRUE:

功能块在运行

NDR布尔型no只读用REQ输入信号作为READ电传控

RO1-08布尔型no只读freelance2000的电传数据

OVR双字no只读超载信号

RSP双整型no只读响应时间

ERR布尔型no只读TRUE,如果功能块出错

STA整型no只读功能块的错误状态代码

参数定义伪码

TOUT

整型

YES

读写

超时

RETRYS

整型

YES

读写

重发

ADDR

字节

YES

读写

从节点地址

FCODE

整型

YES

读写

MODBUS功能,0=线圈状态1=输入状态

COILSTART

YES

读写

起始地址

COILCNT

YES

读写

线圈/寄存器的计数

TAGNAME

文本

YES

无访问

接口名

AP

消息

K5写线圈MODM_WICMODM_W8CMODM_W16C

(图K-15)

功能:

写开关值,用功能块MODM_W16C代表三个块,因为其参数定义伪码都相同.

该功能块通过FREELANCE2000系统的串行接口从FREELANCE2000到外部系统写布尔型数据(线圈)

使用下列MODBUS协议功能

功能05写线圈状态MODM_WIC发送FREELANCE2000的布尔型变量

功能15写线圈状态MODM_W8CMODM_W16C发送最多8个/16个FEELANCE2000的布尔变量

布尔型数据所需的电传数据可以按顺序从输入W01-W16得到.在”自动请求关闭”发送方式中,输入REQ为逻辑1时开始数据发送.输出DSR为逻辑1表示数据在发送.

显示:

无操作:

K5.1写线圈MODM_WICMODM_W8CMODM_W16C

(图K-16页)

Prio

输入优先级1-5,“-“表示无消息

Himt

输入提示文本

Messagetext

消息文本,直接输入或由选择窗口输入

Timeout

输入等待回答的最大时间,以毫秒为单位,以整型输入,范围0-9999这秒。

0表示无超时

Repeuts

在发生超时错误或电传错误时的最大重发次数范围0-9

Interfacename

接口块MODM_DEV在硬件结构中的标签名

Autorequest

自动请求,即REQ输入不能转换

不处理该功能块,好没有REQ输入

无自动请求,即由REQ输入启动传送

Modkusfuntion15

Slaveaddr

输入从节点地址,范围0-247

Startaddress

输入变量块的起始地址

Loilscount

输入线圈变量在发送电传中的号MODM_WIC=1MODM_W8C最大为8MODM_W16C最大为16

K5.2功能块数据:

读线圈MODM_R8CMODM_R16C

名称

数据类型

配置

访问

说明

输入端

EN

布尔型

YES

读写

使能.TRUE:

功能块在运行

BEQ

布尔型

YES

读写

读和写的电传启动信号

W01-16

布尔型

NO

读写

来自FEELANCE2000的电传数据

输出端

ENO

布尔型

NO

只读

过程状态.TRUE:

功能块在进行

DSR

布尔型

NO

只读

用REQ输入信号作为电传控制

OVR

布尔型

NO

只读

过载信号

RSP

双整型

NO

只读

响应时间

ERR

布尔型

NO

只读

TRUE如果功能块出错

STA

整型

NO

只读

功能块的错误状态代码

参数定义伪码

TOUT

整型

YES

读写

超时

DETRYS

整型

YES

读写

重发

ADDR

字节

YES

读写

从节点地址

COILSTART

YES

读写

起始地址

CIOLCNT

YES

读写

线圈的数

TANGAME

文本

YES

无访问

接口名称

AP

消息

K6读寄存器MODM_RIRMODM_R8RMODM_R16R

功能:

读取的WORE(字)型值,用MODM_R16R作为代表,三者的参数定义伪码是相同的。

该功能块通过FREELANCE2000的串行接口从外部系统读取数据并将其转换成16位值(FREELANCE2000数据类型:

字)

使用下列MODBUS协议功能:

功能03:

读保持的寄存器,从外部系统模拟卡的存贮器中读取模拟值。

功能04:

读取输入寄存器,从外部系统的模拟通道直接读取模拟值。

功能块MODM_RIRMODM_R8RMODM_R16R的区别只是输出的数量不同。

功能块MODM_RIR可以接受仅一个电传数据项,MODM_R8R最多8个,MODM_R16R最多16个。

电传数据项按顺序与输出R01-R16对应。

在autorequestoff()方式中,输入REQ为逻辑1启动数据传送。

输出NDR为逻辑0时,可以发送电传数据项

显示:

无操作:

K6.1参数:

读寄存器MODM_RIRMODM_R8RMODM_R16R

(图K-16页)

Prio

输入优先级1-5,“-“表示无消息

Himt

输入提示文本

Messagetext

消息文本,直接输入或由选择窗口输入

Timeout

等待回答的最大时间,以毫秒为单位,以整型输入,范围0-9999ms

Repeuts

在发生超时错误或电传错误时的最大重发次数范围0-9

Interfacename

接口块MODM_DEV在硬件结构中的标签名

Autorequest

自动请求,即REQ输入不能转换

不处理该功能块,好没有REQ输入

无自动请求,即由REQ输入启动传送

Modkusfuntion15

Slaveaddr

输入从节点地址,范围0-247

Startaddress

输入变量块的起始地址

Holdingreg

Modbus功能03保持寄存器的传送

inputreg

Modbus功能04保持寄存器的传送

Regtstercount

输入寄存器变量在电传中的号码,MODM_RIR输入1MODM_R8R最大输入8MODM_R16R最大输入16

K6.2功能块数据:

读线圈MODM_R8RMODM_R16R

名称

数据类型

配置

访问

说明

输入端

EN

布尔型

YES

读写

使能.TRUE:

功能块在运行

BEQ

布尔型

YES

读写

读和写的电传启动信号

输出端

ENO

布尔型

NO

只读

过程状态.TRUE:

功能块在进行

NDR

布尔型

NO

只读

用REQ输入信号作为电传控制

R01-16

NO

只读

Freelance2000的电传数据

OVR

布尔型

NO

只读

过载信号

RSP

双整型

NO

只读

响应时间

ERR

布尔型

NO

只读

TRUE如果功能块出错

STA

整型

NO

只读

功能块的错误状态代码

参数定义伪码

TOUT

整型

YES

读写

超时

DETRYS

整型

YES

读写

重发

ADDR

字节

YES

读写

从节点地址

FCODE

整型

YES

读写

MOBUS功能0=保持寄存器1=输入寄存

COILSTART

YES

读写

起始地址

CIOLCNT

YES

读写

线圈/寄存器的数

TANGAME

文本

YES

无访问

接口名称

AP

消息

K6写寄存器MODM_WIRMODM_W8RMODM_W16R

功能:

写字的值,用MODM_W16R作为代表,三者的参数定义伪码是相同的。

该功能块通过FREELANCE2000插入16位值(数据类型:

字)到电传中,通过FREELANCE2000系统的串行接口送到外部系统.

使用下列MODBUS协议功能:

功能06:

写单个寄存器,MODM_WIR发送FREELANCE2000字型变量。

功能16:

写多个寄存器,MODM_W8RMODM_W16R.发送FREELANCE2000字型变量,最多8个、16个.

所需的字型电传数据依次在输入W01-W16在autorequestoff方式中,输入REQ为逻辑1时启动数据传送。

输出DSR逻辑1时,数据在传送。

显示:

无操作说明:

K7.1参数:

读寄存器MODM_WIRMODM_W8RMODM_W16R

(图K-22页)

Prio

输入优先级1-5,“-“表示无消息

Himt

输入提示文本

Messagetext

消息文本,直接输入或由选择窗口输入

Timeout

等待回答的最大时间,以毫秒为单位,以整型输入,范围0-9999ms

Repeuts

最大重发次数范围0-9

Interfacename

接口块MODM_DEV在硬件结构中的标签名

Autorequest

自动请求,即REQ输入不能转换

不处理该功能块,即没有REQ输入

无自动请求,即由REQ输入启动传送

Modkusfuntion16

Slaveaddr

输入从节点地址,范围0-247

regaddress

输入变量块的起始地址

Regtstercount

输入寄存器变量在发送电传中的号码

MODM_WIR:

1

MODM-W8R:

最大8MODM-W16R:

最大16

K7.2功能块数据:

读线圈MODM_WIRMODM_W8RMODM_W16R

名称

数据类型

配置

访问

说明

输入端

EN

布尔型

YES

读写

使能.TRUE:

功能块在运行

BEQ

布尔型

YES

读写

读和写的电传启动信号

W01-W16

NO

读写

来自FREELANCE2000的电传数据

输出端

ENO

布尔型

NO

只读

过程状态.TRUE:

功能块在进行

DSR

布尔型

NO

只读

用REQ输入作写电传控制信号

OVR

布尔型

NO

只读

过载信号

RSP

双整型

NO

只读

响应时间

ERR

布尔型

NO

只读

TRUE如果功能块出错

STA

整型

NO

只读

功能块的错误状态代码

参数定义伪码

TOUT

整型

YES

读写

超时

RETRYS

整型

YES

读写

重发

ADDR

字节

YES

读写

从节点地址

COILSTART

YES

读写

起始地址

CIOLCNT

YES

读写

寄存器的数量

TANGAME

文本

YES

无访问

接口名称

AP

消息

K8把尾数/指数形式转换成实数形式METOR

(图K-24页之一)

功能:

把尾数/指数形式转换成实数形式.用于带双寄存器浮点值的MODBUS节点,该数据成项必须单独传送.

为此,需要一个MODBUS传送的两个寄存器,作为尾数或指数,其值作为输入MNT(尾数)或EXP(指数),使用功能块METOR.

输出FLV提供一个实数型的值

显示:

无操作:

K8.1参数:

尾数/指数到实型METOR

(图K-24页之二)

K8.2功能块数据:

尾数/指数转换成实型METOR

名称

数据类型

配置

访问

说明

输入端

EN

布尔型

YES

读写

使能.TRUE:

功能块在运行

MNT

NO

读写

转换值中的尾数

EXP

NO

读写

转换值中的指数

输出端

ENO

布尔型

NO

只读

过程状态.TRUE:

功能块在进行

FVL

实型

NO

只读

转换的实数值

K9转换实数形式为尾数/指数形式

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2