Skip to content

PLC profiles

This library provides canonical profiles for the KV families listed below. Device ranges differ by model. You select the device-range catalog by passing a canonical PLC profile name such as keyence:kv-7000; the library does not query the PLC to choose a profile for you. Models not represented below, including KV-700 and KV-1000, do not currently have a canonical profile. Use KvHostLinkPlcProfiles.GetProfileDescriptors() when a UI or configuration schema needs the canonical name, display name, connection availability, and base-profile relationship in one list. This descriptor list is the stable source for selectors; store CanonicalName, not DisplayName. GetNames() and GetProfileDescriptors() return cached read-only collections; their shared library state cannot be mutated through array or collection casts.

Verified hardware available for focused validation is maintained once in the shared KEYENCE KV Host Link profile catalog.

Device families and ranges

Device-family notation, type suffixes, XYM aliases, and static range tables are shared across the KV Host Link libraries. Use the common KV Host Link Device Ranges page for those details.

The table below identifies the canonical profile names, intended hardware, and address notation. Device ranges remain in the shared reference above.

Supported PLC profiles

Canonical profile Display name Intended hardware Address notation
keyence:kv-nano KEYENCE KV-NANO KV-N24nn, KV-N40nn, KV-N60nn, KV-NC32T Native KV notation.
keyence:kv-nano-xym KEYENCE KV-NANO (XYM) Same KV-NANO family XYM aliases over keyence:kv-nano.
keyence:kv-3000 KEYENCE KV-3000 KV-3000 Native KV notation.
keyence:kv-3000-xym KEYENCE KV-3000 (XYM) Same KV-3000 family XYM aliases over keyence:kv-3000.
keyence:kv-5000 KEYENCE KV-5000 KV-5000, KV-5500 Native KV notation.
keyence:kv-5000-xym KEYENCE KV-5000 (XYM) Same KV-5000 family XYM aliases over keyence:kv-5000.
keyence:kv-7000 KEYENCE KV-7000 KV-7000, KV-7300, KV-7500 Native KV notation.
keyence:kv-7000-xym KEYENCE KV-7000 (XYM) Same KV-7000 family XYM aliases over keyence:kv-7000.
keyence:kv-8000 KEYENCE KV-8000 KV-8000, KV-8000A Native KV notation.
keyence:kv-8000-xym KEYENCE KV-8000 (XYM) Same KV-8000 family XYM aliases over keyence:kv-8000.
keyence:kv-x500 KEYENCE KV-X500 KV-X310, KV-X500, KV-X520, KV-X530, KV-X550 Native KV notation.
keyence:kv-x500-xym KEYENCE KV-X500 (XYM) Same KV-X500 family XYM aliases over keyence:kv-x500.

How to select a catalog

using System;
using PlcComm.KvHostLink;

var catalog = KvHostLinkDeviceRanges.DeviceRangeCatalogForPlcProfile("keyence:kv-7000");
Console.WriteLine(catalog.PlcProfile);

Select the canonical profile in your application settings, project file, or UI. Connect separately when you need to read or write PLC data:

using PlcComm.KvHostLink;

var options = new KvHostLinkConnectionOptions("192.168.250.100", 8501, HostLinkTransportMode.Tcp, "keyence:kv-8000");
await using var client = await KvHostLinkClientFactory.OpenAndConnectAsync(options);
ushort dm0 = (ushort)await client.ReadTypedAsync("DM0", "U");

Model-specific cautions

KV-NANO profiles do not include EM, FM, ZF, or AT. Use DM for first reads and check the device range catalog before using model-specific areas.

KV-NANO, KV-3000, and KV-5000 catalogs include CTH and CTC range rows. The address parser accepts both device types; actual availability remains model- and unit-dependent and must be checked against the selected catalog and PLC configuration.

KV-3000 and KV-5000 profiles include AT, but timer/counter preset writes (WS/WSS) are documented for KV-8000/7000-series only.

KV-7000 and KV-8000 profiles are the documented profiles for timer/counter preset writes (WS/WSS). They do not include CTH or CTC.

KV-X500 profiles do not include AT, VM, VB, CTH, or CTC. Use the shared KV Host Link Troubleshooting & Codes page for common address-shape and unsupported-device symptoms.