西门子PLC-Modbus数据交互
文章目录
- 1 需求应用
- 2 应用架构
- 2.1 应用架构
- 2.2 架构说明
- 3 应用举例
- 3.1 准备测试设备
- 3.2场景描述
- 3.3 测试设备参数
- 3.3.1 RFID参数配置:默认保持不变
- 3.3.2 MOXA参数配置:修改默认参数
- 3.3.3 SCAEdge参数配置
- 3.4 如何编写“Simatic_Modbus_TcpDX_Project.xml”文件
- 3.5 在10 s内,获取所需的““Simatic_Modbus_TcpDX_Project.xml””
- 4 联系我们
1 需求应用
在实现自动化控制中,常常会有这样的需求:在一个复杂的自动化产线调试项目中,在PLC执行到某个动作节点时候,要和单个/多个Modbus-RTU设备进行数据交互,希望有个快速工具能够实现PLC给一个触发信号,PLC内部数据就能立马写入Modbus-RTU设备中;或者PLC给一个触发信号,Modbus-RTU设备的数据就马上读到PLC中了。Simatic_Modbus_TcpDX能快速实现这个功能。
2 应用架构
2.1 应用架构
2.2 架构说明
- 串口服务器把RFID读头的RS485接口转成以太网口,并把SCAEdge与SIEMENS PLC接入同一个局域网络里面;
- 按照实际SIEMENS PLC的触发需求,在SCAEdge内部配置好;
- 启用Simatic_Modbus_TcpDX软件即可。
3 应用举例
3.1 准备测试设备
- RFID读头2个
- 记忆体2个(后续简称:“卡片、卡”)
- SIEMENS S7-200 SMART PLC 1个(IP:192.168.1.50)
- 2口的串口服务器(MOXA)1个
- SCAEdge 1个
- 5口交互机1个
- 24V电源模块1个
- 若干网线和导线
3.2场景描述
两个RFID读头固定在2个工位上:RFID1,RFID2;
每个读头对应一个卡片:卡1、卡2;
在现场加工过程中,卡1、卡2的位置会交替变换;
数据交互模式如下表所述:
MOXA的IP | RFID序号 | 功能 |
触 发 位 |
响 应 位 |
错 误 位 |
卡片 起始 地址 |
卡片长度 (1卡片长度 = 2个PLC字节) |
PLC地址范围 |
192.168.1.48 |
RFID 1 (MOXA Port1) |
读取RFID2写入数据 | 0.0 | 0.1 | 0.2 | 0 | 20 | VB160-VB199 |
把PLC数据→卡片 | 1.0 | 1.1 | 1.2 | 0 | 10 | VB100-VB119 | ||
清空卡片数据 | 2.0 | 2.1 | 2.2 | 0 | 20 | VB200-VB239 | ||
RFID 2 (MOXA Port2) |
读取RFID1写入数据 | 3.0 | 3.1 | 3.2 | 0 | 10 | VB120-VB139 | |
把PLC数据→卡片 | 4.0 | 4.1 | 4.2 | 10 | 10 | VB140-VB159 |
3.3 测试设备参数
3.3.1 RFID参数配置:默认保持不变
- Device Id:2
- Baud:115200bps
- Word:8
- Parit:NONE
- Stop:1
3.3.2 MOXA参数配置:修改默认参数
修改电脑IP,MOXA的默认IP:192.168.127.254 子网掩码:255.255.255.0。浏览器输入MOXA IP地址进行配置,初始密码:moxa
在“Network Settings",修改MOXA的默认IP,本手册选用IP:192.168.1.48
在“Serial Settings”,配置串口参数(根据RFID的基本参数)
在“Operating Settings”,配置MOXA工作模式“TCP Server Mode”。注:下图“Force transmit 建议设置成20ms”
保存退出,并重启。
3.3.3 SCAEdge参数配置
修改SCAEdge的IP地址,改成:192.168.1.49
把编写的配置文件“Simatic_Modbus_TcpDX_Project.xml”,下载到模块
- 打开SCAEdge的配置软件——EdgePlant
- 进入“边缘应用软件管理界面”,点击“安装”
- 选择安装目录“/opt/scapeak/Simatic_Modbus_TcpDX/”
- 找到本地PC上“Simatic_Modbus_TcpDX_Project.xml”所在位置
- 勾选“可执行、可注册”,开始安装
把Simatic_Modbus_TcpDX工功能添加开机自启
- 在“边缘应用软件管理——2.自动化控制”找到“Simatic_Modbus_TcpDX”软件名称
- 鼠标右键点击“添加开机启动”;
- 点击下“载配置”
- 下载成功,重启Edge模块。
3.4 如何编写“Simatic_Modbus_TcpDX_Project.xml”文件
新建一个TXT文本,重命名为“Simatic_Modbus_TcpDX_Project”,扩展名TXT改成xml
本案中,“Simatic_Modbus_TcpDX_Project.xml”内容如下:
<?xml version="1.0" encoding="UTF-8"?> <Simatic_Modbus_TcpDX><SimaticPLC Name="PLC50" IpAddr="192.168.1.50" DstTsap="" DBNo="1" Timeout="1000" Interval="10" Comment="SMART200" ><ModbusSlave Name="48-1" TcpServerIpAddr="192.168.1.48" TcpServerPort="4001" ModbusAddr="2" Timeout="1000" Comment="rfid scaner2"><Read Name="48-1R1" RequestBit="0.0" ResponseBit="0.1" ErrorBit="0.2" ModbusReg="holdreg" RegOffset="0" RegCount="20" SimaticAddr="160" /><Write Name="48-1W1" RequestBit="1.0" ResponseBit="1.1" ErrorBit="1.2" ModbusReg="holdreg" RegOffset="0" RegCount="10" SimaticAddr="100" /><Write Name="48-1W2" RequestBit="2.0" ResponseBit="2.1" ErrorBit="2.2" ModbusReg="holdreg" RegOffset="0" RegCount="20" SimaticAddr="200" /></ModbusSlave><ModbusSlave Name="48-2" TcpServerIpAddr="192.168.1.48" TcpServerPort="4002" ModbusAddr="2" Timeout="1000" Comment="rfid scaner2"><Read Name="48-2R1" RequestBit="3.0" ResponseBit="3.1" ErrorBit="3.2" ModbusReg="holdreg" RegOffset="0" RegCount="10" SimaticAddr="120" /><Write Name="48-2W1" RequestBit="4.0" ResponseBit="4.1" ErrorBit="4.2" ModbusReg="holdreg" RegOffset="10" RegCount="10" SimaticAddr="140" /></ModbusSlave></SimaticPLC> </Simatic_Modbus_TcpDX>
“Simatic_Modbus_TcpDX_Project.xml”文件说明(未说明部分为默认配置)
- PLC参数配置
<SimaticPLC Name="PLC+IP地址的最后1位" IpAddr="PLC的IP地址" DstTsap="" DBNo="DB的块好(V区=1)" Timeout="1000" Interval="10" Comment="SMART200" >
- 单个RFID读头的读写功能框架配置
<ModbusSlave Name="读头序号" TcpServerIpAddr="MOXA的IP地址" TcpServerPort="MOXA 的Port端口号" ModbusAddr="RFID的站地址" Timeout="1000" Comment="rfid scaner2">内部编写读写模式,参照下面2点`RFID读头的读模式 `RFID读头的写模式 </ModbusSlave>
- RFID读头的读模式
<!-- 读RFID操作定义,触发位(PLC置位请求读取数据),响应位(SCAEdge完成读取后置位1),错误位(SCAEdge读取失败置位1),读取的Modbus寄存器起始地址,读取寄存器个数,读取的数据存放到西门子PLC的起始地址(VB1001) --><Read Name="读头序号" RequestBit="触发位" ResponseBit="响应位" ErrorBit="错误位" ModbusReg="holdreg" RegOffset="卡片起始地址" RegCount="卡片长度" SimaticAddr="PLC起始地址" />
- RFID读头的写模式
<!-- 写RFID操作定义,触发位(PLC置位请求读取数据),响应位(SCAEdge完成读取后置位1),错误位(SCAEdge读取失败置位1),读取的Modbus寄存器起始地址,读取寄存器个数,读取的数据存放到西门子PLC的起始地址(VB1001) --><Write Name="读头序号" RequestBit="触发位" ResponseBit="响应位" ErrorBit="错误位" ModbusReg="holdreg" RegOffset="卡片起始地址" RegCount="卡片长度" SimaticAddr="PLC起始地址" />
参照整体配置文件,编写“Simatic_Modbus_TcpDX_Project.xml”
3.5 在10 s内,获取所需的““Simatic_Modbus_TcpDX_Project.xml””
根据案例需求,配置好“demo.xlsx”内容
可以问季工要xml文件生成工具,能够一键生成xml文件。
4 联系我们
拨打我们的24小时免费咨询热线:400-8544-418
发送电子邮件,咨询具体解决方案:support@scapeak.com
工作时间的咨询电话:0510-8591-5808,0510-8591-5898
西门子PLC-Modbus数据交互相关推荐
- plc tcp ip通讯怎么只能连一个客户端_如何远程读取西门子PLC数据?
随着工业的发展,PLC联网进行远程监控.远程运维的需求越来越多,通常是通过PLC的通信口外接一个联网模块来实现.很多企业自动化产品与非标自动化产品安装现场地处偏僻,没有网络怎么办?随着本地通信控制的局 ...
- thymealf如何实现传单个变量给html_如何远程读取西门子PLC数据?
随着工业的发展,PLC联网进行远程监控.远程运维的需求越来越多,通常是通过PLC的通信口外接一个联网模块来实现.很多企业自动化产品与非标自动化产品安装现场地处偏僻,没有网络怎么办?随着本地通信控制的局 ...
- ABB机器人:基于现场通信方式向西门子PLC发送实时位置数据的方法
本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注! 概述 在ABB机器人系统集成项目中,很多时候由于控制需求,我们需要对机器人的实时位置进行监控,这样就需要机 ...
- eplan单线原理图多线原理图_【原创分享】西门子PLC电路图高效设计——基于EPLAN与TIA Selection...
电气工程师在利用EPLAN软件进行PLC电路图项目绘制时,需要了解PLC的硬件组态及模块配置后,在EPLAN里建立PLC的模块数据及插入PLC的相关宏进行电气绘图等.相信各位做过相关项目绘图工作的小伙 ...
- 基于MThings配置MODBUS数据中常见的几种时间概念介绍(超时时间、间隔时间、轮询时间)
超时时间: 主机使用,主机请求发出后,依据该时间判定从机回复的最大时间范围,超出该时间后,主机判定请求超时.如果超时时间设置过小,从机可能会在超时时间范围外才能回复请求,此时可能会导致总线中持续的报文 ...
- ISM Web组态软件采集西门子PLC
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.西门子PLC 二.使用步骤 1.创建西门子 PLC S7模型 2.创建设备 总结 前言 本文详细讲述了ISM We ...
- s7 200 java_java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 gi ...
- Modbus 协议从站开发通信西门子 PLC
文章目录 1. Modbus 协议 1.1 传输模式:单工模式.全双工模式.半双工模式 1.2 广播模式.单播模式 1.3 Modbus 通信模式:ASCII.RTU 1.4 基本数据类型 2. 功能 ...
- C#读写三菱PLC和西门子PLC数据 使用TCP/IP 协议
本文将使用一个Github开源的组件库技术来读写三菱PLC和西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能 ...
- PROFINET转Modbus连接西门子PLC与汇川变频器
1 摘要 河南矿山一个工业自动化项目中,控制中心系统通过监控变频器不同的状态来控制变频器启停,设定变频器的运行速度进而控制电机.监控系统采用西门子1500系列PLC,支持PROFINET协议,变频器为 ...
最新文章
- 高校老师暑假狂补AI课背后:AI人才培养竞赛开跑
- 先睹为快:Visual Studio 11测试版已于2.29在微软官方网站正式发布
- oracle to_char FM099999
- php 正则表达式 x,php – 匹配x正则表达式或y正则表达式
- zbb20171108 tomcat 性能优化
- java获取文件夹 路径,Java获取文件的路径
- 8. 字符串转换整数 (atoi)(正则表达式)
- HTML页面加载顺序
- css字体库免费下载使用(带网址)
- rockchip的pwm驱动框架
- python 用列表筛选法求素数
- linux netcdf编译,Linux下安装Netcdf
- 关于账号的转换的一点经验Hive
- SV中program module
- 程序出现错误如何解决
- 如何在短时间内成为数据分析师
- Office2010安装步骤
- 火车头采集器向dedecms发布文章,使阅读权限为待审核稿件
- Java判断闰年,统计1900年后闰年数
- sql服务器图标在哪个文件夹,mysql安装图标在文件夹哪?
热门文章
- DB2数据库UTF-8字符集的汉字占3个字节
- CGAL笔记之凸包算法—3D凸包
- 给求职者提个醒,不要被无良公司骗了,关于“年终奖金”和“13/14薪制度“。...
- 调用mstsc命令_远程桌面命令是什么 如何使用命令连接远程桌面
- Fast-SCNN语义分割网络详解
- google play 上架应用程式
- BLOG系统设计文档
- android 11.0 屏蔽所有电话来电功能
- android 香港简体中文,android – 简体和繁体中文vs地区
- html5期末大作业:基于html+css+javascript+jquery+bootstarp响应式图书电商HTML模板网上书店(25页)...