150 lines
9.5 KiB
YAML
150 lines
9.5 KiB
YAML
# arnold config_with_outputs.yaml
|
||
# Device: T1H-08TDS (8-pt input, slot 1)
|
||
# T1H-08TDS (8-pt input, slot 2)
|
||
# T1K-16TD2-1 (16-pt sourcing output, slot 3)
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
|
||
devices:
|
||
- id: ebc100_main
|
||
host: 192.168.3.202
|
||
port: 502
|
||
unit_id: 1
|
||
poll_interval_ms: 50
|
||
modules:
|
||
- slot: 1
|
||
type: T1H-08TDS # 8-point 24VDC sinking digital input
|
||
points: 8
|
||
- slot: 2
|
||
type: T1H-08TDS # 8-point 24VDC sinking digital input
|
||
points: 8
|
||
- slot: 3
|
||
type: T1K-16TD2-1 # 16-point 12-24VDC sourcing digital output
|
||
points: 16
|
||
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# LOGICAL I/O
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
|
||
logical_io:
|
||
# ── Slot 1 — 8 inputs ─────────────────────────────────────────────────────
|
||
- { name: input_1_1, device: ebc100_main, slot: 1, point: 1, direction: input }
|
||
- { name: input_1_2, device: ebc100_main, slot: 1, point: 2, direction: input }
|
||
- { name: input_1_3, device: ebc100_main, slot: 1, point: 3, direction: input }
|
||
- { name: input_1_4, device: ebc100_main, slot: 1, point: 4, direction: input }
|
||
- { name: input_1_5, device: ebc100_main, slot: 1, point: 5, direction: input }
|
||
- { name: input_1_6, device: ebc100_main, slot: 1, point: 6, direction: input }
|
||
- { name: input_1_7, device: ebc100_main, slot: 1, point: 7, direction: input }
|
||
- { name: input_1_8, device: ebc100_main, slot: 1, point: 8, direction: input }
|
||
|
||
# ── Slot 2 — 8 inputs ─────────────────────────────────────────────────────
|
||
- { name: input_2_1, device: ebc100_main, slot: 2, point: 1, direction: input }
|
||
- { name: input_2_2, device: ebc100_main, slot: 2, point: 2, direction: input }
|
||
- { name: input_2_3, device: ebc100_main, slot: 2, point: 3, direction: input }
|
||
- { name: input_2_4, device: ebc100_main, slot: 2, point: 4, direction: input }
|
||
- { name: input_2_5, device: ebc100_main, slot: 2, point: 5, direction: input }
|
||
- { name: input_2_6, device: ebc100_main, slot: 2, point: 6, direction: input }
|
||
- { name: input_2_7, device: ebc100_main, slot: 2, point: 7, direction: input }
|
||
- { name: input_2_8, device: ebc100_main, slot: 2, point: 8, direction: input }
|
||
|
||
# ── Slot 3 — 16 outputs (T1K-16TD2-1) ────────────────────────────────────
|
||
- { name: output_3_1, device: ebc100_main, slot: 3, point: 1, direction: output }
|
||
- { name: output_3_2, device: ebc100_main, slot: 3, point: 2, direction: output }
|
||
- { name: output_3_3, device: ebc100_main, slot: 3, point: 3, direction: output }
|
||
- { name: output_3_4, device: ebc100_main, slot: 3, point: 4, direction: output }
|
||
- { name: output_3_5, device: ebc100_main, slot: 3, point: 5, direction: output }
|
||
- { name: output_3_6, device: ebc100_main, slot: 3, point: 6, direction: output }
|
||
- { name: output_3_7, device: ebc100_main, slot: 3, point: 7, direction: output }
|
||
- { name: output_3_8, device: ebc100_main, slot: 3, point: 8, direction: output }
|
||
- { name: output_3_9, device: ebc100_main, slot: 3, point: 9, direction: output }
|
||
- { name: output_3_10, device: ebc100_main, slot: 3, point: 10, direction: output }
|
||
- { name: output_3_11, device: ebc100_main, slot: 3, point: 11, direction: output }
|
||
- { name: output_3_12, device: ebc100_main, slot: 3, point: 12, direction: output }
|
||
- { name: output_3_13, device: ebc100_main, slot: 3, point: 13, direction: output }
|
||
- { name: output_3_14, device: ebc100_main, slot: 3, point: 14, direction: output }
|
||
- { name: output_3_15, device: ebc100_main, slot: 3, point: 15, direction: output }
|
||
- { name: output_3_16, device: ebc100_main, slot: 3, point: 16, direction: output }
|
||
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# SEQUENCES
|
||
# Each output is toggled ON for 1 second, then OFF for 1 second, in order.
|
||
# Outputs 1-16 cycle sequentially: total runtime = 16 × 2s = 32s.
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
|
||
sequences:
|
||
- name: output_sequential_toggle
|
||
description: >
|
||
Toggle each of the 16 outputs ON for 1 second then OFF for 1 second,
|
||
cycling through outputs 1–16 in order. Total duration: 32 seconds.
|
||
steps:
|
||
# Output 1
|
||
- { t_ms: 0, action: set_output, signal: output_3_1, state: true }
|
||
- { t_ms: 1000, action: set_output, signal: output_3_1, state: false }
|
||
# Output 2
|
||
- { t_ms: 2000, action: set_output, signal: output_3_2, state: true }
|
||
- { t_ms: 3000, action: set_output, signal: output_3_2, state: false }
|
||
# Output 3
|
||
- { t_ms: 4000, action: set_output, signal: output_3_3, state: true }
|
||
- { t_ms: 5000, action: set_output, signal: output_3_3, state: false }
|
||
# Output 4
|
||
- { t_ms: 6000, action: set_output, signal: output_3_4, state: true }
|
||
- { t_ms: 7000, action: set_output, signal: output_3_4, state: false }
|
||
# Output 5
|
||
- { t_ms: 8000, action: set_output, signal: output_3_5, state: true }
|
||
- { t_ms: 9000, action: set_output, signal: output_3_5, state: false }
|
||
# Output 6
|
||
- { t_ms: 10000, action: set_output, signal: output_3_6, state: true }
|
||
- { t_ms: 11000, action: set_output, signal: output_3_6, state: false }
|
||
# Output 7
|
||
- { t_ms: 12000, action: set_output, signal: output_3_7, state: true }
|
||
- { t_ms: 13000, action: set_output, signal: output_3_7, state: false }
|
||
# Output 8
|
||
- { t_ms: 14000, action: set_output, signal: output_3_8, state: true }
|
||
- { t_ms: 15000, action: set_output, signal: output_3_8, state: false }
|
||
# Output 9
|
||
- { t_ms: 16000, action: set_output, signal: output_3_9, state: true }
|
||
- { t_ms: 17000, action: set_output, signal: output_3_9, state: false }
|
||
# Output 10
|
||
- { t_ms: 18000, action: set_output, signal: output_3_10, state: true }
|
||
- { t_ms: 19000, action: set_output, signal: output_3_10, state: false }
|
||
# Output 11
|
||
- { t_ms: 20000, action: set_output, signal: output_3_11, state: true }
|
||
- { t_ms: 21000, action: set_output, signal: output_3_11, state: false }
|
||
# Output 12
|
||
- { t_ms: 22000, action: set_output, signal: output_3_12, state: true }
|
||
- { t_ms: 23000, action: set_output, signal: output_3_12, state: false }
|
||
# Output 13
|
||
- { t_ms: 24000, action: set_output, signal: output_3_13, state: true }
|
||
- { t_ms: 25000, action: set_output, signal: output_3_13, state: false }
|
||
# Output 14
|
||
- { t_ms: 26000, action: set_output, signal: output_3_14, state: true }
|
||
- { t_ms: 27000, action: set_output, signal: output_3_14, state: false }
|
||
# Output 15
|
||
- { t_ms: 28000, action: set_output, signal: output_3_15, state: true }
|
||
- { t_ms: 29000, action: set_output, signal: output_3_15, state: false }
|
||
# Output 16
|
||
- { t_ms: 30000, action: set_output, signal: output_3_16, state: true }
|
||
- { t_ms: 31000, action: set_output, signal: output_3_16, state: false }
|
||
|
||
# ── Safety reset — drive all outputs OFF ──────────────────────────────────
|
||
- name: all_outputs_off
|
||
description: "Force all 16 outputs OFF immediately (safety reset)"
|
||
steps:
|
||
- { t_ms: 0, action: set_output, signal: output_3_1, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_2, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_3, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_4, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_5, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_6, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_7, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_8, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_9, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_10, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_11, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_12, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_13, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_14, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_15, state: false }
|
||
- { t_ms: 0, action: set_output, signal: output_3_16, state: false }
|