@fa_yoshinobu/node-red-contrib-plc-comm-kvhostlink 4.2.0
Node-RED nodes for KEYENCE KV Host Link communication over TCP/UDP.
Node-RED KEYENCE KV Host Link Nodes
Node-RED nodes for KEYENCE KV PLC communication via Host Link.
PLC Comm Family
This library is part of the plc-comm family. See the package matrix for protocol, language, registry, and install-command mapping.
Supported PLC profiles
The maintained profile table is in PLC profiles. Choose one exact canonical PLC profile from that table.
Supported device types
The shared device and range tables are in the KV Host Link Device Ranges page. Use that page for supported device families, address syntax, and profile-specific notes.
Installation
@fa_yoshinobu/node-red-contrib-plc-comm-kvhostlink
In Node-RED, open Manage palette, choose Install, and search for:
@fa_yoshinobu/node-red-contrib-plc-comm-kvhostlink
Install the package, then restart Node-RED if your runtime asks you to.
Quick start
- Open the Node-RED import menu.
- Import
examples/flows/kvhostlink-basic-read-write.json. - Open the
kvhostlink-connectionconfig node. - Set Host to
192.168.250.100. - Set Port to
8501. - Set PLC Profile to the exact canonical profile for your PLC, such as
keyence:kv-5000. - Deploy the flow.
- Trigger
Read DM100:Uand check the debug sidebar. - On a controlled test PLC/address only, optionally trigger
Test DM100:U (random + restore). - The write path first saves the original value, writes a random different unsigned value, restores the original, and reads again. Restoration is best effort and can be interrupted by a transport or PLC failure.
Address and integer input is strict. Each high-level address must match one
complete supported form; extra selectors or trailing text and incompatible
BIT, F, or COMMENT selectors fail before connection or transport. Direct
client integer arguments must be safe JavaScript integers. Configuration-node
port and timeout text is converted explicitly at the Node-RED boundary.
Connections are IPv4-only. The ordinary client serializes admitted operations
in strict FIFO order, uses one absolute active transaction deadline, and never
automatically reconnects or retries. Direct-bit writes require JavaScript
Booleans. The library's explicit Boolean-only writeBitInWord API performs a
two-request, non-PLC-atomic word update; it is never selected implicitly by a
Node-RED named write. writeBitInExpansionUnitBuffer applies the same explicit
contract to one .U word on an immutable expansion-unit URD/UWR route.
Float32 selectors require ordinary one-word device families; native 32-bit Z
devices reject :F before FIFO admission or transport. Semantic .H reads
return exactly four uppercase hexadecimal digits. Raw responses and hexadecimal
write framing are not normalized by that read contract.
RDC device comments are byte payloads until the caller makes an explicit
choice. For decoded text, select exactly utf8 or cp932; cp932 means
Windows-31J compatibility commonly described by KEYENCE as Shift_JIS. There is
no automatic/profile codec and no separate strict Shift_JIS alias. When the
stored encoding is unknown, select raw Buffer output. Malformed text bytes fail
strictly without fallback or replacement characters.
Malformed response bytes, an unknown operating-mode response, and stale or extra TCP response lines invalidate the TCP connection that produced them. UDP keeps the explicit logical connection and reuses a successful socket, resolved IPv4 address, and local endpoint across requests. Timeout, cancellation, malformed or additional response data, an unowned datagram, and socket failure close that physical socket; the next request creates a replacement without repeating DNS resolution. A failed request is never retried or replayed automatically.
Documentation
| Page | Use it for |
|---|---|
| Full documentation site | Unified docs for all PLC communication libraries. |
| Getting started | Install the nodes, configure a connection, and run your first flow. |
| Usage guide | Use read/write nodes, metadata modes, connection control, and flow patterns. |
| API reference | Find public client methods, helpers, profile APIs, and error types. |
| PLC profiles | Choose the canonical profile for the target KV family. |
| KV Host Link Device Ranges | Check shared device families, address notation, and range tables. |
| KV Host Link Troubleshooting & Codes | Troubleshoot common port, profile, address, write-permission, and PLC error-code symptoms. |
| Gotchas | Check whether this library has any current library-specific caveats. |
| Performance | See measured latency, throughput, and long-run soak results from real PLC hardware. |
| Choosing a Language | Compare the .NET, Python, Rust, C++, and Node-RED implementations before you pick one. |
| Example flows | Import maintained Node-RED example flows. |
For a zero-code connectivity check, see PLC Scope (Windows).
License and registry
| Item | Value |
|---|---|
| License | MIT |
| Registry | npm |
| Package | @fa_yoshinobu/node-red-contrib-plc-comm-kvhostlink |
Commercial support
If you plan to embed this library in a paid or commercial product, please consider a separate support agreement or supporting the project as a sponsor.
Contact: https://fa-labo.com/contact.html