Files
SequencerIO/config_with_outputs.yaml
2026-03-02 17:48:55 -05:00

150 lines
9.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 }