S7-200地址映射

S7-200 通过以下方式支持Modbus 通信协议:。

S7-200 CPU 上的通信口0(Port 0)通过指令库支持Modbus RTU 从站模式。

S7-200 CPU 上的通讯口0 和1 (Port 0 和Port 1)通过指令库支持Modbus RTU 主站模式。

S7-200 CPU 通过EM241 模块的Modem 接口支持Modbus RTU 模式通过S7-200 CPU 通信口的自由口模式实现Modbus 通信协议,可以通过无线数据电台等慢速通信设备传输。

这为组成S7-200 之间的简单无线通信网络提供了便利。

详细情况请参考《S7-200系统手册》(2002 年10 月或以后版本)的相应章节。

Modbus 是公开通信协议,其最简单的串行通信部分仅规定了在串行线路的基本数据传输格式,在OSI 七层协议模型中只到1,2 层。

Modbus 具有两种串行传输模式,ASCII 和RTU。

它们定义了数据如何打包、解码的不同方式。

支持Modbus 协议的设备一般都支持RTU 格式。

通信双方必须同时支持上述模式中的一种。

Modbus 是一种单主站的主/从通信模式。

Modbus 网络上只能有一个主站存在,主站在Modbus 网络上没有地址,从站的地址范围为0 - 247,其中0 为广播地址,从站的实际地址范围为1 - 247。

Modbus 通信标准协议可以通过各种传输方式传播,如RS232C、RS485、光纤、无线电等。

在S7-200 CPU 通信口上实现的是RS485 半双工通信,使用的是S7-200 的自由口能。

详细的协议和规范,请访问Modbus 组织的网站:西门子在Micro/WIN V4.0 SP5 中正式推出Modbus RTU 主站协议库(西门子标准库指令)。

注意:1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port 0 和Port 1 有效。

该指令库将设置通信口工作在自由口模式下。

2. Modbus RTU 主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。

3. Modbus RTU 主站库对CPU的版本有要求。

CPU 的版本必须为2.00 或者2.01(即订货号为6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的S7-200 CPU 不支持。

使用Modbus RTU 主站指令库,可以读写Modbus RTU 从站的数字量、模拟量I/O 以及保持寄存器。

要使用Modbus RTU 主站指令库,须遵循下列步骤:1.安装西门子标准指令库2.按照要求编写用户程序调用Modubs RTU 主站指令库Modbus RTU 主站功能编程使用SM0.0 调用MBUS_CTRL 完成主站的初始化,并启动其功能控制:各参数意义如下:a. EN 使能:必须保证每一扫描周期都被使能(使用SM0.0)b. Mode 模式:为1 时,使能Modbus 协议功能;为0 时恢复为系统PPI 协议c. Baud 波特率:支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。

d. Parity 校验:校验方式选择0=无校验1=奇较验2=偶较验e. Timeout 超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000 毫秒(1 秒),允许设置的范围为1 - 32767。

注意:这个值必须设置足够大以保证从站有时间响应。

f. Done 完成位:初始化完成,此位会自动置1。

可以用该位启动MBUS_MSG 读写操作(见例程)g. Error 初始化错误代码(只有在Done 位为1时有效):0=无错误1=校验选择非法2=波特率选择非法3=模式选择非法2. 调用Modbus RTU 主站读写子程序MBUS_MSG,发送一个Modbus 请求;各参数意义如下: a. EN 使能:同一时刻只能有一个读写功能(即MBUS_MSG)使能注意:建议每一个读写功能(即MBUS_MSG)都用上一个MBUS_MSG 指令的Done 完成位来激活,以保证所有读写指令循环进行(见例程)。

b. First 读写请求位:每一个新的读写请求必须使用脉冲触发c. Slave 从站地址:可选择的范围1 - 247 d. RW 从站地址:0 =读,1 =写注意:1. 开关量输出和保持寄存器支持读和写功能2. 开关量输入和模拟量输入只支持读功能e. Addr 读写从站的选择读写的数据类型数据地址:00001 至0xxxx - 开关量输出10001 至1xxxx - 开关量输入30001 至3xxxx - 模拟量输入40001 至4xxxx - 保持寄存器f. Count 数据个数通讯的数据个数(位或字的个数)注意:Modbus主站可读/写的最大数据量为120个字(是指每一个MBUS_MSG 指令)g. DataPtr 数据指针:1. 如果是读指令,读回的数据放到这个数据区中2. 如果是写指令,要写出的数据放到这个数据区中h. Done 完成位读写功能完成位i. Error 错误代码:只有在Done 位为1时,错误代码才有效0 =无错误1 =响应校验错误2 =未用3 =接收超时(从站无响应)4 =请求参数错误(slave address, Modbus address, count, RW)5 =Modbus/自由口未使能6 =Modbus正在忙于其它请求7 =响应错误(响应不是请求的操作)8 =响应CRC校验和错误- 101 =从站不支持请求的功能102 =从站不支持数据地址103 =从站不支持此种数据类型104 =从站设备故障105 =从站接受了信息,但是响应被延迟106 =从站忙,拒绝了该信息107 =从站拒绝了信息108 =从站存储器奇偶错误常见的错误:如果多个MBUS_MSG 指令同时使能会造成 6 号错误从站delay 参数设的时间过长会造成主站3 号错误从站掉电或不运行,网络故障都会造成主站3 号错误3. 在CPU 的V 数据区中为库指令分配存储区(Library Memory)Modbus Master 指令库需要一个284个字节的全局V 存储区。

参考:分配库指令数据区关于Modbus RTU 主站协议库的补充说明:此为西门子正式推出的标准库指令说明资料。

在Modbus RTU Master 协议和PPI 协议之间切换:Modbus RTU Master 协议指令库使通信口工作在自由口模式下,此时不能与Micro/WIN 软件通信。

要在切换回PPI 协议,可以:。

将MBUS_CTRL 指令的Mode 输入端设置为逻辑“0”。

将CPU 的允许模式选择开关置为STOP 位置Modbus RTU Master 协议库的执行时间:Modbus RTU Master 协议库的MBUS_CTRL 指令不需要很长的执行时间。

MBUS_需要1.11 ms 用于初始化,在后续的每个扫描周期中只占用0.41 ms。

调用MBUS_MSG 子程序会加长处理时间。

大部分时间都用于CRC 校验的计算。

每读、写一个字的数据就需要1.85 ms 扫描时间。

数据最多的情况下(读、写120 字的数据),扫描时间大概会扩增加222 ms。

读操作的时间主要消耗在接收数据上;写操作的时间主要消耗在发送数据上。

Modbus 地址通常Modbus 地址由 5 位数字组成,包括起始的数据类型代号,以及后面的偏移地址。

Modbus Master 协议库把标准的Modbus 地址映射为所谓Modbus 功能号,读写从站的数据。

Modbus Master 协议库支持如下地址:。

00001 - 09999:数字量输出(线圈)。

10001 - 19999:数字量输入(触点)。

30001 - 39999:输入数据寄存器(通常为模拟量输入)。

40001 - 49999:数据保持寄存器Modbus Master 协议库支持的功能为了支持上述Modbus 地址的读写,Modbus Master 协议库需要从站支持下列功能:表1. 需要从站支持的功能Modbus 地址读/写Modbus 从站须支持的功能00001 - 09999 数字量输出读功能1 写功能5:写单输出点功能15:写多输出点10001 - 19999 数字量输入读功能2 写-30001 - 39999 输入寄存器读功能4 写-40001 - 49999 保持寄存器读功能3 写功能6:写单寄存器单元功能16:写多寄存器单元Modbus 地址和S7-200 存储区地址的映射S7-200 通过Modbus Master 和Slave 协议库通信时,Modbus 地址和S7-200 内存储区地址的映射关系都类似。

Modbus 保持寄存器地址映射举例:Modbus 保持寄存器地址40001 12 34 40002 56 78 40003 9A BC 对应:S7-200 存储区字寻址VW200 12 34 VW202 56 78 VW204 9A BC 对应:S7-200 存储区字节寻址VB200 12 VB201 34 VB202 56 VB203 78 VB204 9A VB205 BC Modbus 数字量地址映射举例:位地址(0xxxx 和1xxxx)数据总是以字节为单位打包读写。

第一个字节中的最低有效位对应Modbus 地址的起始地址。

如下图所示vx7 vx6 vx5 vx4 vx3 vx2 vx1 vx0 10008 10007 10006 10005 10004 10003 10002 10001评论:在网上到处收罗了有关MODBUS地址映射S7-200地址的资料,一直比较疑惑。

今天有点明白出是怎么回事了。

我现在的理解是:通用的MODBUS协议并不关心具体的设备(比如是西门子的plc,或是AVR的单片机,或是别的设备),关键是要求设备遵守开始地址和数据长度的约定。

拿几个具体例子来说:MODBUS的000001地址-》设备知道是指Q0.1,并对该数据进行操作;010001-》I0.0;030001 -》AIW0;04xxxx-》VW2*(xxxx-1)Modbus 保持寄存器地址映射举例:•加一个通信模块(如EM 277、CP 243-1、EM 241 等)扩展出一个编程通信口•中止自由口模式,可以将CPU 上的模式开关从RUN 拨到STOP;或者保持处于RUN 状态,用程序停止指令库的Modbus 模式(参见指令库应用)如何理解Modbus 地址与功能码的区别?Modbus 地址与Modbus 的功能码是两个层次的概念。

合集下载

s7 200 VW 起始字节地址怎么确定

s7 200 VW 起始字节地址怎么确定

s7 200 VW 起始字节地址怎么确定?2010-6-5 19:15提问者:foolagain6|悬赏分:5 |浏览次数:586次比如说VW 0或VW 2中,0和2是怎么定的?2010-6-5 21:38最佳答案字寻址由存储区标识符,字标识符及字节地址组合而成例如:vw100v表示区域标识符w表示访问一个字100表示字节地址一个字相当于两个字节,vw0相当于vb0和vb1,vw1相当于vb1和vb2。

在使用中vw0与vw1中都包含vb1,造成了地址重复。

所以只能使用vw0 vw2 vw4或者vw1 vw3 vw5等地址排列,习惯上大多按双数地址使用,如vw0 vw2 vw100 vw102等。

西门子S7-200中数据有字节,字,双字是什么意思?数据类型有字符串,整型和实型浮点数是什么意思?2009-12-26 19:32提问者:alexwuxi|悬赏分:5 |浏览次数:1355次2009-12-26 22:10最佳答案1个双字=2个字=4个字节=32个位PC基础知识,你需要去好好翻翻电脑基础应用。

字符串“你需要好好学习”整形数100 200 300浮点型100.05 200.45你需要好好的去打基础,否则难以学会。

西门子S7-200、S7-300的模拟量的模拟信号转换为数字信号的对应范围;是怎么算出来的啊。

最佳答案调用SFC105和SFC106,通过整定把4到20毫安或0到10伏转为0--27648之间的整数,就可以用了请问西门子 S7-200 的 EM231 扩展模块,AIW 和 VW的区别.2010-3-24 01:00提问者:chmi9610|悬赏分:20 |浏览次数:1278次我以前没搞过PLC,最近写毕业论文偏偏要用到这个东西……我需要2个EM231扩展模块,一个用来测量4~20 mA的电流,另一个用来接E 型热电偶。

有很多地方说EM231直接读AIW的值就可以了,但是我在西门子的网站上看见了这么两句话:1. 对于EM231 8AI×TC热电偶输入模块,其读数是在VM中,而不是AIW,模块所处的相对位置不同,对应的地址也不同。

S7-200地址映射

S7-200地址映射

S7-200 通过以下方式支持Modbus 通信协议:。

S7-200 CPU 上的通信口0(Port 0)通过指令库支持Modbus RTU 从站模式。

S7-200 CPU 上的通讯口0 和1 (Port 0 和Port 1)通过指令库支持Modbus RTU 主站模式。

S7-200 CPU 通过EM241 模块的Modem 接口支持Modbus RTU 模式通过S7-200 CPU 通信口的自由口模式实现Modbus 通信协议,可以通过无线数据电台等慢速通信设备传输。

这为组成S7-200 之间的简单无线通信网络提供了便利。

详细情况请参考《S7-200系统手册》(2002 年10 月或以后版本)的相应章节。

Modbus 是公开通信协议,其最简单的串行通信部分仅规定了在串行线路的基本数据传输格式,在OSI 七层协议模型中只到1,2 层。

Modbus 具有两种串行传输模式,ASCII 和RTU。

它们定义了数据如何打包、解码的不同方式。

支持Modbus 协议的设备一般都支持RTU 格式。

通信双方必须同时支持上述模式中的一种。

Modbus 是一种单主站的主/从通信模式。

Modbus 网络上只能有一个主站存在,主站在Modbus 网络上没有地址,从站的地址范围为0 - 247,其中0 为广播地址,从站的实际地址范围为1 - 247。

Modbus 通信标准协议可以通过各种传输方式传播,如RS232C、RS485、光纤、无线电等。

在S7-200 CPU 通信口上实现的是RS485 半双工通信,使用的是S7-200 的自由口能。

详细的协议和规范,请访问Modbus 组织的网站:西门子在Micro/WIN V4.0 SP5 中正式推出Modbus RTU 主站协议库(西门子标准库指令)。

注意:1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port 0 和Port 1 有效。

S7-200数据存储与寻址方式

S7-200数据存储与寻址方式

S7-200数据存储与寻址方式1.I/O 点数扩展和编址S7-200 CPU22X 系列的每种主机所提供的本机I/O点的I/O地址是固定的,进行扩展时,可以在CPU右边连接多个扩展模块。

每个扩展模块的组态地址编号取决于各模块的类型和该模块在I/O链中所处的位置。

输入与输出模块的地址不会冲突,模拟量控制模块地址也不会影响数字量。

编址方法是同样类型输入或输出点的模块在链中按所处的位置而递增,这种递增是按字节进行的,如果CPU或模块在为物理I/0点分配地址时未用完一个字节,那些未用的位也不能分配给I/O链中的后续模块。

例如,某一控制系统选用CPU224,系统所需的输入/输出点数为:数字量输入24点、数字量输出20点、模拟量输入6点和模拟量输出2点。

本系统可有多种不同模块的选取组合,并且各模块在I/O链中的位置排列方式也可能有多种,表1-1所示为其对应的各模块的编址情况。

表1-1A.同类型输入或输出的模块按顺序进行编制。

B. 数字量模块总是保留以8位(1个字节)递增的过程映象寄存器空间。

如果模块没有给保留字节中每一位提供相应的物理点,那些未用位不能分配给I/O链中的后续模块。

对于输入模块,这些保留字节中未使用的位会在每个输入刷新周期中被清零。

C. 模拟量I/O点总是以两点递增的方式来分配空间。

如果模块没有给每个点分配相应的物理点,则这些I/O点会消失并且不能够分配给I/O链中的后续模块。

2. S7-200 PLC的寻址方式及内部数据存储区S7-200 CPU将信息存储在不同的存储单元,每个单元都有惟一的地址。

S7-200CPU使用数据地址访问所有的数据,称为寻址。

输入/输出点、中间运算数据等各种数据类型具有各自的地址定义,大部分指令都需要指定数据地址。

本节将从S7-200的数据长度、寻址、寻址方式和内部数据存储区几个方面进行介绍。

2.1数据长度S7-200 寻址时,可以使用不同的数据长度。

不同的数据长度表示的数值范围不同。

S7-200 PLC 存储空间及地址分配

S7-200 PLC 存储空间及地址分配
字节)16位编址,即用Q0.0~0.7和Q1.0~1.7表示。
S7-200 PLC存储空间及地址分配
2. 输出地址编号
▲ 扩展一个4点输出模块, 需要另一个组(1个字节)8位来对其编址, 对应编号是Q2.0~2.7。
▲分别占用输出映象寄存器对应的3个字节 QB0~QB2 。 但 此 时 未 用 的 位 QB1.2~Q1.7 和 Q2.4~Q2.7均可作为内部标志位使用。
S7-200 PLC存储空间及地址分配
三、 数据空间地址分配方法
4 字节地址 指定存储空间中的字节(B)、字(W)、双字 (D)或起始地址,如IB0、MW10;VD100等;
5 小数点 分割字节地址和该字节的位号,位号是表示该字 节中的某一位,它只能是0~7之间的某个数,如 I2.0、Q3.4、M8.2、SM6.7等。
S7-200 PLC存储空间及地址分配
二、 数据存储空间 1 PLC输入/输出和它们的存储区域进行定义和分配
地址
2 开关量输入(Input)的数据存入数字量空间的输入 映象寄存器中,并把该区定义为I;
3 开关量输出(Output)的数据存放在数字量空间 的输出映象寄存器中,并把该区定义为Q。
4 模拟量输入(Analogue Input) 数据存入在模 拟量空间中的模拟量输入区,该区定义为AI;
一 存储器与存储空间
3 参数空间 存放PLC配置结构参数和区域参数等,如保护 口令、PLC站地址、停电记忆保持区、强制操 作的信号设定等.
4 数据空间 存放PLC的输入信号、程序执行的中间状态、 计时值、计数值、输出结果和PLC所用的内部 工作寄存器、部分软元件等。
S7-200 PLC存储空间及地址分配
1. 输入地址编号 ● CPU 224基本单元输入端为14点 ,需要2组(2个字节)16位来编址,地址编号为

S7-200 SMART Modbus TCP 服务器指令

S7-200 SMART Modbus TCP 服务器指令

11/CN/view/zh/xxxxxC o p y r i g h t S i e m e n s A G C o p y r i g h t y e a r A l l r i g h t s r e s e r v e d目录1 摘要 ................................................................................................................. 32 MODBUS TCP 服务器功能 ............................................................................. 4 3Modbus TCP 服务器指令使用示例 ................................................................ 6 3.1 MB_Server 指令库安装 ........................................................................... 6 3.2 调用MB_Server 指令库 .......................................................................... 6 3.3 MB_Server 指令库错误代码 . (8)C o p y r i g h t S i e m e n s A G C o p y r i g h t y e a r A l l r i g h t s r e s e r v e d1 摘要本文用于介绍S7-200 SMART Modbus TCP 服务器指令的使用。

伴随着STEP 7-Micro/WIN SMART V2.2 和S7-200 SMART CPU 固件V2.2的发布,S7-200 SMART CPU 开始支持TCP 、ISO-on-TCP 和UDP 等开放式用户通信。

S7-200Smart与菲尼克斯触摸屏进行Modbus TCP IP通讯105149

S7-200Smart与菲尼克斯触摸屏进行Modbus TCP IP通讯105149

S7-200Smart做服务器与菲尼克斯触摸屏进行Modbus TCP IP通讯测试一、实验要求通过Modbus TCP/IP通讯实现:在菲尼克斯触摸屏建立3个按钮,控制S7-200Smart PLC Q0.0、Q0.2、Q0.4的通断。

二、前期准备1、S7-200Smart PLC一台2、菲尼克斯触摸屏一台3、网线一根4、STEP7-MicroWIN SMART(版本V2.4)5、菲尼克斯触摸屏软件:Visu+2.43三、S7-200Smart PLC端CPU设置及其程序程序编写完之后,下载至CPU里。

四、Visu+端配置1、打开Visu+软件,新建工程test.在实时数据库中添加Modbus TCP/IP驱动,如下图:2、新建VAR00001-VAR00007变量(字,无符号16位)3、配置Modubs TCP/IP驱动General项保持默认,如下图Station项设置如下图,服务器IP地址为前面设置S7-200Smart PLC CPU IP地址:192.168.0.20.Tasks项设置如下,注意Data Ares项设置,读取寄存器地址(40001开头),起始地址0,Variables项为前面建立7个变量,中间用“;”隔开。

4、地址映射按照如下步骤依次建立地址映射,VAR00001映射40001;VAR00002映射40002;VAR00003映射40003;VAR00004映射40004;VAR00005映射40005;VAR00006映射40006;VAR00007映射40007;注意40001对应起始地址为0.5、画面的建立,新建画面如下,添加3个开关。

对应变量连接如下:组态画面配置之后,上传(PC往触摸屏是上传,从触摸屏往PC 是下载)至触摸屏里。

步骤如下:注意服务器IP地址为触摸屏本身的IP地址。

上传完之后,运行项目,通过网线把触摸屏与S7-200Smart PLC 连接起来。

S7-200 PLC寻址指令


✓(2)各元件介绍 ✓输入继电器(I) ✓输出继电器(Q) ✓通用辅助继电器(M) ✓特殊标志继电器(SM) ✓变量存储器(V) ✓局部变量存储器(L) ✓顺序控制继电器(S)
✓定时器(T) ✓计数器(C) ✓模拟量输入映像寄存器(AI)、模拟量
输出映像寄存器(AQ) ✓高速计数器(HC) ✓累加器(AC)
1.直接寻址 (1)编址 要了解存储器的寻址方法,必须先掌握其编址方法。S7-
200系列PLC的存储单元编址有一定的规律,它将存储器按 功能不同划分成若干个区,如I区(输入继电器区)、Q区 (输出继电器区)、M区、SM区、V区、L区等,由于每个 区又有很多存储单元,这些单元需要进行编址。
PLC存储区常采用以下方式编址: 1)I、Q、M、SM、S区按位顺序编址,如I0.0~I15.7、M0.0~M31.7。 2)V、L区按字节顺序编址,如VB0~ VB2047、LB0~ LB63。 3) AI、AQ区按字顺序编址,如AIW0~AIW30、AQW0~ AQW30。 4)T、C、HC、AC区直接按编号大小编址,如T0~ T255、C0~C255、
S7-200数据存储区及元件(内部资源)的 功能
外部输入点
输入端子
• 1. 输入/输出映像寄存器:S7-200 PLC编址范围(I0.0~I15.7) 输入映像寄存器(该区域可以按位操作又称输入继电器) 输入继电器线圈由外部信号驱动,常开触点和常闭触点供用
户编程使用。
输入继电器用来接收外部输入的开关量信号。它 和对应的输入端子相连,同时提供无数的常开和常闭 触点用于编程
双字来存取存储区的数据。
• 4. 顺序控制继电器(S)存储区 S又称状态元件,以实现顺序控制和步进控制。 S7-200 PLC编址范围S0.0~S31.7,可以按位、字节、字或双

S7-200 的 编 址

S7-200 的编址编址:就是对输入/输出模块上的I/O点进行编码,以便程序执行时可以唯一地识别每个I/O点。

一、编址方法1.数字量I/O点的编址是以字长为单位,采用标志域(I或Q)、字节号和位号三部分的组成形式,在字节号和位号之间以点分隔,习惯上称做字节·位编址。

每个I/O点就有了唯一的识别地址,地址的表示如图:Q 1 · 5标志域(数出Q、数入I)字节地址字节号和位号的分隔点字节中位的编号(0_7)数字量输入输出的字节和位编址都是从0开始,每个位都是0~7,共8位。

2.模拟量I/O编址是以字长(16位)为单位。

在读写模拟量信息时,模拟输入输出按字单位读写。

模拟输入只能进行读操作,而模拟输出只能进行写操作,每个模拟输入输出都是一个模拟端口。

一模拟端口的地址由标志域(AI/AQ)、数据长度标志(W)以及字节地址(0~30之间的十进制偶数)组成。

模拟端口的地址从0开始,以2递增(如:AIW0、AIW2、AIW4等),对模拟端口奇数编址是不允许的。

地址的表示如图:AI W 8 标志域(模出AQ、模入AI)数据长度(字)字节地址(0、2、4……)3.扩展模块的编址,由扩展模块I/O端口的类型及其在扩展I/O链中的位置决定。

扩展模块的编址按照由左至右,地址编码依次排序。

扩展模块的数字量I/O点编址以字节·位编址形式,扩展模块的模拟量I/O编址仍以字长(16位)为单位。

二、S7-200PLC的基本配置因为S7-200PLC有5种CPU,其中CPU226XM与CPU226基本相同,所以S7-200共有4种基本配置。

三、S7-200的扩展配置S7-200的扩展配置是由S7-200的基本单元和扩展模块组成。

其扩展模块的数量受两个条件约束:一个是基本单元能带扩展模块的数量;另一个是基本单元的电源承受扩展模块消耗DC5V总线电流的能力。

编址举例(1)由CPU222组成的扩展由CPU222组成的扩展配置可以由CPU222基本单元和最多两个扩展模块组成,CPU222可以向扩展单元提供的DC5V电流为340mA。

西门子S7-200PLC与组态王的无线通信Modbus方案

西门子S7_200PLC与组态王的无线通信Modbus方案西门子S7_200PLC与组态王的无线通信Modbus方案在这里介绍一种PLC的MODBUS无线组态通信的实现方法。

本方案可以作为西门子PLC与组态王通信的实例。

在工业现场可能会遇到这样的情况,分布在不同地方(车间、控制室场所等)的PLC需要与总控中心的组态王软件进行远程通信,通常情况是采用有线RS485总线敷设电缆,通过MODBUS协议完成此功能。

如果现场布线不方便的话,也可以采用无线方式进行通信。

本方案中采用了专门用于无线通信的智能数据终端DTD433M。

l 有线MODBUS网络:S7-200S7-200STEP7S7-200PG/PC9.6kbps,8,N,1人机界面组态软件l S7-200STEP 7PG/PCRS4859.6 kbps人机界面组态软件DTD433DTD433RS4859.6 kbpsS7-200RS4859.6 kbpsDTD433无线MODBUS网络:在实际系统中,人机界面与PLC不在一起,中心计算机一般放置在控制室,而PLC安装在现场车间,二者之间距离往往从几十米到几千米。

如果布线的话,需要挖沟施工,比较麻烦,这种情况下比较适合采用无线通信方式。

一、PLC与组态王的Modbus通信1. 下载S7_200程序需要向 PLC中下载对应的初始化程序(KVmoddbus.mwp),由亚控公司提供。

此程序默认的PLC通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中的 VB8,SMB30 进行修改);2.设备选择选择以下两个设备都可以。

3. 演示程序界面打开组态王演示工程文件二、满足西门子PLC的MODBUS通信协议的专用无线数据终端为了满足西门子PLC和组态王的MODBUS通信协议,对无线数据终端具有以下要求:适合于RS232/RS485串口连接,可以直接代替有线的RS485网DTD433M提供标准的RS232/RS485口。

S7-200MODBUS主站程序块


VB200 12
VB201 34
VB202 56
VB203 78
VB204 9A
VB205 BC
Modbus 数字量地址映射举例:
位地址(0xxxx 和 1xxxx)数据总是以字节为单位打包读写。第一个字节中的最低有效位对应 Modbus地址的起始地址。如下图所示:
如何访问大于 9999 的保持寄存器地址?
通常 Modbus 协议的保持寄存器地址范围在 40001 - 49999 之间。对于多数应用来说已经够了。但有些 Modbus从站把地址映射到保持寄存器区的地址超过 9999 的部分。
Modbus Master 协议库支持超过 9999 的保持寄存器地址。地址范围为 400001 - 465536。只需在调用MBUS_MSG 子程序时给 Addr 参数赋相应的值即可,如 416768。
有些设备表明它支持 Modbus RTU 通信协议,但也详细提供了读写数据的详细通信帧格式,其中包括如何指定 Modbus站的地址,需要读写数据类型、长度等等。数据帧有特定字节指出此指令读写的数据类型和地址,此字节的数据内容即所谓“功能码”,如功能 1指定读取单个/多个数字量输出点的值。
支持 Modbus 协议的设备或软件,使用时用户直接设置或看到的应当是 Modbus 数据地址。Modbus地址所访问的数据,是通过各种“功能”读写而来。功能码是 Modbus 地址的底层。如果 Modbus 通信的一方提供的所谓Modbus 协议只有功能码,则需要注意了解此功能号与 Modbus 地址间的对应关系。
输入寄存器
读 功能 4
写 -
40001 - 49999
保持寄存器 读 功能 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档