浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
6ES7350-1AH03-0AE0参数详细

6ES7350-1AH03-0AE0参数详细

一、              A5作为MODBUS从机

正航A5系列PLC(以下简称A5)有1~2个RS232/RS485通讯口,默认为MODBUS-RTU从机,可直接使用MODBUS-RTU协议访问。

A5通讯口的默认设置如下:

MODBUS地址:1;波特率:9600;数据位:8位;停止位:1位;校验位:无校验。

若您没有对A5的通讯进行任何设置,则可以直接按照上面所述的配置与A5进行通讯。

0x寄存器

1x寄存器

3x寄存器

4x寄存器

A5内部

寄存器

MODBUS

地址

A5内部

寄存器

MODBUS

地址

A5内部

寄存器

MODBUS

地址

A5内部

寄存器

MODBUS

地址

数字量输出

Q0.0

1

数字量输入

I0.0

1

模拟输入

AIW0

1

中间寄存器

VW0

1

Q0.1

2

I0.1

2

AIW2

2

VW2

2

Q0.7

8

I0.7

8

AIW14

8

VW14

8

Q1.0

9

I1.0

9

AIWX

对应X/2+1

VW16

9

Q1.1

10

I1.1

10

模拟输出

AQW0

9

VW18

10

Q1.2

11

I1.2

11

AQW2

10

VW20

11

Q…

18

I…

AQWX

对应X/2+9

V…

Q15.7

19

I15.7

128



VW1998

1000

QA.B

对应A*8+B+1

IA.B

对应A*8+B+1



VWX

对应
X/2+1

中间继电器

M0.0

129










M0.1

130









M…









M15.7

256









MA.B

对应A*8+B+129









使用MODBUS协议时,A5内部的地址与MODBUS协议规定的地址如上表所示。

 

二、              A5作为MODBUS主机

A5可以作为MODBUS主机访问其它MODBUS设备,当然也可以访问其它A5。

使用A5作为主机时,需要用到MODX指令及SMB95、SMB96和SMB97三个寄存器。

MODX指令的作用是发出用户指定的MODBUS命令,若收到从机发回的命令,则将收回的内容放置在用户制定的区域。

SMB95寄存器的0位表示MODBUS是否空闲,1位表示接收的命令是否校验正确,2位表示是否超时。

SMB96是用户设定的超时寄存器,以100ms为单位。若值为0,则没有超时设置。

SMB97表示从A5发出命令到目前为止过了多长时间,以100ms为单位。当SMB97> SMB96时,SMB95的2位置1,0位清0,结束本次MODBUS通讯。

使用A5作为MODBUS主机的具体用法及过程如下:

1、                  创建一个参数表,包括MODBUS命令的主要内容

可以使用MOVB指令,也可以使用表指令来构建参数表。

参数表的个字节表示此参数表有几个字节(不包括本字节)。从第二个字节开始是MODBUS指令,具体可以参见MODBUS协议的内容。您可以不必做CRC校验,MODX指令会自动为您添加CRC校验字节。

下面是一个参数表的举例:

地址

含义解释

备注

VB0

6

本表中有6个字节


VB1

1

从机地址

参见MODBUS协议规定

VB2

3

MODBUS命令3(读4x寄存器)

VB3

0

开始地址的高位

VB4

10

开始地址的低位

VB5

0

个数的高位

VB6

8

个数的低位

参数表个字节表明本参数表有6个字节,从VB1~VB6。具体的值根据不同的命令会有所变化。

第2个字节开始都是由MODBUS协议规定的。本例中的MODBUS命令表示向地址为1的从机读取从10地址开始的8个保持寄存器(4x寄存器)。

具体的指令如下:

l        梯形图:

l        语句表

NETWORK   0

//首先创建一个表,MODBUS主机命令。

//本例中,创建了一个命令,访问地址为1的从机

//MODBUS命令为3(读中间寄存器),从地址10开始,8个寄存器。

LD        SM0.1

MOVB      6,VB0

MOVB      1,VB1

MOVB      3,VB2

MOVB      0,VB3

MOVB      10,VB4

MOVB      0,VB5

MOVB      8,VB6

 

2、                  设定通讯参数

为A5设定波特率、奇偶校验等通讯参数。需注意的是,当作为MODBUS主站时,是不需要设定地址的。具体设定方法请参见第三节。

 

3、                  设定超时时间

当A5作为主机发送命令给从机后,等待从机回答。若一定时间没有回复,则主机可以认为从机接收错误或从机故障。等待时间可以由SMB96设置,时间单位为100ms,因此等待时间可以从0.1秒(100ms)至25.5秒调整。若SMB96=0,则没有超时限制。

l        梯形图:

l        语句表

NETWORK   1

//设定超时时间为2S(100ms为单位),如果2S内没有反馈,则失败

MOVB      20,SMB96

 

4、                  使用MODX指令通讯

准备好通讯内容和设置好通讯后,就可以使用MODX指令进行通讯了。MODX指令包含三个参数:参数一表示使用哪个通讯口(目前A5系列只有0口支持MODBUS主机),参数二表示发送内容参数表,参数三表示接收内容放置位置。例如:

l        梯形图:

l        语句表

NETWORK   2

//每隔0.5秒,如果上次读取完成,再次读取。

//读取来的数据放在VB100开始的寄存器中

LD        SM0.5

AN        SM95.0

EU       

MODX      0,VB0,VB100

上面的语句表示,A5从0号通讯口发送VB0开始的参数命令,并将接收到的从机回复内容放置在VB101开始的地址区域,而VB100表示接收到的字节个数。

5、                  查询SMB95的状态以判断通讯结果

使用MODX指令后,您可以根据SMB95字节的内容来判断目前的通讯状态。

SM位

描述

SM95.0

当MODBUS功能空闲时,此位为0,等待从机回复时,此位为1

SM95.1

该位表示是否校验错误。当收到的从机回复校验错误时,此位=1

SM95.2

该位表示是否超时,1=超时

SM95.3

保留

SM95.4

保留

SM95.5

保留

SM95.6

保留

SM95.7

保留

 

SMB95寄存器的0位表示MODBUS是否空闲,1位表示接收的命令是否校验正确,2位表示是否超时。

若SM95.0=1,则说明从机还没有回复。若SM95.0=0,则说明从机已回复或已超时。

若SM95.1=1,则说明返回的信息校验错误。

若SM95.2=1,说明等待已超时。

若SMB95=0,说明从机已回复信息并校验正确。从机回复的信息内容已放置在VB100开始的表中。

6、                  从机返回结果分析

当SMB95=0时,说明从机返回结果正确。假设VB100开始的内容如下:

地址

数值

VB100

19

VB101

1

VB102

3

VB103

16

VB104

0

VB105

0

VB106

0

VB107

0

VB108

0

VB109

0

VB110

0

VB111

0

VB112

0

VB113

0

VB114

0

VB115

0

VB116

0

VB117

0

VB118

0

VB119

0

VB120

228

VB121

89

VB100表示从机返回的数据有19字节(不包含CRC校验的后两个字节)。VB101表示从机地址为1,VB102表示MODBUS命令号为3,VB103表示数据长度16字节。VB104~VB119是16字节的数据长度,表示主机想读取的8个字(16字节)的数据值。VB120和VB121是从机返回的CRC校验值,您可以不必关心。

 

三、              调整通讯设置

通讯的波特率、数据位、停止位、校验位等设置可以在SMB30中设置,低两位表示协议类型可设置为“00”(从机),当A5执行MODX指令时,会自动将其设置为“10”(主机)。

四、              注意事项

l        A5只支持MODBUS-RTU,不支持MODBUS-ASCII。若您需要使用MODBUS-ASCII,可以使用A5的自由口通讯模式来编程实现。

l        MODBUS使用的是big endian模式,而A5使用的是little endian模式。所以当A5使用命令3读取另一台A5时,读取的字高字节和低字节是相反的。因此使用MODBUS命令3读取的对应关系如下图所示:

 

 

1,   一线通模块    一线通模块是玖阳易通公司生产的数据采集模块,包括AI、AO、DI、DO、混合型模块,采用RS485通讯接口和MODBUS-RTU协议,可以完全兼容莫迪康、西门子等PLC的MODBUS协议,和组态软件连接时可以直接使用各PLC厂家的MODBUS-RTU协议进行连接。    本文以一线通模块使用莫迪康PLC通讯协议与组态王连接为例,介绍连接过程。    2,   一线通模块设置    使用时每个模块设置一个唯一一个地址,地址号为1~63,这里假设只连接一个一线通模块,地址号为1,地址设置使用“一线通工具软件设置”。一线通模块的通讯参数固定为19200bps/1位起始位/1位停止位/无校验/8位数据位。    3,   组态软件通讯参数设置    假设使用计算机的COM1口与一线通模块通讯,按照一线通模块的通讯参数,设置计算机COM1口的通讯参数,如下图所示。    4,   定义设备    在组态王设备窗口下定义设备“一线通”,选择PLC/莫迪康/MODBUS-RTU,“确定”,如下图所示。输入设备名称,假设“一线通”,“下一步”。如下图。选择串行口COM1,“下一步”,出现设备地址窗口。在设备窗口输入“1”,“下一步”。“下一步”,设备定义完成。     5,   数据词典    在数据词典中定义A1变量,变量类型选“I/O实数”,连接设备选择“一线通”,读写属性选择“只读”,寄存器选择30001,假设这里进行模拟量采集,寄存器地址为1,如下图所示。需要进行其他类型的变量读写时,进行下面的寄存器和读写属性设置。


寄存器读写属性数字量读1XXXX只读数字量写0XXXX只写模拟量读3XXXX只读模拟量写4XXXX只写


按“确定”,完成A1变量定义,同样的办法可以定义其他变量

展开全文
优质商家推荐 拨打电话