How Does W5300 Ethernet Support an OPC-UA Agent for Legacy PLCs?
This paper validates an OPC-UA agent using a legacy controller whose network interface is a WIZnet W5300 Ethernet controller.
0
Components
Hardware components
WIZnet - W5300
The paper's experimental system table lists the legacy controller network as a WIZnet W5300 Ethernet controller
Project description
๐ Overview
Seung-Yong Lee and Minyoung Sung published this Applied Sciences paper on an OPC-UA agent for legacy programmable logic controllers. The paper is useful for WIZnet readers because its experimental system identifies the legacy controller network interface as a WIZnet W5300 Ethernet controller.
The paper does not present a W5300 firmware release. Instead, it validates a system architecture: an external OPC-UA agent runs beside a legacy controller, keeps a synchronized image of PLC variables, exposes an IEC 61131-3 information model, and executes OPC-UA client function blocks on behalf of the PLC.
Generated technical diagram: the paper's experimental system lists WIZnet W5300 as the legacy controller Ethernet interface.
System Configuration
The experimental setup has three main sides. The external OPC-UA system runs on a PC with open62541. The OPC-UA agent runs on another PC, also using open62541. The legacy controller is described as an Arm Cortex-R4F-based TI RM46L852 MCU, and the paper's experimental-system table lists its network as a WIZnet W5300 Ethernet controller.
That distinction matters. The W5300 is not the paper's OPC-UA software stack. The agent PCs handle OPC-UA server and client functionality. The W5300 appears as the Ethernet controller in the legacy controller side of the experimental system, which makes the paper a useful W5300-connected legacy-control case study rather than an open W5300 OPC-UA firmware project.
System Architecture & Data Flow
The agent design has three concurrent components. The legacy gateway communicates with the PLC and maintains an image of selected PLC variables in shared memory. The UA server exposes those variables through an IEC 61131-3 information model. The UA client contains the OPC-UA client stack and handles RPC-style execution of client function blocks.
Generated technical diagram: the OPC-UA agent bridges legacy PLC variables into UA server and UA client functions.
The shared memory is the key bridge. It stores synchronized PLC variable values, the state of UA function blocks, and input/output parameters. For function arguments that the legacy PLC cannot represent directly, such as strings or complex structures, the paper describes a mapping-table approach so the PLC can pass an index while the agent looks up the richer argument values.
โ๏ธ Role of the WIZnet Chip
W5300 is the WIZnet component confirmed by the paper. It appears in the experimental system specification as the legacy controller's Ethernet controller. That is important because the paper is about moving a legacy control system into modern OPC-UA connectivity without forcing all OPC-UA functionality into the controller itself.
The practical reading is conservative: W5300 provides the Ethernet controller evidence on the legacy-controller side, while the OPC-UA agent architecture handles the heavy information-model and client/server work externally. This separation is a useful pattern for older controllers with limited compute, memory, or data-type support.
This post does not mark the project as a public WIZnet TOE implementation. The paper does not publish W5300 firmware, WIZnet socket API code, register access, schematics, or reusable board files. The W5300 evidence is hardware-system evidence from the experimental setup.
Public Evidence and Limits
The strongest evidence is the experimental-system table: it names WIZnet W5300 for the legacy controller network. The strongest architectural contribution is the agent pattern: legacy gateway, shared memory, UA server, UA client, and mapping tables for RPC of OPC-UA function blocks.
Generated technical diagram: the paper provides W5300 hardware evidence and OPC-UA agent architecture, but not W5300 source code.
The limits are equally important. This is not a ready-to-build W5300 OPC-UA stack. It is a research paper with a validated prototype and performance evaluation. Reusing the idea in a WIZnet reference design would require separate firmware, protocol mapping, security review, and real PLC integration testing.
Where It Fits - Value & Limits
This paper fits industrial modernization, brownfield PLC integration, robot-controller monitoring, and OPC-UA gateway design. It is especially relevant when a controller can communicate over Ethernet but cannot safely host the full OPC-UA information model, security layer, and client function block logic by itself.
For WIZnet, the value is the system pattern. A W5300-connected controller can remain focused on control logic while a nearby agent handles OPC-UA semantics and richer data exchange. That pattern also maps well to future WIZnet examples around PLC gateways, protocol translation, and industrial edge agents.
The limitation is that the paper does not expose the embedded networking implementation. Any real product or reference design would still need a source-backed W5300 driver path, timeout behavior, security handling, and long-running industrial reliability validation.
Related WIZnet Maker Projects
OPC UA server on KinCony KC868-A16v3 / W5500 is the closest OPC-UA Maker comparison. It runs OPC-UA server functionality on W5500-connected hardware, while this paper keeps the OPC-UA stack in an external agent and uses W5300 evidence on the legacy controller side.
How to Build Modbus TCP Slaves with W5500 on STM32 (Rust) and Bridge Them to OPC-UA? is related because it bridges industrial field protocols toward OPC-UA. The difference is that the Maker post is a source-level W5500/STM32/Rust implementation, while this paper is an academic agent architecture validated with a W5300-equipped legacy controller.
Securing Industrial PLCs with WIZnet W5500: An Open-Source IoT Gateway Solution shares the legacy-PLC gateway theme. It focuses on an open-source security and gateway stack, while the paper focuses on OPC-UA information service and client function blocks for legacy controllers.
โ FAQ
Q. Does the paper use a WIZnet chip? Yes. The experimental system table lists the legacy controller network as a WIZnet W5300 Ethernet controller.
Q. Is this a W5300 OPC-UA firmware project? No. The paper validates an OPC-UA agent architecture and does not publish W5300 firmware or socket API code.
Q. What does the OPC-UA agent do? It keeps synchronized PLC variable data, exposes an IEC 61131-3 information model, and executes OPC-UA client function blocks on behalf of a legacy PLC.
Q. Why use an external agent instead of putting OPC-UA inside the PLC? The paper targets legacy PLCs with limited data types, compute resources, or safety constraints, so the agent handles richer OPC-UA functionality on a separate machine.
Q. How should WIZnet readers use this paper? Treat it as a validated architecture pattern for W5300-connected legacy-control systems, not as a finished open-source W5300 reference design.
ํ๊ตญ์ด (Korean)
๊ฐ์
Seung-Yong Lee์ Minyoung Sung์ ๋ ๊ฑฐ์ PLC๋ฅผ ์ํ OPC-UA agent ๋ ผ๋ฌธ์ Applied Sciences์ ๋ฐํํ์ต๋๋ค. ์ด ๋ ผ๋ฌธ์ ์คํ ์์คํ ์์ legacy controller์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ WIZnet W5300 Ethernet controller๋ก ๋ช ์ํ๊ธฐ ๋๋ฌธ์ WIZnet ๋ ์์๊ฒ ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ด ๋ ผ๋ฌธ์ W5300 ํ์จ์ด ๋ฆด๋ฆฌ์ค๊ฐ ์๋๋๋ค. ๋์ ์ธ๋ถ OPC-UA agent๊ฐ ๋ ๊ฑฐ์ ์ปจํธ๋กค๋ฌ ์์์ ์คํ๋๊ณ , PLC ๋ณ์ ์ด๋ฏธ์ง๋ฅผ ๋๊ธฐํํ๋ฉฐ, IEC 61131-3 ์ ๋ณด ๋ชจ๋ธ์ ์ ๊ณตํ๊ณ , OPC-UA client function block์ PLC ๋์ ์คํํ๋ ์์คํ ์ํคํ ์ฒ๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
์์ฑ ๊ธฐ์ ๋ค์ด์ด๊ทธ๋จ: ๋
ผ๋ฌธ์ ์คํ ์์คํ
์ legacy controller์ Ethernet ์ธํฐํ์ด์ค๋ก WIZnet W5300์ ๋ช
์ํฉ๋๋ค.
์์คํ ๊ตฌ์ฑ
์คํ ๊ตฌ์ฑ์ ์ธ ๋ถ๋ถ์ผ๋ก ๋ณผ ์ ์์ต๋๋ค. ์ธ๋ถ OPC-UA ์์คํ ์ open62541์ ์ฌ์ฉํ๋ PC์์ ๋์ํฉ๋๋ค. OPC-UA agent๋ ๋ณ๋ PC์์ ๋์ํ๋ฉฐ open62541์ ์ฌ์ฉํฉ๋๋ค. legacy controller๋ Arm Cortex-R4F ๊ธฐ๋ฐ TI RM46L852 MCU๋ก ์ค๋ช ๋๋ฉฐ, ๋ ผ๋ฌธ์ ์คํ ์์คํ ํ๋ ์ด ์ปจํธ๋กค๋ฌ์ network ํญ๋ชฉ์ WIZnet W5300 Ethernet controller๋ก ์ ๊ณ ์์ต๋๋ค.
์ด ๊ตฌ๋ถ์ด ์ค์ํฉ๋๋ค. W5300์ด ๋ ผ๋ฌธ์ OPC-UA ์ํํธ์จ์ด ์คํ์ด๋ผ๋ ๋ป์ ์๋๋๋ค. OPC-UA server์ client ๊ธฐ๋ฅ์ agent PC๊ฐ ๋ด๋นํฉ๋๋ค. W5300์ ์คํ ์์คํ ์ legacy controller ์ชฝ Ethernet controller๋ก ๋ฑ์ฅํ๋ฏ๋ก, ์ด ๋ ผ๋ฌธ์ ๊ณต๊ฐ W5300 OPC-UA ํ์จ์ด ํ๋ก์ ํธ๋ผ๊ธฐ๋ณด๋ค W5300์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ๊ฑฐ์ ์ ์ด ์์คํ ์ฌ๋ก๋ก ๋ณด๋ ๊ฒ์ด ์ ํํฉ๋๋ค.
์์คํ ์ํคํ ์ฒ์ ๋ฐ์ดํฐ ํ๋ฆ
agent ์ค๊ณ๋ ์ธ ๊ฐ์ ๋์ ์คํ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. legacy gateway๋ PLC์ ํต์ ํ๊ณ ์ ํ๋ PLC ๋ณ์ ์ด๋ฏธ์ง๋ฅผ shared memory์ ์ ์งํฉ๋๋ค. UA server๋ ์ด ๋ณ์๋ค์ IEC 61131-3 ์ ๋ณด ๋ชจ๋ธ๋ก ์ธ๋ถ์ ์ ๊ณตํฉ๋๋ค. UA client๋ OPC-UA client stack์ ํฌํจํ๊ณ client function block์ RPC ๋ฐฉ์ ์คํ์ ์ฒ๋ฆฌํฉ๋๋ค.
์์ฑ ๊ธฐ์ ๋ค์ด์ด๊ทธ๋จ: OPC-UA agent๋ legacy PLC ๋ณ์๋ฅผ UA server์ UA client ๊ธฐ๋ฅ์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค.
ํต์ฌ ๋ธ๋ฆฌ์ง๋ shared memory์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋๊ธฐํ๋ PLC ๋ณ์ ๊ฐ, UA function block ์ํ, ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ํ๋ผ๋ฏธํฐ๊ฐ ์ ์ฅ๋ฉ๋๋ค. ๋ ๊ฑฐ์ PLC๊ฐ ๋ฌธ์์ด์ด๋ ๋ณต์กํ ๊ตฌ์กฐ์ฒด์ฒ๋ผ ์ง์ ํํํ๊ธฐ ์ด๋ ค์ด ์ธ์๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด, ๋ ผ๋ฌธ์ PLC๊ฐ index๋ฅผ ์ ๋ฌํ๊ณ agent๊ฐ ๋ ํ๋ถํ ์ธ์ ๊ฐ์ ์ฐพ์ ์ฐ๋ mapping table ์ ๊ทผ์ ์ค๋ช ํฉ๋๋ค.
WIZnet ์นฉ์ ์ญํ
์ด ๋ ผ๋ฌธ์์ ํ์ธ๋๋ WIZnet ๋ถํ์ W5300์ ๋๋ค. ์คํ ์์คํ ์ฌ์์์ legacy controller์ Ethernet controller๋ก ๋ฑ์ฅํฉ๋๋ค. ์ด๋ ๋ ๊ฑฐ์ ์ ์ด ์์คํ ์ ํ๋์ ์ธ OPC-UA ์ฐ๊ฒฐ์ฑ์ผ๋ก ์ฎ๊ธฐ๋, ๋ชจ๋ OPC-UA ๊ธฐ๋ฅ์ ์ปจํธ๋กค๋ฌ ๋ด๋ถ์ ์ต์ง๋ก ๋ฃ์ง ์๋ ๊ตฌ์กฐ๋ผ๋ ์ ์์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๋ณด์์ ์ผ๋ก ์ฝ์ผ๋ฉด, W5300์ legacy controller ์ชฝ Ethernet controller ๊ทผ๊ฑฐ์ด๊ณ , OPC-UA agent ์ํคํ ์ฒ๋ ๋ฌด๊ฑฐ์ด ์ ๋ณด ๋ชจ๋ธ๊ณผ client/server ์ฒ๋ฆฌ๋ฅผ ์ธ๋ถ์์ ๋ด๋นํฉ๋๋ค. ์ด๋ฐ ๋ถ๋ฆฌ๋ ์ฐ์ฐ ์ฑ๋ฅ, ๋ฉ๋ชจ๋ฆฌ, ๋ฐ์ดํฐ ํ์ ์ง์์ด ์ ํ๋ ์ค๋๋ ์ปจํธ๋กค๋ฌ์ ์ ์ฉํ ํจํด์ ๋๋ค.
์ด ๊ธ์ ์ด ๋ ผ๋ฌธ์ ๊ณต๊ฐ WIZnet TOE ๊ตฌํ์ผ๋ก ํ์ํ์ง ์์ต๋๋ค. ๋ ผ๋ฌธ์ W5300 ํ์จ์ด, WIZnet socket API ์ฝ๋, ๋ ์ง์คํฐ ์ ๊ทผ, ํ๋ก๋, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ณด๋ ํ์ผ์ ๊ณต๊ฐํ์ง ์์ต๋๋ค. W5300 ๊ทผ๊ฑฐ๋ ์คํ ๊ตฌ์ฑํ์์ ํ์ธ๋๋ ํ๋์จ์ด ์์คํ ๊ทผ๊ฑฐ์ ๋๋ค.
๊ณต๊ฐ ๊ทผ๊ฑฐ์ ํ๊ณ
๊ฐ์ฅ ๊ฐํ ๊ทผ๊ฑฐ๋ ์คํ ์์คํ ํ์ ๋๋ค. ์ฌ๊ธฐ์ legacy controller network๋ก WIZnet W5300์ด ๋ช ์๋ฉ๋๋ค. ๊ฐ์ฅ ํฐ ์ํคํ ์ฒ ๊ธฐ์ฌ๋ legacy gateway, shared memory, UA server, UA client, OPC-UA function block RPC๋ฅผ ์ํ mapping table ๊ตฌ์กฐ์ ๋๋ค.
์์ฑ ๊ธฐ์ ๋ค์ด์ด๊ทธ๋จ: ๋
ผ๋ฌธ์ W5300 ํ๋์จ์ด ๊ทผ๊ฑฐ์ OPC-UA agent ์ํคํ
์ฒ๋ฅผ ์ ๊ณตํ์ง๋ง W5300 ์์ค ์ฝ๋๋ ์ ๊ณตํ์ง ์์ต๋๋ค.
ํ๊ณ๋ ๋ถ๋ช ํฉ๋๋ค. ์ด๊ฒ์ ๋ฐ๋ก ๋น๋ํ ์ ์๋ W5300 OPC-UA stack์ด ์๋๋๋ค. ๊ฒ์ฆ๋ ํ๋กํ ํ์ ๊ณผ ์ฑ๋ฅ ํ๊ฐ๋ฅผ ๋ด์ ์ฐ๊ตฌ ๋ ผ๋ฌธ์ ๋๋ค. ์ด ์์ด๋์ด๋ฅผ WIZnet ๋ ํผ๋ฐ์ค ์ค๊ณ๋ก ์ฌ์ฌ์ฉํ๋ ค๋ฉด ๋ณ๋ ํ์จ์ด, ํ๋กํ ์ฝ ๋งคํ, ๋ณด์ ๊ฒํ , ์ค์ PLC ํตํฉ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
ํ์ฉ ๊ฐ์น์ ํ๊ณ
์ด ๋ ผ๋ฌธ์ ์ฐ์ ํ๋ํ, brownfield PLC ํตํฉ, ๋ก๋ด ์ปจํธ๋กค๋ฌ ๋ชจ๋ํฐ๋ง, OPC-UA ๊ฒ์ดํธ์จ์ด ์ค๊ณ์ ๋ง์ต๋๋ค. ํนํ ์ปจํธ๋กค๋ฌ๊ฐ Ethernet ํต์ ์ ๊ฐ๋ฅํ์ง๋ง OPC-UA ์ ๋ณด ๋ชจ๋ธ, ๋ณด์ ๊ณ์ธต, client function block ๋ก์ง์ ์์ ํ๊ฒ ์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ์ ์ ๋ง์ต๋๋ค.
WIZnet ๊ด์ ์ ๊ฐ์น๋ ์์คํ ํจํด์ ๋๋ค. W5300์ผ๋ก ์ฐ๊ฒฐ๋ ์ปจํธ๋กค๋ฌ๋ ์ ์ด ๋ก์ง์ ์ง์คํ๊ณ , ๊ฐ๊น์ด agent๊ฐ OPC-UA ์๋ฏธ ๊ณ์ธต๊ณผ ๋ ํ๋ถํ ๋ฐ์ดํฐ ๊ตํ์ ๋ด๋นํ ์ ์์ต๋๋ค. ์ด ํจํด์ PLC ๊ฒ์ดํธ์จ์ด, ํ๋กํ ์ฝ ๋ณํ, ์ฐ์ ์ฉ edge agent ๊ด๋ จ WIZnet ์์ ๋ก ํ์ฅํ๊ธฐ ์ข์ต๋๋ค.
ํ๊ณ๋ ์๋ฒ ๋๋ ๋คํธ์ํน ๊ตฌํ์ด ๊ณต๊ฐ๋์ด ์์ง ์๋ค๋ ์ ์ ๋๋ค. ์ค์ ์ ํ์ด๋ ๋ ํผ๋ฐ์ค ์ค๊ณ๋ก ๋ง๋ค๋ ค๋ฉด ์์ค ๊ธฐ๋ฐ W5300 ๋๋ผ์ด๋ฒ ๊ฒฝ๋ก, timeout ๋์, ๋ณด์ ์ฒ๋ฆฌ, ์ฅ์๊ฐ ์ฐ์ ํ๊ฒฝ ์ ๋ขฐ์ฑ ๊ฒ์ฆ์ด ๋ณ๋๋ก ํ์ํฉ๋๋ค.
๊ด๋ จ WIZnet Maker ํ๋ก์ ํธ
OPC UA server on KinCony KC868-A16v3 / W5500์ ๊ฐ์ฅ ๊ฐ๊น์ด OPC-UA Maker ๋น๊ต ๋์์ ๋๋ค. ์ด ๊ธ์ W5500 ์ฐ๊ฒฐ ํ๋์จ์ด์์ OPC-UA server ๊ธฐ๋ฅ์ ์คํํ๊ณ , ๋ณธ ๋ ผ๋ฌธ์ OPC-UA stack์ ์ธ๋ถ agent์ ๋๋ฉฐ legacy controller ์ชฝ W5300 ๊ทผ๊ฑฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
How to Build Modbus TCP Slaves with W5500 on STM32 (Rust) and Bridge Them to OPC-UA?๋ ์ฐ์ ์ฉ ํ๋ ํ๋กํ ์ฝ์ OPC-UA ์ชฝ์ผ๋ก ์ฐ๊ฒฐํ๋ค๋ ์ ์์ ๊ด๋ จ์ด ์์ต๋๋ค. ์ฐจ์ด์ ์ Maker ๊ธ์ ์์ค ์์ค์ W5500/STM32/Rust ๊ตฌํ์ด๊ณ , ์ด ๋ ผ๋ฌธ์ W5300์ด ๋ค์ด๊ฐ legacy controller๋ก ๊ฒ์ฆํ ํ์ ์ agent ์ํคํ ์ฒ๋ผ๋ ์ ์ ๋๋ค.
Securing Industrial PLCs with WIZnet W5500: An Open-Source IoT Gateway Solution์ legacy PLC gateway๋ผ๋ ์ฃผ์ ๋ฅผ ๊ณต์ ํฉ๋๋ค. ํด๋น ๊ธ์ ์คํ์์ค ๋ณด์ ๋ฐ ๊ฒ์ดํธ์จ์ด stack์ ์ด์ ์ ๋๊ณ , ์ด ๋ ผ๋ฌธ์ ๋ ๊ฑฐ์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ํ OPC-UA information service์ client function block์ ์ด์ ์ ๋ก๋๋ค.
FAQ
๋ ผ๋ฌธ์ WIZnet ์นฉ์ด ์ฌ์ฉ๋๋์? ๋ค. ์คํ ์์คํ ํ์์ legacy controller์ network ํญ๋ชฉ์ด WIZnet W5300 Ethernet controller๋ก ๋ช ์๋ฉ๋๋ค.
์ด๊ฒ์ W5300 OPC-UA ํ์จ์ด ํ๋ก์ ํธ์ธ๊ฐ์? ์๋๋๋ค. ์ด ๋ ผ๋ฌธ์ OPC-UA agent ์ํคํ ์ฒ๋ฅผ ๊ฒ์ฆํ๋ฉฐ W5300 ํ์จ์ด๋ socket API ์ฝ๋๋ฅผ ๊ณต๊ฐํ์ง ์์ต๋๋ค.
OPC-UA agent๋ ๋ฌด์์ ํ๋์? PLC ๋ณ์ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํํ๊ณ , IEC 61131-3 ์ ๋ณด ๋ชจ๋ธ์ ์ ๊ณตํ๋ฉฐ, legacy PLC๋ฅผ ๋์ ํด OPC-UA client function block์ ์คํํฉ๋๋ค.
์ PLC ์์ OPC-UA๋ฅผ ์ง์ ๋ฃ์ง ์๋์? ๋ ผ๋ฌธ์ ๋ฐ์ดํฐ ํ์ , ์ฐ์ฐ ์์, ์์ ์ ์ฝ์ด ์๋ ๋ ๊ฑฐ์ PLC๋ฅผ ๋์์ผ๋ก ํ๋ฏ๋ก, ๋ ํ๋ถํ OPC-UA ๊ธฐ๋ฅ์ ๋ณ๋ ๋จธ์ ์ agent๊ฐ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณํฉ๋๋ค.
WIZnet ๋ ์๋ ์ด ๋ ผ๋ฌธ์ ์ด๋ป๊ฒ ํ์ฉํด์ผ ํ๋์? ์์ฑ๋ ์คํ์์ค W5300 ๋ ํผ๋ฐ์ค ์ค๊ณ๊ฐ ์๋๋ผ, W5300์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ๊ฑฐ์ ์ ์ด ์์คํ ์ ์ํ ๊ฒ์ฆ๋ ์ํคํ ์ฒ ํจํด์ผ๋ก ๋ณด๋ ๊ฒ์ด ์ ์ ํฉ๋๋ค.
Documents
-
WIZnet W5300
Hardwired TCP/IP Ethernet controller identified in the paper's experimental legacy controller
-
open62541
Open-source OPC UA implementation used by the paper's external OPC-UA system and agent PCs
-
OPC UA overview
OPC Foundation overview of the OPC UA architecture