天天看点

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

点击箭头处“工业之家”,选择“关注公众号”!

S7-200和威纶通触摸屏通信

我们这里以MT6070IH2和S7-200进行通讯,S7-200的通讯端口是一个9孔(famel)D型插头

针脚分布如下所示:

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

S7-200通讯端口(端口0)与威纶通触摸屏的通讯连接,如下图所示:

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

在缺省情况下S7-200的通讯端口是不支持Modbus协议的,要想实现Modbus通讯必需在PLC的主程序模块中调用Modbus通讯子程序。Modbus通讯子程序可以从“STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令库)”中获得。在安装了“STEP 7-Micro/WIN附件:指令库”后,在导航树“指令/库”下面我们可以找到“Modbus Protocol”。在其下面包含了MBUS_INIT和MBUS_SLAVE两个子程序,MBUS_INIT用于对Modbus通讯进行初始化,MBUS_SLAVE用于在指定端口上提供Modbus从站通讯服务。介绍如何在主程序中调相关子程序及环境参数设置:

调用Modbus通讯初始化命令

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

Mode:协议类型,1-Modbus协议;0-PPI协议。

Addr: PLC地址,1~247,。

Baud: 通讯波特率,1200、2400、4800、9600、19200、38400、57600或11520。

Parity: 校验方式,0-无校验;1-奇数校验;2-偶数校验。

Delay:信息结束超时时间,0~32767,有线连接设置为0即可。

MaxIQ:0~128,映射在离散输入寄存器或离散输出寄存器中的I或Q数。建议为:128。

MaxAI:0~32;映射在模拟输入寄存器中AIW数;CPU 221为0,CPU 222为16,CPU 224、226和226XM为32。

MaxHold:V内存映射在保持寄存器中的寄存器数。

HoldStart:V内存的映射时的起始地址。

Done:初始化指完成时,输出为开状态;开关量(Bit)。

Error:初始化错误代码,请参阅Modbus从机协议执行错误代码;输出为字节。

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

调用Modbus从机通讯命令

初始化完成后,就可以调用Modbus从机通讯命令(MBUS_SLAVE)了。通常Modbus从机通讯命令在主程序块的每个执行周期都要初执行(始终保持通讯状态),因为可以用一个常开量作为命令的触发条件,如:SM0.0。从导航树“指令/库/ Modbus Protocol”下面,将MBUS_SLAVE指令拖拽到主程序块中。调用过程如下图所示:

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

Done: 当MBUS_SLAVE指令响应对Modbus请求时,"Done"为开状态。没通讯请求时"Done"为关状态。

Error:指令执行结果。只有"Done"为开状态时,此状态有效。请参阅Modbus从机协议执行错误代码;输出为字节。

触摸屏EB8000软件的系统设置

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯
adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯
adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯
adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯
adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

我们可知西门子PLC与触摸屏通讯原则:

采用无线RS485 通信产品实现触摸屏、人机界面及 PLC 之间的无线通信,需要遵循以下原则,适合于无线通信的方式有三种:

(1) 采用自由串口协议,需要用户熟悉串口通信,会编程。

(2) 采用PPI 协议,不需要编程,只需要简单组态。但是对无线数据终端有特殊要求,普通产品无法满足PPI 协议要求,推荐采用DTD433M专用PPI 无线数据终端。

(3) 采用Modbus协议,开放协议,普遍使用,但需要编程或组态。

由于无线产品的实时速度不能满足MPI 协议和Profibus 协议,所以不合适无线通信。如果一定要这样做的话,建议:

(1) S7-300选择CPU 313C 2PTP ,CPU 314C 2PTP(点对点);

(2) 用S7-200 中转一下,S7-200 与S7-300 之间采用 MPI 协议或者Profibus 协议,S7-200与触摸屏之间PPI 连接。

分享转发到朋友圈,一起学习!

adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯

●一大波PLC工程及程序免费赠送啦!!

●PLC你真的知道他可以应用在哪些领域吗?

●“伺服”到底是什么意思?戳进来看看

●PLC软件系统常用编程语言

●PID调节是什么意思

●PLC顺序控制设计中步与动作是如何进行的?

●PLC控制系统的一般结构和故障类型

●三相异步电动机全压起动控制线路举例

●跳步、重复和循环序列PLC SFC编程方法

●如何用PLC实现步进电机的直接控制

●项目经验 | PLC工程师教你如何做好自动化项目

●数控机床控制用PLC编程的调试步骤

●多线程技术的PLC与PC的通讯方式

●串口通讯与MODBUS协议的介绍

●收藏向!新手必须掌握的几个梯形图

●提高PLC程序运行效率的编程方法

●用一个案例,教你PLC传送与比较指令用法

●PLC输入输出接线全解析!

●技术向 | 步进电机可以替代高成本伺服电机吗?

●PLC和DCS有什么区别?看完漫画你就懂了

●干货分享!PLC程序实例

●掌握这些让你对PID有深刻了解

●PLC程序加密解密的五大方法!!

●干货!常见的PLC程序实例详解,多级传送带控制

●传统PID算法解决不了的情况,应该怎么办?

●一样的串口,不一样的讲解

●触摸屏与PLC通讯不上?老师傅来告诉你怎么办

●伺服电机编码器如此安装,才可以减小故障

●组态王与三菱PLC的通信应用案例

●总结!伺服电机的三种控制方式和三个控制环

●整理!PLC输入输出各种回路接线

●关于PLC编程规范及建议,新手必备!

●模拟量传输为什么是4-20mA?

●干货!PLC程序必须掌握的循环扫描工作过程

●知识点!PLC间接寻址与直接寻址详解

●干货!PLC模拟量控制程序设计

●PLC编程时Word和int数据类型分不清楚?