Professional Documents
Culture Documents
com
Version 6.4
August 22, 2013
INTRODUCTION
The GCS and Advantage products support a subset of the functions of Modicon Modbus Protocol in RTU (or
binary) format as described in Modicon Modbus Protocol Reference Guide PI-MBUS-300, Rev C, dated
January 1991. Specifically, the supported Modbus function codes are:
This document describes the supported functions and the response to each valid request from the host. It is
intended to be used in conjunction with the Modicon Modbus protocol definition and applies to GCS (Graphic
Control System) system controller software revision 8.62 or higher and Advantage firmware Release 12.4 or
higher. All numeric values shown in the function code request and response examples are in hexadecimal
(base 16) format, even when not denoted with an “H”.
Query:
Response:
For a complete list of the registers, see the tables at the end of this document.
Query:
Response:
For a complete list of the registers, see the tables at the end of this document.
Query:
Response:
Query:
Response:
Query:
RTU FUNCTION COIL ADDR COIL ADDR DATA ON/OFF DATA CRC
ADDRESS CODE HIGH LOW
Response:
RTU FUNCTION COIL ADDR COIL ADDR DATA ON/OFF DATA CRC
ADDRESS CODE HIGH LOW
For a complete list of the registers, see the tables at the end of this document.
Query:
RTU FUNCTION REG. ADDR REG. ADDR DATA VALUE DATA VALUE CRC
ADDRESS CODE HIGH LOW HIGH LOW
Response:
RTU FUNCTION COIL ADDR COIL ADDR DATA ON/OFF DATA CRC
ADDRESS CODE HIGH LOW
Query:
01H 0FH 02H 02H 00H 01H 01H 00H 56H B5H
Response:
Query:
01H 10H 02H 20H 00H 01H 02H 00H 22H F0H 78H
Response:
The right-most column may contain a single letter code denoting that particular register is of meaning only when
being accessed on the pertinent controller or module. The applicable controllers at present are the
Electrospeed GCS (E), VORTEX GCS (V) and Advantage (A). The applicable modules are the Expansion I/O
Module (M), the Remote Data Communication Module (R), Centinel Interface Module (C), and the Neural
Interface Module (N).
10001 to 10250 are user configurable Status Registers. See “Custom ModBus Maps” for information on how to
re-map the ModBus registers to suit your needs.
INPUT STATUS
(READ INPUT STATUS = FUNCTION CODE 02)
(V =Vortex, E =Electrospeed, M =Expansion Module, R =RDCM, C =Centinel, A =Advantage)
DIGITAL_IN1_SD_ALARM Digital Input 1 Shutdown Alarm 0x0100 10257
DIGITAL_IN2_SD_ALARM Digital Input 2 Shutdown Alarm 0x0101 10258
IUNBAL_SD_ALARM Current Unbalance Shutdown Alarm 0x0102 10259 V
VUNBAL_SD_ALARM Voltage Unbalance Shutdown Alarm 0x0103 10260
OVERVOLT_SD_ALARM Over Voltage Shutdown Alarm 0x0104 10261
UNDERVOLT_SD_ALARM Under Voltage Shutdown Alarm 0x0105 10262
UNDERLOAD_SD_ALARM Undercurrent Shutdown Alarm 0x0106 10263
OVERLOAD_SD_ALARM Over current Shutdown Alarm 0x0107 10264
CONTACTOR Status of motor contactor 0x0108 10265
RED Relay contact Status for Red panel light 0x0109 10266
AUTO Optional HOA mode switch in “AUTO” 0x010A 10267
HAND Optional HOA mode switch in “HAND” 0x010B 10268
LOCKOUT Status of Auto restarts Lockout / permit 0x010C 10269
START Optional Start switch input status 0x010D 10270
ROTATION_ALARM Incoming phase rotation change alarm 0x010E 10271
ANALOG1_HI_THLD_SD_ALARM High Threshold Shutdown Alarm 0x010F 10272
ANALOG1_LO_THLD_SD_ALARM Low Threshold Shutdown Alarm 0x0110 10273
ANALOG2_HI_THLD_SD_ALARM High Threshold Shutdown Alarm 0x0111 10274
ANALOG2_LO_THLD_SD_ALARM Low Threshold Shutdown Alarm 0x0112 10275
DIGITAL_IN1_SDSTATE_TRUE Digital In 1 in Alarm, in Shutdown Delay 0x0114 10277
DIGITAL_IN2_SDSTATE_TRUE Digital In 2 in Alarm, in Shutdown Delay 0x0115 10278
OVERLOAD_HI_THLD_XCEED Overload in Alarm, in Shutdown Delay 0x0116 10279
UNDERLOAD_LO_THLD_XCEED Underload in Alarm, in Shutdown Delay 0x0117 10280
ANALOG1_HI_THLD_XCEED Analog1 Hi in Alarm, in Shutdown Delay 0x0118 10281
DIGITAL_IN3_SD_ALARM Digital Input 3 Shutdown Alarm 0x0119 10282
OVERVOLT_HI_THLD_XCEED Over Voltage Alarm, in Shutdown Delay 0x011A 10283
UNDERVOLT_LO_THLD_XCEED Under Voltage Alarm, in Shutdown Delay 0x011B 10284
ROTATION_SDSTATE_TRUE Incoming Phase Rotation has Changed 0x011C 10285
ANALOG1_LO_THLD_XCEED Analog1 Lo in Alarm, in Shutdown Delay 0x011D 10286
ANALOG2_HI_THLD_XCEED Analog 2 Hi in Alarm, in Shutdown Delay 0x011E 10287
ANALOG2_LO_THLD_XCEED Analog 2 Lo in Alarm, in Shutdown Delay 0x011F 10288
PCM_CONSTANT_TORQUE Constant Torque Mode 0x0120 10289
PCM_ILIMIT Current Limit Active 0x0121 10290
DIGITAL_IN1 On board Digital Input 1 0x0122 10291
DIGITAL_IN2 On board Digital Input 2 0x0123 10292
DIGITAL_IN3 On board Digital Input 3 0x0124 10293
IO1DI1_DEBOUNCED I/O Module 1 Digital Input 1 0x0125 10294 M
© 2013 Baker Hughes Incorporated. All rights reserved
10
INPUT STATUS
(READ INPUT STATUS = FUNCTION CODE 02)
(V =Vortex, E =Electrospeed, M =Expansion Module, R =RDCM, C =Centinel, A =Advantage)
IO1DI2_DEBOUNCED I/O Module 1 Digital Input 2 0x0126 10295 M
IO1DI3_DEBOUNCED I/O Module 1 Digital Input 3 0x0127 10296 M
IO2DI1_DEBOUNCED I/O Module 2 Digital Input 1 0x0128 10297 M
IO2DI2_DEBOUNCED I/O Module 2 Digital Input 2 0x0129 10298 M
IO2DI3_DEBOUNCED I/O Module 2 Digital Input 3 0x012A 10299 M
IO3DI1_DEBOUNCED I/O Module 3 Digital Input 1 0x012B 10300 M
IO3DI2_DEBOUNCED I/O Module 3 Digital Input 2 0x012C 10301 M
IO3DI3_DEBOUNCED I/O Module 3 Digital Input 3 0x012D 10302 M
IO1DI1_DETECT_AC I/O Module 1 Digital Input 1 (AC Input) 0x012E 10303 M
IO1DI2_DETECT_AC I/O Module 1 Digital Input 2 (AC Input) 0x012F 10304 M
IO1DI3_DETECT_AC I/O Module 1 Digital Input 3 (AC Input) 0x0130 10305 M
IO2DI1_DETECT_AC I/O Module 2 Digital Input 1 (AC Input) 0x0131 10306 M
IO2DI2_DETECT_AC I/O Module 2 Digital Input 2 (AC Input) 0x0132 10307 M
IO2DI3_DETECT_AC I/O Module 2 Digital Input 3 (AC Input) 0x0133 10308 M
IO3DI1_DETECT_AC I/O Module 3 Digital Input 1 (AC Input) 0x0134 10309 M
IO3DI2_DETECT_AC I/O Module 3 Digital Input 2 (AC Input) 0x0135 10310 M
IO3DI3_DETECT_AC I/O Module 3 Digital Input 3 (AC Input) 0x0136 10311 M
PASSWORD_INVALID User Password is invalid / expired 0x0138 10313
CSU_OPEN_CIRCUIT Centinel Open Circuit Alarm 0x0139 10314 C
CSU_SHORT_CIRCUIT Centinel Short Circuit Alarm 0x013A 10315 C
CSU_SIGNAL_LOSS Centinel Signal Loss Alarm 0x013B 10316 C
CSU_EXCESSIVE_NOISE Centinel Excessive Noise Alarm 0x013C 10317 C
CSU_COMM_FAILURE Centinel Communication Failure Alarm 0x013D 10318 C
IUNBAL_HI_THLD_XCEED Current Unbalance Threshold exceeded 0x013E 10319 V
VUNBAL_HI_THLD_XCEED Voltage Unbalance Threshold exceeded 0x013F 10320
PCM STATUS WORD 1 Power Conversion Module
PCM_RUNNING Running 0x0140 10321
PCM_STOPPED Stopped: All gate signals inhibited 0x0141 10322
PCM_STOPPING Stopping: Command acknowledged 0x0142 10323
PCM_ACCEL Accelerating 0x0143 10324
PCM_DECEL Decelerating 0x0144 10325
PCM_ILIMIT Current Limit 0x0145 10326
PCM_BUS_VOLTS_BIT DC Bus voltage High Threshold 0x0146 10327
PCM STATUS WORD 2 Power Conversion Module
PCM_FAULT PCM Fault word is active 0x0147 10328
PCM_INVERTER_ROTATION Output inverter phase rotation 0x0148 10329
PCM_CONVERTER1_ROTATION Converter 1 input phase rotation 0x0149 10330
PCM_CONVERTER2_ROTATION Converter 2 input phase rotation 0x014A 10331
PCM_PHASED Input phase rotation determined 0x014B 10332
PCM_IN_SYNC_DELAY Inverter in synchronization delay 0x014C 10333
PCM_PHASE_LOCKED Converter Zero Crossing established 0x014D 10334
PCM Fault Word Power Conversion Module
PCM_FAULT PCM Fault word is active 0x014E 10335
PCM_PHASE_APOSITIVE_IOT A Ø Positive Instantaneous overload 0x014F 10336
PCM_PHASE_BPOSITIVE_IOT B Ø Positive Instantaneous overload 0x0150 10337
PCM_PHASE_CPOSITIVE_IOT C Ø Positive Instantaneous overload 0x0151 10338
PCM_PHASE_ANEGATIVE_IOT A Ø Negative Instantaneous overload 0x0152 10339
PCM_PHASE_BNEGATIVE_IOT B Ø Positive Instantaneous overload 0x0153 10340
PCM_PHASE_CNEGATIVE_IOT C Ø Positive Instantaneous overload 0x0154 10341
PCM_ZERO_CROSSING_FAULT Input Zero Crossing signal loss 0x0155 10342
PCM_SYSTEM_ERROR Processor software or hardware fault 0x0156 10343
PCM_CONVERTER_FAULT Input converter fault 0x0157 10344
PCM_INVERTER_FAULT, Output inverter fault 0x0158 10345
PCM_OVER_CURRENT_A_FAULT A Ø Peak Over current 0x0159 10346
PCM_OVER_CURRENT_B_FAULT B Ø Peak Over current 0x015A 10347
© 2013 Baker Hughes Incorporated. All rights reserved
11
INPUT STATUS
(READ INPUT STATUS = FUNCTION CODE 02)
(V =Vortex, E =Electrospeed, M =Expansion Module, R =RDCM, C =Centinel, A =Advantage)
PCM_OVER_CURRENT_C_FAULT C Ø Peak Over current 0x015B 10348
PCM_BUS_OVER_VOLTAGE_FLT DC Bus overvoltage 0x015C 10349
RCB_COMM_ERROR Remote Converter Board Com. Failure 0x015D 10350
STATUS WORD 3 Power Conversion Module
PCM_TORQUE_ILIMIT Output Torque/Current Limit 0x015E 10351
HOA_STOP Hand-Off-Auto in Stop 0x015F 10352 V
DRIVE_STOPPED_MANUALLY Keypad / HOA switch Stop 0x0160 10353
RDCM_DEV1_TAG01 RDCM – Device 1 – Data Tag 1 0x0165 10358 R
RDCM_DEV1_TAG02 RDCM – Device 1 – Data Tag 2 0x0166 10359 R
RDCM_DEV1_TAG03 RDCM – Device 1 – Data Tag 3 0x0167 10360 R
RDCM_DEV1_TAG04 RDCM – Device 1 – Data Tag 4 0x0168 10361 R
RDCM_DEV1_TAG05 RDCM – Device 1 – Data Tag 5 0x0169 10362 R
RDCM_DEV1_TAG06 RDCM – Device 1 – Data Tag 6 0x016A 10363 R
RDCM_DEV1_TAG07 RDCM – Device 1 – Data Tag 7 0x016B 10364 R
RDCM_DEV1_TAG08 RDCM – Device 1 – Data Tag 8 0x016C 10365 R
RDCM_DEV1_TAG09 RDCM – Device 1 – Data Tag 9 0x016D 10366 R
RDCM_DEV1_TAG10 RDCM – Device 1 – Data Tag 10 0x016E 10367 R
RDCM_DEV1_TAG11 RDCM – Device 1 – Data Tag 11 0x016F 10368 R
RDCM_DEV1_TAG12 RDCM – Device 1 – Data Tag 12 0x0170 10369 R
RDCM_DEV2_TAG01 RDCM – Device 2 – Data Tag 1 0x0171 10370 R
RDCM_DEV2_TAG02 RDCM – Device 2 – Data Tag 2 0x0172 10371 R
RDCM_DEV2_TAG03 RDCM – Device 2 – Data Tag 3 0x0173 10372 R
RDCM_DEV2_TAG04 RDCM – Device 2 – Data Tag 4 0x0174 10373 R
RDCM_DEV2_TAG05 RDCM – Device 2 – Data Tag 5 0x0175 10374 R
RDCM_DEV2_TAG06 RDCM – Device 2 – Data Tag 6 0x0176 10375 R
RDCM_DEV2_TAG07 RDCM – Device 2 – Data Tag 7 0x0177 10376 R
RDCM_DEV2_TAG08 RDCM – Device 2 – Data Tag 8 0x0178 10377 R
RDCM_DEV2_TAG09 RDCM – Device 2 – Data Tag 9 0x0179 10378 R
RDCM_DEV2_TAG10 RDCM – Device 2 – Data Tag 10 0x017A 10379 R
RDCM_DEV2_TAG11 RDCM – Device 2 – Data Tag 11 0x017B 10380 R
RDCM_DEV2_TAG12 RDCM – Device 2 – Data Tag 12 0x017C 10381 R
RDCM_DEV3_TAG01 RDCM – Device 3 – Data Tag 1 0x017D 10382 R
RDCM_DEV3_TAG02 RDCM – Device 3 – Data Tag 2 0x017E 10383 R
RDCM_DEV3_TAG03 RDCM – Device 3 – Data Tag 3 0x017F 10384 R
RDCM_DEV3_TAG04 RDCM – Device 3 – Data Tag 4 0x0180 10385 R
RDCM_DEV3_TAG05 RDCM – Device 3 – Data Tag 5 0x0181 10386 R
RDCM_DEV3_TAG06 RDCM – Device 3 – Data Tag 6 0x0182 10387 R
RDCM_DEV3_TAG07 RDCM – Device 3 – Data Tag 7 0x0183 10388 R
RDCM_DEV3_TAG08 RDCM – Device 3 – Data Tag 8 0x0184 10389 R
RDCM_DEV3_TAG09 RDCM – Device 3 – Data Tag 9 0x0185 10390 R
RDCM_DEV3_TAG10 RDCM – Device 3 – Data Tag 10 0x0186 10391 R
RDCM_DEV3_TAG11 RDCM – Device 3 – Data Tag 11 0x0187 10392 R
RDCM_DEV3_TAG12 RDCM – Device 3 – Data Tag 12 0x0188 10393 R
GDICOMM_FAILURE, Graphics Display Communication Failure 0x0189 10394
FIRST_AUX_IO_COMM_FAILURE Expansion I/O 1 Communication Failure 0x018A 10395 M
SECOND_AUX_IO_COMM_FAILURE Expansion I/O 2 Communication Failure 0x018B 10396 M
THIRD_AUX_IO_COMM_FAILURE Expansion I/O 3 Communication Failure 0x018C 10397 M
RDCM_COMM_FAILURE RDCM Communication Failure 0x018D 10398 R
CSU_COMM_FAILURE Centinel Communication Failure 0x018E 10399 C
XCVR_COMM_FAIL Centinel Gauge Communication Failure 0x018F 10400 C
RDCM_DEV1_COMM_FAIL RDCM Device 1 Communication Failure 0x0190 10401 R
RDCM_DEV2_COMM_FAIL RDCM Device 2 Communication Failure 0x0191 10402 R
RDCM_DEV3_COMM_FAIL RDCM Device 3 Communication Failure 0x0192 10403 R
DATA_LOGGING_ENABLED Data Logging Enabled 0x0193 10404
SERIAL_COMM_SDSTATE Telemetry Fail Shutdown State 0x0194 10405
© 2013 Baker Hughes Incorporated. All rights reserved
12
INPUT STATUS
(READ INPUT STATUS = FUNCTION CODE 02)
(V =Vortex, E =Electrospeed, M =Expansion Module, R =RDCM, C =Centinel, A =Advantage)
RCB_BOARD_COUNT_FAULT Remote Converter Board Count Fault 0x0195 10406
PCM_INITIATED_ESTOP_FAULT PCM Initiated Estop Fault 0x0196 10407
RDCM_DEV1_COMM_FAIL_SDSTATE RDCM Device 1 Com Fail Shutdown State 0x0197 10408 R
RDCM_COMM_FAIL_SDSTATE RDCM Communication Fail Shutdown State 0x0198 10409 R
PCM_PWM_FILTER_ATTACHED PCM PWM Filter Attached 0x0199 10410
FIRST_START First Start 0x019A 10411
FIRST_AUX_IO_COMM_FAIL_SDSTATE Expansion I/O 1 Comm Fail Shutdown State 0x019B 10412 M
SECOND_AUX_IO_COMM_FAIL_SDSTA Expansion I/O 2 Comm Fail Shutdown State 0x019C 10413 M
THIRD_AUX_IO_COMM_FAIL_SDSTAT Expansion I/O 3 Comm Fail Shutdown State 0x019D 10414 M
DRIVE_PARAMETERS_IN_RPM Drive Parameters in RPM 0x019E 10415
0= no, 1= yes
RDCM_DEV2_COMM_FAIL_SDSTATE RDCM Device 2 Comm Fail Shutdown State 0x019F 10416 R
RDCM_DEV3_COMM_FAIL_SDSTATE RDCM Device 3 Comm Fail Shutdown State 0x01A0 10417 R
UAB1_THLD_XCEED User Alarm Block 1 Threshold Exceeded 0x01A1 10418
UAB2_THLD_XCEED User Alarm Block 2 Threshold Exceeded 0x01A2 10419
UAB3_THLD_XCEED User Alarm Block 3 Threshold Exceeded 0x01A3 10420
UAB4_THLD_XCEED User Alarm Block 4 Threshold Exceeded 0x01A4 10421
UAB5_THLD_XCEED User Alarm Block 5 Threshold Exceeded 0x01A5 10422
UAB6_THLD_XCEED User Alarm Block 6 Threshold Exceeded 0x01A6 10423
UAB7_THLD_XCEED User Alarm Block 7 Threshold Exceeded 0x01A7 10424
UAB8_THLD_XCEED User Alarm Block 8 Threshold Exceeded 0x01A8 10425
UAB1_THLD_ALARM User Alarm Block 1 Threshold Alarm 0x01A9 10426
UAB2_THLD_ALARM User Alarm Block 2 Threshold Alarm 0x01AA 10427
UAB3_THLD_ALARM User Alarm Block 3 Threshold Alarm 0x01AB 10428
UAB4_THLD_ALARM User Alarm Block 4 Threshold Alarm 0x01AC 10429
UAB5_THLD_ALARM User Alarm Block 5 Threshold Alarm 0x01AD 10430
UAB6_THLD_ALARM User Alarm Block 6 Threshold Alarm 0x01AE 10431
UAB7_THLD_ALARM User Alarm Block 7 Threshold Alarm 0x01AF 10432
UAB8_THLD_ALARM User Alarm Block 8 Threshold Alarm 0x01B0 10433
CONTACTOR_FAILURE_ALARM Contactor Failure Alarm 0x01B2 10435 V
DRIVE_READY_TO_RUN Drive Ready to Run 0x01B3 10436
0= no, 1= yes
CSU_HAS_RT_CLOCK, Centinel Has a Real-Time Clock (CIM-COM) 0X01B4 10437 A
DIGITAL_IN3_SDSTATE_TRUE Digital Input 3 Shutdown State is True 0X01B5 10438 A
DIGITAL_IN4, Digital Input 4 (ASBB) 0X01B6 10439 A
DIGITAL_IN5, Digital Input 5 (ASBB) 0X01B7 10440 A
DIGITAL_IN6, Digital Input 6 (AAIB) 0X01B8 10441 A
DIGITAL_IN7, Digital Input 7 (AAIB) 0X01B9 10442 A
DIGITAL_IN8, Digital Input 8 (AAIB) 0X01BA 10443 A
DIGITAL_OUT4, Digital Output 4 (ASBB) 0X01BB 10444 A
DIGITAL_OUT5, Digital Output 5 (ASBB) 0X01BC 10445 A
DIGITAL_OUT6, Digital Output 6 (AAIB) 0X01BD 10446 A
DIGITAL_OUT7, Digital Output 7 (AAIB) 0X01BE 10447 A
DIGITAL_OUT8, Digital Output 8 (AAIB) 0X01BF 10448 A
CLOCK_IS_SET, System Clock is Set 0X01C0 10449 A
0= Default Setup, 1= Default Setup Bypassed
SETUP_IS_DONE, Setup is Done 0X01C1 10450 A
0= Default Setup, 1= Default Setup Bypassed
APC_INV2_APOS_IOT, Inverter 2 Phase A Positive IOT 0X01C2 10451 A
APC_INV2_BPOS_IOT, Inverter 2 Phase B Positive IOT 0X01C3 10452 A
APC_INV2_CPOS_IOT, Inverter 2 Phase C Positive IOT 0X01C4 10453 A
APC_INV2_ANEG_IOT, Inverter 2 Phase A Negative IOT 0X01C5 10454 A
APC_INV2_BNEG_IOT, Inverter 2 Phase B Negative IOT 0X01C6 10455 A
APC_INV2_CNEG_IOT, Inverter 2 Phase C Negative IOT 0X01C7 10456 A
APC_INV3_APOS_IOT, Inverter 3 Phase A Positive IOT 0X01C8 10457 A
APC_INV3_BPOS_IOT, Inverter 3 Phase B Positive IOT 0X01C9 10458 A
© 2013 Baker Hughes Incorporated. All rights reserved
13
INPUT STATUS
(READ INPUT STATUS = FUNCTION CODE 02)
(V =Vortex, E =Electrospeed, M =Expansion Module, R =RDCM, C =Centinel, A =Advantage)
APC_INV3_CPOS_IOT, Inverter 3 Phase C Positive IOT 0X01CA 10459 A
APC_INV3_ANEG_IOT, Inverter 3 Phase A Negative IOT 0X01CB 10460 A
APC_INV3_BNEG_IOT, Inverter 3 Phase B Negative IOT 0X01CC 10461 A
APC_INV3_CNEG_IOT, Inverter 3 Phase C Negative IOT 0X01CD 10462 A
APC_INV4_APOS_IOT, Inverter 4 Phase A Positive IOT 0X01CE 10463 A
APC_INV4_BPOS_IOT, Inverter 4 Phase B Positive IOT 0X01CF 10464 A
APC_INV4_CPOS_IOT, Inverter 4 Phase C Positive IOT 0X01D0 10465 A
APC_INV4_ANEG_IOT, Inverter 4 Phase A Negative IOT 0X01D1 10466 A
APC_INV4_BNEG_IOT, Inverter 4 Phase B Negative IOT 0X01D2 10467 A
APC_INV4_CNEG_IOT, Inverter 4 Phase C Negative IOT 0X01D3 10468 A
APC_CNV_MISMATCH_1, Converter 1 Mismatch 0X01D4 10469 A
APC_CNV_MISMATCH_2, Converter 2 Mismatch 0X01D5 10470 A
APC_CNV_MISMATCH_3, Converter 3 Mismatch 0X01D6 10471 A
APC_CNV_MISMATCH_4, Converter 4 Mismatch 0X01D7 10472 A
APC_CNV1_ABSENT, Converter 1 Absent 0X01D8 10473 A
APC_CNV1_PHS_UNLOCK, Converter 1 Phase Unlock 0X01D9 10474 A
APC_CNV2_PHS_UNLOCK, Converter 2 Phase Unlock 0X01DA 10475 A
APC_CNV3_PHS_UNLOCK, Converter 3 Phase Unlock 0X01DB 10476 A
APC_CNV4_PHS_UNLOCK, Converter 4 Phase Unlock 0X01DC 10477 A
30001 to 30250 are user configurable Status Registers. See “Custom ModBus Maps” for information on how to
re-map the ModBus registers to suit your needs.
Packed Digitals 1 – The bits in this 16-bit word will be set if the threshold is exceeded whether the alarm is
enabled or disabled.
Packed Digitals 2 – The bits in alarm in this 16-bit word will be set as the Drive is shutting down (decelerating)
towards a stop. After stop the bits are cleared.
Packed Digitals 3 – The bits will show the active state of these inputs/outputs while running or stopped.
40001 to 40250 are user configurable Status Registers. See “Custom ModBus Maps” for information on how to
re-map the ModBus registers to suit your needs.
The following Tables list the shutdown and lockout codes and their associated descriptor. Table 5 is grouped by
description type. Table 6 is sorted on the shutdown code.
Exp I/O 1 AI1 High Threshold Shutdown External Signal 895 892
Exp I/O 1 AI1 Low Threshold Shutdown External Signal 1096 1093
Exp I/O 1 AI2 High Threshold Shutdown External Signal 909 906
Exp I/O 1 AI2 Low Threshold Shutdown External Signal 1109 1106
Exp I/O 1 DI1 Shutdown External Signal 978 975
Exp I/O 1 DI2 Shutdown External Signal 991 988
Exp I/O 1 DI3 Shutdown External Signal 1004 1001
Exp I/O 2 AI1 High Threshold Shutdown External Signal 923 920
Exp I/O 2 AI1 Low Threshold Shutdown External Signal 1122 1119
Exp I/O 2 AI2 High Threshold Shutdown External Signal 937 934
Exp I/O 2 AI2 Low Threshold Shutdown External Signal 1135 1132
Exp I/O 2 DI1 Shutdown External Signal 1017 1014
Exp I/O 2 DI2 Shutdown External Signal 1030 1027
Exp I/O 2 DI3 Shutdown External Signal 1043 1040
Exp I/O 3 AI1 High Threshold Shutdown External Signal 951 948
Exp I/O 3 AI1 Low Threshold Shutdown External Signal 1148 1145
Exp I/O 3 AI2 High Threshold Shutdown External Signal 965 962
Exp I/O 3 AI2 Low Threshold Shutdown External Signal 1161 1158
Exp I/O 3 DI1 Shutdown External Signal 1056 1053
Exp I/O 3 DI2 Shutdown External Signal 1069 1066
Exp I/O 3 DI3 Shutdown External Signal 1082 1079
Neura-Flow Com Fail Fault External Signal 1642
Remote Data Com Module Com Failure Int Drive Signal 827 828
Remote Device One Com Failure Alarm External Signal 814 812
Remote Device Two Com Failure Alarm External Signal 1494 1492
Remote Device Three Com Failure Alarm External Signal 1507 1505
The Electrospeed GCS drive can be configured to incorporate several remote converter circuit boards to
increase the output current range and/or minimize input harmonic content. When such a drive is configured, it
can generate the following shutdown fault codes.
When retrieving information from a GCS unit using function code 65, the query will always adhere to the
following form:
Where:
rtuAddress is the modbus address of the GCS unit being queried
functionCode is always 65 (41 HEX)
startingAddress is:
pointCount is 0 if the packet marks the first packet of an exchange and is 1 if the packet is the
continuation of the exchange.
The first four bytes of the GCS’s response will always be the RTU address, the function code and a block count.
The block count will be positive as long there is un-transferred data within the GCS unit. To signal the last
packet, the block count (signed short integer) goes negative. The negative number is to be interpreted as ( –1 *
(the number of records within the packet)). For example, if the block count was returned as FFEC hex, convert
that value into the decimal equivalent as follows:
FFEC = 65,516 ------ 0x10000= 65,536 ------ 65,516 – 65536 = -20 ------ -20 * -1 = 20 records
The following describes the data dependant responses by the GCS controller to Modbus 65 packets.
where, HISTORY_RECORDS_PER_PACKET is 10 .
where,
ampsA, ampsB and ampsC are the three phase current at the time of the decision to shutdown.
VoltAB, voltBC and voltCA are the phase to phase voltage at the time of the decision to shutdown.
AnalogIn1 and analogIn2 are the value at the analog inputs of the GCS system controller.
CauseOfShutdown is a number indicating why the shutdown happened.
Lockout is a number indicating if the motor start was locked out because of the shutdown.
The abeled p is a signed 32bit integer that holds the number of seconds since January 1, 1970 and can be
de-coded using the library routines supplied with most C compilers.
01H
00H
01H
AFH
RTU
(point-id–low)
Query:
Cause of lockout Function Code
41H
ADDRESS
amps Phase c (low)
00H
50H
(point-id–high)
Block Count
41H
00H
Cause of lockout Voltage phase Ab (high)
CODE
ADH
01H
(point-id low) (high)
Block Count
FUNCTION
E1H
History record #2 (low)
00H
Start of Shutdown
Shutdown History Voltage phase bc
START
History record #1
3EH
01H
(time Stamp) (high)
Shutdown History
ADDR HIGH
3EH
Shutdown History Voltage phase bc (time Stamp)
E4H
2FH
(time Stamp) (low)
Response: (only part of the response is shown)
00H
Shutdown History
A6H
(time Stamp)
START
01H
(high)
DDH
(time Stamp)
62
ADDR LOW
E3H
74H
(time Stamp)
00H
HIGH
Shutdown History
Example – Function Code 65 (Read Shutdown History Records)
2DH
04H
00H
(high)
Amps Phase A
00H
POINT COUNT
…
Etcetera…
7EH
Amps Phase A
00H
4FH
LOW
01H
amps Phase b
00H
amps Phase b
4EH
(point-id–high)
CRC
3DH C5H
Convert the hexadecimal values into decimal notation and history record #1 in the above example yields the
following information:
Shutdown occurred on April 23, 2003 at the time of 10:04:29. (Time integer value: 3E A6 65 2D hex.)
The three phase volts were: Phase AB = 481 volts AC (01E1 hex)
Phase BC = 484 volts AC (01E4 hex)
Phase CA = 483 volts AC (01E3 hex)
Startup waveform data consists of the three motor currents and voltages sampled at 600 readings per second
for 2 seconds after the start of the motor.
typedef struct
{
unsigned char rtuAddress;
unsigned char functionCode;
signed short blockCount;
highSpeedTrend data[TREND_RECORDS_PER_PACKET];
unsigned short crc;
}aStartupWaveformResponse;
where TREND_RECORDS_PER_PACKET is 20
where,
ampsA, ampsB and ampsC are the instantaneous values of the three phase currents and VoltAB,
voltBC and voltCA are the phase to phase voltage at the time of the sample.
To fetch the time at which the motor was started, build a request packet with its startingAddress field set to 1
and its pointCount set to –1. The GCS units will return a packet formatted as
typedef struct
{
unsigned char rtuAddress;
unsigned char functionCode;
signed short blockCount;
time_t abeled p;
unsigned short crc;
}aStartupTimestampResponse;
First, send a message with a point count of -1 (FFFE hex), to retrieve the “start time” of the last motor start.
Query:
(time Stamp)
(time Stamp)
(time Stamp)
(time Stamp)
start attempt
Block Count
Block Count
(high)
(high)
(Low)
(low)
CRC
CRC
01H 41H 00H 01H 3EH 64H BEH 86H 51H 36H
Query: Next, retrieve the first 20 of 1200 samples by using function code 65.
Voltage Phase AB
Voltage Phase AB
Current Phase A
Current Phase A
Current Phase B
Current Phase B
Current Phase C
Current Phase C
Trend packet #1
Function Code
RTU Address
Block Count
Block Count
(high)
(high)
(high)
(high)
(high)
(Low)
(low)
(low)
(low)
(low)
01H 41H 00H 14H 00H 08H 00H 10H FFH EBH 01H 15H
Voltage Phase BC
Voltage Phase CA
Voltage Phase CA
Voltage Phase AB
Voltage Phase AB
Current Phase B
Current Phase A
Current Phase A
Current Phase B
Current Phase C
Current Phase C
Trend packet #2
(high)
(high)
(high)
(high)
(high)
(high)
(low)
(low)
(low)
(low)
(low)
(low)
FEH CDH 00H 1EH 00H 00H FFH F0H 00H 10H 00H 69H
Voltage Phase BC
Voltage Phase CA
Voltage Phase CA
Current Phase A
Current Phase A
Trend packet #3
Etcetera…
(high)
(high)
(high)
(low)
(low)
(low)
Query: Now retrieve the remaining data by setting the point count to 0001 and repeat the request for data until
the block count value in the response switches to a negative number as shown below.
Voltage Phase AB
Voltage Phase AB
Current Phase C
Current Phase A
Current Phase A
Current Phase B
Current Phase B
Current Phase C
Function Code
RTU Address
Trend packet
Block Count
Block Count
Etcetera…
(high)
(high)
(high)
(high)
(high)
(Low)
(low)
(low)
(low)
(low)
01H 41H FFH ECH 00H 73H FFH 59H 00H 35H FFH B9H …
As illustrated in the example above, the GCS responded with a block count of FFEC hex or -19 decimal. This
indicates that there are no more un-retrieved waveforms packets and that this message contains the normal 20
records
The instantaneous values of the current and voltage can be graphed by using common PC software such as
MS Excel spreadsheet.
typedef struct
{
unsigned char rtuAddress;
unsigned char functionCode;
signed short blockCount;
anEventRecord eventRecord[EVENT_RECORDS_PER_PACKET];
unsigned short crc;
}anEventRecordResponse;
where, EVENT_RECORDS_PER_PACKET is 20
typedef struct
{
time_t abeled p;
unsigned char EventType;
unsigned char Exponent;
PointId PointIdent;
Pvalue ValueBeforeEvent;
Pvalue ValueAfterEvent;
}anEventRecord;
Query: Retrieve the first packet of event history by setting the point count to 0000H.
Response: (First packet of event history, only the first portion of the reply is shown)
Block Count (high)
Event Occurrence
Event Occurrence
Event Occurrence
Event Occurrence
Start of Event #1
Start of Event #2
Value after event
Function Code
Point ID (high)
Point ID (low)
RTU Address
(time Stamp)
(time Stamp)
(time Stamp)
(time Stamp)
(time Stamp)
Event Type
Exponent
01H 41H 00H 14H 3EH A6H 7AH 4FH 02H 00H 00H A7H 0H 0H ……
Query: Continue to retrieve the next 20 event records by setting the point count to 0001H, until the block count
in the reply turns negative as shown in the example below.
Response: (Last packet of event history, only part of the reply is shown)
Block Count (high)
Event Occurrence
Event Occurrence
Event Occurrence
Start of Event #1
Start of Event #2
Value after event
Function Code
Point ID (high)
Point ID (low)
RTU Address
(time Stamp)
(time Stamp)
(time Stamp)
(time Stamp)
Event Type
Exponent
01H 41H FFH F1H 3EH A6H 63H 9EH 03H 00H 00H 5BH 00H 02H
The reply illustrated above shows a block count of FFF1H (-15 decimal). That means there are no more event
records to be retrieved and that this packet does contain 15 event records.
The ampchart data consisting of four minute averages and minimum / maximum values is accessed using a
starting address of 3, within a Function Code 65 query.
typedef struct
{
unsigned char rtuAddress;
unsigned char functionCode;
signed short blockCount;
aFourMinuteAmpchartRecord data[FOUR_MINUTE_AC_RECORDS_PER_PACKET];
unsigned short crc;
}anAmpchartRecordResponse;
typedef struct
{
time_t abeled p;
Pvalue average;
Pvalue minimum;
Pvalue maximum;
}aFourMinuteAmpchartRecord;
Start of Record #1
Maximum (High)
Maximum (Low)
Minimum (High)
Function Code
Minimum (low)
Average (high)
Average (Low)
RTU Address
(time Stamp)
(time Stamp)
(time Stamp)
(time Stamp)
01H 41H 00H 18H 3EH A6H 9FH ACH 00H 16H 00H 15H 00H 17H
Amp Chart recorded
Start of Record #3
Maximum (High)
Maximum (Low)
Minimum (High)
Minimum (low)
Average (high)
Average (Low)
(Time Stamp)
(Time Stamp)
(Time Stamp)
(Time Stamp)
(Time Stamp)
(Time Stamp)
(Time Stamp)
3EH A6H A0H 9CH 00H 18H 00H 17H 00H 19H 3EH A6H ……
The block count 0018H indicates that 24 ampchart records are contained in this packet.
The ampchart data consisting of a four minute average and four, one minute minimum / maximum values is
accessed using a starting address of 6, within a Function Code 65 query.
typedef struct
{
unsigned char rtuAddress;
unsigned char functionCode;
signed short blockCount;
aOneMinuteAmpchartRecord data[ONE_MINUTE_AC_RECORDS_PER_PACKET];
unsigned short crc;
}anAmpchartRecordResponse;
where, ONE_MINUTE_READINGS_PER_RECORD is 4
abeled p is the time of the most recent reading. This field is updated every minute.
Average is the average of the current over a four minute period.
typedef struct
{
Pvalue minimum;
Pvalue maximum;
}anAmpChartReadingRecord;
where abeled and maximum are the extremes of phase B current in amps measured during the one minute
period.
Query: The first message requesting ampchart data must have a point count value of zero, as shown below.
Maximum 1 minute
Maximum 1 minute
Minimum 1 minute
Block Count (high)
Ampchart recorded
Ampchart recorded
Ampchart recorded
Ampchart recorded
Block Count (Low)
Minimum1 minute
Start of Ampchart
Function Code
Average (high)
Average (low)
RTU Address
(Time Stamp)
(Time Stamp)
(Time Stamp)
(Time Stamp)
st
st
st
st
record #1
(high)
(high)
(low)
(low)
01H 41H 00H 0BH 3EH A6H 9FH ACH 00H 16H 00H 15H 00H 17H
minute
minute
minute
minute
minute
Maximum 3 minute
minute
Minimum 2 minute
Minimum 4 minute
Minimum 4 minute
Minimum 3 minute
Minimum 3 minute
Ampchart recorded
Start of Ampchart
(Time Stamp)
nd
nd
rd
rd
th
th
nd
nd
rd
rd
th
th
Maximum 2
Maximum 2
Maximum 3
Maximum 4
Maximum 4
Minimum 2
record #2
(high)
(high)
(high)
(high)
(high)
(high)
(low)
(low)
(low)
(low)
(low)
(low)
00H 15H 00H 17H 00H 15H 00H 17H 00H 15H 00H 17H ….
The block count 000BH indicates that 11 ampchart records are contained in this packet.
After using a point count of 0000H to initiate the transfer of the ampchart records, use a point count of 0001 for
all subsequent queries until the block count value is returned as a negative value. As in all function code 65
transfers, a negative block count indicates that the response contains the final records to be transferred and the
negative value multiplied by negative 1 represents the number of records in this message. An example is shown
below:
Query: The point count is set to one to continue the transfer of ampchart records.
Maximum 1 minute
Maximum 1 minute
Minimum 1 minute
Block Count (high)
Ampchart recorded
Ampchart recorded
Ampchart recorded
Ampchart recorded
Block Count (Low)
Minimum1 minute
Start of Ampchart
Function Code
Average (high)
Average (low)
RTU Address
(Time Stamp)
(Time Stamp)
(Time Stamp)
(Time Stamp)
st
st
st
st
record #1
(high)
(high)
(low)
(low)
01H 41H FFH FEH 3EH A9H 5DH A3H 00H 06H 00H 06H 00H 06H
minute
minute
minute
minute
minute
Maximum 3 minute
minute
Minimum 2 minute
Minimum 4 minute
Minimum 4 minute
Minimum 3 minute
Minimum 3 minute
Ampchart recorded
Start of Ampchart
(Time Stamp)
nd
nd
rd
rd
th
th
nd
nd
rd
rd
th
th
Maximum 2
Maximum 2
Maximum 3
Maximum 4
Maximum 4
Minimum 2
record #2
(high)
(high)
(high)
(high)
(high)
(high)
(low)
(low)
(low)
(low)
(low)
(low)
00H 06H 00H 06H 00H 06H 00H 06H 00H 06H 00H 06H ….
The block count FFFEH indicates that this response contains the last un-transferred records of the
ampchart and that a total of 2 records are contained in this packet. (10000H – FFFEH) = 2
Percentage of full scale = (Present Value of input / full scale value of input) * 100
Next the GCS drive’s High Speed clamp and Low Speed clamp settings are determined. The Low Speed clamp
is designated as 0% speed, while the High Speed Clamp is designated as 100% speed. The controller then
calculates the actual frequency value that corresponds to the percentage of full scale and uses that value as the
desired output frequency. Additionally, the drive can be set to react in forward or reverse. In forward acting, as
the analog setpoint signal is increased, the drive frequency increases. In reverse acting, as the analog setpoint
is increased, the drive frequency decreases.
The GCS drives provide support for Modbus RTU protocol. Using this communication capability, the user can
modify the variables using the following modbus address registers.
For example: To set the frequency to 59.5 Hz, write the value of 595 to address 40784.
Setpoint input for Analog Follower mode, located at Modbus address 40761 (0x02F8) can accept the following
decimal values including User Points at 3840-4095:
Expansion I/O Module 1, Analog Input #1: 1213 (Modbus address 40761 = 1213 decimal)
Expansion I/O Module 1, Analog Input #2: 1214 (Modbus address 40761 = 1214 decimal)
Expansion I/O Module 2, Analog Input #1: 1215 (Modbus address 40761 = 1215 decimal)
Expansion I/O Module 2, Analog Input #2: 1216 (Modbus address 40761 = 1216 decimal)
Expansion I/O Module 3, Analog Input #1: 1217 (Modbus address 40761 = 1217 decimal)
Expansion I/O Module 3, Analog Input #2: 1218 (Modbus address 40761 = 1218 decimal)
Example: Using Analog Follower mode via a Setpoint Input from SCADA
We will utilize a user programmable ‘variable’ called a ‘user point’ to allow the SCADA system to write a value
for the analog follower level. The GCS system has 256 of these programmable elements ranging from 0 to 255.
Caution: If the GCS or Advantage has a custom programmed function or ‘user PLC function’, you may need to
select a different User Point than the following example.
We will use ‘user point 00’, whose present value field has a modbus address of 41958. (See pg 42 of this
document for the full list of Modbus address for each User Point).
The user points are access via the ‘Prog Logic Funct’ option from the Main menu. Select the ‘Edit User Point’
option from the “Prog Funct Setup’ menu.
When the ‘edit user point’ menu first opens, you should see the setup screen for
‘Point ID 0’. To change to an alternate User Point, place the cursor on the Point ID
line and edit the ID # or use the right & left arrow keys to scroll to the next User
Point. As explained in step 1, we will select user Point ID 0 for this example.
We can configure the user point range in many ways. For this example, we will set
the minimum to 0, the maximum to 1000, an exponent of -1 (100.0) and the units
of %. This will allow us to write a value between 0 and 1000 that represents a percentage from 0 to 100.0 %
with one decimal of accuracy.
The next step is to setup the Analog follower mode. The output frequency control menu option appears on the
Prog Funct Setup menu (see above).
The system can be tested by running the drive and adjusting the Present value of User Point 00 from the Edit
User Point menu (see above) Alternately, use CentriMATION to write a value (0-1000 = 0-> 100.0 %) to
Modbus address 41958. You should see the value written appear in the present value field of User Point 00.
The drive output frequency should change from low speed clamp to high speed clamp as a percentage.
* Only enter a value in 40662 if the Setpoint Input is set to Manual Set.
Setpoint input for PID Control mode is located at Modbus address 40762 (0x02F9). This setpoint can accept the
following decimal values:
Expansion I/O Module 1, Analog Input #1: 1213 (Modbus address 40762 = 1213 decimal)
Expansion I/O Module 1, Analog Input #2: 1214 (Modbus address 40762 = 1214 decimal)
Expansion I/O Module 2, Analog Input #1: 1215 (Modbus address 40762 = 1215 decimal)
Expansion I/O Module 2, Analog Input #2: 1216 (Modbus address 40762 = 1216 decimal)
Expansion I/O Module 3, Analog Input #1: 1217 (Modbus address 40762 = 1217 decimal)
Expansion I/O Module 3, Analog Input #2: 1218 (Modbus address 40762 = 1218 decimal)
Note: Take care that both the setpoint and feedback inputs do not contain the same value.
Feedback input for PID Control mode is located at Modbus address 40763 (0x02FA). This setpoint can accept
the following decimal values:
Expansion I/O Module 1, Analog Input #1: 1213 (Modbus address 40763 = 1213 decimal)
Expansion I/O Module 1, Analog Input #2: 1214 (Modbus address 40763 = 1214 decimal)
Expansion I/O Module 2, Analog Input #1: 1215 (Modbus address 40763 = 1215 decimal)
Expansion I/O Module 2, Analog Input #2: 1216 (Modbus address 40763 = 1216 decimal)
Expansion I/O Module 3, Analog Input #1: 1217 (Modbus address 40763 = 1217 decimal)
Expansion I/O Module 3, Analog Input #2: 1218 (Modbus address 40763 = 1218 decimal)
Note: Take care that both the setpoint and feedback inputs do not contain the same value.
The Custom Modbus Map feature of the GCS and Advantage product lines will be helpful to system integrators
who wish to optimize the number of Modbus polls to the a given Drive or Motor Controller on their SCADA
system. By using the Custom Modbus feature the system integrator can pick and choose up to 250 registers
from anywhere in the Modbus map and “re-Map” them to the “top” of the Modbus map starting at X0001 through
to X0250. A total of 250 Modbus addresses may be re-mapped into any order the SCADA integrator desires.
A custom Modbus map can be created using the display and then saved onto a compact flash (CF) card on a
GCS and Advantage drive. On the Advantage Drive, there is also the option of saving the drive configuration,
which includes the custom Modbus map to a USB Door Drive.
By saving the Custom Modbus Map, the map may be easily copied onto each unit in the field using a CF card
or USB stick. It also allows file editing using a PC to create/edit the map prior to downloading to a Drive or
Vortex GCS motor controller.
Background
One major function of a SCADA system is the monitoring and trending of field data. The data points to be
monitored are often unique to specific customers and applications. While the list of data points may vary, the
requirement to transfer the data as efficiently as possible is a common request. Efficiency is usually measured
in terms of the number and length of data transfers to remote field devices.
As features are added to the Drives, the Modbus Addresses for new types of data (eg, Torque, Centinel
Pressure) are added to the end of the Modbus list. Over time, the ModBus map has grown long and the data
that customers most often want is separated by other less important registers.
This would require the customer read 118 registers in one long message, or make 3 separate scans of one
register each. Either way this equates to a large amount of time spent retrieving 3 registers of data.
To mitigate this, and allow customers to optimize the exchange of data, we have added Custom Modbus
Mapping capabilities to the features list. Customers will have the ability to create their own optimized list of up
to 250 registers to suit their specific data requirements.
Note:
The custom input registers (30xxx) are a unique type of register. These custom registers can be configured to
‘read’ data from any of the other register types, 30xxx, 40xxx, 00xxx and 10xxx. For example, the custom
modbus map file could be configured as shown below:
You will see the “Custom ModBus Maps” Screen. Select the “Custom Input Registers” and press Enter.
Edit the “System Adrs” (System Address) column so it contains the Modbus address that you want to re-map to
30001, 30002, 30003…. The ModBus addresses may be in any order you wish.
NOTE: A Modbus Read or Write to a custom address that has zero for a system address will return an “illegal
address” error message.
Your “Custom Input Register” ModBus Map may now look like this:
30001 is now the same as 30298 = Operating Frequency
30002 is now the same as 30258 = Current A
30003 is now the same as 30259 = Current B
30004 is now the same as 30260 = Current C
30005 is now the same as 30261 = Output Volts
30006 is now the same as 30266 = Onboard Analog 1
30007 is now the same as 30274 = Onboard Analog 2
30008 is now the same as 30376 = PCM Motor Torque
You can now read in one poll of 8 registers what would have taken one read of 118 registers before you created
this Custom Modbus Map.
You may create your Custom Modbus Map by editing a Setpoint file and loading the Custom Modbus Map via
the CF Card and the “Load/Save Setup” function of the display.
First save the existing Custom Modbus Map even if none exists. This will give you a valid Setpoint File to begin
editing.
To save a Setpoint File, insert a CF Card into the Display. Navigate to the Load/Save Setup screen and press
Enter on ‘Save Setup to PC Card’.
This screen will be entered. Do not create the file at this point. Press the Left key, press Enter on ‘Invert
Selection’ and only check ‘Custom Modbus Maps’.
Press the Left key again to enter this screen once more and press Enter to create a setpoint file with only the
custom modbus map information. Note the format of the filename:
YY-MM-DD Setup.txt
To save a Drive configuration (which includes the custom Modbus map) to a USB stick, the user must first save
the drive history by the ‘Get Historical Data’ parameter. This operation not only saves the well history for chosen
period of time, it also saves a copy of the changed setpoints in a file in the directory
\WellData\GenericSite\Setpoints. If a site name was already entered on the Site Information screen,
‘GenericSite’ will be replaced with that name.
The filename format is:
ASC_Configuration_MMDDHH.txt
The text file will contain the custom modbus map information plus other non-default sections of the drive
configuration. These other sections and headers can be deleted if only the custom modbus map information is
desired.
Here is an example of a custom modbus map created for an Advantage Drive. The map can be loaded via a
USB Door Drive for convenience.
;
; From Advantage system controller
; Saved to USB drive Jul 12 2013 at 11:18:03
; From Advantage system controller 1.257
; AGD 0.553
; APC 3.84
; NIM 0.00
; XIO1 0.00
; XIO2 0.00
; XIO3 0.00
; Notes:
; [User Mbus RO Analog]
30001 30298 ; Operating Frequency
30002 30258 ; Current A
30003 30259 ; Current B
30004 30260 ; Current C
30005 30261 ; Output Volts
30006 30266 ; Analog 1
30007 30274 ; Analog 2
30008 30376 ; Motor Torque (not in the “Basic Modbus Doc”)
[User Mbus RW Analog]
40001 40784 ; Keypad Frequency
40002 40517 ; Underload Setpoint
40003 40516 ; Overload Setpoint
40004 40800 ; Volts @ 60
40005 40803 ; Current limit Setpoint
40006 40798 ; Acceleration Time
NOTES:
The Header of the file contains the date and the software versions of the components on the CITIBus™.
The Header must begin and end with a “;” The header must also contain valid software revisions for the
display and system controller.
The section titles must be in square brackets and be exactly as shown above or the Display will reject
the file or reject an improperly abeled section.
You may “comment” lines with a semi-colon “; “as shown above for clarity.
Loading the custom modbus map file to a GCS or Advantage drive using a CF card is detailed below.
To load a Setpoint File, insert a CF Card into the Display. Navigate to the Load/Save Setup screen and press
Enter on ‘Load Setup From PC Card’.
This screen below will be entered. Use the cursor to highlight the desired file and press Enter. If the correct
filename is displayed under [Filename], press Enter on ‘Load Setup From PC Card’.
When the drive history is saved to a USB door drive, the configuration file is saved to this location:
\WellData\GenericSite\Setpoints\ASC_Configuration_MMDDHH.txt
The filename can be changed and the contents of the file can be edited to delete sections and create custom
modbus maps. In order to load a configuration file into an Advantage drive, copy or move the file to this location:
\Setpoints\Custom_Filename.txt
Insert the USB door drive and allow the system to evaluate the integrity and capacity of the memory stick. If a
configuration file exists in the proper location, the ‘Load Configuration File’ parameter will be displayed. Use the
Down / Up keys to cursor to the parameter and press Enter.
All configuration text files will be displayed. If there are more than one, cursor to the desired file and press Enter.
The display will return to the USB Features screen and the message box will display the status of the copy.
After the loading process is complete, the contents of the configuration file are loaded into the system.
There are common concepts with all the accumulated times. All of the times are stored in a set of 4 Modbus
registers. Each set of registers contains the following:
Day – accumulation of days, incremented when the hours register wraps from 23 to 0, limited to 32767
days.
Hour – accumulation of hours in the day, incremented when the minutes register wraps from 59 to 0
Minute – accumulation of minutes in the hour, incremented when the seconds register wraps from 59 to
0.
Second – value of seconds in the minute which will wrap from 59 to 0
All the time registers are set to 0 whenever the ‘Reset Setpoints” parameter is set to YES. (NOTE that setting
the Reset Setpoints parameter will also clear all settings in the drive and this operation should only be used
when a unit is moved to a new location and re-commissioned.)
Total Run Time is the total accumulated time that the motor has run since being commissioned. (See above)
Run Time is the accumulated run time since the motor was last started. This time will be reset to 0 when the
motor is shut down.
Resettable Run Time is an accumulation of run time since the parameter “Reset Run Time” was set to a value
of YES (1). This parameter is available on the Starts menu accessible from the Basic Setup option on the main
menu.
Total Down Time: Similar to the Total Run Time, these registers accumulate the total amount of time that the
well has been stopped, since commissioning.
Down Time: Similar to the Run Time accumulation, these registers count the time the well has been stopped
since the last time it was shut down or lost power.
Advantage System Control Board / Basic System Control Board (ASCB / BSCB)
Ethernet
Ports
RS-485
Indicators Ethernet
Indicators
RS-485
Port
RS-232
Port
RS-232
Indicators
RS-485
Port
RS-232
Port RS-485
Indicators
RS-232
Indicators
1
RJ-12Plug
(Tab side
2
down)
3
4
5
6
123456
Pin # Description
1 3 5
2 4 6 1 Shield
Component 2 Rx Data in
Side View 3 TxData out RJ-12
4 Signal GND
Jack - Front
5 CTS in
6 RTS out Openning
PCB Pinout
123456
Advantage & GCS Telemetry Connector
(RS-232) Pinout
Indicator LEDs
The TX and RX indicator lights are located near the RJ-12 connectors on the system boards for the Advantage
and GCS Drives.
Connections
For a typical RS-485 connection simply connect A-to-A, B-to-B and IGND-to-IGND in the RS-485 loop. Due to
differences in interpretation of the RS-485 standard, it is often necessary to cross the A and B connections
when interfacing to third party devices. (A-to-B, B-to-A) This operation will not damage the equipment and if
A/B signals are connected backwards the result will simply be a lack of communication until properly connected.
Indicator LEDs
The TX and RX indicator lights for the RS-485 port are located on the GCS Syscon Riser board for the GCS
Drive. The TX and RX indicator lights for the RS-485 port are located near the RS-485 Connector on the
System board for the ADV Drive.
GCS Drive:
There are 3 jumpers on the Syscon Riser board that have the following functions:
JP1: 120 Ohm Termination Resistor – This jumper should be installed ONLY if the drive is the last device on the
RS-485 Bus.
JP2: Fail-safe Biasing Jumper
JP3: Fail-safe Biasing Jumper (JP2/JP3 used together)
(Fail-safe Biasing jumpers may be required in electrically noisy conditions. Fail safe biasing should only be
installed on one device on the RS-485 bus. Ensure the central unit does not already have fail-safe biasing
capability enabled).
Both ports support the Modbus TCP/IP protocol. Modbus TCP/IP is a version of the Modbus RTU protocol
which is supported by all of our product lines. The display unit of the ADV drive allows the setup of each port to
enter IP, Subnet and Gateway addresses. The default settings are shown below.
Indicator LEDs
Each of the Ethernet ports contains two (2) indicator LED’s labeled LINK and SPD. The LINK LED will indicate
that there is an established link with the Ethernet server (LED On) and that there is data transfer (LED blinking).
The SPD LED is used to indicate the speed in which a link is made; 10 Base-T (LED Off) or 100 Base-T (LED
On).