施耐德 PLC 及模块 ModbusTCP 通信配置方法

news2024/11/20 6:15:18

1. 通过【I/O扫描器】服务进行读写

相关文档:各模块说明书
仅 NOE 网卡模块、部分 CPU 自带的网口支持

  • 优点:不需要额外编程,系统自动周期型读写数据
  • 缺点:扫描周期不定,程序无法控制数据刷新的时序

2. 通过内部程序调用功能块进行读写

  • 优点:程序可以控制数据刷新的时序及逻辑不
  • 缺点:需要额外编程;不同系列的 PLC 使用的程序各不相同

2.1 M340、M580 ModbusTCP 通信相关程序块

参考文档:《EcoStruxure™ Control Expert - 通讯 , 功能块库》
https://www.schneider-electric.cn/zh/download/document/33003683K01000/
image.png

  • 读取寄存器(03功能码):ADDM + READ_VAR
    ADDM 用于地址转换,READ_VAR 执行读寄存器指令
  • 写入寄存器(04功能码):ADDM + WRITE_VAR
    ADDM 用于地址转换,READ_VAR 执行写寄存器指令

image.png

2.2 GEST 中的参数

GEST = 长度为 4 的 INT 数组
image.png
其中,第 3 个字(GEST[2])需要写入一个时间变量,定义最长相应时间
如果不定义,则认为响应时间 = 0,则在发送请求时可能会因为超时导致报通讯失败
若另 GEST[2] = 10,则定义最长相应时间 = 10 * 100ms = 1000ms = 1s

2.3 M340、M580 通过 ADDM 功能块寻址

通过 ADDM 模块的输入参数 IN 指定进行通信的端口
image.png
各个参数的意义
image.png

2.4 M340 CPU 自带网口的 ADDM 地址写法

使用的 ADDM 地址:r.m.c{IP:port}node

  • r = 机架编号。通常 CPU 所在的主机架,机架编号 r = 0
  • m = 模块位置。CPU 模块 m = 0,其他模块从左往右 m 从 1 开始算
  • c = 此模块上通道编号,CPU 模块上的网口编号 c = 3
    image.png

参考文档:《通讯服务和架构、参考手册》
https://www.schneider-electric.cn/zh/download/document/35012196K01000/
image.png

2.5 NOE 网卡模块的 ADDM 地址写法

NOE 模块的通道编号 = 0,可从 NOE 模块的组态配置中看到
image.png
参考文档:《用于 Ethernet 的 Modicon M340 - 通讯模块和处理器 , 用户手册》
https://www.schneider-electric.cn/zh/download/document/31007493K01000image.png

  • 使用的 ADDM 地址:r.m.c{IP:port}node
    • 模块所在机架编号 r、模块编号 m 根据模块位置决定
    • 通道编号 c = 0
    • IP = 请求的 Modbus 设备的 IP 地址
    • port = ModbusTCP 通信的端口(可省略,省略则使用默认端口 502)
    • node = ModbusTCP 读写的站号(可省略,省略则使用默认站号 1)
    • TCP、MBS 为固定参数,加在地址最后

2.6 NOC 网卡模块的 ADDM 地址写法

image.png

  • 使用的 ADDM 地址 = r.m.c{IP:port}node.TCP.MBS
    • 模块所在机架编号 r、模块编号 m 根据模块位置决定
    • 通道编号 c = 0
    • IP = 请求的 Modbus 设备的 IP 地址
    • port = ModbusTCP 通信的端口(可省略,省略则使用默认端口 502)
    • node = ModbusTCP 读写的站号(可省略,省略则使用默认站号 1)
    • TCP、MBS 为固定参数,加在地址最后

通过 DTM 配置进行 ModbusTCP 通信

仅具有管理功能的网络模块具有此功能,如 NOC 模块
类似【I/O 扫描器】,配置完成后由模块自动周期性读写,PLC 中无需额外编程
这些模块通常还有 Ethernet/IP 扫描器功能(类似 Modbus 协议的扫描器),可在 DTM 界面配置此通信协议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1609877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言---贪吃蛇(一)---准备工作

文章目录 前言1.Win32 API介绍1.1.Win32 API1.2. 控制台程序1.3.控制台屏幕上的坐标[COORD](https://learn.microsoft.com/zh-cn/windows/console/coord-str)1.4.[GetStdHandle](https://learn.microsoft.com/zh-cn/windows/console/getstdhandle)1.5.[GetConsoleCursorInfo](h…

Navicat 干货 | 了解 PostgreSQL 规则

PostgreSQL 是一个强大的开源关系型数据库管理系统,为增强数据管理和操作提供了丰富的功能。这些功能中包含了规则,这是一种用于控制数据库内部查询和命令处理方式的机制。本文将探讨 PostgreSQL 规则的工作原理,以及它们与触发器的区别&…

替代普通塑料吸头的PFA移液吸头

目前市场上的规格:0.01ml、0.05ml、0.1ml、0.2ml、0.5ml、1ml、2ml、5ml、10ml等均可定制加工PFA材质枪头,可以适配市场上大部分移液枪,普兰德,大龙,赛默飞,赛多利斯,力辰、吉尔森,瑞…

Flask中的JWT认证构建安全的用户身份验证系统

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Flask中的JWT认证:构建安全的用户身份验证系统 随着Web应用程序的发展&#xf…

粤嵌—2024/4/19—三数之和

代码实现: 方法一:排序 回溯——超时 有错误 /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assu…

Scanpy(2)多种可视化

本篇内容为scanpy的可视化方法,可以分为三部分: embedding的散点图;用已知marker genes的聚类识别(Identification of clusters);可视化基因的差异表达; 我们使用10x的PBMC数据集(…

「泰雷兹」新合作推进南美太空安全,量子加密守护卫星系统

在第23届国际航空航天博览会(FIDAE)期间,泰雷兹与SeQure Quantum签署了一份谅解备忘录,SeQure Quantum是一家专门从事加密和密码学量子技术的智利公司。二者联手探索和制定与智利太空项目相关的联合战略、技术和知识转让。 在一个…

docker安装并跑通QQ机器人实践(2)-签名服务器bs-qsign搭建

在前文中,我们详尽阐述了QQ机器人的搭建过程及其最终实现的各项功能展示。接下来,我们将转向探讨该项目基于Docker构建服务的具体实践。本篇将以QQ机器人签名服务——qsign为起点,逐步展开论述。 1 获取和运行 xzhouqd/qsign:8.9.63 镜像 1.…

Java开发从入门到精通(二十):Java的面向对象编程OOP:IO流文件操作的读取和写入

Java大数据开发和安全开发 (一)Java的IO流文件读写1.1 IO流前置知识1.1.1 ASCII字符集1.1.2 GBK字符集1.1.3 Unicode字符集1.1.4 UTF-8字符集1.1.4 Java的编码解码 1.2 IO流的基础知识1.2.1 认识I0流1.2.2 应用场景1.2.3 如何学I0流1.2.3.1 先搞清楚I0流…

移除离群点------PCL

statisticalOutlierRemoval滤波器移除离群点 /// <summary> /// 使用statisticalOutlierRemoval滤波器移除离群点 /// </summary> /// <param name"cloud">被过滤的点云</param> /// <param name"meank"></param> //…

lementui el-menu侧边栏占满高度且不超出视口

做了几次老是忘记&#xff0c;这次整理好逻辑做个笔记方便重复利用&#xff1b; 问题&#xff1a;elementui的侧边栏是占不满高度的&#xff1b;但是使用100vh又会超出视口高度不美观&#xff1b; 解决办法&#xff1a; 1.获取到侧边栏底部到视口顶部的距离 2.获取到视口的高…

实验室三大常用仪器1---示波器的基本使用方法(笔记)

目录 示波器的作用 示波器的基础操作方法 示波器测量突变脉冲 示波器的作用 示波器能帮助我们干什么&#xff1f; 比如说某个电源用万用表测量是稳定的5V输出 但是用示波器一看确实波涛汹涌 这样的电源很可能回导致系统异常工作 又比如电脑和单片机进行串口通信时&#xf…

c 多文件编程

1.结构目录 声明类:用于声明方法,方便方法管理和调用&#xff1b; 实现类:用于实现声明的方法; 应用层:调用方法使用 写过java代码的兄弟们可以这么理解&#xff1a; 声明类 为service层 实现类 为serviceimpl层 应用层 为conlloter层 2.Dome 把函数声明放在头文件xxx.h中&…

什么是 GitHub Wiki 以及如何使用它?

GitHub Wiki 是你项目文档的一个很好的地方。你可以使用 wiki 来创建、管理和托管你的存储库的文档&#xff0c;以便其他人可以使用并为你的项目做出贡献。 GitHub Wiki 很容易开始使用&#xff0c;无需安装任何其他软件。最好的部分是 wiki 与你的 GitHub 存储库集成在一起。…

汇编语言——输入4位以内的16进制数,存进BX

data segment data ends stack segment stackdw 100 dup (?)top label word stack ends code segmentassume cs:code,ds:data,ss:stack main proc farmov ax,datamov ds,axmov ax,stackmov ss,axlea sp,topmov bx,0mov cx,4 ;最多输入4位16进制数 L1: mov ah,7 ;用7号功能…

进程互斥的实现

目录 一. 进程同步二. 进程互斥三. 进程互斥软件实现四. 进程互斥硬件实现4.1 中断屏蔽方法4.2 test and set 指令4.3 Swap 指令 五. 互斥锁六. 信号量机制6.1 整型信号量6.2 记录型信号量6.3 信号量机制实现进程互斥6.4 信号量机制实现进程同步6.5 信号量机制实现进程前驱关系…

物流单打印模板怎么设置,物流发货单打印软件操作教程

物流单打印模板怎么设置&#xff0c;物流发货单打印软件操作教程 一、前言 以下软件操作教程以&#xff0c;佳易王物流货运单管理系统软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 佳易王物流单管理系统软件直接在空白单上打印可以在卷纸…

2024年短剧视频如何下载

下载工具 2024年是短剧继续增长的年代 本文以短剧小程序为例子&#xff0c;工具(下载高手)我已经打包好了 1.首先解压我给大家准备的压缩包 2.把微信程序退出&#xff0c;一定要是电脑右下角右键然后退出微信&#xff0c;直接关掉微信不算退出 3.然后打开下载高手,第一次运行…

Java作业6-Java类的基本概念三

编程1 import java.util.*;abstract class Rodent//抽象类 {public abstract String findFood();//抽象方法public abstract String chewFood(); } class Mouse extends Rodent {public String findFood(){ return "大米"; }public String chewFood(){ return "…

Js-JavaScript-三种弹出提示框-alert-confirm-prompt-ai插件

文章目录 1.alert-提示框2.confirm-确认框3.prompt-输入框4.总结 1.alert-提示框 alert (message: string , title: string , errorIcon: Boolean ) Core JavaScript Classes Displays an alert box message: Data Type: string The text to display title (optional): Data Ty…