加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595

SIEMENS湖南省西门子中国授权代理商-西门子变频器-西门子技术服务|西门子PLC模块

更新时间
2025-01-31 09:10:00
价格
请来电询价
变频器
西门子代理商
触摸屏
西门子一级代理
伺服电机
西门子一级总代理
联系电话
18126392341
联系手机
15267534595
联系人
梁涛
立即询价

详细介绍
CP341作从站(Slave)的Modbus RTU通讯(STEP7)

图片 硬件及软件列表

图片 组态和配置

图片 编写通信程序

图片 设备连接

图片 手册下载

硬件及软件列表

设备名称

设备型号

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 Param V5.1+SP14

MODBUS主站驱动

MODBUS从站驱动

组态和配置

1、打开上面创建的项目ptp,用鼠标右键点击项目名称,选择Insert New Object-> 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。

图片

图23


相关产品

联系方式

  • 电  话:18126392341
  • 联系人:梁涛
  • 手  机:15267534595
  • 微  信:15267534595