// LEARN · 上位链路入门

什么是上位链路(Host Link)?电脑与基恩士 KV 系列 PLC 通信的机制

上位链路通信是让电脑等外部设备读写基恩士 KV 系列 PLC 软元件的通信功能。本文依据基恩士手册,整理端口 8501、ASCII 命令、TCP 与 UDP 的区别以及可用的命令。

更新

上位链路(日文:上位リンク,Host Link)通信是让电脑、触摸屏等外部设备访问基恩士 KV 系列 PLC 的通信功能。通过 Ethernet 连接,以文本形式发送固定格式的命令,PLC 就会返回或改写软元件的值。

PLC(EtherNet/IP 单元或 CPU 单元的内置端口)是服务器,电脑是客户端。PLC 一侧不需要编写任何用于通信的梯形图程序。

命令是 ASCII 字符串

上位链路的命令和响应全部是 ASCII 字符串。例如读取 DM100 的值时,发送字符串 RD DM100,后面加上 CR(0x0D)。

命令 9 个字符
RD 命令 读取数据
␣
DM100 软元件 类型+编号
CR 结束符 0x0D

PLC 以文本形式返回值,并在末尾加上 CR LF。

响应 7 个字符
01234 读取的值 .U(5 位)
CR LF 结束符 0x0D 0x0A

命令的结束符用 CR 或 CR LF 都可以。LF 会被忽略,LF 之后的内容被视为下一条命令。响应的结束符始终是 CR LF。

通信设置

手册中的主要规格如下。

项目内容
协议TCP/IP、UDP/IP(可同时使用)
端口号默认 8501(TCP 和 UDP 可分别设置)
连接数TCP 与 MC 协议合计 15,UDP 为 1
数据代码ASCII
接收超时默认 10 秒
TCP 保活默认 600 秒(0 为禁用)

8501 是默认值,可在 1〜65535 范围内更改。其他端口各有用途:8500 用于 KV STUDIO,8502 用于 VT(触摸屏),5000 用于 MC 协议。

TCP 与 UDP

使用 TCP 时,PLC 上电后开始等待连接。连接后,每发送一条命令就会返回一个响应。客户端断开连接后,PLC 一侧也会自动关闭连接,并重新开始等待。

UDP 不建立连接。向 PLC 的 IP 地址和端口发送命令,响应就会返回。通过 UDP 同时通信的对象只能有 1 个。

可用的命令

上位链路的命令由 2〜3 个英文字母表示。

功能命令
读取/连续读取RD / RDS
写入/连续写入WR / WRS
写入设定值/连续写入设定值WS / WSS
强制置位/复位ST / RS
连续强制置位/复位STS / RSS
登录监视/读取监视MBS・MWS / MBR・MWR
切换模式(PROGRAM/RUN)M0 / M1
确认运行模式?M
查询机型?K
确认错误编号/清除错误?E / ER
设置时间WRT
读取注释RDC
切换存储体BE
读取/写入扩展单元缓冲存储器URD / UWR

最常用的是读写软元件的 RD/RDS/WR/WRS。例如读取 DM 中的生产数量显示在画面上,或改写 MR 来切换运转等。

能连接哪些 PLC

手册的对象包括 KV-8000(A)、KV-7500、KV-5500 的内置 Ethernet 端口,EtherNet/IP 单元 KV-EP21V(安装在 KV-8000/7500/7300/5500/5000/3000 上),以及 KV Nano 系列用的 KV-NC1EP。可用的软元件范围和一次可读写的点数因机型而异。

与 MC 协议的关系

KV 系列也支持 MC 协议(端口 5000),并与上位链路共用 TCP 连接数。上位链路可以直接以文本写出 KV 的软元件名(DM、MR 等),因此可以用与梯形图相同的名称指定软元件。

使用库时

.NET 库 KcpX 负责组装这些命令并解析响应。只需指定类型和地址即可读写。

using KcpXLib;
using KcpXLib.Enums;

using var kcpx = new KcpX("192.168.0.10", 8501, series: PlcSeries.KV8000);
short value = kcpx.Read<short>(Prefix.DM, "100");

下一篇文章将详细介绍命令和响应的格式。

出处

  • 基恩士 KV-EP21V/KV-8000(A)/KV-7500/KV-5500/KV-NC1EP 用户手册 EtherNet/IP 功能(日文版)p.1-11, 3-10〜3-12
  • 同手册 第 8 章「上位链路通信功能」p.8-2〜8-8