1200plc组态MODBUS
- 格式:doc
- 大小:98.00 KB
- 文档页数:2
西门子S7-1200 MODBUS通信的一个应用案例分享S7-1200 设计紧凑、组态灵活,TIA在库函数中嵌套了Modbus-RTU 和Modbus-TCP功能库,在做数据采集的项目中是非常好用的。
做过一个换热站设备运行监测的项目,需采集管网一次侧和二次侧的供水压力、温度以及ABB变频器的工作状态。
现场各类变送器已经接到了原有的智能仪表上,因此采用1200plc通过MODBUS-RTU 与现场智能仪表和变频器通信是比较经济的方案,并且可通过MODBUS-TCP与远程上位机通信。
智能仪表及变频器作为从站,只需在设定中选择Modbus-RTU通信协议并且为设备分配不重复的站地址即可。
1200 PLC作为主站必须配备RS485通信模块,其通信的基本原理是:首先程序开始运行时,调用一次Modbus 库中的功能块MB_COMM_LOAD来组态RS485模块上的端口;其次调用库中的功能块MB_MASTER作为Modbus 主站与设备开展通信。
1200PLC作为主站通信是由DATA_ADDR(从站中的起始Modbus地址)和MODE(读、写、诊断模式)参数一起确定实际Modbus消息中使用的功能代码。
DATA_PTR(数据指针)指向要写入或读取的数据的CPU DB 地址,该DB必须为“非仅符号访问”DB类型。
在TIA V12以上平台中,将该DB属性中的“优化的块访问”选项取消。
PLC主站发送带有站地址标识的数据来寻址不同的从站,同时不同的从站通过响应带有站地址标识的数据给主站,以完成整个通信过程。
这种轮询通信,可以根据发送和接收完成的标志来完成,也可以以固定的时间间隔开展轮询,实际应用时需要考虑CPU的性能以及轮循Modbus子站时间。
程序编好后先用MODBUS调试工具测试一下,正常后再开始接线。
在接线时遇到一个小插曲:PLC及变频器的485接线端子B为正,A为负,很多厂家仪表的485接线端子是A为正,B为负,一开始通信始终不正常,当查看仪表说明书时才发现。
S71200 CB1241模块Modbus RTU通讯应用一、模块介绍CB1241RS485可允许S71200 CPU通过该模块连接到别的Modbus设备,实现S71200 ModbusRTU主站通讯功能。
CB1241 RS485模块还支持USS、点对点PtP等通讯连接。
该模块外型如下图所示。
CB1241 RS485模块所配接线端子及使用时接线如下所示:二、组态介绍本例以S71200 CPU1215DC/DC V4.0 CPU安装CB1241RS485模块带两台CT Uni-SP驱动器为例介绍。
例子组态图1、打开TIA V13软件,新建项目,指定项目名及存储路径。
点击“左侧资源管理器窗口”中的“添加新设备”选择添加CPU类型。
本例选择S71200 1215DC/DC CPU,从窗口右侧硬件列表中将选择CPU型号及硬件版本,然后拖入1号插槽中完成CPU添加。
然后在右侧硬件列表中选择“通讯板”---“point to point”下选择CB1241,选择固件版本,然后拖入CPU 模块上唯一的CB插槽完成硬件添加。
同时设置CPU以太网口IP地址、CPU其它相关参数。
2、连接通讯线。
SP端接线图三、编程及编译下载。
1、编程。
TIA软件中包含S71200 modbusRTU主站通讯程序包,应用时只需正确调用并设置参数即可。
TIA库中ModbusRTU包含三条指令(Modbus_Comm_Load、Modbus_Master、Modbus_Slave),CB1241 ModbusRTU主站通讯使用“Modbus_Comm_Load”和“Modbus_Master”两个通讯块。
其中“Modbus_Comm_Load”块只需调用一次对Modbus 通讯端口进行初始化,通常在首次扫描时执行即可。
“Modbus_Master”块用于主站读写从站模块的寄存器数据。
在窗口左侧项目列表中选择“程序块”—“添加程序”添加一个FC块和两个全局DB 块,FC块编写通讯程序,DB块分别存储两台驱动器写入和读取的数据。
如何通过Modbus协议实现S7-1200与S7-200通讯文献西门子S7-1200紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与Modbus仪表(扫描枪、打印机等设备进行通讯。
因为没有第三方Modbus仪表,这里就以S7-200作为第三方的仪表为例介绍Modbus通讯。
1. 控制系统原理图i:通讯系统原理2. 硬件需求S7-1200 PLC目前有3种类型的CPU:1) S7-1211C CPU.2) S7-1212C CPU.3) S7-1214C CPU.这三种类型的CPU最多都可以连接三个串口通信模版。
本例中使用的PLC硬件为:1) PM1207 电源(6EP1 332-1SH71 )2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )3) CM1241 RS485 ( 6ES7 241 -1CH30 -0XB0 )4) CPU224XP (6ES7 214-2AD23-0XB0)3. 软件需求1) 编程软件Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)2) 编程软件STEP 7 MicroWIN ; Modbus库软件选项包我们通过下述的实际操作来介绍如何在Step7 Basic V10.5中组态S7-1214C和S7-200的Modbus通信4. 组态4.1 S7-1200作Modbus 主站,S7-200作Modbus 从站S7-1200作为Modbus主站的配置步骤如下:点击桌面上的“Totally Integrated Automation Portal V10图标,打开如下图:Taldtlly Intr-qi dTr-rl AulcimdiEi-wrip“j■貝HiqiFJEr piaftnI to ・ f 1 Lirtit ProjE-cL virw图2:新建S7 -1200项目首先需要选择“Create new projec选项,然后在“Project name里输入Modbus_Master;在“Path ”修改项目的存储路径为“C”;点击“Create”这样就创建了一个文件Modbus的新项目。
S7-1200 作为Modbus RTU 主站S7-1200 支持Modbus RTU通信模式的模块可作为Modbus RTU主站。
以下以CPU1215C DC/DC/DC和CM1241 RS485 模块为例,介绍S7-1200 Modbus RTU 主站通信组态及编程步骤。
硬件和软件需求及所完成的通信任务:硬件:①CPU1215C DC/DC/DC (订货号:6ES7 215-1AG31-0XB0)②CM1241 RS485 (订货号:6ES7 241-1CH30-0XB0)③PS 307电源(订货号:6ES7307-1KA02-0AA0)④PC(带以太网卡)⑤TP以太网电缆软件:①STEP 7 Professional V11 SP2 UPD4+HSP②ModSim(该软件是第三方软件,可以从Internet 网络下载)所完成的通信任务:将Modbus RTU从站ModSim中Modbus地址从40001开始的5个字中的数据,分别读取到Modbus RTU主站CPU1215C 中地址从DB1.DBW0开始的5 个字中。
1.组态Modbus RTU 通信模块在硬件目录里找到“通信模块”→“点到点”→“CM1241(RS485)”,双击或拖拽此模块至CPU左侧即可,如下图1所示:图1 组态通信模块接下来,在“设备视图”中用鼠标选中CM1241(RS485)模块,在“属性”→“端口组态”中配置此模块硬件接口参数。
如下图2所示:以下以传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1,其它保持默认设置为例。
图2 RS485 端口设置最后在“硬件标识符”里确认一下硬件标识符为271,如下图3所示:图3 硬件标识符2.添加启动OB在项目树下选择“CPU1215C DC/DC/DC”→“程序块”→“添加新块”,在弹出的窗口中选择“OB 组织块”→ “Startup”,添加启动OB 100,如下图4所示:图4 添加启动OB3.调用MB_COMM_LOAD指令为使端口一启动就被设置为Modbus RTU通信模式,可在OB 100中调用“MB_COMM_LOAD”指令。
S7-1200PLC与汇川四轴机器人MODBUS-TCP通讯
四轴机器人
一:用二次开发工具(详见机器人刷机篇)设定机器人的物理地址对应关系,十进制物理地址50000-50007连续8个整数字对应机器人R0-R7连续8个整数字,十进制物理地址32768-32775连续8个整数字对应机器人R224-R231连续8个整数字。
二:登录四轴机器人管理权限密码“000000”,设定机器人的IP地址为192.168.1.11。
西门子S7-1200PLC
编写PLC读写四轴机器人数据的程序步骤如下
一:组态硬件如下图所示
双击PLC硬件,设定“系统和时钟存储器”如下图所示
二:添加新数据块1如下图所示:
右键数据块→属性→属性→去掉“优化的块访问”的“√”,如下图所示
同理,新建数据块2如下图所示
三:编写程序如下图所示
选择通信→其他→MODBUS-TCP→MB_CLIENT(通过PROFINET通讯,作为Modbus TCP客户端。
填写各参数后编程如下所示
读取机器人物理地址50000-50007(R0-R7)连续8个整数字的数据,存放到PLC变量DB3.DBB0开始的连续8个整数字里。
将PLC的变量DB4.DBB0开始的连续8个整数字的数据,写入到机器人的十进制物理地址32768-32775(R224-R231)连续8个整数字。
注意:1:读写指令调用的数据背景块要是同一个数据块,
否则通讯不上。
2:其中CONNECT 参数在之前要先建立数据块
建立数据块3的数据类型为TCON_IP_v4,详细参数如下图所示(详细见编程软件指令帮助)
四:数据监控测试
程序编写完成后下载进PLC,运行变量表,监控数据变化。
S7-1200PLC与汇川四轴机器人MODBUS-TCP通讯
四轴机器人
一:用二次开发工具(详见机器人刷机篇)设定机器人的物理地址对应关系,十进制物理地址50000-50007连续8个整数字对应机器人R0-R7连续8个整数字,十进制物理地址32768-32775连续8个整数字对应机器人R224-R231连续8个整数字。
二:登录四轴机器人管理权限密码“000000”,设定机器人的IP地址为192.168.1.11。
西门子S7-1200PLC
编写PLC读写四轴机器人数据的程序步骤如下
一:组态硬件如下图所示
双击PLC硬件,设定“系统和时钟存储器”如下图所示
二:添加新数据块1如下图所示:
右键数据块→属性→属性→去掉“优化的块访问”的“√”,如下图所示
同理,新建数据块2如下图所示
三:编写程序如下图所示
选择通信→其他→MODBUS-TCP→MB_CLIENT(通过PROFINET通讯,作为Modbus TCP客户端。
填写各参数后编程如下所示
读取机器人物理地址50000-50007(R0-R7)连续8个整数字的数据,存放到PLC变量DB3.DBB0开始的连续8个整数字里。
将PLC的变量DB4.DBB0开始的连续8个整数字的数据,写入到机器人的十进制物理地址32768-32775(R224-R231)连续8个整数字。
注意:1:读写指令调用的数据背景块要是同一个数据块,
否则通讯不上。
2:其中CONNECT 参数在之前要先建立数据块
建立数据块3的数据类型为TCON_IP_v4,详细参数如下图所示(详细见编程软件指令帮助)
四:数据监控测试
程序编写完成后下载进PLC,运行变量表,监控数据变化。
s7-1200plc的modbustcp通信分析西门子S7-1200 PLC是一种高级控制器,可用于控制和监控各种工业过程。
它支持多种通信协议,其中包括Modbus TCP。
Modbus TCP是一种通信协议,用于在工业自动化系统中传输数据。
S7-1200 PLC通过Modbus TCP与其他设备进行通信,例如传感器、执行器或其他PLC。
在Modbus TCP通信中,PLC可以充当Modbus TCP客户端或服务器。
客户端将发送请求并接收响应,而服务器将接收请求并返回响应。
在进行Modbus TCP通信之前,首先需要配置PLC的网络设置。
这包括IP地址、子网掩码和网关地址。
确保与其他设备在相同的网络上,并确保其IP地址在网络范围之内。
在PLC中,需要创建一个Modbus TCP通信模块。
在该模块中,可以定义与其他设备之间的通信参数,例如IP地址和端口号。
还可以定义要发送和接收的数据类型和数据量。
PLC还需要定义Modbus TCP请求和响应。
请求通常包括读取或写入数据的目标设备地址、数据类型和数据长度。
响应包括返回的数据。
在PLC中发送Modbus TCP请求时,首先需要建立与目标设备的连接。
然后,将请求发送到目标设备的IP地址和端口号。
目标设备将接收到的请求进行处理,并返回响应。
在PLC中接收Modbus TCP响应时,首先需要检查响应的状态。
如果响应正常,则可以提取所需的数据。
如果响应错误,则需要进行适当的处理。
在进行Modbus TCP通信时,还需要注意数据的顺序。
有两种顺序可供选择:Big-Endian(大端)和Little-Endian(小端)。
确保在PLC和其他设备之间选择相同的顺序,以确保数据的正确传输和解释。
西门子S7-1200 PLC通过Modbus TCP实现与其他设备的通信。
在进行通信之前,需要配置网络设置和创建通信模块。
然后,可以通过发送请求和接收响应来进行通信。
为保证通信的正常进行,需要注意数据顺序和处理响应的状态。
一步步教你Modbus通讯,再不会就真的没办法了!
本文将介绍S7-1200PLC和V20变频器的Modbus通讯详细步骤。
1.找一台带有RS485通讯模块的S7-1200PLC和一台V20变频器。
2.将RS485模块与V20变频器相连,接线的方法是红色线接P+,绿色线接N-。
3.设置V20的变频器参数。
4.创建博途项目并上传S7-1200PLC的硬件组态。
5.设置RS485模块的参数,模块的通讯参数要与V20设置的通讯参数要一致,我这里设置的是9600,8,偶。
6.添加Modbus通讯指令。
7.修改初始化指令背景DB里的mode参数为4。
8.程序测试,电机正常启动停止,其中modbus地址为40100的地址为命令源,047E为停止,047F为正转,0C7F为反转,地址为40100的地址为频率源,16#0-16#4000对应0Hz-50Hz。
9.可以通过观察模块的通讯指示灯可以观察通讯是否成功,如果TX,RX交替闪烁即为通讯成功。
西门子S7-1200PLCModbus通信控制变频器电气工程师项目设计流程:一个项目中,电气工程师要做的设计思路西门子S7-1200/1500PLC的结构化程序编程模式/套路PLC定位控制基础:电子齿轮比对脉冲当量和电机转速的调整作用伺服、步进电机定位控制十条基础知识步进电动机与交流伺服电动机的性能比较,来看看跟你知道的一样吗?怎样用软件进行交流伺服驱动器的增益自动调整?变频器的常见故障诊断与处理,码了五千字,一篇文章搞定变频器的种类多种多样,根据负载特性怎么选择变频器呢?模拟量标定与标定变换是什么意思?你可能不知道,掌握一个公式,确实很简单电工最基础、最核心的知识是掌握电的回路(九):二次控制回路怎么让两台伺服电机比例同步运行?伺服驱动器要做哪些设置?福利:告诉你一个工控人收入翻倍的秘密!福利:这家维修电工兼职赚钱平台,喊您来领红包!西门子S7-1200PLC Modbus通信控制变频器通信协议是设备与设备之间进行数据交换的一种机器格式语言,参考:《PLC通信基础知识》。
Modbus通信协议是Modicon公司(现被施耐德电气公司收购)提出的一种报文(通信)传输协议,由于它的开放性且无版权要求(免费使用),发展迅速,已经成为一种通用的工业标准,现在较多的工控产品支持它。
▼通信协议格式期待更多的设备使用中国的EPA实时以太网通信。
由于大多数Modbus设备通信通过串口RS-485物理层进行,即Modbus RTU(紧凑)和Modbus ASCII(冗长),这两种通信不是实时通信,通信数据存在时间的快速响应问题,不适合要求快速响应的场合,如伺服电机的精确控制。
但是,它应用在变频器的控制场合、模拟量的控制场合,还是比较经济的。
要控制变频器的运行,变频器的说明书少不了,不同的变频器通信协议的参数地址表示方法不一样。
如台达变频器VFD-M的MODBUS通信协议参数地址定义:▼通信协议参数地址定义因一个4位的16进制数,可以表示16个bit位,每4个位组成一位16进制数。
摘要:modbus-tcp是运行在tcp/ip上的modbus传输协议。
应用modbus-tcp构建的工业太网络具有组网简单,通信高效、稳定的特点,因而在工业工程中得到了较多的应用。
该文以modebus-tcp通信在全国工业机器人技术大赛中的具体应用为例,详细阐述了modebus-tcp 在以西门子自动化设备为基础的工业工程中的一般用法。
关键词:tia portal;modbus-tcp;s7-1200 plc前言西门子tia portal全集成自动化软件是业内首个采用统一工程组态和软件项目环境的自动化软件,适用于西门子所有自动化工程任务,功能非常强大。
目前,国内还在广泛使用的西门子早期产品s7-200 plc系列不能在该系统平台上应用。
随着西门子s7-1200 plc逐渐替代s7-200,tia portal软件系统必将在国内得到广泛使用。
modbus-tcp协议是运行在tcp/ip上的modbus报文传输协议。
通过此协议,控制器相互之间可以通过工业以太网和其他设备之间通信。
互联网编号分配管理机构给协议赋予的tcp 编口号为502。
在全国工业机器人技术大赛系统中使用的plc为s7-1200系列,因此必需用tia portal软件来为硬件组态及进行系统程序开发和调试。
系统中s7-1200 plc为modbustcp server,调用“mb_server”指令处理客户机的连接请求、接收modbus功能的请求并发送响应。
1 工业机器人技术大赛系统简介该系统由工业机器人、agv小车、生产流水线、视觉识别单元、立体库、码垛机、控制柜等设备组成。
主控plc安装在控制柜中,采用西门子1215c dc/dc/dc型s7-1200 plc,扩展了3个i/o模块。
与主控plc安装在一起的还有一个思博康8口导轨式非网管型工业以太网交换机。
系统中的s7-1200 plc、工业机器人单元、视觉识别单元均支持modbus-tcp通信协议,设备上都带有rj45连接口。