西门子串口通讯09-CP341在博途环境中做Modbus从站通讯
v—x—公–众–号:工控自动化老王
1 硬件列表
设备名称 设备型号
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如下图所示。

2 组态和配置
1、打开软件TIA PORTAL STEP7 V13,点击项目->新建…创建一新项目,项目名称为341_modbus_Slave。

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

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

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

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

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

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

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

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

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

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

关于功能块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章

4 设备连接
本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP341和计算机的串口,具体的电缆连接方法请查看CP341手册B章节连接电缆部分(见:手册、文档和软件链接部分)。
如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器。
5 通信测试
前面使用 TIA Step7 软件已经将通信CP341的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件Modscan32软件来测试CP341和计算机的通信,步骤如下
1、将项目程序在线,本示例中手动将M200.1(即:CP_START)置1,M200.2(即:CP_START_FM)和M200.4(即:CP_START_OK)也会为1。

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

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

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

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

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

西门子串口通讯09-CP341在博途环境中做Modbus从站通讯相关推荐

  1. 西门子串口通讯06-CP441-2在TIA博途环境中做Modbus主站通讯

    西门子串口通讯-CP441-2在TIA博途环境中做Modbus主站通讯 v-x-公–众–号:工控自动化老王 CP441接口选型 CP441通讯模块可根据实际应用选择不同接口类型的子模块,从而实现与一个 ...

  2. 西门子串口通讯04-CP341在TIA博途环境中做Modbus主站通讯

    西门子串口通讯-CP341在TIA博途环境中做Modbus主站通讯 1.准备工作 应用CP341进行MODBUS协议通信时需要有Dongle的支持.在使用之前先将Dongle安装在CP341模块的背面 ...

  3. 西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯

    CP441-2 使用 TIA Step7 V13 进行 Modbus Slave 通讯 作者:工控自动化老王 关注同名V–X公//众//号:工控自动化老王获取更多技术文档及工控资源,交流.学习,另外老 ...

  4. 西门子串口通讯08-CP341在STEP7环境中做Modbus从站通讯

    西门子串口通讯08-CP341在STEP7环境中做Modbus从站通讯 v-x-公–众–号:工控自动化老王 1 硬件列表 设备名称 设备型号 PS 307 6ES7 307-1EA00-0AA0 CP ...

  5. 西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯

    西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯 v-x-公–众–号:工控自动化老王 2) CP441-2与调试软件测试通信数据 1 硬件列表 设备名称 设备型号 RACK- ...

  6. 西门子串口通讯05-CP441-2在Step7环境中做Modbus主站通讯

    西门子串口通讯05-CP441-2在Step7环境中做Modbus主站通讯 v-x---公–众--号:工控自动化老王 1.安装Dongle Dongle的安装位置参考下图 : 2 组态和配置 1.打开 ...

  7. 西门子博途梯形图写的Modbus RTU 程序

    西门子博途梯形图写的Modbus RTU 程序,实测可用,硬件为1200PLC加485信号板做主站控制支持485通讯的步进电机 梯形图源程序 编号:3119662717490406锦***信

  8. 西门子串口通讯03-CP341在Step7环境做Modbus主站通讯

    西门子串口通讯03-CP341在Step7环境做Modbus主站通讯 准备工作: 将Dongle插入CP341中,Dongle和插入Dongle前后的CP341如下图所示. 图1 组态和配置 1.打开 ...

  9. TIA西门子博途软件中如何让程序段自动显示注释?

    TIA西门子博途软件中如何让程序段自动显示注释? 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 1.打开TIA博途软件–项目视图,点击菜单栏中的& ...

最新文章

  1. 英文关键词计算tf-idf 余弦相似度_TFIDF原理与实践
  2. 【408预推免复习】计算机组成原理之计算机系统概论
  3. 我的第一个React Native App
  4. 【Python】洛谷 P1175_表达式的转换(逆波兰式、中缀表达式、后缀表达式、栈)
  5. easyui datagrid 中怎么选中所有页面的数据_学会这5个Excel中常用技巧,可以准时下班去摆摊了...
  6. 规则引擎 设计 git_引擎盖下的Git
  7. python把csv文件转换txt_Python实现txt文件转csv格式
  8. Python内置函数int()高级用法
  9. 如何使用Facebook广告为shopify商店引流
  10. php 框架源码分析,Laravel框架源码解析之模型Model原理与用法解析
  11. httpd 服务的两个节点的HA
  12. Unity网游开发生存指南—蒸汽之城
  13. 开发APP的费用是多少?
  14. chrome扩展——bilibili视频封面获取器
  15. java小练习---记账软件
  16. java实现 GeoHash 算法(GeoHash位数与距离对应关系)
  17. 大厂面试干货:面试官最喜欢pick什么样的候选人
  18. Docker中修改mysql容器端口映射
  19. 苹果系统虚拟机无usb服务器,苹果电脑Mac系统中VMware虚拟机无法识别USB Key如何解决...
  20. SAP中序时账导出操作过程指导

热门文章

  1. Taste of programmer——GAD
  2. G711编码原理及代码
  3. jquery 绘图工具 flot 学习笔记
  4. python猜拳小游戏代码200行左右_python简单小游戏代码,python简单小游戏代码200行...
  5. Java调用大数据接口,学习Hadoop第二十八课(java通过调用接口来操作HBase)
  6. 别道德绑架!妈妈带俩孩子坐地铁没人让座
  7. JSON串 转成 指定实体类对象( TypeReference<>() {} )
  8. 内向的程序员如何改变自己,试试摆地摊吧
  9. (十三)判断一个链表是否是回文结构
  10. 如何解决caffe和video-caffe不能使用cudnn8编译的问题