This commit is contained in:
2026-03-02 17:48:55 -05:00
commit 75678fce4d
27 changed files with 5354 additions and 0 deletions

149
config_with_outputs.yaml Normal file
View File

@@ -0,0 +1,149 @@
# 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 116 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 }