西门子s7-1200 modbus通信实例

来源:电工天下时间:2015-10-25 20:32:45 作者:老电工手机版>>

西门子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为负,一开始通信始终不正常,当查看仪表说明书时才发现。

项目中我使用的是Modbus-TCP通过PLC上PN接口与上位机进行通信,Modbus-TCP使用开放式用户通信连接作为Modbus通信路径。在S7-1200 PLC的库函数中嵌套了Modbus-TCP功能块库, 它包含了Server 和Client的库函数, 编程时可以直接调用该库函数可实现与上位机的Modbus-TCP通信。

在该系统应用中S7-1200 PLC作为 Modbus Tcp Server (服务器),调用 “MB_SERVER”指令处理Modbus-TCP客户机的连接请求、接收Modbus功能的请求并发送响应,设置连接ID、IP端口等参数,使用起来比较简单。

S7-1200 PLC作为网络的服务器端,上位机可以按需建立连接访问PLC的数据区,这样在上位机对多个换热站的PLC连接中不会占用太多的资源。前提是PLC必需要有固定的IP才行,如果是动态拨号连接上位机,PLC端就需要作为客户端,通过修改MODE管脚的值改变发送或接收状态,按照主机的请求来按需向主机发送数据或主动接收主机的改写数据就比较麻烦了。

在MODBUS通信协议项目应用中的心得体会,就是这些了。

相关文章
  • S7-1200基本指令:SR、RS用法指南

    S7-1200基本指令:SR、RS用法指南

    本文介绍了西门子S7-1200基本指令SR与RS的用法,置位/复位触发器SR,复位/置位触发器SR,以及s7-1200中置位/复位触发器的应用实例说明,供大家学习参考。

    时间:2022-03-18 06:21:00

  • 西门子s7-1200支持的传感器类型有哪些

    西门子s7-1200支持的传感器类型有哪些

    西门子s7-1200支持的传感器类型,在西门子plc s7-1200输入端,所支持的传感器类型,既有漏型也有源型。因此,在西门子s7-1200中,可以接npn传感器,也可以接pnp的传感器。

    时间:2020-04-23 09:33:31

  • 【图】西门子plc间网络通信的多种方式

    【图】西门子plc间网络通信的多种方式

    西门子plc间网络通信的多种方式,包括S7-300/400之间互连,采用PLC与PLC通过以太网访问,采用两块CP343-1互连等,winlc与plc互连,以WinLC与S7-300互连为例说明。

    时间:2020-02-21 10:55:33

  • 西门子S7-1200循环程序间接寻址图解

    西门子S7-1200循环程序间接寻址

    有关西门子S7-1200循环程序间接寻址的方法,循环程序的关键是间接寻址,西门子S7-1200的间接寻址离不开数组,程序段2用MOVE指令读取可变下标的数组元素值,用ADD指令累加。

    时间:2016-10-07 09:26:41

  • 西门子s7-1200与s7-1500指令的对比分析

    西门子s7-1200与s7-1500指令对比

    有关西门子s7-1200与s7-1500指令的比较,s7-1200和s7-1500的指令相互兼容,s7-1200是精简版的s7-1500,s7-1500和s7-1200均可使用梯形图,功能块图与结构化控制语言。

    时间:2015-12-18 14:51:12

  • 西门子S7-1200/1500指令的功能特点

    西门子S7-1200/1500指令

    有关西门子S7-1200/1500指令的功能特点,指令功能强大,指令分类合理,通过在指令中设置数据类型,将大量的指令合并为一条指令,不了解的朋友参考下。

    时间:2015-12-18 10:46:38

  • HMI与西门子S7-300 PLC DP端口间如何通信?

    西门子S7-300 PLC DP端口间通信

    HMI与西门子S7-300 PLC DP端口间的通信方式,西门子面板同PLC的DP口有两种通讯方式,分为常规通讯与直接键通讯,面板同PLC间进行S7通讯时,面板负责相关通讯事宜,PLC根据面板的请求返回相关数据。

    时间:2015-12-12 19:31:00

  • 【图】西门子s7-1200 s7通信特点及连接资源的方法

    西门子s7-1200 s7通信特点

    西门子s7-1200 s7通信特点,s7协议独立于西门子各种通讯总线,s7协议是由多种应用层协议组成,s7通信编程的方法,以及s7-1200 s7 通讯数据长度的相关知识。

    时间:2015-12-02 22:32:58

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有