-- =============================================================
-- = DIGI-IA-MIB : Digi Industrial Automation Protocol MIB     =
-- =                                                           =
-- = (c) Copyright 2002 Digi International, Inc.               =
-- =============================================================

DIGI-IA-MIB DEFINITIONS ::= BEGIN

IMPORTS
digiIA FROM DIGI-SMI
OBJECT-TYPE FROM RFC-1212
IpAddress, Counter FROM RFC1155-SMI;

--   digiEnterprise MODULE-IDENTITY
--       LAST-UPDATED "0203270100Z"
--       ORGANIZATION "Digi International Inc."
--       CONTACT-INFO
--               "        Michael Nicholson
--                Postal: Digi International Inc.
--		          11001 Bren Road East
--                        Minnetonka, MN 55343
--
--                   Tel: 952-912-3146
--                   Fax: 952-912-4952
--                E-mail: Mike.Nicholson@digi.com"
--       DESCRIPTION
--               "Digi Structure of Management Information MIB"
--       ::= { digiProtocols 12 }

-- === + Textual Conventions + ===========================================

Switch ::= INTEGER { off(1), on(2) }
IAProtocol ::= INTEGER { inactive(1),      modbusascii(2),   modbusrtu(3),
                         df1fullduplex(4), userdefined(5),   omronhostlink(6),
                         df1halfduplex(7), omroncompowayf(8), omronfins(9) }
IANetProtocol ::= INTEGER { inactive(1),  none(2),
                            tcpsocket(3), udpsocket(4),
                            modbtcp(5),   abethernet(6), ethernetip(7),
                            modbascii(8), modbrtu(9), df1full(10) }
IAType ::= INTEGER { none(1), master(2), slave(3) }
IARouteType ::= INTEGER { inactive(1), unconfigured(2), serial(3), network(4) }
DisplayString ::= OCTET STRING

-- =======================================================================
-- =======================================================================
-- === + IA + ============================================================
-- =======================================================================
-- =======================================================================

iaSerialSettings	OBJECT IDENTIFIER ::= { digiIA 11 }
iaNetMasterSettings	OBJECT IDENTIFIER ::= { digiIA 12 }
iaNetSlaveSettings	OBJECT IDENTIFIER ::= { digiIA 13 }
iaStatistics		OBJECT IDENTIFIER ::= { digiIA 14 }
iaRouteSettings		OBJECT IDENTIFIER ::= { digiIA 15 }

-- =======================================================================
-- =======================================================================
-- === + IA Serial Config + ==============================================
-- =======================================================================
-- =======================================================================
                                    
-- =======================================================================
-- === + IA General Serial Config + ======================================
-- =======================================================================

iaSerialGeneralSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialGeneralSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for serial IA configuration settings"
::= { iaSerialSettings 11 }

iaSerialGeneralSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialGeneralSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of IA settings"
    INDEX { iaSerialPortIndex }
::= { iaSerialGeneralSettingsTable 1 }

IaSerialGeneralSettingsEntry ::= SEQUENCE {
iaSerialPortIndex INTEGER,
iaSerialPortType IAType,
iaSerialPortProtocol IAProtocol,
iaSerialMessageTimeout INTEGER,
iaSerialNetSlaveList DisplayString,
iaSerialRevert INTEGER,
iaSerialResetNetSlaves INTEGER,
iaSerialAddRouteEntry INTEGER
}

iaSerialPortIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Index"
::= { iaSerialGeneralSettingsEntry 11 }

iaSerialPortType OBJECT-TYPE 
    SYNTAX IAType
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Type
		    2 - master     3 - slave"
::= { iaSerialGeneralSettingsEntry 12 }

iaSerialPortProtocol OBJECT-TYPE 
    SYNTAX IAProtocol
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "IA Serial Port Protocol
	     1 - inactive,      2 - modbusascii, 3 - modbusrtu,
	     4 - df1fullduplex, 5 - userdefined, 6 - hostlink,
	     7 - df1halfduplex  8 - compowayf    9 - fins"
::= { iaSerialGeneralSettingsEntry 13 }

iaSerialMessageTimeout OBJECT-TYPE
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"IA Serial Port Message Timeout in milliseconds.
         Specifies how long to wait for a response from 
         a given request."
::= { iaSerialGeneralSettingsEntry 14 }

iaSerialNetSlaveList OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
       "NOTE this object is no longer used.
        List the active net slaves of the
        curent port in form of the string with
        1-based values separated by comma.
        '0' - if there are no active netslaves"
::= { iaSerialGeneralSettingsEntry 15 }

iaSerialRevert OBJECT-TYPE
    SYNTAX INTEGER {ready(1), factory(2), nvram(3)}
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Factory(2) : This will reset the IA port referenced by
	              index to its factory default values.
                      
         NVRAM(3)   : This will reset the IA port referenced by
                      index to the settings stored in NVRAM
                      (at boot time)"
::= { iaSerialGeneralSettingsEntry 16 }

iaSerialResetNetSlaves OBJECT-TYPE
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "NOTE this object is no longer used.
         Deactivates all netslaves of the current port"
::= { iaSerialGeneralSettingsEntry 17 }

iaSerialAddRouteEntry OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"Adds new unconfigured entry to the route table
	for the serial master"
::= { iaSerialGeneralSettingsEntry 18 }

-- =======================================================================
-- === + IA MODBUS RTU Serial Config + ===================================
-- =======================================================================

iaSerialModbusRTUSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialModbusRTUSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for Modbus RTU configuration settings"
::= { iaSerialSettings 12 }

iaSerialModbusRTUSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialModbusRTUSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of Modbus RTU settings"
    INDEX { iaSerialPortModbusRTUIndex }
::= { iaSerialModbusRTUSettingsTable 1 }

IaSerialModbusRTUSettingsEntry ::= SEQUENCE {
iaSerialPortModbusRTUIndex INTEGER,
iaSerialModbusRTUTimeout INTEGER,
iaSerialModbusRTUFixedAddress INTEGER,
iaSerialModbusRTUBroadcastFlag INTEGER,
iaSerialModbusRTUExtendedTimeout INTEGER,
iaSerialModbusRTUExtendedFunctions DisplayString,
iaSerialModbusRTUAddExtendedFunctions DisplayString,
iaSerialModbusRTURemoveExtendedFunctions DisplayString
}

iaSerialPortModbusRTUIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Index"
::= { iaSerialModbusRTUSettingsEntry 11 }

iaSerialModbusRTUTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"RTU Timeout in milliseconds"
::= { iaSerialModbusRTUSettingsEntry 12 }

iaSerialModbusRTUFixedAddress OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Used to overide the unit address field in a
                 request message.  A value of 0 indicates that
                 the unit address field is not overwritten."
::= { iaSerialModbusRTUSettingsEntry 13 }

iaSerialModbusRTUBroadcastFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2), replace(3) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "Indicates how an incoming modbus broadcast request 
                 is handled.  A value of 1 indicates the request is 
                 thrown away.  A value of 2 indicates the request 
                 is sent to the slaves without expecting a response.
                 A value of 3 indicates that the message's broadcast
		 address should be replaced with a 1 and treating it
                 as a normal request."
::= { iaSerialModbusRTUSettingsEntry 14 }


iaSerialModbusRTUErrorResponseFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "When this mib is on, a request that can not be
                 routed or times out will result in an error
                 response.  The error response will be either an
                 exception 0xA or 0xB."
::= { iaSerialModbusRTUSettingsEntry 15 }

iaSerialModbusRTUExtendedTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "Used to handle requests that require special
                 timeout requirements.  A request with a
                 function in the extended function list will
                 use this timeout rather than the normal
                 message timeout.  The timeout is specified in
                 milliseconds."  
::= { iaSerialModbusRTUSettingsEntry 16 }

iaSerialModbusRTUExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "Used to get or set the list of Modbus functions
                 that use the extended timeout instead of the
                 normal message timeout."
::= { iaSerialModbusRTUSettingsEntry 17 }

iaSerialModbusRTUAddExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS write-only
    STATUS mandatory
    DESCRIPTION
                "Used to add functions to the list of Modbus 
                 functions that use the extended timeout instead 
                 of the normal message timeout."
::= { iaSerialModbusRTUSettingsEntry 18 }

iaSerialModbusRTURemoveExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS write-only
    STATUS mandatory
    DESCRIPTION
                "Used to remove functions from the list of Modbus 
                 functions that use the extended timeout instead 
                 of the normal message timeout."
::= { iaSerialModbusRTUSettingsEntry 19 }

-- =======================================================================
-- === + IA DF1 Full Duplex Serial Config + ==============================
-- =======================================================================
                                
iaSerialDF1FullDuplexSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialDF1FullDuplexSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for DF1 full-duplex configuration settings"
::= { iaSerialSettings 13 }

iaSerialDF1FullDuplexSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialDF1FullDuplexSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of DF1 full-duplex settings"
    INDEX { iaSerialPortDF1FullDuplexIndex }
::= { iaSerialDF1FullDuplexSettingsTable 1 }

IaSerialDF1FullDuplexSettingsEntry ::= SEQUENCE {
iaSerialPortDF1FullDuplexIndex INTEGER,
iaSerialDF1FullDuplexChecksum INTEGER,
iaSerialDF1FullDuplexAckTimeout INTEGER,
iaSerialDF1FullDuplexAckTimeoutLimit INTEGER,
iaSerialDF1FullDuplexNakTimeoutLimit INTEGER,
iaSerialDF1FullDuplexErrorResponseFlag INTEGER,
iaSerialDF1FullDuplexDuplicateDetectFlag INTEGER
}
                                               
iaSerialPortDF1FullDuplexIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Index"
::= { iaSerialDF1FullDuplexSettingsEntry 11 }

iaSerialDF1FullDuplexChecksum OBJECT-TYPE 
    SYNTAX INTEGER { bcc(1), crc(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Checksum method"
::= { iaSerialDF1FullDuplexSettingsEntry 12 }

iaSerialDF1FullDuplexAckTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout in milliseconds"
::= { iaSerialDF1FullDuplexSettingsEntry 13 }

iaSerialDF1FullDuplexAckTimeoutLimit OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout limit"
::= { iaSerialDF1FullDuplexSettingsEntry 14 }

iaSerialDF1FullDuplexNakTimeoutLimit OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Nak timeout limit"
::= { iaSerialDF1FullDuplexSettingsEntry 15 }

iaSerialDF1FullDuplexErrorResponseFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "When this mib is on, a request that can not be
                 routed or times out will result in an error
                 response."
::= { iaSerialDF1FullDuplexSettingsEntry 16 }

iaSerialDF1FullDuplexDuplicateDetectFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "When this mib is on, consecutive requests
                 with matching command, source, and tns bytes
                 will get thrown out as specified by the DF1
                 specification."
::= { iaSerialDF1FullDuplexSettingsEntry 17 }
                                               
-- =======================================================================
-- === + IA DF1 Half Duplex Serial Config + ==============================
-- =======================================================================
                                
iaSerialDF1HalfDuplexSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialDF1HalfDuplexSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for DF1 half-duplex configuration settings"
::= { iaSerialSettings 14 }

iaSerialDF1HalfDuplexSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialDF1HalfDuplexSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of DF1 half-duplex settings"
    INDEX { iaSerialPortDF1HalfDuplexIndex }
::= { iaSerialDF1HalfDuplexSettingsTable 1 }

IaSerialDF1HalfDuplexSettingsEntry ::= SEQUENCE {
iaSerialPortDF1HalfDuplexIndex INTEGER,
iaSerialDF1HalfDuplexChecksum INTEGER,
iaSerialDF1HalfDuplexAckTimeout INTEGER,
iaSerialDF1HalfDuplexAckTimeoutLimit INTEGER,
iaSerialDF1HalfDuplexPollTimeout INTEGER,
iaSerialDF1HalfDuplexPollTimeoutLimit INTEGER,
iaSerialDF1HalfDuplexErrorResponseFlag INTEGER,
iaSerialDF1HalfDuplexDuplicateDetectFlag INTEGER
}
                                               
iaSerialPortDF1HalfDuplexIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Index"
::= { iaSerialDF1HalfDuplexSettingsEntry 11 }

iaSerialDF1HalfDuplexChecksum OBJECT-TYPE 
    SYNTAX INTEGER { bcc(1), crc(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Checksum method"
::= { iaSerialDF1HalfDuplexSettingsEntry 12 }


iaSerialDF1HalfDuplexAckTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout in milliseconds"
::= { iaSerialDF1HalfDuplexSettingsEntry 13 }

iaSerialDF1HalfDuplexAckTimeoutLimit OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout limit"
::= { iaSerialDF1HalfDuplexSettingsEntry 14 }

iaSerialDF1HalfDuplexPollTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Poll timeout in milliseconds"
::= { iaSerialDF1HalfDuplexSettingsEntry 15 }

iaSerialDF1HalfDuplexPollTimeoutLimit OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Poll timeout limit"
::= { iaSerialDF1HalfDuplexSettingsEntry 16 }

iaSerialDF1HalfDuplexErrorResponseFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "When this mib is on, a request that can not be
                 routed or times out will result in an error
                 response."
::= { iaSerialDF1HalfDuplexSettingsEntry 17 }

iaSerialDF1HalfDuplexDuplicateDetectFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "When this mib is on, consecutive requests
                 with matching command, source, and tns bytes
                 will get thrown out as specified by the DF1
                 specification."
::= { iaSerialDF1HalfDuplexSettingsEntry 18 }


-- =======================================================================
-- === + IA User Defined Serial Config + =================================
-- =======================================================================
                                
iaSerialUserDefinedSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialUserDefinedSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for User Defined configuration settings"
::= { iaSerialSettings 15 }

iaSerialUserDefinedSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialUserDefinedSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of User Defined settings"
    INDEX { iaSerialPortUserDefinedIndex }
::= { iaSerialUserDefinedSettingsTable 1 }

IaSerialUserDefinedSettingsEntry ::= SEQUENCE {
iaSerialPortUserDefinedIndex INTEGER,
iaSerialUserDefinedStart DisplayString,
iaSerialUserDefinedEnd DisplayString,
iaSerialUserDefinedAnsiEscapeFlag INTEGER
}
                                               
iaSerialPortUserDefinedIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
	"IA Serial Port Index"
::= { iaSerialUserDefinedSettingsEntry 11 }

iaSerialUserDefinedStart OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"Start delimiters characters:
	 first byte <length> in bytes - 
	 	number of delimiters = <length>/2;
	 next bytes delimiters:
	 	first byte	1 - delimiter of any type
	 			0 - delimiter's value is used
	 	second byte	delimiter's value"
::= { iaSerialUserDefinedSettingsEntry 12 }

iaSerialUserDefinedEnd OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"End delimiters characters:
	 first byte <length> in bytes - 
	 	number of delimiters = <length>/2;
	 next bytes delimiters:
	 	first byte	1 - delimiter of any type
	 			0 - delimiter's value is used
	 	second byte	delimiter's value"
::= { iaSerialUserDefinedSettingsEntry 13 }

iaSerialUserDefinedAnsiEscapeFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "When this mib is on, protocols that have an
                 ansi escape character as their first character
                 in their end of message pattern will properly
                 ignore the escape character in the message's
                 data payload." 
::= { iaSerialUserDefinedSettingsEntry 14 }

-- =======================================================================
-- === + IA OMRONHOSTLINK Serial Config + ================================
-- =======================================================================
                                
iaSerialOmronHostLinkSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialOmronHostLinkSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for Omronhostlink configuration settings"
::= { iaSerialSettings 16 }

iaSerialOmronHostLinkSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialOmronHostLinkSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of Omronhostlink settings"
    INDEX { iaSerialPortOmronHostLinkIndex }
::= { iaSerialOmronHostLinkSettingsTable 1 }

IaSerialOmronHostLinkSettingsEntry ::= SEQUENCE {
iaSerialPortOmronHostLinkIndex INTEGER,
iaSerialOmronHostLinkAckTimeout INTEGER,
iaSerialOmronHostLinkAckTimeoutLimit INTEGER
}
                                               
iaSerialPortOmronHostLinkIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Index"
::= { iaSerialOmronHostLinkSettingsEntry 11 }

iaSerialOmronHostLinkAckTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout in milliseconds"
::= { iaSerialOmronHostLinkSettingsEntry 12 }

iaSerialOmronHostLinkAckTimeoutLimit OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout limit"
::= { iaSerialOmronHostLinkSettingsEntry 13 }

-- =======================================================================
-- === + IA OMRONFINS Serial Config + ====================================
-- =======================================================================
                                
iaSerialOmronFinsSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialOmronFinsSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for Omronhostlink configuration settings"
::= { iaSerialSettings 17 }

iaSerialOmronFinsSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialOmronFinsSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of Omronhostlink settings"
    INDEX { iaSerialPortOmronFinsIndex }
::= { iaSerialOmronFinsSettingsTable 1 }

IaSerialOmronFinsSettingsEntry ::= SEQUENCE {
iaSerialPortOmronFinsIndex INTEGER,
iaSerialOmronFinsAckTimeout INTEGER,
iaSerialOmronFinsAckTimeoutLimit INTEGER
}
                                               
iaSerialPortOmronFinsIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Index"
::= { iaSerialOmronFinsSettingsEntry 11 }

iaSerialOmronFinsAckTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout in milliseconds"
::= { iaSerialOmronFinsSettingsEntry 12 }

iaSerialOmronFinsAckTimeoutLimit OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Ack timeout limit"
::= { iaSerialOmronFinsSettingsEntry 13 }

-- =======================================================================
-- === + IA MODBUS ASCII Serial Config + ===================================
-- =======================================================================

iaSerialModbusAsciiSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaSerialModbusAsciiSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for Modbus Ascii configuration settings"
::= { iaSerialSettings 18 }

iaSerialModbusAsciiSettingsEntry OBJECT-TYPE
    SYNTAX IaSerialModbusAsciiSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by port number of Modbus Ascii settings"
    INDEX { iaSerialPortModbusAsciiIndex }
::= { iaSerialModbusAsciiSettingsTable 1 }

IaSerialModbusAsciiSettingsEntry ::= SEQUENCE {
iaSerialPortModbusAsciiIndex INTEGER,
iaSerialModbusAsciiFixedAddress INTEGER,
iaSerialModbusAsciiBroadcastFlag INTEGER,
iaSerialModbusAsciiExtendedTimeout INTEGER,
iaSerialModbusAsciiExtendedFunctions DisplayString,
iaSerialModbusAsciiAddExtendedFunctions DisplayString,
iaSerialModbusAsciiRemoveExtendedFunctions DisplayString
}

iaSerialPortModbusAsciiIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
		"IA Serial Port Index"
::= { iaSerialModbusAsciiSettingsEntry 11 }

iaSerialModbusAsciiFixedAddress OBJECT-TYPE 
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
		"Used to overide the unit address field in a
                 request message.  A value of 0 indicates that
                 the unit address field is not overwritten."
::= { iaSerialModbusAsciiSettingsEntry 12 }

iaSerialModbusAsciiBroadcastFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2), replace(3) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "Indicates how an incoming modbus broadcast request 
                 is handled.  A value of 1 indicates the request is 
                 thrown away.  A value of 2 indicates the request 
                 is sent to the slaves without expecting a response.
                 A value of 3 indicates that the message's broadcast
		 address should be replaced with a 1 and treating it
                 as a normal request."
::= { iaSerialModbusAsciiSettingsEntry 13 }

iaSerialModbusAsciiErrorResponseFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "When this mib is on, a request that can not be
                 routed or times out will result in an error
                 response.  The error response will be either an
                 exception 0xA or 0xB."
::= { iaSerialModbusAsciiSettingsEntry 14 }

iaSerialModbusAsciiExtendedTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "Used to handle requests that require special
                 timeout requirements.  A request with a
                 function in the extended function list will
                 use this timeout rather than the normal
                 message timeout.  The timeout is specified in
                 milliseconds."  
::= { iaSerialModbusAsciiSettingsEntry 15 }

iaSerialModbusAsciiExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "Used to get or set the list of Modbus functions
                 that use the extended timeout instead of the
                 normal message timeout."
::= { iaSerialModbusAsciiSettingsEntry 16 }

iaSerialModbusAsciiAddExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS write-only
    STATUS mandatory
    DESCRIPTION
                "Used to add functions to the list of Modbus 
                 functions that use the extended timeout instead 
                 of the normal message timeout."
::= { iaSerialModbusAsciiSettingsEntry 17 }

iaSerialModbusAsciiRemoveExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS write-only
    STATUS mandatory
    DESCRIPTION
                "Used to remove functions from the list of Modbus 
                 functions that use the extended timeout instead 
                 of the normal message timeout."
::= { iaSerialModbusAsciiSettingsEntry 18 }

-- =======================================================================
-- =======================================================================
-- === + IA Net Master Config + ==========================================
-- =======================================================================
-- =======================================================================

-- =======================================================================
-- === + IA General Master Config + ======================================
-- =======================================================================

iaNetMasterGeneralSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaNetMasterGeneralSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for network master IA configuration settings"
::= { iaNetMasterSettings 11 }

iaNetMasterGeneralSettingsEntry OBJECT-TYPE
    SYNTAX IaNetMasterGeneralSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by network master number"
    INDEX { iaNetMasterIndex }
::= { iaNetMasterGeneralSettingsTable 1 }

IaNetMasterGeneralSettingsEntry ::= SEQUENCE {
iaNetMasterIndex INTEGER,
iaNetMasterProtocol IANetProtocol
}

iaNetMasterIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
	"IA Net Master Index"
::= { iaNetMasterGeneralSettingsEntry 11 }
         
iaNetMasterProtocol OBJECT-TYPE 
    SYNTAX IANetProtocol
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"Net master protocol"
::= { iaNetMasterGeneralSettingsEntry 12 }

-- =======================================================================
-- === + IA Modbus/TCP Master Config + ===================================
-- =======================================================================

iaNetMasterModbusTCPSettings OBJECT IDENTIFIER ::= { iaNetMasterSettings 12 } 
             
iaNetMasterModbusTCPMessageTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"Modbus TCP message timeout in milliseconds.
         Specifies how long to wait for a response
         from a given request."
::= { iaNetMasterModbusTCPSettings 11 }
                          
iaNetMasterModbusTCPConnectTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"The connect timeout is used to hangup an idle
         connection.  A value of 0 disables this from
         occurring.  The timeout is specified in milliseconds."
::= { iaNetMasterModbusTCPSettings 12 }

iaNetMasterModbusTCPActiveFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"A value of on indicates that the device 
         is listening on tcp port 502 for ModbusTCP data."
::= { iaNetMasterModbusTCPSettings 13 }

iaNetMasterModbusTCPBroadcastFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2), replace(3) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Indicates how an incoming modbus broadcast request 
         is handled.  A value of 1 indicates the request is 
         thrown away.  A value of 2 indicates the request 
         is sent to the slaves without expecting a response.
         A value of 3 indicates that the message's broadcast
	 address should be replaced with a 1 and treating it
         as a normal request."	
::= { iaNetMasterModbusTCPSettings 14 }

iaNetMasterModbusTCPErrorResponseFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2), replace(3) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "When this mib is on, a request that can not be
         routed or times out will result in an error
         response.  The error response will be either an
         exception 0xA or 0xB."
::= { iaNetMasterModbusTCPSettings 15 }

iaNetMasterModbusTCPExtendedTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Used to handle requests that require special
         timeout requirements.  A request with a
         function in the extended function list will
         use this timeout rather than the normal
         message timeout.  The timeout is specified in
         milliseconds."
::= { iaNetMasterModbusTCPSettings 16 }

iaNetMasterModbusTCPExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
                "Used to get or set the list of Modbus functions
                 that use the extended timeout instead of the
                 normal message timeout."
::= { iaNetMasterModbusTCPSettings 17 }

iaNetMasterModbusTCPAddExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS write-only
    STATUS mandatory
    DESCRIPTION
                "Used to add functions to the list of Modbus 
                 functions that use the extended timeout instead 
                 of the normal message timeout."
::= { iaNetMasterModbusTCPSettings 18 }

iaNetMasterModbusTCPRemoveExtendedFunctions OBJECT-TYPE 
    SYNTAX DisplayString
    ACCESS write-only
    STATUS mandatory
    DESCRIPTION
                "Used to remove functions from the list of Modbus 
                 functions that use the extended timeout instead 
                 of the normal message timeout."
::= { iaNetMasterModbusTCPSettings 19 }


-- =======================================================================
-- === + IA ABEthernet Master Config + ===================================
-- =======================================================================

iaNetMasterABEthernetSettings OBJECT IDENTIFIER ::= { iaNetMasterSettings 13 } 
             
iaNetMasterABEthernetMessageTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"AB Ethernet message timeout in milliseconds.
         Specifies how long to wait for a response
         for a given request."
::= { iaNetMasterABEthernetSettings 11 }
                          
iaNetMasterABEthernetConnectTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"The connect timeout is used to hangup an idle
         connection.  A value of 0 disables this from
         occurring.  The timeout is specified in milliseconds."
::= { iaNetMasterABEthernetSettings 12 }

iaNetMasterABEthernetActiveFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"A value of on indicates that the device 
         is listening on tcp port 2222 for ABEthernet data."
::= { iaNetMasterABEthernetSettings 13 }

iaNetMasterABEthernetErrorResponseFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2), replace(3) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "When this mib is on, a request that can not be
         routed or times out will result in an error
         response."
::= { iaNetMasterABEthernetSettings 14 }

-- =======================================================================
-- === + IA EthernetIP Master Config + ===================================
-- =======================================================================

iaNetMasterEthernetIPSettings OBJECT IDENTIFIER ::= { iaNetMasterSettings 14 } 
             
iaNetMasterEthernetIPMessageTimeout OBJECT-TYPE 
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"EthernetIP message timeout in milliseconds.
         Specifies how long to wait for a response
         for a given request."
::= { iaNetMasterEthernetIPSettings 11 }

iaNetMasterEthernetIPActiveFlag OBJECT-TYPE 
    SYNTAX INTEGER { off(1), on(2) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"A value of on indicates that the device 
         is listening on ip port 44818 for EthernetIP data."
::= { iaNetMasterEthernetIPSettings 12 }

-- =======================================================================
-- =======================================================================
-- === + OBSOLETE IA Net Slave Config + ==================================
-- =======================================================================
-- =======================================================================

iaNetSlaveGeneralSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaNetSlaveGeneralSettingsEntry
    ACCESS not-accessible
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteNetSlaveX mib.
         Table for network Slave IA configuration settings"
::= { iaNetSlaveSettings 11 }

iaNetSlaveGeneralSettingsEntry OBJECT-TYPE
    SYNTAX IaNetSlaveGeneralSettingsEntry
    ACCESS not-accessible
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteNetSlaveX mib.
         An entry indexed by network Slave number"
    INDEX { iaNetSlaveIndex }
::= { iaNetSlaveGeneralSettingsTable 1 }

IaNetSlaveGeneralSettingsEntry ::= SEQUENCE {
iaNetSlaveIndex INTEGER,
iaNetSlaveProtocol IANetProtocol,
iaNetSlaveIpAddress IpAddress,
iaNetSlaveIpPort INTEGER,
iaNetSlaveReconnectTime INTEGER,
iaNetSlaveName DisplayString
}

iaNetSlaveIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteIndex mib.
	 IA Net Slave Index"
::= { iaNetSlaveGeneralSettingsEntry 11 }

iaNetSlaveProtocol OBJECT-TYPE 
    SYNTAX IANetProtocol
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteNetSlaveProtocol mib.
	 IA Net Slave Protocol Index:
	     1 - inactive,  2 - none,      3 - tcpsocket,
	     4 - udpsocket, 5 modbustcp,   6 abethernet,
	     7 - ethernetip"
::= { iaNetSlaveGeneralSettingsEntry 12 }

iaNetSlaveIpAddress OBJECT-TYPE 
    SYNTAX IpAddress
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteNetSlaveIpAddress mib.
	 Connection Timeout"
::= { iaNetSlaveGeneralSettingsEntry 13 }

iaNetSlaveIpPort OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteNetSlaveIpPort mib.
         IP Address of this net slave"
::= { iaNetSlaveGeneralSettingsEntry 14 }

iaNetSlaveReconnectTime OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteNetSlaveReconnectTime mib.
         Reconnect timeout"
::= { iaNetSlaveGeneralSettingsEntry 15 }

iaNetSlaveName OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete and has been replaced
         by the iaRouteDescription mib.
	 Name of this net slave"
::= { iaNetSlaveGeneralSettingsEntry 16 }
                                        
iaNetSlaveActivateNextFree OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "NOTE, this is mib is obsolete.
         Activates next free slave for the given 1-based port number"
::= { iaNetSlaveSettings 12 }

-- =======================================================================
-- =======================================================================
-- === + IA Statistics + =================================================
-- =======================================================================
-- =======================================================================

iaStatisticsClear OBJECT-TYPE
    SYNTAX Switch
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "(2) On : Clears IA Statistics"
::= { iaStatistics 10 }
          
iaStatisticsModbus          OBJECT IDENTIFIER ::= { iaStatistics 11 }                         
iaStatisticsDF1FullDuplex   OBJECT IDENTIFIER ::= { iaStatistics 12 }
iaStatisticsOmronHostLink   OBJECT IDENTIFIER ::= { iaStatistics 13 }
iaStatisticsOmronFins       OBJECT IDENTIFIER ::= { iaStatistics 14 }
iaStatisticsOmronCompowayf  OBJECT IDENTIFIER ::= { iaStatistics 15 }
iaStatisticsUserDefined     OBJECT IDENTIFIER ::= { iaStatistics 16 }
iaStatisticsDF1HalfDuplex   OBJECT IDENTIFIER ::= { iaStatistics 17 }

-- =======================================================================
-- === + Modbus Statistics + =============================================
-- =======================================================================

modbusResourceErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Resource errors"
::= { iaStatisticsModbus 11 }

modbusConfigurationErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Configuration errors"
::= { iaStatisticsModbus 12 }

modbusBadRequestMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad request message errors"
::= { iaStatisticsModbus 13 }

modbusBadResponseMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad response message errors"
::= { iaStatisticsModbus 14 }

modbusRequestMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Request message dropped errors"
::= { iaStatisticsModbus 15 }

modbusResponseMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Response message dropped errors"
::= { iaStatisticsModbus 16 }

modbusMessageTimeoutErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Message Timeout errors"
::= { iaStatisticsModbus 17 }

modbusChecksumErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Checksum errors"
::= { iaStatisticsModbus 18 }

modbusValidRequests OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid requests"
::= { iaStatisticsModbus 19 }

modbusValidResponses OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid responses"
::= { iaStatisticsModbus 20 }

modbusNetworkHangups OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Network hangups"
::= { iaStatisticsModbus 21 }

modbusActiveMasterConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active master connections"
::= { iaStatisticsModbus 22 }

modbusActiveSlaveConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active slave connections"
::= { iaStatisticsModbus 23 }

-- =======================================================================
-- === + DF1 Full Duplex Statistics + ====================================
-- =======================================================================

df1FullDuplexResourceErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Resource errors"
::= { iaStatisticsDF1FullDuplex 11 }

df1FullDuplexConfigurationErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Configuration errors"
::= { iaStatisticsDF1FullDuplex 12 }

df1FullDuplexBadRequestMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad request message errors"
::= { iaStatisticsDF1FullDuplex 13 }

df1FullDuplexBadResponseMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad response message errors"
::= { iaStatisticsDF1FullDuplex 14 }

df1FullDuplexRequestMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Request message dropped errors"
::= { iaStatisticsDF1FullDuplex 15 }

df1FullDuplexResponseMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Response message dropped errors"
::= { iaStatisticsDF1FullDuplex 16 }

df1FullDuplexMessageTimeoutErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Message Timeout errors"
::= { iaStatisticsDF1FullDuplex 17 }

df1FullDuplexChecksumErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Checksum errors"
::= { iaStatisticsDF1FullDuplex 18 }

df1FullDuplexValidRequests OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid requests"
::= { iaStatisticsDF1FullDuplex 19 }

df1FullDuplexValidResponses OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid responses"
::= { iaStatisticsDF1FullDuplex 20 }

df1FullDuplexNetworkHangups OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Network hangups"
::= { iaStatisticsDF1FullDuplex 21 }

df1FullDuplexActiveMasterConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active master connections"
::= { iaStatisticsDF1FullDuplex 22 }

df1FullDuplexActiveSlaveConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active slave connections"
::= { iaStatisticsDF1FullDuplex 23 }

-- =======================================================================
-- === + OMRON HOST Link Statistics + ====================================
-- =======================================================================
omronHostLinkResourceErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Resource errors"
::= { iaStatisticsOmronHostLink 11 }

omronHostLinkConfigurationErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Configuration errors"
::= { iaStatisticsOmronHostLink 12 }

omronHostLinkBadRequestMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad request message errors"
::= { iaStatisticsOmronHostLink 13 }

omronHostLinkBadResponseMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad response message errors"
::= { iaStatisticsOmronHostLink 14 }

omronHostLinkRequestMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Request message dropped errors"
::= { iaStatisticsOmronHostLink 15 }

omronHostLinkResponseMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Response message dropped errors"
::= { iaStatisticsOmronHostLink 16 }

omronHostLinkMessageTimeoutErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Message Timeout errors"
::= { iaStatisticsOmronHostLink 17 }

omronHostLinkChecksumErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Checksum errors"
::= { iaStatisticsOmronHostLink 18 }

omronHostLinkValidRequests OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid requests"
::= { iaStatisticsOmronHostLink 19 }

omronHostLinkValidResponses OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid responses"
::= { iaStatisticsOmronHostLink 20 }

omronHostLinkNetworkHangups OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Network hangups"
::= { iaStatisticsOmronHostLink 21 }

omronHostLinkActiveMasterConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active master connections"
::= { iaStatisticsOmronHostLink 22 }

omronHostLinkActiveSlaveConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active slave connections"
::= { iaStatisticsOmronHostLink 23 }

-- =======================================================================
-- === + OMRON FINS Statistics + =========================================
-- =======================================================================

omronFinsResourceErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Resource errors"
::= { iaStatisticsOmronFins 11 }

omronFinsConfigurationErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Configuration errors"
::= { iaStatisticsOmronFins 12 }

omronFinsBadRequestMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad request message errors"
::= { iaStatisticsOmronFins 13 }

omronFinsBadResponseMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad response message errors"
::= { iaStatisticsOmronFins 14 }

omronFinsRequestMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Request message dropped errors"
::= { iaStatisticsOmronFins 15 }

omronFinsResponseMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Response message dropped errors"
::= { iaStatisticsOmronFins 16 }

omronFinsMessageTimeoutErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Message Timeout errors"
::= { iaStatisticsOmronFins 17 }

omronFinsChecksumErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Checksum errors"
::= { iaStatisticsOmronFins 18 }

omronFinsValidRequests OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid requests"
::= { iaStatisticsOmronFins 19 }

omronFinsValidResponses OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid responses"
::= { iaStatisticsOmronFins 20 }

omronFinsNetworkHangups OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Network hangups"
::= { iaStatisticsOmronFins 21 }

omronFinsActiveMasterConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active master connections"
::= { iaStatisticsOmronFins 22 }

omronFinsActiveSlaveConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active slave connections"
::= { iaStatisticsOmronFins 23 }

-- =======================================================================
-- === + OMRON Compowayf Statistics + ====================================
-- =======================================================================

omronCompowayfResourceErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Resource errors"
::= { iaStatisticsOmronCompowayf 11 }

omronCompowayfConfigurationErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Configuration errors"
::= { iaStatisticsOmronCompowayf 12 }

omronCompowayfBadRequestMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad request message errors"
::= { iaStatisticsOmronCompowayf 13 }

omronCompowayfBadResponseMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad response message errors"
::= { iaStatisticsOmronCompowayf 14 }

omronCompowayfRequestMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Request message dropped errors"
::= { iaStatisticsOmronCompowayf 15 }

omronCompowayfResponseMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Response message dropped errors"
::= { iaStatisticsOmronCompowayf 16 }

omronCompowayfMessageTimeoutErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Message Timeout errors"
::= { iaStatisticsOmronCompowayf 17 }

omronCompowayfChecksumErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Checksum errors"
::= { iaStatisticsOmronCompowayf 18 }

omronCompowayfValidRequests OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid requests"
::= { iaStatisticsOmronCompowayf 19 }

omronCompowayfValidResponses OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid responses"
::= { iaStatisticsOmronCompowayf 20 }

omronCompowayfNetworkHangups OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Network hangups"
::= { iaStatisticsOmronCompowayf 21 }

omronCompowayfActiveMasterConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active master connections"
::= { iaStatisticsOmronCompowayf 22 }

omronCompowayfActiveSlaveConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active slave connections"
::= { iaStatisticsOmronCompowayf 23 }

-- =======================================================================
-- === + User Defined Statistics + =======================================
-- =======================================================================

userDefinedResourceErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Resource errors"
::= { iaStatisticsUserDefined 11 }

userDefinedConfigurationErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Configuration errors"
::= { iaStatisticsUserDefined 12 }

userDefinedBadRequestMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad request message errors"
::= { iaStatisticsUserDefined 13 }

userDefinedBadResponseMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad response message errors"
::= { iaStatisticsUserDefined 14 }

userDefinedRequestMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Request message dropped errors"
::= { iaStatisticsUserDefined 15 }

userDefinedResponseMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Response message dropped errors"
::= { iaStatisticsUserDefined 16 }

userDefinedMessageTimeoutErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Message Timeout errors"
::= { iaStatisticsUserDefined 17 }

userDefinedChecksumErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Checksum errors"
::= { iaStatisticsUserDefined 18 }

userDefinedValidRequests OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid requests"
::= { iaStatisticsUserDefined 19 }

userDefinedValidResponses OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid responses"
::= { iaStatisticsUserDefined 20 }

userDefinedNetworkHangups OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Network hangups"
::= { iaStatisticsUserDefined 21 }

userDefinedActiveMasterConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active master connections"
::= { iaStatisticsUserDefined 22 }

userDefinedActiveSlaveConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active slave connections"
::= { iaStatisticsUserDefined 23 }

-- =======================================================================
-- === + DF1 Half Duplex Statistics + ====================================
-- =======================================================================

df1HalfDuplexResourceErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Resource errors"
::= { iaStatisticsDF1HalfDuplex 11 }

df1HalfDuplexConfigurationErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Configuration errors"
::= { iaStatisticsDF1HalfDuplex 12 }

df1HalfDuplexBadRequestMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad request message errors"
::= { iaStatisticsDF1HalfDuplex 13 }

df1HalfDuplexBadResponseMessageErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Bad response message errors"
::= { iaStatisticsDF1HalfDuplex 14 }

df1HalfDuplexRequestMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Request message dropped errors"
::= { iaStatisticsDF1HalfDuplex 15 }

df1HalfDuplexResponseMessageDroppedErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Response message dropped errors"
::= { iaStatisticsDF1HalfDuplex 16 }

df1HalfDuplexMessageTimeoutErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Message Timeout errors"
::= { iaStatisticsDF1HalfDuplex 17 }

df1HalfDuplexChecksumErrors OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Checksum errors"
::= { iaStatisticsDF1HalfDuplex 18 }

df1HalfDuplexValidRequests OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid requests"
::= { iaStatisticsDF1HalfDuplex 19 }

df1HalfDuplexValidResponses OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Valid responses"
::= { iaStatisticsDF1HalfDuplex 20 }

df1HalfDuplexNetworkHangups OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Network hangups"
::= { iaStatisticsDF1HalfDuplex 21 }

df1HalfDuplexActiveMasterConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active master connections"
::= { iaStatisticsDF1HalfDuplex 22 }

df1HalfDuplexActiveSlaveConnections OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
    "Active slave connections"
::= { iaStatisticsDF1HalfDuplex 23 }

-- =======================================================================
-- =======================================================================
-- === + IA Route Config + ===============================================
-- =======================================================================
-- =======================================================================

iaRouteGeneralSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaRouteGeneralSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for IA routing settings"
::= { iaRouteSettings 11 }

iaRouteGeneralSettingsEntry OBJECT-TYPE
    SYNTAX IaRouteGeneralSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry indexed by the route number"
    INDEX { iaRouteIndex }
::= { iaRouteGeneralSettingsTable 1 }

IaRouteGeneralSettingsEntry ::= SEQUENCE {
iaRouteIndex INTEGER,
iaRouteDestinationType IARouteType,
iaRouteDestinationIndex INTEGER,
iaRouteTransmitAllMessages Switch,
iaRouteTransmitMinRange INTEGER,
iaRouteTransmitMaxRange INTEGER,
iaRouteNetSlaveProtocol IANetProtocol,
iaRouteNetSlaveIpAddress IpAddress,
iaRouteNetSlaveIpPort INTEGER,
iaRouteNetSlaveReconnectTime INTEGER,
iaRouteDescription DisplayString,
iaRouteRemoveEntry INTEGER
}

iaRouteIndex OBJECT-TYPE 
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
	"IA Route Index"
::= { iaRouteGeneralSettingsEntry 11 }

iaRouteDestinationType OBJECT-TYPE 
    SYNTAX IARouteType
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"Destination type of the IA Route table entry:
	     1 - inactive, 2- unconfigured,
	     3 - serial,   4 - network"
::= { iaRouteGeneralSettingsEntry 12 }

iaRouteDestinationIndex OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "1-based index of the current type
     (serial or network) destination.
     By setting can be used only for
     serial slave changes, destination type
     of this entry will be changed to serial"
::= { iaRouteGeneralSettingsEntry 13 }

iaRouteTransmitAllMessages OBJECT-TYPE
    SYNTAX Switch
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "(2) On  : transmit all messages
     (1) Off : transmit only messages matches
               the address range"
::= { iaRouteGeneralSettingsEntry 14 }
          
iaRouteTransmitMinRange OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "The lowest transmit protocol address allowed.  Messages 
     with a protocol address below the MinRange are not routed
     to this entry."
::= { iaRouteGeneralSettingsEntry 15 }

iaRouteTransmitMaxRange OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "The highest transmit protocol address allowed.  Messages
     with a protocol address above the MaxRange are not routed
     to this entry."
::= { iaRouteGeneralSettingsEntry 16 }

iaRouteNetSlaveProtocol OBJECT-TYPE 
    SYNTAX IANetProtocol
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"IA Net Slave Protocol Index:
	     1 - inactive,  2 - none,      3 - tcpsocket,
	     4 - udpsocket, 5 modbustcp,   6 abethernet,
	     7 - ethernetip"
::= { iaRouteGeneralSettingsEntry 17 }

iaRouteNetSlaveIpAddress OBJECT-TYPE 
    SYNTAX IpAddress
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"IP Address of the net slave."
::= { iaRouteGeneralSettingsEntry 18 }

iaRouteNetSlaveIpPort OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "IP Port of the net slave"
::= { iaRouteGeneralSettingsEntry 19 }

iaRouteNetSlaveReconnectTime OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "The reconnect time is used by a netslave that
     is not connected to a remote destination.  It
     specifies how long the netslave should wait before
     trying to reconnect to the remote destination."
::= { iaRouteGeneralSettingsEntry 20 }

iaRouteDescription OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
	"Description of the route entry."
::= { iaRouteGeneralSettingsEntry 21 }
                                        
iaRouteRemoveEntry OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "Current entry will be removed from the
    routing table. If destination is netslave
    and it isn't more used for any routes -
    that netslave will be deactivated"
::= { iaRouteGeneralSettingsEntry 22 }

iaRouteNetSlaveModbusTCPSettingsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IaRouteNetSlaveModbusTCPSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table for Modbus TCP netslave route  settings"
::= { iaRouteSettings 12 }

iaRouteNetSlaveModbusTCPSettingsEntry OBJECT-TYPE
    SYNTAX IaRouteNetSlaveModbusTCPSettingsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An ModbusTCP route entry indexed by the route number."
    INDEX { iaRouteNetSlaveModbusTCPIndex }
::= { iaRouteNetSlaveModbusTCPSettingsTable 1 }

IaRouteNetSlaveModbusTCPSettingsEntry ::= SEQUENCE {
iaRouteNetSlaveModbusTCPIndex INTEGER,
iaRouteNetSlaveModbusTCPFixedAddress INTEGER
}

iaRouteNetSlaveModbusTCPIndex OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    "Route index."
::= { iaRouteNetSlaveModbusTCPSettingsEntry 11 }

iaRouteNetSlaveModbusTCPFixedAddress OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
    		"Used to overide the unit address field in a
                 request message.  A value of 0 indicates that
                 the unit address field is not overwritten."
::= { iaRouteNetSlaveModbusTCPSettingsEntry 12 }



END
