Skip to content

Click Dialect API

Tier: Dialect Surface

Click prebuilt blocks, aliases, and validation/communication helpers.

Mapping and Runtime Helpers

TagMap

Parameters:

Name Type Description Default
mappings dict[Tag | Block, Tag | BlockRange] | Iterable[MappingEntry] | None

dict[Tag | Block, Tag | BlockRange], Iterable[MappingEntry], or None for an empty map.

None
include_system bool

Whether to include built-in system tag mappings (SC/SD points). Default True.

True
from_nickname_file classmethod
from_nickname_file(
    path: str | Path,
    *,
    mode: Literal["warn", "strict"] = "warn",
) -> TagMap

Parameters:

Name Type Description Default
path str | Path

Path to the Click nickname CSV file.

required
mode Literal['warn', 'strict']

Behavior for dotted UDT grouping failures: "warn" (default) falls back to plain blocks and records structure_warnings; "strict" raises ValueError.

'warn'

Returns:

Type Description
TagMap

A TagMap ready for use with validate() and to_nickname_file().

Raises:

Type Description
FileNotFoundError

If the path does not exist.

ValueError

If the CSV contains conflicting block boundaries or mismatched memory types, or if mode is invalid.

to_nickname_file
to_nickname_file(path: str | Path) -> int

Parameters:

Name Type Description Default
path str | Path

Destination CSV path. Parent directories must exist.

required

Returns:

Type Description
int

Number of rows written.

resolve
resolve(
    source: Tag | Block | str, index: int | None = None
) -> str
offset_for
offset_for(block: Block) -> int
block_entry_by_name
block_entry_by_name(name: str) -> _BlockEntry | None
validate
validate(
    program: Program,
    mode: ValidationMode = "warn",
    profile: HardwareProfile | None = None,
) -> ClickValidationReport

Parameters:

Name Type Description Default
program Program

The Program to validate.

required
mode ValidationMode

"warn" (findings as hints) or "strict" (findings as errors).

'warn'
profile HardwareProfile | None

Optional hardware capability profile override.

None

Returns:

Type Description
ClickValidationReport

ClickValidationReport with categorized findings.

to_ladder
to_ladder(program: Program) -> LadderBundle
mapped_slots
mapped_slots() -> tuple[MappedSlot, ...]

LadderBundle dataclass

LadderExportError

Bases: RuntimeError

ClickDataProvider

Parameters:

Name Type Description Default
runner PLCRunner

The active PLCRunner whose state is served.

required
tag_map TagMap

Mapping from logical tag names to Click hardware addresses.

required
fallback DataProvider | None

Optional provider for unmapped addresses. Defaults to an in-memory provider.

None

validate_click_program

validate_click_program(
    program: Program,
    tag_map: TagMap,
    mode: ValidationMode = "warn",
    profile: HardwareProfile | None = None,
) -> ClickValidationReport

send

send(
    *,
    host: str,
    port: int,
    remote_start: str,
    source: Tag | BlockRange,
    sending: Tag,
    success: Tag,
    error: Tag,
    exception_response: Tag,
    device_id: int = 1,
    count: int | None = None,
) -> None

receive

receive(
    *,
    host: str,
    port: int,
    remote_start: str,
    dest: Tag | BlockRange,
    receiving: Tag,
    success: Tag,
    error: Tag,
    exception_response: Tag,
    device_id: int = 1,
    count: int | None = None,
) -> None

Prebuilt Blocks and Aliases

Bit module-attribute
Bit = Bool
Int2 module-attribute
Int2 = Dint
Float module-attribute
Float = Real
Hex module-attribute
Hex = Word
Txt module-attribute
Txt = Char
x module-attribute
x: InputBlock = cast(
    InputBlock, _block_from_bank_config(BANKS["X"])
)
y module-attribute
y: OutputBlock = cast(
    OutputBlock, _block_from_bank_config(BANKS["Y"])
)
c module-attribute
c: Block = _block_from_bank_config(BANKS['C'])
t module-attribute
t: Block = _block_from_bank_config(BANKS['T'])
ct module-attribute
ct: Block = _block_from_bank_config(BANKS['CT'])
sc module-attribute
sc: Block = _block_from_bank_config(BANKS['SC'])
ds module-attribute
ds: Block = _block_from_bank_config(BANKS['DS'])
dd module-attribute
dd: Block = _block_from_bank_config(BANKS['DD'])
dh module-attribute
dh: Block = _block_from_bank_config(BANKS['DH'])
df module-attribute
df: Block = _block_from_bank_config(BANKS['DF'])
xd module-attribute
xd: InputBlock = cast(
    InputBlock, _block_from_bank_config(BANKS["XD"])
)
yd module-attribute
yd: OutputBlock = cast(
    OutputBlock, _block_from_bank_config(BANKS["YD"])
)
xd0u module-attribute
xd0u = InputTag('XD0u', WORD, retentive=False)
yd0u module-attribute
yd0u = OutputTag('YD0u', WORD, retentive=False)
td module-attribute
td: Block = _block_from_bank_config(BANKS['TD'])
ctd module-attribute
ctd: Block = _block_from_bank_config(BANKS['CTD'])
sd module-attribute
sd: Block = _block_from_bank_config(BANKS['SD'])
txt module-attribute
txt: Block = _block_from_bank_config(BANKS['TXT'])