会员登录|免费注册|忘记密码|管理入口 返回主站||保存桌面|手机浏览|联系方式|购物车
搜索
新闻中心
  • 暂无新闻
产品分类
  • 暂无分类
联系方式
  • 联系人:姚善雷
  • 电话:13874941405
  • 手机:13874941405
站内搜索
 
荣誉资质
  • 暂未上传
友情链接
  • 暂无链接
首页 > 供应产品 > 湖南6ES7902-3AB00-0AA0西门子模块 PLC
湖南6ES7902-3AB00-0AA0西门子模块 PLC
单价 10.00 / 台对比
销量 暂无
浏览 130
发货 湖南长沙市付款后24小时内
库存 9999台起订1台
过期 长期有效
更新 2022-05-10 03:50
 
详细信息

湖南   西门子   6ES7902-3AB00-0AA0   模块 PLC  

 

 

硬件及软件列表

设备名称 设备型号

PS 307

6ES7 307-1EA00-0AA0

CPU 315-2DP

6ES7 315-2AG10-0AB0

MMC

6ES7 953-8LG11-0AA0

CP341

6ES7 341-1AH01-0AE0

Dongle

6ES7 870-1AB01-0YA0

应用CP341进行 MODBUS协议通信时需要有Dongle的支持。在使用之前先将Dongle安装在CP341模块的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下图所示:

图1

注意:STEP7 V5.X软件上,必须安装如下软件包才可进行后续的组态配置。

PTP协议软件包:SIMATIC S7-CP PtP bbbbb V5.1+SP14

MODBUS主站驱动

MODBUS从站驱动

组态和配置

1、打开上面创建的项目ptp,用鼠标右键点击项目名称,选择Insert New bbbbbb-> SIMATIC 300 Station,更改站的名称为CP341 Modbus-S。

图2

2、双击Hardware进入硬件配置画面,插入RACK、CPU315-2DP、CP341。

图3

3、 双击CP341模板,点击Parameter...,配置CP341参数。在Protocol选项中选择MODBUS Slave。

图4

4、双击Protocol下的信封图标,配置MODBUS Slave参数,点击MODBUS-Slave按钮。

图5

步骤1:设置MODBUS从站地址,本例中设为2; 步骤2:设置MODBUS从站波特率,停止位,校验位等参数; 接下来配置功能代码所表示的参数,具体参见下4图

5、FC01,05,15:读取、强制输出位的状态;左边的地址为信息传送地址,右边对应西门子的PLC地址区,即左边地址从0~100对应MODBUS地址区为00001~00101,对应西门子数据区为M0.0~M12.4;101~200对应MODBUS 地址区为00102~00201,对应西门子数据区为Q0.0~Q12.3;从地址201~300,301~400对应Modbus 地址区为00202~00301,00302~00401,对应西门子数据区为Timer,Counter。

图6

6、FC02读取输入数据位的状态,地址对应如上文所述。

图7

7、FC03,06,16组态输出寄存器数据区,对应西门子数据区为DB块。

图8

8、FC04组态输入寄存器数据区,对应西门子数据区同样是DB块。

图9

9、设置写参数的限制值。

图10

10、如果选用的是RS422/485接口的CP341时,还需要设置接口类型,如下图所示,其它参数均采用默认设置。

图11

11、配置完成后保存时会提示是否装载驱动。

图12

12、此时必须连接到实际的PLC,点击Yes按钮装载驱动,装载时CPU必须为STOP模式。驱动装载完成后,如果再次装载,STEP7会提示Driver already exists,配置完成后点击“编译保存”按钮保存编译硬件组态,并确认没有错误。

图13

编写通信程序

1、将FB7,FB8添加到程序Blocks中,方法为双击OB1,打开OB1编程画面,从库Libraries->CP PtP->CP341中调用发送程序块FB8和接收程序块FB7,然后再从OB1中删除。因为MODBUS从站通讯要用到这两个功能块。

2、调用MODBUS从站功能块FB80,位置在Libraries->Modbus->Modbus ->FB80。分配背景数据块DB80,将参数LADDR设为硬件组态中的起始逻辑地址256。

图14

2、调用MODBUS从站功能块,设置参数。

图15

LADDR

硬件组态中的起始逻辑地址,本例中为256

START_TIME

超时初始化定时器,本例中为T1

START_TIME

超时初始化时间值,本例中为1s

OB_MASK

外设访问错误屏蔽位,本例中为M100.0

CP_START

FB初始化始能位,本例中为M100.1

CP_START_FM

CP_START初始化的上升沿位,本例中为M100.2

CP_START_NDR

从CP写操作位,本例中为M100.3

CP_START_OK

初始化成功标志,本例中为M100.4

CP_START_ERROR

初始化失败标志,本例中为M100.5

ERROR_NR

错误号,本例中为MW102

ERROR_INFO

错误信息,本例中为MW104,可以查看Modbus Slave 手册第10章

 

3、创建FC03,06,16功能代码通讯数据块DB1。

图16

4、创建FC04功能代码通讯数据块DB2。

图17

设备连接

本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP341和计算机的串口,具体的电缆连接方法请查看CP341手册B章节连接电缆部分(见:手册、文档和软件链接部分)。

如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器。

通信测试

前面使用Step7 V5.5软件已经将通信CP341的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件Modscan32软件来测试CP341和计算机的通信,步骤如下

1、首先将硬件配置和程序下载到CPU315-2DP中。在计算机上打开MODBUS主站仿真软件Modscan32。

图18

2、点击Modscan32上的Connection->Connect,显示画面如下,选择计算机和CP341相连的COM口COM1,设好波特率,数据位,停止位,校验方式,如下图:

图19

3、设置完成,点击OK,显示画面如下。

图20

4、数据显示区的10个地址的数据对应CPU中DB1的前10个字(Word)的数值(DBW0–DBW10分别为1-10 ),如下图。

图21

5、其它数据的读取,只需更改访问的数据类型,此处不再介绍。

6、但要说明一下对于浮点数的显示,PLC中浮点数的高16位和低16位与Modscan32显示的相反,即PLC中浮点数的高16位对应Modscan32显示浮点数的低16位,PLC中浮点数的低16位对应Modscan32显示浮点数的高16位,可在程序中做一下处理,如下图:

图22

此时Modscan32显示的浮点数40001对应MD200的浮点数值,但MODBUS地址对应DB1.DBD0。

 

 

硬件列表

设备名称

设备型号

PS 307

6ES7 307-1EA01-0AA0

CPU 315-2PN/ DP

6ES7 315-2EH14-0AB0

MMC

6ES7 953-8LG30-0AA0

CP341

6ES7 341-1AH02-0AE0

Dongle

6ES7 870-1AB01-0YA0

 

应用CP341进行 MODBUS协议通信时需要有Dongle的支持。在使用之前先将Dongle安装在CP341模块的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下图所示。

图1

组态和配置

1、打开软件TIA PORTAL STEP7 V13,点击项目->新建...创建一新项目,项目名称为341_modbus_Slave。

图2

2、用鼠标点击“添加新设备”,选择SIMATIC S7-300->CPU->CPU 315-2PN/DP->6ES7 315-2EH14-0AB0。

图3

3、双击“设备组态”进入硬件组态界面,导轨RACK和CPU 315-2PN/DP已经存在,只需要插入PS307和CP341。

图4

4、双击CP341模板,进入CP341的属性框,配置CP341参数。

图5

5、在“协议”选项中选择“Modbus从站”。配置Modbus从站通信参数,设定的通信参数要和通讯伙伴的相同。传输率(通信波特率):9600bps,数据位:8位,停止位:1位,奇偶校验:无,从站站址:2,其他的参数都采用默认设置。

图6

6、FC01,05,15:读取、强制输出位的状态;分4个范围,每个范围前2行地址为信息传送地址,后2行对应西门子的PLC地址区,即第1范围从0~15对应MODBUS地址区为00001~00016,对应西门子数据区(标记F.)为M10.0~M11.7;第2范围从16~31对应MODBUS 地址区为00017~00032,对应西门子数据区(输出Q.)为Q0.0~Q1.7;第3范围从地址32~64对应Modbus 地址区为00033~00065,对应西门子数据区(时间T.)为T0~T1;第4范围从地址64~96对应Modbus 地址区为00065~00097,对应西门子数据区(计数器C.)为C0~C1。

图7

7、FC02:读取输入数据位的状态,分2个范围,每个范围前2行地址为信息传送地址,后2行对应西门子的PLC地址区,即第1范围从0~15对应MODBUS地址区为10001~10016,对应西门子数据区(标记F.)为M12.0~M13.7;第2范围从16~31对应MODBUS 地址区为10017~10032,对应西门子数据区(输入I.)为I0.0~I1.7。

图8

8、FC03、06、16:组态保持寄存器数据区,对应西门子数据区为DB块,即MODBUS保持寄存器地址区的地址40001,对应西门子DB块的地址DB10.DBW0,依次40002对应DB10.DBW2,往后依次类推。

图9

9、FC04:组态输入寄存器数据区,对应西门子数据区同样是DB块,即MODBUS输入寄存器地址区的地址30001,对应西门子DB块的地址DB11.DBW0,依次30002对应DB11.DBW2,往后依次类推。

图10

10、设置写参数的限制值,对写操作做访问限制。

图11

11、如果选用的是RS422/485接口的CP341时,还需要设置接口类型,如下图所示,其它参数与RS232的设置一样。

图12

编写通信程序

1、在设置功能码FC03、06、16中,创建DB10满足设置需要;在设置功能码FC04中,创建DB11满足设置需要。这2个数据块都创建1个数据类型Array的变量,数组元素的数据类型为Word,数量为101。

图13

2、进入主程序OB1,从通信->通信处理器->MODBUS Slave (RTU),调用功能块MODB_341,MODB_341的背景数据块为DB1。

图14

关于功能块MODB_341的管脚说明。

LADDR

硬件组态中的起始逻辑地址,本例中为256,见图15

START_TIMER

超时初始化定时器,本例中为T0

START_TIME

超时初始化时间值,本例中为S5t#1s

OB_MASK

外设访问错误屏蔽位,本例中为M200.0

CP_START

FB初始化始能位,该位需要置1。本例中为M200.1

CP_START_FM

CP_START初始化的上升沿位,本例中为M200.2

CP_START_NDR

从CP写操作位,本例中为M200.3

CP_START_OK

初始化成功标志,本例中为M200.4

CP_START_ERROR

初始化失败标志,本例中为M200.5

ERROR_NR

错误号,本例中为MW202

ERROR_INFO

错误信息,本例中为MW204,可以查看Modbus Slave 手册第10章

 

图15

设备连接

本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP341和计算机的串口,具体的电缆连接方法请查看CP341手册B章节连接电缆部分(见:手册、文档和软件链接部分)。

如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器。

通信测试

前面使用 TIA Step7 软件已经将通信CP341的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件Modscan32软件来测试CP341和计算机的通信,步骤如下

1、将项目程序在线,本示例中手动将M200.1(即:CP_START)置1,M200.2(即:CP_START_FM)和M200.4(即:CP_START_OK)也会为1。

图16

2、首先将硬件配置和程序下载到CPU315-2DP中。在计算机上打开MODBUS主站仿真软件Modscan32。

图17

3、点击Modscan32上的Connection->Connect,显示画面如下,选择计算机和CP341相连的COM口COM1,设好波特率,数据位,停止位,校验方式,如下图。

图18

4、设置完成,点击OK,显示画面如下。

图19

5、数据显示区的10个地址的数据对应CPU中DB10的前10个字(Word)的数值(DBW0–DBW10分别为1-10 ),如下图。给这10个字赋值1-10。

图20

6、Modscan32软件界面03功能码的地址40001-40010分别显示1-10的数据。

图21

 

 

Modbus RTU 协议的多站点轮询(CP341,RS485)

 硬件列表

 组态配置

 编程

 总结

硬件列表

设备名称 设备型号

PS 307

6ES7 307-1EA00-0AA0

CPU 315-2PN/DP

6ES7 315-2EH13-0AB0

MMC

6ES7 953-8LG11-0AA0

CP341

6ES7 341-1CH01-0AE0

Dongle

6ES7 870-1AA01-0YA0

注意:STEP7 V5.X软件上,必须安装如下软件包才可进行后续的组态配置。

PTP协议软件包:SIMATIC S7-CP PtP bbbbb V5.1+SP14

MODBUS主站驱动

MODBUS从站驱动

组态配置

1、组态CPU及CP341,如图1将CP341逻辑地址设为256。

图1

2、设置Modbus总线传输速率和帧字符结构

双击CP341->Parameters->Protocol中选择Modbus Master;双击信封Protocol,选择Modbus Master设置总线传输速率和帧字符结构以及,其它从站的设置必须和主站设置一致。如图,本例传输速率为9.6Kbit/s,帧字符1-8-e-1,即1位起始位,8位数据位,偶校验,1位停止位。

图2

3、设置电气接口

选择半双工RS 485,接收端初始状态按图3设置,各从站的接口电气标准应和主站一致,如图,具体配置步骤请参考手册《CP340/341/440/441通讯及编程》。

图3

编程

1、创建发送数据块DB1

如图,定义Modbus功能码03的数据格式,更多功能码格式参考手册《以用于 PtP CP MODBUS 协议 RTU 格式 S7 的 SIMATIC 可加载驱动程序为主站》

图4

2、创建接收数据DB

在此共建立了2个DB(DB4,DB5)分别存放来自两个从站的数据,每个DB分配了一个0~1000个字的整型数组如图。

图5

3、创建轮询功能块FC1

设置指令计数器(MW2),如图,本例中设置为2,即2两条指令。

图6

根据指令计数器值构造发送指令并指定接收缓冲区。如图,指令计数器数值为1,构造的发送指令为访问1号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB4,起始地址为0。

图7

如图,指令计数器数值为2,构造的发送指令为访问2号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB5,起始地址为2。

图8

为了实现数据发送和接收,FC1中还必须调用CP341发送FB8 和接收FB7 功能块。

图9

FB8参数说明表

SF

‘S’为发送,此处必须为大写的‘S’

LADDR

硬件组态中的起始逻辑地址,本例中为256

REQ

发送数据触发位,上升沿触发,本例中为M0.0

DB_NO

发送数据块号,本例中为1

DBB_NO

发送数据的起始地址,本例中为0

LEN

发送数据的长度,本例中为6

R_TYP

‘X’为扩展的数据块,此处必须为大写的‘X’

R

取消通讯,本例始终为初始值FALSE

DONE

发送完成位,无故障发送完成后为true,M0.1

ERROR

错误位,为true说明有错误,M0.2

STATUS

状态字,标识错误代码,查看Modbus Master和CP341手册

其它参数

查看在线帮助

 

图10

FB7参数说明表

LADDR

硬件组态中的起始逻辑地址,本例中为256

DB_NO

发送数据块号,本例中为MW4

DBB_NO

发送数据的起始地址,本例中为MW6

LEN

接收数据的长度

EN_R

使能接收位,本例中始终为TURE

R

取消通讯,本例始终为初始值FALSE

NDR

接收完成位,无故障接收完成后为true

ERROR

错误位,为true说明有错误

STATUS

状态字,标识错误代码,查看Modbus Master和CP341手册

其它参数

查看在线帮助

 

CP341 Modbus RTU主站轮询从站过程:以功能码03(Function Code 03)为例,正常情况下REQ(M0.0)检测到一个上升沿时,FB8启动发送作业,从站收到主站请求后发送响应数据,FB7将从站响应的数据送回给CPU处理,发送作业完成位DONE(M0.1)置位,同时指令计数器MW2加1,构造下条指令,传递到发送DB中(DB1.DBB0~DB1.DBB5),更新下一条指令的接收区地址(MW4,MW6)同时触发REQ上升沿,启动一个新的发送作业。

图11

同样以功能码03(Function Code 03)为例,在故障情况下,FB8发送功能无法完成,ERROR置位,那么判断该次发送作业失败,更新发送区地址和接收区地址启动下一个发送作业。如果FB8的DONE和ERROR由于某些故障都无法置位,那么通讯将处于死锁状态,所以在启动发送作业同时启动超时定时器t0(本例中超时定时器时间设为2100ms),即定时器计时结束时DONE或ERROR仍然没有置位,那么判断该次发送作业失败,更新发送区地址和接收区地址启动下一个发送作业。

如图所示,主站向Slave1发送请求指令,由于1号从站断线故障,从站没有收到主站请求,也无法返回主站需要的数据,当预设的从站响应时间t(如图11,t=2000ms)超时,发送功能块ERROR(M0.2)置位,主站判断本条指令失败,同时发起下一条指令作业(Function Code 03)访问Slave2,Slave2收到主站请求后,将响应数据返回给主站CP341,主站再通过FB7将从站接收到的数据保存到指定位置,发送功能块DONE(M0.1)置位,同时触发下一次发送作业。

图12

需要注意的是超时定时器时间(t0)必需大于预设的从站响应时间t,而预设的从站响应时间应大于等于主站发出请求到接收到从站响应数据的时间最大值(tn,n=1,2),即t0 > t ≥ Max(t1,t2),如图。

图13

4、在OB1中调用轮询功能块FC1

图14

总结

本文档所提供的例程适用于CP341作为Modbus主站轮询访问多个从站,根据实际需要构造不同功能码指令,可读写不同的从站的不同地址空间。本例对通讯故障时的处理方式是简单的放弃当前作业,并触发下一个作业,实际运用中可根据实际情况判断是否需要重发或进行其他故障处理。

 

 

串口通信故障诊断

如果串口通讯发生故障,为了能快速定位发生的所有错误, 可以通过以下常用方法诊断通信模块的故障:

 通过模块的指示灯进行诊断;

 通过功能块的 STATUS 输出进行诊断;

 通过模块的诊断缓冲区进行诊断;

模块指示灯

CP340/341/440/441 模块都有数据交换的指示灯:Txd和Rxd。

Txd(绿色):模块通过接口向外发送数据; Rxd(绿色):模块通过接口接收外部发来的数据;

故障指示灯各模块不相同,详细如下。

CP340/341模块的故障指示灯

组报警 SF 灯(红色常亮):组报警 LED SF 始终会在通电后亮起,在初始化后熄灭。 如果已为 CP340/341 生成了参数化数据,则 SF LED 会在重新参数化期间再次短暂亮起。

如果发生以下哪种情况,组报警 LED SF 都将亮起:

硬件故障; 固件错误; 参数分配出错或者不存在参数分配; 断路(模块和通讯伙伴之间的接收电缆断开)。

CP440/441模块的故障指示灯

组错误显示:

INTF(红色):内部错误; EXTF(红色):外部错误。

接口故障显示:

FAULT(红色):接口错误。

CP440 故障指示灯的错误消息,如图 1 所示。

图1 CP440 故障指示灯的错误消息

CP441 故障指示灯的错误消息,如图 2 所示。

图2 CP441 故障指示灯的错误消息

通信功能块的 STATUS 诊断信息

CP 340/CP341/CP440 通讯功能块的 STATUS 信息

FB 的 STATUS 输出:

功能块(CP340:P_SEND 和 P_RCV;CP341:P_SND_RK 和 P_RCV_RK;CP440:SEND_440 和 RECV_440)均有一个用于错误诊断的 STATUS 输出,读取功能块的 STATUS 输出就可以明了有关通讯期间发生的错误的信息, 可以在用户程序中解释 STATUS 输出。 模块还会将位于 STATUS 输出上的诊断事件输入至模块的诊断缓冲区。

注意:功能块的 STATUS、ERROR、DONE 和 NDR 等状态仅保持一个扫描周期,然后清零,需要客户编程读出判断。

STATUS 参数的结构,如图 3 所示:

图3 STATUS 参数的结构

CP340 功能块的 STATUS 事件类别和事件编号链接。

CP341 功能块的 STATUS 事件类别和事件编号链接。

CP440 功能块的 STATUS 事件类别和事件编号链接。

CP 441 通讯功能块的 STATUS 信息

SFB 的 STATUS 输出:

系统功能块(SFB12/SFB13)都有一个用于错误诊断的 STATUS 输出。 读取系统功能块的 STATUS 输出,就可以了解有关在 CP 441 和分配的 CPU 之间进行通讯时发生的错误的常规信息, 可以在用户程序中解释 STATUS 参数。

SFB12 的错误信息,如图 4 所示。

图4 SFB12 的错误信息

SFB13 的错误信息,如图 5 所示。

图5 SFB13 的错误信息

通信模块的诊断缓冲区

通讯模块有自己的诊断缓冲区,模块的所有诊断事件都按事件发生的顺序输入诊断缓冲区。

在诊断缓冲区中会显示以下内容:

模块的工作状态; 模块上的硬件/固件错误; 初始化和参数错误; 执行 CPU 请求期间出现的错误; 数据传输错误(接收和发送错误)。

模块的诊断缓冲区特点:

是环形缓冲,诊断缓冲区已满后,在其中生成新条目的同时会删除最老的条目,这样,最新条目始终在最顶部; 最多可容纳诊断条目(CP340/341:9个;CP440:10个;CP441:64个); 关闭电源或重新分配模块的参数,诊断缓冲区中的内容丢失。 湖南   西门子  6ES7902-3AB00-0AA0
Copyright ©2024 长沙玥励自动化设备有限公司 版权所有   技术支持:全球自贸通   访问量:81

咨询热线

13874941405
7*24小时服务热线

返回顶部