Table Of Contents

JSON Definitions

Version:
    Last Modified: May 15, 2018

    Table 1. 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 2. 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 3. 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 4. 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 5. 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 6. 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 7. Variable Object Parameters
    Term Required? Type Notes
    alias_name Yes Identifier string
    config_type Yes String Must be internal or unused
    Table 8. 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 9. Action Object Parameters
    Term Required? Type Notes
    signal Yes Identifier string
    value Yes Output drive string
    Table 10. Transition Object Parameters
    Term Required? Type Notes
    expression Yes Expression string
    next_state Yes Path string

    Recently Viewed Topics