1 引言

Modbus 协议是法国施耐德公司推出的一个全开放的“主从式(Master/Slave)”通讯协议,其本意在于实现上位机(主设备)对PLC(从设备)内部存储区域的“直接”读写操作,无需用户对PLC进行通讯编程。随着工业自动化技术的不断发展,Modbus协议现已不仅仅局限于应用在PLC/上位机之间的通讯上,许多智能仪表厂商也纷纷采用该协议作为自己产品的通讯协议。与此同时,PLC也由以前单纯的I/O控制发展成为集控制、数据采集、通讯为一身,在越来越多的自动化工程中,PLC需要取代上位机,作为“主设备”来完成与智能仪表或其它支持该协议的PLC的通讯。针对这一情况,施耐德公司在其编程软件Concept2.2+补丁程序Service Release2中增加了一条功能强大的通讯指令XXMIT。通过该指令,用户可以将施耐德Modicon系列PLC上的原Modbus Slave通讯口作为Modbus Master口或标准串口来使用,大大扩展了Modicon系列PLC的通讯功能。本文将结合实例对该指令的Modbus Master使用方法做一些介绍,以供广大过程技术人员参考。

2 XXMIT指令基本参数介绍

2.1 基本参数概述

基本参数列表

2.2 重要参数说明

2.2.1 Command参数

该参数的16个为位用于设置通讯口的不同工作方式[page]

Bit1-Bit4: 使用Modem时需设定的相关参数

Bit5: 是否使用XON/XOFF流控制。设为1时表示使用XON/XOFF流控制

Bit6: 是否使用RTS/CTS握手信号。设为1时表示允许使用RTS/CTS信号

Bit7: 是否清除“Back Space”字符。设为1时表示在“Simple ASCII Input”和“Terminated

ASCII Input”模式下,清除MsgIn中的“Back Space”字符

Bit8: 是否接管通讯口FIFO缓冲区。设为1时表示XXMIT指令接管通讯口FIFO缓冲区的控制

Bit9: 是否启用Modbus模式。设为1时表示通讯口工作在Modbus Master模式下

Bit10: 是否启用标准串口模式。设我1时表示通讯口工作在标准串口模式下

注:Bit9,Bit10不能同时设为1

Bit11: 是否启用“Simple ASCII Input”模式,设为1时表示启用

Bit12: 是否启用“Terminated ASCII Input”模式,设为1时表示启用

Bit13: 不用

Bit14: 是否启用RS485模式。设为1时表示启用。只有在使用Modicon Momentum系列PLC时,该位才设为1

Bit15: 是否启用RTS/CTS Modem控制。设为1时表示启用

Bit16: 不用

2.2.2 Msgout参数

该参数中存放需发送的字符或数据。通常在Concept中用一个WORD型数组来给该参数赋值。当通讯口工作在Modbus Master模式下时,需按Modbus RTU的格式来给该参数赋值,但不含CRC校验值,具体的格式见下表

2.2.3 Port参数

只要使用Modicon Momentum系列PLC时,该参数才被设为2,否则该参数的值都被设定为1,表示用Port1进行通讯。

3 实例

下面的例子为笔者在西宁寺沟口水电厂机组监控项目中,用Modicon Compact PLC与MP6000智能功率仪表通讯的程序,基此来对XXMIT指令的使用做更进一步的说明。

3.1 工程要求

通过PLC从MP6000智能仪表中读取机组当前的有功功率、无功功率等数据。

3.2 硬件情况:

PLC: 施耐德Modicon Compact系列PLC,CPU型号为TSX PC-E984-265

智能仪表:MP6000功率表

通讯协议:Modbus协议

3.3 软件情况:

PLC编程软件:Concept2.2+Service Release2

编程方式:ST文本编程

MP6000的数据区情况:把MP6000仪表中从第一个地址开始的64个数据读出来

PLC的数据区:从MP6000读出的数据写入PLC 40031开始的64个寄存器中[page]

3.4 程序:

VAR

XXMIT_MB : XXMIT;

SET_CMD : SET_BIT;

END_VAR

SET_CMD (IN := 1,(* BOOL*)

NO :=9 (* UINT*)); (*把Command参数的bit9置1,让通讯口工作在Modbus Master模式下*)

XXMIT_CMD:=SET_CMD.RES;

XXMIT_MSGOUT[1]:=3; (***MODBUS功能码 ***)

XXMIT_MSGOUT[2]:=64; (***需从MP6000中读取的寄存器的数量 ***)

XXMIT_MSGOUT[3]:=5; (***MP6000的地址***)

XXMIT_MSGOUT[4]:=1; (***MP6000中数据的起始地址***)

XXMIT_MSGOUT[5]:=31; (***将读取的数据写入PLC从40031开始的64个寄存器中 ***)

XXMIT_MB (Start :=1, (* BOOL *)

Command :=XXMIT_CMD , (* WORD *)

MsgOut :=XXMIT_MSGOUT , (* ANY *)

MsgLen :=5 , (* INT *)

Port :=1 , (* BYTE *)

Baudrate :=9600 , (* INT *)

Databits :=8 , (* BYTE *)

Stopbits :=1 , (* BYTE *)

Parity :=2 , (* BYTE *)

RespTout :=1000 , (* INT *)

RetryLmt :=20 , (* INT *)

StartDly :=0, (* INT *)

EndDly :=0 (* INT *));

参考文献:

1、 宋德玉.可编程控制器原理及应用系统设计.北京:冶金工业出版社,1999

2、 曾繁泰等.可编程器件应用导论.北京:清华大学出版社,2001

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

plc通讯的握手信号_基于Modbus协议实现PLC与智能仪表的通讯相关推荐

  1. rs485与modbus流程图_基于Modbus协议的RS485总线通讯机设计原理及应用

    摘要:该文详细论述了基于Modbus协议的RS485总线通讯机设计原理及应用.物理结构上包括上位机.主站.和多个从站节点.在上位机与各从站节点间增加主站,承担上位机的轮询工作,使上位机从繁忙的通信工作 ...

  2. plc通讯的握手信号_介绍MES与PLC集成时的几种握手方式及特点

    在汽车制造行业,MES与设备层有深入的集成,而PLC集成是最主流的形式.本文主要介绍MES与PLC集成时的几种握手方式及特点. 方式1:定期抓取数据 某些设备的关键工艺参数(如变速器轴齿热处理炉的温度 ...

  3. 基于.net 基于ModBus协议的PLC设备数据采集(单片机,研华6017设备)

    1.场景 项目上需要对一些工厂设备状态进行实时状态分析,生成折线图并报警等. 设备外面一般都接入了处理模块(单片机,6017等)(相当于网关设备),对信号进行转化,由网线接出,可进行采集. 2.程序 ...

  4. C#上位机基础学习_基于SOCKET实现与PLC服务器的TCP通信(二)

    C#上位机基础学习_基于SOCKET实现与PLC服务器的TCP通信(二) 测试软件: TIA PORTAL V15.1 S7-PLCSIM ADVANCED V3.0 Visual Studio 20 ...

  5. 基于MODBUS协议的单片机与(串口屏)触摸屏通信(图文)

    基于MODBUS协议的单片机与(串口屏)触摸屏通信(图文) 导读:触摸屏能够直观.生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好.触摸屏和单片机通信,需要根据触 ...

  6. C#实现Modbus协议与PLC通信

    项目需要用C#写一个上位机,用Modbus/TCP协议与PLC通信,控制伺服电机的启停.转速等.D:\Code\C#\ConsoleApp1 1. 获取PLC的IP地址 待续... 2. " ...

  7. 基于Modbus协议的C#串口工具开发

    (Tips:本人纯萌新小白一枚,文章只为记录自己的编程历史,温故而知新,能帮助到大家倍感荣幸,有错误的地方劳烦指点!) 不多废话直接进入主题! 本文旨在基于Modbus协议.C#开发语言进行串口工具的 ...

  8. plc通讯的握手信号_MES与PLC握手的几种方式-控制器/处理器-与非网

    在汽车制造行业,MES 与设备层有深入的集成,而 PLC 集成是最主流的形式. 本文主要介绍MES 与PLC 集成时的几种握手方式及特点. 1 定期抓取数据 某些设备的关键工艺参数(如变速器轴齿热处理 ...

  9. 基于modbus协议的工业自动化网络规范_工控学堂:解读Modbus通讯协议「宜收藏」...

    作为工控人,Modbus通讯协议想必都不陌生,Modbus通讯协议可以说是工业自动化领域应用最为广泛的通讯协议,因为他的开放性.可扩充性和标准化使他成为通用工业标准. 1979年施耐德电气制定了一个用 ...

最新文章

  1. linux shell 查找某字符串 在文件的行数
  2. 算法提高课-图论-单源最短路的建图方式-AcWing 920. 最优乘车:bfs求最短路、建图
  3. TF之pix2pix之dataset:基于TF利用自己的数据集训练pix2pix模型之DIY自己的数据集
  4. MySQL5.6 yum安装
  5. GCPC2017 题解
  6. 方法超出 android,Android工程方法数超过64k,The number of method references in a .dex file cannot exceed 64K....
  7. 【计算机组成原理】第1章 计算机系统概论
  8. C#代码执行中等待10秒
  9. java executor_Java并发编程73道面试题及答案——面试稳了
  10. 使用uni-app开发App简易教程
  11. 二倍图三倍图什么意思_ios切图(一倍图+二倍图+三倍图)
  12. 基于数据挖掘技术的客户保有应用研究
  13. C++ Primer Plus 学习笔记(十一)
  14. 【总结思考】如何提高项目的稳定性和开发效率
  15. Cesium for UE4 4.27 demo实现代码
  16. 4.输入10个字符,统计里面大写英文的个数
  17. 网站url生成二维码
  18. 小车红外线自主充电方案-2
  19. 二维平面多点电荷电力线与等位面及三维空间多点电荷电力线的计算机仿真
  20. 致敬最美逆行者网页设计作品 大学生抗疫感动专题网页设计作业模板 疫情感动人物静态HTML网页模板下载

热门文章

  1. 基于opencv2的斗地主记牌器(python)
  2. 伺服控制-canopen
  3. HDFS数据的读写过程
  4. IAT:实时完成暗光增强, 曝光矫正的超轻量级Transformer网络
  5. JS-对象/Date 日期对象/返回/设置年份方法/返回星期方法/返回(/设置)时间方法
  6. 从“ACE交通引擎”看百度的智能交通野心
  7. vuecli添加和移除插件_7 款优秀 Vim 插件帮你打造完美 IDE!
  8. 工信部垃圾短信治理新规有望12月底正式出台
  9. 转发与重定向的区别 [通俗易懂] 文字解释和图形解释
  10. 收银机和服务器连接不上显示单机,这个收银机修理攻略我秒速收藏了