JSON Definitions

Table 21. JSON Object Parameters
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
Table 22. Program Info Object Parameters
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
Table 23. Module Type Object Parameters
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
Table 24. Digital Input Object Parameters
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.
Table 25. Digital Output Object Parameters
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.
Table 26. Analog Input Object Parameters
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
Table 27. Variable Object Parameters
Term Required? Type Notes
alias_name Yes Identifier string
config_type Yes String Must be internal or unused
Table 28. State Machine Object Parameters
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
Table 29. Action Object Parameters
Term Required? Type Notes
signal Yes Identifier string
value Yes Output drive string
Table 30. Transition Object Parameters
Term Required? Type Notes
expression Yes Expression string
next_state Yes Path string