versadac  1
versadac - Scalable Recorder Firmware
eipc_usersys.h
1 /*
2  * Copyright (c) 2002-2007 by Real Time Automation
3  *
4  * This software is copyrighted by and is the sole property of
5  * Real Time Automation (RTA). All rights, title, ownership, or other
6  * interests in the software remain the property of RTA. This
7  * software may only be used in accordance with the corresponding
8  * license agreement. Any unauthorized use, duplication, transmission,
9  * distribution, or disclosure of this software is expressly forbidden.
10  *
11  * This Copyright notice MAY NOT be removed or modified without prior
12  * written consent of RTA.
13  *
14  * RTA reserves the right to modify this software without notice.
15  *
16  * Real Time Automation
17  * 2825 N. Mayfair Road USA 414.453.5100
18  * Suite 11 http://www.rtaautomation.com
19  * Wauwatosa, WI 53222 software@rtaautomation.com
20  *
21  *************************************************************************
22  *
23  * Module Name: eipc_usersys.h
24  * Version: 2.05
25  * Version Date: 4/02/2007
26  * Author: Jamin D. Wendorf (jwendorf@rtaautomation.com)
27  * Language: Ansi C
28  * Compile Options: N/A
29  * Compile defines: N/A
30  * Libraries: N/A
31  * Link Options: N/A
32  *
33  * Description.
34  * =======================================================================
35  * This file contains EtherNet/IP Client system definitions.
36  *
37  */
38 
39 #ifndef __EIPC_USERSYS_H__
40 #define __EIPC_USERSYS_H__
41 
42 // *******************************************
43 // RTA "ADD ON" SUPPORT
44 // *******************************************
45 
46 // we are using this service (comment out if we aren't)
47 #define EIPC_TAG_CLIENT_USED 1 /* define if EIP TAG Client is supported */
48 //#define EIPC_PCCC_CLIENT_USED 1 /* define if EIP PCCC Client is supported */
49 
50 /* allow the user to change the timeout rates (at compile time) */
51 #define EIPC_USERSYS_TMORATE_CONN_TMO EIPS_USER_TICKS_PER_1SEC*5
52 #define EIPC_USERSYS_TMORATE_UCMM_TMO EIPS_USER_TICKS_PER_1SEC
53 #define EIPC_USERSYS_TMORATE_RECONN_DLY EIPS_USER_TICKS_PER_1SEC*10
54 
55 /* how many simultanious server connections
56  index 0 never seems to be used so infact this is only 2
57  one for the IO and another to allow for a connection to
58  the server for the identity object request
59 */
60 #define EIPC_USERSYS_MAX_NUM_SERVERS 3
61 
62 /* (UCMM messaging) How many extended response error words do we want? */
63 #define EIPC_USERSYS_EXT_STAT_SIZE 4
64 
65 /* (UCMM messaging) How many bytes of resposne data do we want? */
66 #define EIPC_USERSYS_RSP_DATA_SIZE 500
67 
68 /* 0 - 4X, 1 - 8X, 2 - 16X, etc */
69 #define EIPC_USERSYS_CNXNTMOMULT 0
70 
71 
73 {
74  uint32 ipaddr32;
75  uint8 ConfigInstance;
76  uint8 O2TInstance;
77  uint16 O2TSize;
78  uint8 T2OInstance;
79  uint16 T20Size;
80 };
81 
82 struct ServerInfo
83 {
84  uint8 bIsConfigured;
85  struct ServerConfig Config;
86 
87  uint8 *pO2TData;
88  uint8 *pT2OData;
89  uint8 IO_State;
90  uint8 UCMM_State;
91  uint16 ServerTimerIx; // used to monitor for connections and delays between reconnects
92  uint16 UCMMTimerIx; // used to delay how often we read UCMM messages
93  uint16 ServerHandle;
94 };
95 
96 extern struct ServerInfo ServerArray[EIPC_USERSYS_MAX_NUM_SERVERS];
97 
98 #endif /* __EIPC_USERSYS_H__ */
Definition: eipc_usersys.h:72
Definition: eipc_usersys.h:82