?? bac_mstp.h
字號(hào):
/*******************************************************************************
dllmstp.c
********************************************************************************
Written by: Bennie de Wet
nSoft Developement.
********************************************************************************
Version
0.00aA 12 Aug 04 BDW Cleaning up
0.00aB 14 Aug 04 BDW Patching in data handeling
0.00aC 29 Aug 04 BDW Cleaning up, adding more properties
0.00aJ 11 Oct 04 BDW Merging for first Douglas release
*******************************************************************************/
#define DRV_VERSION_STRING "V1.00aA"
#define APP_VERSION_STRING "V1.00aA"
#define BACNET_NODE_ID 11
#define MSTP_SLAVE_NODE 'Y'
#define MSTP_MASTER_NODE 'N'
#define MX_APDU_SIZE 2 // value for max_apdu of 206
#define MX_APDU_LENGTH 206 // Actual maax length of a APDU packet
#define MIN_TERMINAL_CHARS 5 // Define the min number of ascii char that will constitute
// a terminal mode message. TYpical message will be ":#11]"
#define MSTP_MAX_CYCLE_TIME 10 // The maximum cycle time we can allow for proper MSTP operation.
// This value is largely determined by TSlot
#define FT_TOKEN 00
#define FT_POLL_FOR_MASTER 01
#define FT_REPLY_TO_POLL_FOR_MASTER 02
#define FT_TEST_REQUEST 03
#define FT_TEST_RESPONSE 04
#define FT_DATA_EXPECTING_REPLY 05
#define FT_DATA_NOT_EXPECTING_REPLY 06
#define FT_REPLY_POSTPONED 07
// Receive frame states
#define MSTP_ST_IDLE 110
#define MSTP_ST_DATA_CRC 120
#define MSTP_ST_DATA 130
#define MSTP_ST_HEADER_CRC 140
#define MSTP_ST_HEADER 150
#define MSTP_ST_PREAMBLE 160
// Master/Slave NODE states
#define MSTP_ST_INITIALIZE 170
#define MSTP_ST_NO_TOKEN 180
#define MSTP_ST_ANSWER_DATA_REQUEST 190
#define MSTP_ST_PASS_TOKEN 200
#define MSTP_ST_WAIT_FOR_REPLY 210
#define MSTP_ST_POLL_FOR_MASTER 220
#define MSTP_ST_DONE_WITH_TOKEN 230
#define MSTP_ST_USE_TOKEN 240
#define MSTP_ST_SEND_FRAME 250
#define MSTP_ST_SEND_PDU 260
#define N_MAX_INFO_FRAMES 1
#define N_MAX_MASTER 127
#define N_POLL 50
#define N_RETRY_TOKEN 1
#define N_MIN_OCTETS 4
#define T_FRAME_ABORT 100 // ( 60 bit times ) but not larger than 100 ms
#define T_NO_TOKEN 500 // in milliseconds
#define T_REPLY_DELAY 250
#define T_REPLY_TIMEOUT 255 // in milliseconds
#define T_TURNAROUND 4 // Min of 40 bit times ( For 9600 Baud this is 4 ms)
#define T_USAGE_TIMEOUT 50 // Minimum timeout value = 20 ms , can use up to 100 ms
#define T_USAGE_DELAY 15
#define T_SLOT 10
#define MX_PROPERTIES_LIST 2
#define MX_OBJECTS 2
#define MX_INFO_FRAMES 10
#define MX_MASTER 127
#define MX_MAC_LENGTH 1
#define MX_BUFFER SIO_TX_BUFFER_SIZE
#define FST_VENDOR_ID 37
#define BACNET_NETWORK_VERSION 1
#define BACNET_DEFAULT_NETWORK_NUMBER 5
#define PARSE_OK 0
#define PARSE_ERROR 1
#define INVOKE_ID_ERROR 2
#define OBJECT_ID_ERROR 3
#define UNKNOWN_ERROR_PDU 4
#define PARSE_NOT_FOR_US 5
#define PARSE_I_AM 6
#define PARSE_NO_ACTION 7
#define UNKNOWN_PROPERTY 8
//
// Bacnet Units
//
/* Area */
#define CD_SQUARE_METERS 255 /* Should be zero but then description_to_id() does not work */
#define CD_SQUARE_CENTIMETERS 116
#define CD_SQUARE_FEET 1
#define CD_SQUARE_INCHES 115
/* Currency */
#define CD_CURRENCY1 105
#define CD_CURRENCY2 106
#define CD_CURRENCY3 107
#define CD_CURRENCY4 108
#define CD_CURRENCY5 109
#define CD_CURRENCY6 110
#define CD_CURRENCY7 111
#define CD_CURRENCY8 112
#define CD_CURRENCY9 113
#define CD_CURRENCY10 114
/* Electrical */
#define CD_UNITS_MILLIAMPERES 2
#define CD_UNITS_AMPERES 3
#define CD_UNITS_OHMS 4
#define CD_UNITS_KILOHMS 122
#define CD_UNITS_MEGOHMS 123
#define CD_UNITS_VOLTS 5
#define CD_UNITS_MILLIVOLTS 124
#define CD_UNITS_KILOVOLTS 6
#define CD_UNITS_MEGAVOLTS 7
#define CD_UNITS_VOLT_AMPERES 8
#define CD_UNITS_KILOVOLT_AMPERES 9
#define CD_UNITS_MEGAVOLT_AMPERES 10
#define CD_UNITS_VOLT_AMPERES_REACTIVE 11
#define CD_UNITS_KILOVOLT_AMPERES_REACTIVE 12
#define CD_UNITS_MEGAVOLT_AMPERES_REACTIVE 13
#define CD_UNITS_DEGREES_PHASE 14
#define CD_UNITS_POWER_FACTOR 15
/* Energy */
#define CD_UNITS_JOULES 16
#define CD_UNITS_KILOJOULES 17
#define CD_UNITS_KILOJOULES_PER_KILOGRAM 125
#define CD_UNITS_MEGAJOULES 126
#define CD_UNITS_WATT_HOURS 18
#define CD_UNITS_KILOWATT_HOURS 19
#define CD_UNITS_BTUS 20
#define CD_UNITS_THERMS 21
#define CD_UNITS_TON_HOURS 22
/* Entralpy */
#define CD_UNITS_JOULES_PER_KILOGRAM_DRY_AIR 23
#define CD_UNITS_BTUS_PER_POUND_DRY_AIR 24
#define CD_UNITS_BTUS_PER_POUND 117
/* Entropy */
#define CD_UNITS_JOULES_PER_DEGREE_KELVIN 127
#define CD_UNITS_JOULES_PER_KILOGRAM_DEGREE_KELVIN 128
/* Frequency */
#define CD_UNITS_CYCLES_PER_HOUR 25
#define CD_UNITS_CYCLES_PER_MINUTE 26
#define CD_UNITS_HERTZ 27
#define CD_UNITS_KILOHERTZ 129
#define CD_UNITS_MEGAHERTZ 130
#define CD_UNITS_PER_HOUR 131
/* Humidity */
#define CD_UNITS_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR 28
#define CD_UNITS_PERCENT_RH 29
/* Length */
#define CD_UNITS_MILLIMETERS 30
#define CD_UNITS_CENTIMETERS 118
#define CD_UNITS_METERS 31
#define CD_UNITS_INCHES 32
#define CD_UNITS_FEET 33
/* Light */
#define CD_UNITS_WATTS_PER_SQUARE_FOOT 34
#define CD_UNITS_WATTS_PER_SQUARE_METER 35
#define CD_UNITS_LUMENS 36
#define CD_UNITS_LUXES 37
#define CD_UNITS_FOOT_CANDLES 38
/* Mass */
#define CD_UNITS_KILOGRAMS 39
#define CD_UNITS_POUNDS_MASS 40
#define CD_UNITS_TONS 41
/* Mass Flow */
#define CD_UNITS_KILOGRAMS_PER_SECOND 42
#define CD_UNITS_KILOGRAMS_PER_MINUTE 43
#define CD_UNITS_KILOGRAMS_PER_HOUR 44
#define CD_UNITS_POUNDS_MASS_PER_SECOND 119
#define CD_UNITS_POUNDS_MASS_PER_MINUTE 45
#define CD_UNITS_POUNDS_MASS_PER_HOUR 46
/* Power */
#define CD_UNITS_MILLIWATTS 132
#define CD_UNITS_WATTS 47
#define CD_UNITS_KILOWATTS 48
#define CD_UNITS_MEGAWATTS 49
#define CD_UNITS_BTUS_PER_HOUR 50
#define CD_UNITS_HORSEPOWER 51
#define CD_UNITS_TONS_REFRIGERATION 52
/* Pressure */
#define CD_UNITS_PASCALS 53
#define CD_UNITS_HECTOPASCALS 133
#define CD_UNITS_KILOPASCALS 54
#define CD_UNITS_MILLIBARS 134
#define CD_UNITS_BARS 55
#define CD_UNITS_POUNDS_FORCE_PER_SQUARE_INCH 56
#define CD_UNITS_CENTIMETERS_OF_WATER 57
#define CD_UNITS_INCHES_OF_WATER 58
#define CD_UNITS_MILLIMETERS_OF_MERCURY 59
#define CD_UNITS_CENTIMETERS_OF_MERCURY 60
#define CD_UNITS_INCHES_OF_MERCURY 61
/* Temperature */
#define CD_UNITS_DEGREES_C 62
#define CD_UNITS_DEGREES_K 63
#define CD_UNITS_DEGREES_F 64
#define CD_UNITS_DEGREES_DAYS_CELSIUS 65
#define CD_UNITS_DEGREES_DAYS_FAHRENHEIT 66
#define CD_UNITS_DELTA_DEGREES_FAHRENHEIT 120
#define CD_UNITS_DELTA_DEGREES_KELVIN 121
/* Time */
#define CD_UNITS_YEARS 67
#define CD_UNITS_MONTHS 68
#define CD_UNITS_WEEKS 69
#define CD_UNITS_DAYS 70
#define CD_UNITS_HOURS 71
#define CD_UNITS_MINUTES 72
#define CD_UNITS_SECONDS 73
/* Velocity */
#define CD_UNITS_METERS_PER_SECOND 74
#define CD_UNITS_KILOMETERS_PER_HOUR 75
#define CD_UNITS_FEET_PER_SECOND 76
#define CD_UNITS_FEET_PER_MINUTE 77
#define CD_UNITS_MILES_PER_HOUR 78
/* Volume */
#define CD_UNITS_CUBIC_FEET 79
#define CD_UNITS_CUBIC_METERS 80
#define CD_UNITS_IMPERIAL_GALLONS 81
#define CD_UNITS_LITERS 82
#define CD_UNITS_US_GALLONS 83
/* Volumetric Flow */
#define CD_UNITS_CUBIC_FEET_PER_SECOND 142
#define CD_UNITS_CUBIC_FEET_PER_MINUTE 84
#define CD_UNITS_CUBIC_METERS_PER_SECONDS 85
#define CD_UNITS_CUBIC_METERS_PER_HOUR 135
#define CD_UNITS_IMPERIAL_GALLONS_PER_MINUTE 86
#define CD_UNITS_LITERS_PER_SECOND 87
#define CD_UNITS_LITERS_PER_MINUTE 88
#define CD_UNITS_LITERS_PER_HOUR 136
#define CD_UNITS_US_GALLONS_PER_MINUTE 89
/* Others */
#define CD_UNITS_DEGREES_ANGULAR 90
#define CD_UNITS_DEGREES_CELSIUS_PER_HOUR 91
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -