信捷PLC使用TCP/IP协议通讯


文章目录


前言

信捷PLC的以太网机型配备RJ45接口,本文以XDME系列为例讲述信捷PLC通过TCP/IP协议与上位机进行通讯。

需注意,信捷部分机型有RJ45接口但不支持Ethernet功能,其RJ45接口用作EtherCAT与伺服驱动器连接。


一、TCP/IP通讯的优势的优/劣

优势:

1、由于TCP/IP物理层面采用网线连接,坐好屏蔽情况下网线的抗干扰性、传输稳定性都十分出色。

2、相比于ModbusTcp通讯,地址、扫描周期等参数不需要配置,易用性高。

3、通讯实时性好。

劣势:

1、由于PLC内部数据都存于寄存器中,与电脑或者机械臂等上位机都是通过ASCII传输,数据需要转译后才能使用。

2、PLC使用TCP/IP无法直接读取线圈、寄存器,需要写应答程序才能读取到指定的数据。

二、PLC的TCP/IP通讯配置

1.首先确定PLC的IP

信捷PLC的默认IP为192.168.6.6 如果需要修改可以在坐左侧的网络设置里面修改。

(双口型的PLC也只有一个IP,两个网口互通相当于双口交换机)

如果需要在触摸屏修改PLC的IP地址必须使用IPSET指令

2.程序建立连接

PLC无论是TCP服务器或是TCP客户端功能都需要通过程序开启。

代码如下:

其中S_OPEN指令的配置如下图所:

其中图2中

1.套接字相当于PLC对通讯设备的一个标签(序号),在同时与多个设备建立通讯时为发送、接受指令提供操作对象。

2.参数地址所指寄存器,包括设备的IP、错误码等内容。如果PLC作为客户端,可以通过触摸屏修改目标IP及端口信息。

3.标志起始地址Mn------M(n+9)都需要占用,每个标志位所属含义可以去查手册。手册附在文章末尾

4.接收超时指 PLC 产生接收数据请求到该动作终止的总时间。取值范围 0-65536,单位是 10ms。

例如:设置接收超时 300ms:请求产生开始等待对方回应 300ms,成功接收数据后立即终止,超过 300ms 未能接收到有效数据,结束当前指令并报接收超时错误。设置为 0 表示 不启用接收超时,连续接收数据。

梯形图第一行,在网线插入初始化后,目标设备没建立连接的情况下,以100ms周期执行连接建立指令。

第二行,当建立连接后,持续接收数据存入D2600后400个寄存器,并每秒一次的频率发送指定寄存器内数据。

三、实例说明

下面通过网络调试助手与PLC建立连接

图中的梯形图随手写的,不具有参考性。

建立连接后,通过网络调试助手发送数据到PLC。可以看到PLC接收到数据每一个字符就以ASCII到形式保存到一个独立的寄存器 。这样其实是不利于我们做数据处理的。

目前我所用都是与上位机通讯方式是以特定字符做标志位,在PLC程序中做条件判定实现上位机对PLC的控制。

如果需要传输数据,需要提前写转译代码。这一步建议使用PLC的c语言功能块功能实现。

关于信捷的C语言功能块使用可以参考我之前写的信捷C语言功能块应用


附上文提到的标志寄存器功能表


相关推荐
云絮.6 小时前
网络原理---- 网络层,数据链路层,应用层
网络
Johny_Zhao7 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
虹科网络安全8 小时前
使用艾体宝 IOTA 10 CORE+ 监控企业网络中的 AI 流量
网络·人工智能
醉颜凉9 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
晊晌_h9 小时前
嵌入式从0到精通——Linux C|TCP 并发服务器实现方案详解
服务器·开发语言·tcp/ip
广州灵眸科技有限公司10 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
埃科光电10 小时前
16K万兆网口彩色线阵相机:四倍带宽 高速真彩检测新方案
网络·图像处理·数码相机·计算机视觉·制造·相机
运维全栈笔记11 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
qq_4523962312 小时前
第十篇:《eBPF 可观测性:零侵扰的深度内核追踪》
服务器·网络·php
迪康Defender12 小时前
政企内网终端安全建设:资产‑管控‑防护‑审计闭环能力拆解
运维·网络·安全·web安全·终端安全管理