S7300 Modbus RTU通讯方法CP341作从站STEP.docx
- 文档编号:8583480
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:13
- 大小:563.52KB
S7300 Modbus RTU通讯方法CP341作从站STEP.docx
《S7300 Modbus RTU通讯方法CP341作从站STEP.docx》由会员分享,可在线阅读,更多相关《S7300 Modbus RTU通讯方法CP341作从站STEP.docx(13页珍藏版)》请在冰豆网上搜索。
S7300ModbusRTU通讯方法CP341作从站STEP
S7-300ModbusRTU通讯方法(CP341作从站)_STEP
硬件及软件列表
组态和配置
编写通信程序
设备连接
手册下载
硬件及软件列表
设备名称
设备型号
PS307
6ES7307-1EA00-0AA0
CPU315-2DP
6ES7315-2AG10-0AB0
MMC
6ES7953-8LG11-0AA0
CP341
6ES7341-1AH01-0AE0
Dongle
6ES7870-1AB01-0YA0
应用CP341进行MODBUS协议通信时需要有Dongle的支持。
在使用之前先将Dongle安装在CP341模块的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下图所示:
图1
注意:
STEP7V5.X软件上,必须安装如下软件包才可进行后续的组态配置。
PTP协议软件包:
SIMATICS7-CPPtPParamV5.1+SP14
MODBUS主站驱动
MODBUS从站驱动
组态和配置
1、打开上面创建的项目ptp,用鼠标右键点击项目名称,选择InsertNewObject->SIMATIC300Station,更改站的名称为CP341Modbus-S。
图2
2、双击Hardware进入硬件配置画面,插入RACK、CPU315-2DP、CP341。
图3
3、双击CP341模板,点击Parameter...,配置CP341参数。
在Protocol选项中选择MODBUSSlave。
图4
4、双击Protocol下的信封图标,配置MODBUSSlave参数,点击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会提示Driveralreadyexists,配置完成后点击“编译保存”按钮保存编译硬件组态,并确认没有错误。
图13
编写通信程序
1、将FB7,FB8添加到程序Blocks中,方法为双击OB1,打开OB1编程画面,从库Libraries->CPPtP->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,可以查看ModbusSlave手册第10章
3、创建FC03,06,16功能代码通讯数据块DB1。
图16
4、创建FC04功能代码通讯数据块DB2。
图17
设备连接
本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP341和计算机的串口,具体的电缆连接方法请查看CP341手册B章节连接电缆部分(见:
手册、文档和软件链接部分)。
如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器。
通信测试
前面使用Step7V5.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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7300 Modbus RTU通讯方法CP341作从站STEP RTU 通讯 方法 CP341 STEP