JSON Definitions
- Updated2024-05-17
- 5 minute(s) read
JSON Definitions
| Term | Required? | Type | Notes |
|---|---|---|---|
| version | Yes | Numeric | Must be 1 or 2 if the module_type is 9350. Must be 2 if the module_type is 9351 |
| module_type | Yes | String | Must be 9350 or 9351 |
| program_info | Yes | String | Specifies information and settings specific to the program |
| Term | Required? | Type | Notes |
|---|---|---|---|
| build_number | Yes | Numeric | Increments when you first edit a User Program that has successfully compiled |
| guid | Yes | GUID string | Formatted with hyphens and braces |
| auto_start | Yes | Boolean string | Specifies if the program should begin automatically when the module powers on |
| led_flash_rate | Yes | Time string | Specifies the rate UserLED0 blinks when set to Flash, must be between 50 ms and 12.8 s, inclusive, and be a multiple of 50 ms |
| fault_latch_time | Yes | Time string | — |
| Module_type | Term | Required? | Type | Number of Elements | Definition |
|---|---|---|---|---|---|
| 9350 | digital_inputs | Yes | Array | 8 | Digital input objects |
| digital_outputs | Yes | Array | 8 | Digital output objects | |
| variables | Yes | Array | 24 | Variable objects | |
| state_machines | Yes | Array | 0 to 7 (inclusive) | State tree node objects | |
| 9351 | digital_inputs | Yes | Array | 4 | Digital input objects |
| digital_outputs | Yes | Array | 4 | Digital output objects | |
| analog_inputs | Yes | Array | 4 | Analog input objects | |
| variables | Yes | Array | 24 | Variable objects | |
| state_machines | Yes | Array | 0 to 3 (inclusive) | State tree node objects |
| Term | Required? | Type | Notes |
|---|---|---|---|
| alias_name | Yes | Identifier string | — |
| config_type | Yes | String | Must be one of: reserved, unused, basic, test_pulse, dual, or dual_and_test_pulse |
| discrepancy_time | Required if config_type is dual or dual_and_test_pulse | Time string | — |
| complementary | Required if config_type is dual or dual_and_test_pulse | Boolean string | — |
| owner | Required if config_type is reserved | Identifier string | — |
| test_pulse_width | Required if config_type is test_pulse or dual_and_test_pulse | Time string | — |
| test_pulse_period | Required if config_type is test_pulse or dual_and_test_pulse | Time string | — |
| true_value | Required if config_type is basic, test_pulse, dual, or dual_and_test_pulse | String | Must be high or low |
| debounce_ filter_time | Required if config_type is basic, test_pulse, dual, or dual_and_test_pulse | Time string | — |
| load | Required if config_type is test_pulse, dual_and_test_pulse | Time string | Must have a value of 40 μs, 1 ms, 10 ms, or 100 ms (or equivalent). |
| fail_safe_on_ over_current | Required if config_type is test_pulse or dual_and_test_pulse | Boolean string | Can not be true if auto_recover_on_ over_current is true.If both failsafe_on_ over_current and auto_recover_on_ over_current are false, the module will not attempt to recover from the fault. |
| fail_safe_on_ discrepancy | Required if config_type is dual or dual_and_test_pulse | Boolean string | — |
| fail_safe_on_ test_pulse | Required if config_type is test_pulse or dual_and_test_pulse | Boolean string | — |
| auto_recover_on_ over_current | Required if failsafe_on_ over_current is false | Boolean string | Can not be true if failsafe_on_ over_current is true. If both failsafe_on_ over_current and auto_recover_on_ over_current are false, the module will not attempt to recover from the fault. |
| over_current_auto_ recover_time | Required if auto_recover_on_ over_current is true | Time string | Must have a value between 3 s and 16384 s. |
| Term | Required? | Type | Notes |
|---|---|---|---|
| alias_name | Yes | Identifier string | — |
| config_type | Yes | String | Must be reserved, unused, basic, test_pulse_internal, test_pulse_external, external_readback, dual, or dual_and_test_ pulse_internal, dual_and_test_ pulse_external |
| owner | Required if config_type is reserved | Identifier string | — |
| test_pulse_width | Required if config_type is test_pulse_internal, test_pulse_external, dual_and_test_ pulse_internal, or dual_and_test_ pulse_external | Time string | — |
| test_pulse_period | Required if config_type is test_pulse_internal, test_pulse_external, dual_and_test_ pulse_internal, or dual_and_test_ pulse_external | Time string | — |
| readback_delay | Required if config_type is external_readback | Time string | — |
| load | Required if config_type is basic, test_pulse_internal, test_pulse_external, dual, dual_and_test_ pulse_internal, dual_and_test_ pulse_external, or external_readback | Time string | Must have a value of 40 μs, 1 ms, 10 ms, or 100 ms (or equivalent). |
| flash_rate | Required if config_type is basic, test_pulse_internal, test_pulse_external, dual, dual_and_test_ pulse_internal, dual_and_test_ pulse_external, or external_readback | Time string | Must have a value that is a multiple of 50 ms, between 50 ms and 12.8 s, inclusive. |
| debounce_ filter_time | Required if config_type is basic, test_pulse_external, external_readback, or dual_and_test_ pulse_external | Time string | — |
| fail_safe_on_ over_current | Required if config_type is basic, test_pulse_internal, test_pulse_external, dual, dual_and_test_ pulse_internal, dual_and_test_ pulse_external, or external_readback | Boolean string | Can not be true if auto_recover_on_ over_current is true. If both failsafe_on_ over_current and auto_recover_on_ over_current are false, the module will not attempt to recover from the fault. |
| fail_safe_on_ open_circuit | Required if config_type is basic, test_pulse_internal, test_pulse_external, dual, dual_and_test_ pulse_internal, dual_and_test_ pulse_external, or external_readback | Boolean string | |
| fail_safe_on_ discrepancy | Required if config_type is dual, dual_and_test_ pulse_internal, or dual_and_test_ pulse_external | Boolean string | — |
| fail_safe_on_ test_pulse | Required if config_type is test_pulse_internal, test_pulse_external, dual_and_test_ pulse_internal, or dual_and_test_ pulse_external | Boolean string | — |
| fail_safe_on_ readback | Required if config_type is basic, external_readback, dual | Boolean string | — |
| auto_recover_on_ over_current | Required if failsafe_on_ over_current is false | Boolean string | Can not be true if failsafe_on_ over_current is true. If both failsafe_on_ over_current and auto_recover_on_ over_current are false, the module will not attempt to recover from the fault. |
| over_current_auto_ recover_time | Required if auto_recover_on_ over_current is true | Time string | Must have a value between 3 s and 16384 s. |
| Term | Required? | Type | Notes |
|---|---|---|---|
| alias_name | Yes | String | — |
| config_type | Yes | String | Must be single1oo1, dual1oo2, triple2oo3, reserved, or unused |
| threshold_lowlow | Required if config_type is analog_input | Numeric | Threshold expressed in nA |
| threshold_low | Required if config_type is analog_input | Numeric | Threshold expressed in nA |
| threshold_high | Required if config_type is analog_input | Numeric | Threshold expressed in nA |
| threshold_highhigh | Required if config_type is analog_input | Numeric | Threshold expressed in nA |
| discrepancy_time | Required if config_type is dual1oo2 or triple2oo3 | Time string | Must have a value between 1000 μs and 1800000000 μs. |
| discrepancy_current | Required if config_type is dual1oo2 or triple2oo3 | Numeric | The difference between channels required to trigger a discrepancy fault in nA. Value must be greater than 0. |
| hysteresis | Required if config_type is single1oo1, dual1oo2, or triple2oo3 | Numeric | The value by which the analog input must surpass a threshold (above or below) for the channel to be considered in the next region in nA. |
| fail_safe_on_ over_current | Required if config_type is single1oo1, dual1oo2, or triple2oo3 | Boolean string | — |
| fail_safe_on_ discrepancy | Required if config_type is dual1oo2 or triple2oo3 | Boolean string | — |
| Term | Required? | Type | Notes |
|---|---|---|---|
| alias_name | Yes | Identifier string | — |
| config_type | Yes | String | Must be internal or unused |
| Term | Required? | Type | Notes |
|---|---|---|---|
| name | Yes | String | — |
| actions | Yes, but may be empty | Array | Action objects |
| transitions | Yes, but may be empty | Array | Transition objects |
| substates | Yes, but may be empty | Array | State tree node objects |
| initial_state | Optional | Identifier string | — |
| Term | Required? | Type | Notes |
|---|---|---|---|
| signal | Yes | Identifier string | — |
| value | Yes | Output drive string | — |
| Term | Required? | Type | Notes |
|---|---|---|---|
| expression | Yes | Expression string | — |
| next_state | Yes | Path string | — |