Summary of Contents for Deep Sea Electronics Plc 550
Page 1
Deep Sea Electronics Plc GenComm Communications Protocol for use with 550,555, 5210 and 5220 controllers. Author - A.D.Manton Author of GenComm V1.29 - G.Middleton 深圳市威华特科技有限公司 www.wellfut.com 0755-27153030 13537855559...
Page 2
<< This page is intentionally blank >> 55xGenComm1_29 www.wellfut.com 0755-27153030 0755-27732300...
2, both available from the Modicon web site at http://www.modicon.com This manual describes the parts of GenComm utilised by the DSE 550, 555, 5210 and 5220 range of controllers, and gives the information necessary to allow the integration of these modules into larger schemes such as building management systems.
Data Communications Overview Data Communications between two electronic devices has increased in use over recent years. This document is intended to clarify the main points of serial data communications over two of the most widely used hardware interfaces, RS232 and RS485. Data communication covers many applications, from the simple monitoring of a piece of equipment to the control of a complex plant operation.
RS485 description Again the RS485 communication standard defines only the connection between the equipment, not the communication protocol which is described below. RS485 is a two-wire interface, capable of allowing up to 32 devices to communicate with each other. This feature is called ‘multi-drop’. It allows, for instance, a single Personal Computer equipped with RS485 interface to communicate with between 1 and 31 generating set controllers on the same site, with only one cable between them.
General Definitions and Requirements of GenComm 1. A single piece of generating set control equipment is referred to as a ‘control unit’ or ‘control module’. 2. A control unit is always a slave device as defined in the Modbus protocol. 3.
Modbus Functions Used This standard only uses Modbus functions 3 and 16 as recommended in the Open Modbus/TCP Specification draft 2. NOTE:- Any other functions may be implemented if required, for example for configuration of the slave device. These are not defined in this standard. Any device which requires other functions to be implemented in order to perform a task, which can be performed, by function 3 or 16 is deemed to be non-compliant with this standard.
Exception response message Byte Field name Notes Slave address Function code +128 (131) Top bit is set Exception code 1 - Illegal function code 2 - Illegal data address 6 - Slave device busy 3 –4 Error check CRC Unimplemented register and field values Size of register Value returned Notes...
Sentinel values for instrumentation The instrumentation items (GenComm pages 4,6 and 7) may return the sentinel values described in the table below. These are used to indicate special conditions measured by the control module. The sentinel value ‘high digital input’ means that the instrumentation value is high (high oil pressure, high temp, etc), similarly 'Low digital input' means the instrumentation value is low.
Function 16 - Write Multiple Registers Writes one or more 16 bit registers to the slave device, complying to the following rules: 1. The limit of 123 registers is to comply with the Modbus specification, which requires that a message must not exceed 256 bytes including all fields. 2.
Exception Responses Any function may return an exception response if it does not complete successfully, as defined in the Modbus protocol. 1. The Modbus Protocol Reference Guide defines the meanings of exception codes 1 to 8 and the Open Modbus/TCP Specification defines error codes 10 and 11, but unfortunately these meanings are ambiguous, so cannot convey accurate information about the error.
Extended exception codes Exception Extended Extended exception name Notes code exception code No error The last function completed successfully. Function not defined The function requested is not defined in this standard and is not recognised as a manufacturer specific function, no actions were taken Function not implemented The function is defined in...
Page 16
Exception Extended Extended exception name Notes code exception code Write to a read only register An attempt was made to write to a read only register, the register was not changed and no actions were taken. If this occurred due to insufficient privilege then the ‘insufficient privilege’...
Page 17
Exception Extended Extended exception name Notes code exception code No satellite socket Returned by a hub only. The specified satellite state is ‘No socket’. Satellite disabled Returned by a hub only. The specified satellite state is ‘Disabled’. Satellite error Returned by a hub only. The specified satellite state is ‘Error’.
Language Codes 1. Language codes follow the Windows definition, the primary language code is stored in the least significant 10 bits and the sub-language code is stored in the most significant 6 bits of the 16-bit language code. 2. Microsoft adds to this list periodically but has reserved sections of the list for custom languages and sub-languages.
Page 19
Primary language Sub-language Primary Sub-language Language language code code code English United states 0x09 0x01 0x0409 United kingdom 0x02 0x0809 Australia 0x03 0x0C09 Canada 0x04 0x1009 New Zealand 0x05 0x1409 Ireland 0x06 0x1809 South Africa 0x07 0x1C09 Jamaica 0x08 0x2009 Caribbean 0x09 0x2409...
Page 20
Primary language Sub-language Primary Sub-language Language language code code code Korean Extended 0x12 0x01 0x0412 Wansung Johab 0x02 0x0812 Dutch Standard 0x13 0x01 0x0413 Belgian 0x02 0x0813 Norwegian Bokmal 0x14 0x01 0x0414 Nynorsk 0x02 0x0814 Polish Standard 0x15 0x01 0x0415 Portuguese Brazilian 0x16...
Page 21
Primary language Sub-language Primary Sub-language Language language code code code Reserved 0x37 0x3700 Faeroese Standard 0x38 0x01 0x0438 Hindi Standard 0x39 0x01 0x0439 Maltese Standard 0x3A 0x01 0x043A Sami (Lapland) Standard 0x3B 0x01 0x043B Scots Gaelic Standard 0x3C 0x01 0x043C Reserved 0x3D 0x043D...
Modbus Registers Defined The register array or modbus data storage area is divided into 256 pages each containing up to 256 registers, the actual register address is obtained from the formula: register_address = ( page_number * 256 ) + register_offset. NOTE:- It is often easier to address the module in hexadecimal notation.
Index of Register Pages Page number Description Read/write Communications status information Read only Communications Settings Read/write and write only Modem Settings Read/write Generating set status information Read only Basic instrumentation Read only Reserved Derived Instrumentation Read only Accumulated Instrumentation Read/write Alarm conditions Read only 9-10...
GenComm Page 0 - Communications Status Information 1. These are read only registers. 2. Registers 0 and 1 must both be read with a single message for them to be meaningful since they are set after each message. 3. Registers 2 and 3 contain copies of the telemetry alarm flags of all satellites so that the satellite that caused a dial out can be ascertained without reading the telemetry alarm flags from all the satellites individually.
Password status Status Meaning No valid password has been entered, no operations can be performed on the slave device except writing a password using function 16 (write multiple registers). In the case of a hub no queries will be passed to its satellites at all. Reading from the control module is permitted.
GenComm Page 1 - Communications Settings 1. The current slave address is fixed at 10 in the case of an RS232 link to a modem, or direct to a PC via the P810 interface. 2. The site identity code is user definable and is used to identify a site. 3.
10. If a password is changed to 0000 then it will be disabled. The password status will then default to the highest level that is disabled rather than 0 when an invalid password is entered, the password times out or the link to the master is lost. Any attempt to write a password of 0000 to register 32 and 33 will be treated exactly as if an invalid password was entered.
EXAMPLE : Using Link500Plus to change module slave ID and Baud rate Although it is possible to change the module’s slave ID and baud rate using the GenComm protocol, it is usually more appropriate to perform this function using Link500Plus. This means you do not have to provide a means of adjusting these items within your own GenComm based software.
EXAMPLE : Sending a password to the control module. This example shows how the password registers within the control module are used. It also demonstrates the use of the one’s complement function. This technique is also used to write control functions to the module in GenComm page 16. Page0[32] = 1234;...
GenComm Page 2 - Modem Settings 1. Modem control strings can contain any ASCII characters and are padded with spaces (ASCII 0x20), NULL terminators are not used. 2. Each string is automatically suffixed with <CR><LF> so these should not be included in the string, strings are not automatically prefixed with ‘AT’...
Modem mode Mode Meaning No modem fitted. Answer incoming calls, do not dial out. Answer incoming calls and dial out when the telemetry alarm flag is set. Use the dialling strings in sequence separated by the delay between retries, then repeat the sequence for the specified number of retries.
GenComm Page 3 - Generating Set Status Information 1. A unique manufacturer code is assigned to each manufacturer. 2. The meaning of the model number is manufacturer specific, e.g. two manufacturers may have a model 100. 3. The manufacturer code and model number must be used together to identify a particular product unambiguously.
Registers These are all read only registers. Register Name Min value Max value Scale Units Bits/ sign offset factor Manufacturer code 65534 Model number 65534 Serial number 99999999 Control mode 65535 Unimplemented 0xFFFF 0xFFFF Control unit not 16/16 configured Unimplemented 15/16 Control unit failure 14/16...
Control modes Mode Description Notes Stop mode ‘Stop mode’ means stop the engine (generator) and in the case of ‘automatic mains failure units’ transfer the load to the mains if possible. Auto mode ‘Auto mode’ means automatically start the engine (generator) in the event of a remote start signal or a mains-failure and in the case of ‘automatic mains failure units’...
A state machine that is implemented (status 0 or 1) has a fixed name string in GenComm page 27 that can be used in a status display, the name strings for unimplemented state machines will contain 32 spaces (Unicode 0x0020). State machine description 550/5210 555/5220 1. Control module state 2. Mains supply state 3.
EXAMPLE : Interrogating current module mode This example demonstrates the use of the “module mode” status register. if ( ReadPage3() == SUCCESSFUL) if ( page3[4] == 1 ) printf (“system in auto mode”); else printf( “warning - system not in auto mode)”; else printf( “gencomm page3 could not be read)!”;...
GenComm Page 4 - Basic Instrumentation NOTE:- Reading GenComm instrumentation registers usually returns the instrumentation data you request. However, sometimes other values are returned instead. These are called Sentinel values and are detailed in the document “GenComm standard for use with generating set control equipment”. For instance, if the Oil Pressure sender is detected as being open circuit by the module, then reading from GenComm address 0x0400 (Page4, register offset 0) will return the sentinel value 0xFFFC, meaning “Transducer fault”.
NOTE:- Fuel level is not available on models 550/555. NOTE:- Generator Watts, Generator current lag/lead, mains voltage lag/lead and generator/mains phase rotation can only be read from a 550 or 555 module fitted with the Power measurement option. This is also sometimes referred to as “Enhanced instrumentation”.
GenComm Page 6 - Derived Instrumentation NOTE:- Derived instrumentation values can only be read from a 550 or 555 module fitted with the Power measurement option. This is also sometimes referred to as “Enhanced instrumentation”. Attempting to read these values from a “basic” instrumentation module will return an “unimplemented”...
Reserved NOTE:- Positive KW hours, negative KW hours, KVA hours and KVAr hours values can only be read from a 550 or 555 module fitted with the Power measurement option. This is also sometimes referred to as “Enhanced instrumentation”. Attempting to read these values from a “basic” instrumentation module will return an “unimplemented”...
GenComm Page 8 - Alarm Conditions 1. Each alarm has 2 strings in pages 32-95, which can be displayed on the monitoring system if required. The alarm code specifies which string it is appropriate to display. 2. The contents of alarm strings will never change while the slave device is operating so a copy can be held by the master to minimise data traffic.
Page 43
Register offset Name Min value Max value Bits/ Sign Mains low frequency 13/16-16/16 Mains high frequency 9/16-12/16 Mains failed 5/16-8/16 Mains phase rotation wrong 1/16-4/16 Generator phase rotation wrong 13/16-16/16 Maintenance due 9/16-12/16 Clock not set 5/16-8/16 Local LCD configuration lost 1/16-4/16 Local telemetry configuration lost 13/16-16/16...
Alarm condition codes Condition Meaning String to Extra info display Disabled digital input None An alarm that is fitted but disabled by the configuration of the slave device Not active alarm None Warning alarm Active string Shutdown alarm Active string Electrical trip alarm Active string Reserved...
Interrogating the alarm status Polling GenComm page 3, register offset 6 will provide information regarding the state of the alarm blocks. For instance bits 11,12 and 13 report on the state of Warning, Electrical trip and Shutdown alarms. Should any of these indicate the presence of an active alarm, then the alarm blocks must be interrogated to identify which alarm blocks are currently active.
EXAMPLE : Displaying alarm strings In the section headed “GenComm Page3” we saw an example to check whether or not an alarm was present on the control module. The only information we could get from this example was whether or not an alarm was present, and if so, whether it was a warning, shutdown or electrical trip alarm.
Start (when in Man / Test mode) Manual Mode Auto Mode Test Mode Alarm mute / lamp test Change page Down NOTE:- The TEST button (number 417) is not present on the 550 or 5210 remote start control module. 55xGenComm1_29...
GenComm Page 12 - Diagnostic - Digital Inputs 1. These registers represent the state of the actual inputs to the control unit before the application of any time delays or other processing and are intended for diagnostic purposes only. 2. Unimplemented inputs (including totally unimplemented registers) return 3, not an exception. Registers These are all read only registers.
(etc) Hints on using expansion outputs Many systems call for certain module states to be identified by a building management system ( BMS ). These may include states such as “Engine Running” or “Generator available”. These states cannot be directly read via GenComm. To achieve this, it is possible to configure a module relay, LED or expansion output with the required control source, then poll this output to see if it becomes active.
2. Register 0 indicates the number of LEDs that are supported. The 55x module support only up to LED 16. 52xx module supports upto LED 30. 3. Attempting to read past register 4 from a 550 / 555 module will return 15 (unimplemented). Registers...
LED identification (52xx) NOTE:- LED 9,10,11,12, 31 & 32 are not used by the 52xx modules. GenComm Page 16 - Control Registers 1. Registers 0 to 7 contain flags that indicate the available system control functions, bit 1 corresponds to function code 0 etc. If a bit is set the corresponding function code is available. 2.
Select Stop mode 35700 Mimics the operation of The control module’s front panel fascia buttons. Select Auto mode 35701 Select Manual mode 35702 Select Test on load mode 35703 Select Auto with manual restore mode 35704 Start engine if in manual or test modes 35705 Mute alarm 35706...
Code System control function Control key Extra info Unlock the user controls 35737 Reset the maintenance due times 35738 Resets the GenComm Page 7 “maintainance” values. if it is desired to set these Items to a specific value then they can be directly written to in GenComm Page7.
GenComm Page 24 - Identity Strings 1. Each string consists of 32 Unicode characters with the first character is at the lowest register address, NULL terminators are not used. 2. The strings are user defined but are intended to allow the site and unit to be identified. 3.
GenComm Page 26 - State Machine Name Strings 1. Each string consists of 32 Unicode characters with the first character is at the lowest register address, NULL terminators are not used. 2. The strings contain the names of the state machines that are implemented in a particular slave device.
GenComm Page 28 - State Machine State Strings 1. Each string consists of 32 Unicode characters with the first character is at the lowest register address, NULL terminators are not used. 2. The contents of these strings may change at any time when the corresponding state machine changes state, refer to the ‘generating set status information’...
GenComm Pages 32 to 95 - Alarm Strings 1. Each string consists of 32 Unicode characters with the first character at the lowest register address, NULL terminators are not used. 2. There are 2 strings corresponding to each alarm, refer to the alarm conditions page for details of their use.
Page 59
Page Register offset Name Bits Air flap inactive string Air flap active string Oil pressure sender fault inactive string Oil pressure sender fault active string Coolant temperature sender fault inactive string Coolant temperature sender fault active string Reserved Reserved Fuel level sender fault inactive string Fuel level sender fault active string Magnetic pickup fault inactive string Magnetic pickup fault active string...
Page 60
Page Register offset Name Bits Generator phase rotation wrong inactive string Generator phase rotation wrong active string Maintenance due inactive string Maintenance due active string Clock not set inactive string Clock not set active string Local LCD configuration lost inactive string Local LCD configuration lost inactive string Local telemetry configuration lost inactive string Local telemetry configuration lost active string...
Page 61
NOTE:- Only Digital inputs 1-9 are present on the 550 / 555 modules. Only Digital inputs 1-6 are present on the 5210 / 5220 modules. NOTE:- Fuel level is not available on models 550/555. NOTE:- Some strings may not be present in the module type you are currently connected to.
Need help?
Do you have a question about the 550 and is the answer not in the manual?
Questions and answers