CPKSoft Engineering

XDANLOAD.tlk Driver Reference

Emerson Daniel DanLoad 6000 Electronic Preset Protocol Driver

This driver requires that you have TAS-HMITalk 8.04 installed.

Driver Overview

XDANLOAD driver allows you to connect to the Daniel Industries

DanLoad 6000 Electronic Preset Unit using a modified version of

the Modbus RTU protocol through special commands 41h and 42h.

The DanLoad 6000 has two communications 'channels' (ports) with

the same address that can accept commands from automation systems.

The address is set on the DUART board. Address zero should not be

used since only "broadcast" messages would be processed and the

DanLoad 6000 would not respond to any query.

If two automation systems are connected to the DanLoad 6000, one of

them is typically responsible for 'authorization', and the other one

for 'monitoring' (unless the two automation systems engage in some

form of handshaking--possibly via the DanLoad 6000's status bits).

The DanLoad 6000 receives queries on both communications channels

(possibly simultaneously) and (if the query is not a retry) queues

them to a single internal process which is responsible for building

the response. Thus, queries are handled on a "first come, first served"

basis, but an automation system never has to wait, i.e. worst case,

for longer than it takes to respond to a single query on the other

channel since it will always have the next place in the queue.

When a response has been built, it is handed back to the appropriate

channel process, i.e. the one for which the query was received,

in order to be transmitted to the automation system.

 

For DanLoad 6000 v5.30 and above, program code 662 must be used to

configure the unit's communications address; the DUART's address switch

is no longer used.

Communications are full-duplex operating as master/slave.

The maximum number of slaves on a common line (multidrop) is 32.

In practice, due to cable lengths and data rates a smaller number

of slaves may be necessary.

The DanLoad 6000 operates as an addressable slave station, and

'speaks only when spoken to'; this is a necessary consequence of RS- 485

multidrop communications, which requires that a slave station reply only

to a message directed to it.

The DanLoad 6000 does not respond to a message that is 'incorrectly framed',

i.e. not its address, an unused function code or an incorrect error check.

 

The DanLoad 6000 does not respond to a message that is 'incomplete',

i.e. fewer or more characters than expected.

The DanLoad 6000 ignores (throws away) any characters that are transmitted

to it by the automation system while it is processing a previous command

from the automation system.

The DanLoad 6000 is not ready to receive characters until a few

milliseconds after it has completed a transmission. The automation

system should delay 50 milliseconds between receiving the last character

of a message from a DanLoad 6000 and transmitting the first character

of a message to the same DanLoad 6000. If necessary, this delay can

be configured with the CommT3Delay property.

This driver can only be used as the master in the communication

network and it does not support exception messages. The device

should behave as a slave in your RS-232/485 network.

This driver supports serial-over-ethernet.

NOTE:

If you communicate using a serial port, this driver can detect a DanLoad 6000 timeout condition and automatically

send a Start Communications attempt followed by a command retry before abandoning the communication and throwing a

communication error.

If you are using serial-over-ip with an ip-to-serial converter, the driver will not send the Start Communications

command automatically and thus it should be specifically called by your application when a communication error is

detected.

Supported Equipment Type

Electronic Presets

Supported Devices List

EMERSON DANIEL DANLOAD 6000 Electronic Presets

Supported Commands List

Start Communications

Request Meter Values

Authorize Transaction

Configure Recipe

Authorize Batch

Start Batch

Stop Batch

End Batch

Batch Data By Component

End Transaction

Transaction Data by Component

Request Status

Clear Status

Change Operating Mode

Display Message

Clear Display

Read Input

Write Output

Reset Primary Alarms

Start Communications

COMMAND DESCRIPTION:

When the DanLoad 6000 is powered-up/reset, exits program mode

or has detected an automation system communications failure,

communications can be started with this command.

The DanLoad 6000 will not respond to any command from the automation

system until communications have been started.

If communications are already started when this command is received

then the communications Iink is reinitialized but operations at the

DanLoad 6000 are unaffected.

When a communications failure occurs on a communications channel then

communications on that channel can be started using this command.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 7+2*Max. configured number of components

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 21h (33 dec)

HMITalk1.DriverP2 = Meter Number (1-4)

 

RETURNS:

- HMITalk1.PointValue(0) = Configured number of meters

- HMITalk1.PointValue(1) = Configured number of components

- HMITalk1.PointValue(2) = Configured number of valves

- HMITalk1.PointValue(3) = Configured number of factors/component

- HMITalk1.PointValue(4) = Configured number of recipes

- HMITalk1.PointValue(5) = Configured number of additives

- HMITalk1.PointValue(6) = Temp units (0=Celsius, 1=Fahrenheit)

- for i=0 to Configured number of components-1

- HMITalk1.PointValue(7+2*i) = Temperature correction option for component i

- HMITalk1.PointValue(8+2*i) = Pressure correction option for component i

- next i

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Request Meter Values

COMMAND DESCRIPTION:

This commands causes the DanLoad 6000 to respond with the current values of various data.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 16+Max. number of factors or flow rates

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 19h (25 dec)

HMITalk1.DriverP2 = Meter number (1-4)

 

RETURNS:

- HMITalk1.PointValue(0) = Meter number

- HMITalk1.PointValue(1) = Gross totalizer rolls 999999999 to 0

- HMITalk1.PointValue(2) = Net volume or mass/weight totalizer rolls 999999999 to Q

- HMITalk1.PointValue(3) = Batch gross whole units

- HMITalk1.PointValue(4) = Batch net volume or mass/weight whole units

- HMITalk1.PointValue(5) = Average over one second flow rate

- HMITalk1.PointValue(6) = Average batch flow rate. Not implemented

- HMITalk1.PointValue(7) = Maximum average over one second flow rate

- HMITalk1.PointValue(8) = Current meter factor

- HMITalk1.PointValue(9) = Current pulse count rolls 65535 to 0

- HMITalk1.PointValue(10) = Number of factors or flow rates

- for i=0 to Number of factors or flow rates-1

- HMITalk1.PointValue(11+i) = Number of pulses at flow rate

- next i

- HMITalk1.PointValue(11+[Number of pulses at flow rate]+0) = Gross unauthorized flow l0ths since start of last batch

- HMITalk1.PointValue(11+[Number of pulses at flow rate]+1) = Net volume or mass/weight unauthorized flow l0ths since start of last batch. Net = gross for unauth. flow volume

- HMITalk1.PointValue(11+[Number of pulses at flow rate]+2) = Current temperature

- HMITalk1.PointValue(11+[Number of pulses at flow rate]+3) = Current density

- HMITalk1.PointValue(11+[Number of pulses at flow rate]+4) = Current pressure

REPORTED EXCEPTIONS:

- 41h Invalid meter number

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Authorize Transaction

COMMAND DESCRIPTION:

A transaction for recipe 'recipenumber', side 'side' and additives determined by 'addsel' and 'addselmthd' is authorized but started.

The automation system indicates on which side (1 or 2) loading authorized to take place. The value 1 should be used for nonswing-arm applications.

'addsel' is the additive selection which determines which additive ratio outputs are cycled during a batch.

The additive selection methods (addselmthd) are:

O = Additive selection per addsel in the Authorize Transaction command, i.e. selected by automation system.

1 = Additive selection per DanLoad 6000's configured additive selection method (program code 136).

A fault in the standard DanLoad 6000 v5.40 (and below) firmware prevents the automation system

from selecting the additives through communications if the configured additive selection method is 'Inputs'.

If additives are enabled via external (to the DanLoad 6000) contacts that complete electrical circuits

between the DanLoad 6000's additive ratio outputs and the additive injectors, the automation system

should select all (six) additives by setting addselmthd to O and addsel to 3Fh (00111111 binary),

though fewer (than six) additives may be configured on the DanLoad 6000 (program code 135).

An alternative is for the automation system to set bits in addsel based on the configured number

of additives in the DanLoad 6000's response to the Start Communications command.

Bear in mind that it is possible for each DanLoad to have a different configured number of additives.

The automation system can include up to five data items (each in the range O to 99999999)

for the DanLoad 6000 to store in transaction storage memory, e.g. previously entered order

number or driver number. In the manual operating mode, the DanLoad 6000 can prompt the operator

for these data items and store them in transaction storage memory.

The DanLoad 6000 indicates the transaction sequence number (transeqnum) that will be used if

a transaction is later started by starting the first batch on the transaction.

The transaction sequence number rolls from 9999 to 0.

The DanLoad 6000 displays the loading display (if it is not already displayed) and displays 'Please wait'.

(The Authorized Transaction command is the means by which the automation system causes the loading screen to be displayed.)

The 'large number' preset volume on the loading display is cleared (if it is present).

The batch loaded, preset and remaining volumes and the transaction volume are zeroed.

Status flag 12h (Transaction authorized) will be set subsequently.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 06h (6 dec)

HMITalk1.DriverP2 = Recipe number (1-30)

HMITalk1.DriverP3 = Additive selection method (0-1)

HMITalk1.DriverP4 = Additive selection bit map (see note below)

HMITalk1.DriverP5 = Swing-arm side (0-2)

HMITalk1.DriverP6 = Number of data prompts (0-5)

HMITalk1.DriverP7 = Comma-separated list of data prompts (xxxxx,xxxxx,xxxxx,...)

 

RETURNS:

- HMITalk1.PointValue(0) = Prospective transaction sequence number

STATUS FLAGS IMMEDIATELY SET:

- 14h Keypad and display locked out

 

STATUS FLAGS IMMEDIATELY CLEARED:

- 04h Recipe selected

- 05h Additive selected

- OCh Transaction ended

- 13h Transaction end requested

REPORTED EXCEPTIONS:

- 01h Passcode entry in progress

- OAh Primary alarm active

- OCh Transaction authorized

- lOh Additive not available

- 15h Operating mode is manual (low priority, may not be seen!)

- 24h Keypad and display locked out

- 40h Invalid recipe number

- 48h Invalid number of data prompts

- 49h Invalid swing-arm side (0-2)

- 4Eh Invalid additive selection method

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

ADDITIVE SELECTION CODES:

The additive selection code is a binary representation of selection byte.

- Bit 0 = Additive 1 on/off

- Bit 1 = Additive 2 on/off

- Bit 2 = Additive 3 on/off

- Bit 3 = Additive 4 on/off

- Bit 4 = Additive 5 on/off

- Bit 5 = Additive 6 on/off

- Bit 6 = Not used, always 0

- Bit 7 = Not used, always 0

Code (hex) Interpretation:

Additive #

- ## 1 2 3 4 5 6

- 00 Off Off Off Off Off Off

- 01 On Off Off Off Off Off

- 02 Off On Off Off Off Off

- 03 On On Off Off Off Off

- 04 Off Off On Off Off Off

- 05 On Off On Off Off Off

- 06 Off On On Off Off Off

- 07 On On On Off Off Off

- 08 Off Off Off On Off Off

- 09 On Off Off On Off Off

- 0A Off On Off On Off Off

- 0B On On Off On Off Off

- 0C Off Off On On Off Off

- 0D On Off On On Off Off

- 0E Off On On On Off Off

- 0F On On On On Off Off

- ...

- 3E Off On On On On On

- 3F On On On On On On

Configure Recipe

COMMAND DESCRIPTION:

This command is a short-cut for configuring recipes (instead of

setting the individual program code values).

In the case of an in-line blender unit type there are some other

considerations. The low/high proportion flags should be configured

carefully; it is possible that a particular component is high

proportion (flag = O) for some recipes and low proportion (flag = 1)

for different recipes on the same DanLoad 6000. This is a function

of the size of the meter (and thus the usable range of flow rates)

through which the component flows. The overall recipe flow rates

(program codes 776, 777, etc.) may need to be modified if component

percentages are modified via communications. (The component stop

rates and calibrated meter factor flow rates should not normally

be modified dynamically.).

The configured number of recipes (program code 480) is not

automatically increased or decreased by the Configure Recipe command.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 27h (39 dec)

HMITalk1.DriverP2 = Recipe number (1-30)

HMITalk1.DriverP3 = Confiqured number of components

HMITalk1.DriverP4 = Not used

HMITalk1.DriverP5 = Not used

HMITalk1.DriverP6 = Recipe name (max. length is 16 chars)

HMITalk1.DriverP7 = Comma-separated list of component percentages in hundredths (xx,xx,xx,...)

HMITalk1.DriverP8 = Comma-separated list of component sequence or low/hiqh proportion (xx,xx,xx,...)

 

WHERE:

- HMITalk1.PointValue(0) = Ignored. Can be any value.

STATUS FLAGS IMMEDIATELY SET:

- 08h Program code value(s) changed

 

REPORTED EXCEPTIONS:

- OAh Primary alarm active

- OCh Transaction authorized

- 15h Operating mode is manual (low priority, may not be seen!)

- 40h Invalid recipe number

- 47h Invalid number of components

 

NOTE:

This command does not use the values assigned to the PointValue properties, which means that any value there will be ignored.

Authorize Batch

COMMAND DESCRIPTION:

The preset volume is 'set' in the DanLoad 6000 so that it can be loaded. The DanLoad 6000 displays 'Press START when ready or STOP to cancel'. The 'START' and 'STOP' keys are enabled. The operator has timout seconds to press the 'START' key or the batch is automatically aborted.

The preset volume must not be greater than the configured maximum preset volume (program code 078) and must not be less than the configured minimum preset volume (program code 079).

The preset volume is in the units of volume implied by the component's nominal K-factors and meter factors.

If the use_gord flag is set the conf igured backup density or gravity is replaced by the value in the message. The units of gravity or density should be the same as those in use by the DanLoad 6000 (program code 432, etc.).

If the use temp flag is set the configured backup temperature is replaced by the temp in the message. The units of temperature should be the same as those in use by the DanLoad 6000 (program codes 427, 432, etc.).

The DanLoad 6000 indicates the (prospective) batch sequence number (batchseqnum) that wiII be used if a batch is started. The batch sequence number rolis from 9999 to 0.

Status flag 11 h (Batch authorized) will be set.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 0Ah (10 dec)

HMITalk1.DriverP2 = Preset volume

HMITalk1.DriverP3 = Configured number of components (0-30)

HMITalk1.DriverP4 = Time-out seconds (0=No time-out,

HMITalk1.DriverP5 = Not used

HMITalk1.DriverP6 = Comma-separated list of backup gravities or densities (gord) and temperatures (temp) for each component. Values can be empty. Example: (gord1,temp1,gord2,temp2,,temp3,gord4,,gord5,temp5,...)

 

RETURNS:

- HMITalk1.PointValue(0) = Prospective batch sequence number

STATUS FLAGS IMMEDIATELY SET:

- 14h Keypad and display locked out

 

STATUS FLAGS IMMEDIATELY CLEARED:

- 03h Operation timed out

- 06h Preset volume entered

- ODh Batch ended

- OEh Batch aborted (not started)

REPORTED EXCEPTIONS:

- 0lh Passcode entry in progress

- 04h Program code value is Weights and Measures (backup density/gravity or temperature)

- 0Ah Primary alarm active

- 0Bh Batch authorized

- 11h Program code value is read only

- 15h Operating mode is manual (low priority, may not be seen!)

- 22h No transaction authorized

- 24h Keypad and display locked out

- 45h Invalid program code value (backup density/gravity or temperature)

- 47h Invalid number of components

- 4Fh Invalid preset volume

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Start Batch

COMMAND DESCRIPTION:

A batch must previously have been authorized using the Authorize Batch command. The DanLoad 6000 starts delivery of the batch. (This is the same as pressing the 'START' key at the appropriate time.).

This command is used to start a batch that has been authorized but is not yet in progress or to restart a batch in progress that has been stopped.

This is used for 'remote control' of the DanLoad 6000, where there cannot be an operator in proximity of the DanLoad 6000. In these circumstances the DanLoad 6000 may be controlled entirely from the automation system, and the DanLoad 6000 may not even be fitted with a display or keypad. In this way, barges or railcars can be loaded from a control room.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 0Eh (14 dec)

 

RETURNS:

- HMITalk1.PointValue(0) = Batch sequence number

STATUS FLAGS IMMEDIATELY SET:

- 0Ah Batch in progress

 

STATUS FLAGS IMMEDIATELY CLEARED:

- 15h Batch stopped (resumable)

 

REPORTED EXCEPTIONS:

- 0Ah Primary alarm active

- 14h No batch authorized

- 15h Operating mode is manual (low priority, may not be seen!)

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Stop Batch

COMMAND DESCRIPTION:

The batch in progress is stopped. This simulates the 'STOP' key being pressed. The manner in which the batch is stopped is determined by the programmed 'STOP' key action.

The DanLoad 6000 sets a flag to indicate that the batch has stopped (and is restartable) or that the batch has ended. If the batch has stopped (and is restartable) the DanLoad 6000 displays 'Press START when ready or STOP to cancel'.

The DanLoad 6000 displays 'Please wait'.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 0Fh (15 dec)

 

RETURNS:

- HMITalk1.PointValue(0) = Batch sequence number

REPORTED EXCEPTIONS:

- 06h No batch in progress

- 15h Operating mode is manual (low priority, may not be seen!)

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

End Batch

COMMAND DESCRIPTION:

If there is a batch is progress and stopped it is ended. The DanLoad 6000 sets a flag to indicate that the batch has ended (which implies it is non-restartable). This is a signal for the automation system to request batch data. The DanLoad 6000 stores batch data and transaction data in 'transaction storage memory'. The DanLoad 6000 displays 'Please wait'.

Status flag OAh (Batch in progress) is cleared, ODh (Batch ended) is set and 15h (Batch stopped) is cleared.

This is not the same as the Stop Batch command, which simulates the 'STOP' key being pressed, and therefore potentially allows the batch to be restarted.

Under normal circumstances a batch ends (by itself) when the preset volume has been delivered.

Use the Time-Out Operation command to abort a batch that has been authorized but not yet started.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 0Dh (13 dec)

 

RETURNS:

- HMITalk1.PointValue(0) = Batch sequence number

REPORTED EXCEPTIONS:

- 06h No batch in progress

- 15h Operating mode is manual (low priority, may not be seen!)

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Batch Data By Component

COMMAND DESCRIPTION:

The DanLoad 6000 sets a flag to indicate that a batch has ended and cannot be restarted. The automation system can request data for the batch.

The DanLoad 6000's response include the configured number of components numcomps (program code 065) and the configured number of additives numadds (program code 135).

A component's batch net equals its batch gross and its temperature and density are 'not defined', i.e. they are garbage, if a C method (temperature option) is not specified for the component. (Program code 432, etc.).

Valid modes: Automatic.

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 7+2*Max. configured number of components

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 10h (16 dec)

 

RETURNS:

- HMITalk1.PointValue(0) = Batch sequence number

- HMITalk1.PointValue(1) = Transaction sequence number

- HMITalk1.PointValue(2) = Recipe number

- HMITalk1.PointValue(3) = Swing-arm side (0-2)

- HMITalk1.PointValue(4) = Batch start year

- HMITalk1.PointValue(5) = Batch start month

- HMITalk1.PointValue(6) = Batch start day

- HMITalk1.PointValue(7) = Batch start hours

- HMITalk1.PointValue(8) = Batch start mins

- HMITalk1.PointValue(9) = Batch start secs

- HMITalk1.PointValue(10) = Batch end year

- HMITalk1.PointValue(11) = Batch end month

- HMITalk1.PointValue(12) = Batch end day

- HMITalk1.PointValue(13) = Batch end hours

- HMITalk1.PointValue(14) = Batch end mins

- HMITalk1.PointValue(15) = Batch end secs

- HMITalk1.PointValue(16) = Configured number of meters

- HMITalk1.PointValue(17) = Configured number of components

- HMITalk1.PointValue(18) = Number of additives

- HMITalk1.PointValue(19) = Number of data prompts (0-5)

- for i=0 to [Number of meters]-1

- HMITalk1.PointValue(20+4*i+0) = Gross meter totalizer at start of batch

- HMITalk1.PointValue(20+4*i+1) = Net volume or mass/weight meter totalizer at start of batch

- HMITalk1.PointValue(20+4*i+2) = Gross meter totalizer at start of batch

- HMITalk1.PointValue(20+4*i+3) = Net volume or mass/weight meter totalizer at end of batch

- next i

- for i=0 to Number of additives-1

- HMITalk1.PointValue(20+4*[Number of meters]+6*i+0) = Gross batch whole units

- HMITalk1.PointValue(20+4*[Number of meters]+6*i+1) = Net volume or mass/weight batch whole units

- HMITalk1.PointValue(20+4*[Number of meters]+6*i+2) = Average temperature

- HMITalk1.PointValue(20+4*[Number of meters]+6*i+3) = Average density

- HMITalk1.PointValue(20+4*[Number of meters]+6*i+4) = Average pressure XXXX.XX

- HMITalk1.PointValue(20+4*[Number of meters]+6*i+5) = Actual in batch x100, e.g. 6003 for 60.03

- next i

- for i=0 to Number of components-1

- HMITalk1.PointValue(20+4*[Number of meters]+6*[Number of additives]+i) = Additive batch volume. Implied scaling depends on additive units

- next i

- for i=0 to Number of data prompts-1

- HMITalk1.PointValue(20+4*[Number of meters]+6*[Number of additives]+[Number of data prompts]+i) = Data items

- next i

REPORTED EXCEPTIONS:

- 15h Operating mode is manual (loww priority, may not be seen!)

- 26h No batch ended

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

End Transaction

COMMAND DESCRIPTION:

The side should be the swing-arm side on which the transaction was authorized.

If there is a transaction in progress the DanLoad 6000 performs 'end of transaction' processing.

If a transaction is authorized but there is no transaction in progress the DanLoad 6000 does not perform 'end of transaction' processing but simply deauthorizes the transaction.

The DanLoad 6000 stores further transaction data, i.e. date, time, gross volume, net volume or mass/weight, average temperature, etc. The DanLoad 6000 responds with the transaction sequence number of the transaction that wiII be been ended.

Status flag 09h (Transaction in progress) is cleared subsequently, OCh (Transaction ended) is set subsequently and 1 2h (Transaction authorized) is cleared subsequently. The DanLoad 6000 displays 'Please wait'.

In the manual operating mode a transaction is ended by pressing the 'STOP' key when there is a transaction in progress and a batch is stopped or ended or there is no batch in progress. In automatic operating mode pressing the 'STOP' key when there is a transaction in progress and a batch is stopped or ended or there is no batch in progress does not end the transaction. Instead, the DanLoad 6000 sets a flag indicating that a request has been made to end the transaction, to which the automation system can send an End Transaction command to one or more DanLoad 6000's (or simply clear or ignore the flag).

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 07h (7 dec)

 

RETURNS:

- HMITalk1.PointValue(0) = Transaction sequence number

REPORTED EXCEPTIONS:

- 08h Batch in progress

- 15h Operating mode is manual (low priority, may not be seen!)

- 22h No transaction authorized

- 49h Invalid swing-arm side

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Transaction Data by Component

COMMAND DESCRIPTION:

When a transaction ends the DanLoad 6000 sets a flag indicating that the transaction has ended. This command is used to request transaction data from the DanLoad 6000 when a transaction ends.

In manual, a transaction is ended by pressing the 'STOP' key when there is a transaction in progress and no batch in progress. In automatic, a transaction is ended by the automation system via the End Transaction command.

Valid modes: Manual / Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 07h (7 dec)

HMITalk1.DriverP2 = Transaction sequence number

 

RETURNS:

- HMITalk1.PointValue(0) = Transaction sequence number

- HMITalk1.PointValue(1) = Recipe number

- HMITalk1.PointValue(2) = Swing-arm side (0-2)

- HMITalk1.PointValue(3) = Transaction gross volume

- HMITalk1.PointValue(4) = Transaction net volume or mass/weight

- HMITalk1.PointValue(5) = Transaction start year

- HMITalk1.PointValue(6) = Transaction start month

- HMITalk1.PointValue(7) = Transaction start day

- HMITalk1.PointValue(8) = Transaction start hours

- HMITalk1.PointValue(9) = Transaction start mins

- HMITalk1.PointValue(10) = Transaction start secs

- HMITalk1.PointValue(11) = Transaction end year

- HMITalk1.PointValue(12) = Transaction end month

- HMITalk1.PointValue(13) = Transaction end day

- HMITalk1.PointValue(14) = Transaction end hours

- HMITalk1.PointValue(15) = Transaction end mins

- HMITalk1.PointValue(16) = Transaction end secs

- HMITalk1.PointValue(17) = Configured number of meters

- HMITalk1.PointValue(18) = Number of data prompts (0-5)

- for i=0 to [Number of meters]-1

- HMITalk1.PointValue(19+4*i+0) = Gross meter totalizer at start of batch

- HMITalk1.PointValue(19+4*i+1) = Net volume or mass/weight meter totalizer at start of batch

- HMITalk1.PointValue(19+4*i+2) = Gross meter totalizer at end of batch

- HMITalk1.PointValue(19+4*i+3) = Net volume or mass/weight totalizer at end of batch

- next i

- for i=0 to [Number of data prompts]-1

- HMITalk1.PointValue(19+4*[Number of meters]+i) = Data items entered by operator in manual or downloaded by automation system in automatic

- next i

REPORTED EXCEPTIONS:

- 02h No transaction ended

- 43h Invalid transaction sequence number

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Request Status

COMMAND DESCRIPTION:

'status' is a binary representation of the DanLoad 6000’s 32 status flags.

'safety' is a binary representation of the current logical state ('open' or 'closed') of the DanLoad 6000’s eight general-purpose safety circuits (program codes 345 through 352). The least significant bit is safety circuit 1, etc. Safety circuits that are not configured on the DanLoad 6000 are indicated to be 'open', i.e. the corresponding bit is 0.

 

'alarm_byte_0' through 'alarm_byte_9' indicate active (raised and not reset) primary alarms. The automation system can maintain a copy of the 'alarm bytes' so that it can determine when primary alarms are raised and cleared for Iogging purposes.

Valid modes: Manual / Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-124

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 12h (18 dec)

 

RETURNS:

- HMITalk1.PointValue(0) = Status flag 0: OOhB Operating mode is manual

- HMITalk1.PointValue(1) = Status flag 1: OlhB Primary alarm

- HMITalk1.PointValue(2) = Status flag 2: 02h* Passcode entry in progress

- HMITalk1.PointValue(3) = Status flag 3: 03h*#a Operation timed out

- HMITalk1.PointValue(4) = Status flag 4: 04h*#a Recipe selected

- HMITalk1.PointValue(5) = Status flag 5: 05h*#a Additives selected, i.e. additive selection complete

- HMITalk1.PointValue(6) = Status flag 6: 06h*#a Preset volume entered

- HMITalk1.PointValue(7) = Status flag 7: 07h*#a Keypad data available

- HMITalk1.PointValue(8) = Status flag 8: O8ha Program code value(s) changed

- HMITalk1.PointValue(9) = Status flag 9: 09h* Transaction in progress

- HMITalk1.PointValue(10) = Status flag 10: OAh*B Batch in progress (doesn’t necessarily imply delivery

- HMITalk1.PointValue(11) = Status flag 11: OBh*a Key pressed (DanLoad 6000 v5.1 1 and above)

- HMITalk1.PointValue(12) = Status flag 12: OCha Transaction ended

- HMITalk1.PointValue(13) = Status flag 13: ODha Batch ended

- HMITalk1.PointValue(14) = Status flag 14: OEh*a Batch aborted (not started)

- HMITalk1.PointValue(15) = Status flag 15: OFh*a Intermediate level input alarm stopped batch (v5.50

- HMITalk1.PointValue(16) = Status flag 16: lOh RESERVED

- HMITalk1.PointValue(17) = Status flag 17: 11h Batch authorized

- HMITalk1.PointValue(18) = Status flag 18: 12h Transaction authorized

- HMITalk1.PointValue(19) = Status flag 19: 13ha Transaction end requested (‘STOP” key in auto)

- HMITalk1.PointValue(20) = Status flag 20: 14h Keypad and display locked out to automation system

- HMITalk1.PointValue(21) = Status flag 21: 15h Batch stopped (resumable)

- HMITalk1.PointValue(22) = Status flag 22: 16ha Program mode

- HMITalk1.PointValue(23) = Status flag 23: 17h* Flowing, i.e. batch in progress and not stopped

- HMITalk1.PointValue(24) = Status flag 24: 18h RESERVED

- HMITalk1.PointValue(25) = Status flag 25: 19h RESERVED

- HMITalk1.PointValue(26) = Status flag 26: lAh RESERVED

- HMITalk1.PointValue(27) = Status flag 27: lBh RESERVED

- HMITalk1.PointValue(28) = Status flag 28: lCh RESERVED

- HMITalk1.PointValue(29) = Status flag 29: lDh RESERVED

- HMITalk1.PointValue(30) = Status flag 30: lEh RESERVED

- HMITalk1.PointValue(31) = Status flag 31: lFh RESERVED

- HMITalk1.PointValue(32) = Swing-arm side (0-2)

- HMITalk1.PointValue(33) = Batch gross volume whole units. *7

- HMITalk1.PointValue(34) = Batch net volume or mass/weight whole units. *7

- HMITalk1.PointValue(35) = Safety circuit 1 status

- HMITalk1.PointValue(36) = Safety circuit 2 status

- HMITalk1.PointValue(37) = Safety circuit 3 status

- HMITalk1.PointValue(38) = Safety circuit 4 status

- HMITalk1.PointValue(39) = Safety circuit 5 status

- HMITalk1.PointValue(40) = Safety circuit 6 status

- HMITalk1.PointValue(41) = Safety circuit 7 status

- HMITalk1.PointValue(42) = Safety circuit 8 status

- HMITalk1.PointValue(43) = Alarm code of oldest active primary alarm

- HMITalk1.PointValue(44) = Alarm flag 0: Primary display failure

- HMITalk1.PointValue(45) = Alarm flag 1: Secondary display failure

- HMITalk1.PointValue(46) = Alarm flag 2: Comms failure channel A

- HMITalk1.PointValue(47) = Alarm flag 3: Comms failure channel B

- HMITalk1.PointValue(48) = Alarm flag 4: Unable to maintain blend

- HMITalk1.PointValue(49) = Alarm flag 5: Flow rate too low meter 1

- HMITalk1.PointValue(50) = Alarm flag 6: Flow rate too low meter 2

- HMITalk1.PointValue(51) = Alarm flag 7: Flow rate too low meter 3

- HMITalk1.PointValue(52) = Alarm flag 8: Flow rate too low meter 4

- HMITalk1.PointValue(53) = Alarm flag 9: Flow rate too high meter 1

- HMITalk1.PointValue(54) = Alarm flag 10: Flow rate too high meter 2

- HMITalk1.PointValue(55) = Alarm flag 11: Flow rate too high meter 3

- HMITalk1.PointValue(56) = Alarm flag 12: Flow rate too high meter 4

- HMITalk1.PointValue(57) = Alarm flag 13: Valve closed early meter 1

- HMITalk1.PointValue(58) = Alarm flag 14: Valve closed early meter 2

- HMITalk1.PointValue(59) = Alarm flag 15: Valve closed early meter 3

- HMITalk1.PointValue(60) = Alarm flag 16: Valve closed early meter 4

- HMITalk1.PointValue(61) = Alarm flag 17: Time-out - no flow detected meter 1

- HMITalk1.PointValue(62) = Alarm flag 18: Time-out - no flow detected meter 2

- HMITalk1.PointValue(63) = Alarm flag 19: Time-out - no flow detected meter 3

- HMITalk1.PointValue(64) = Alarm flag 20: Time-out - no flow detected meter 4

- HMITalk1.PointValue(65) = Alarm flag 21: Unauthorized flow exceeds limit meter 1

- HMITalk1.PointValue(66) = Alarm flag 22: Unauthorized flow exceeds limit meter 2

- HMITalk1.PointValue(67) = Alarm flag 23: Unauthorized flow exceeds limit meter 3

- HMITalk1.PointValue(68) = Alarm flag 24: Unauthorized flow exceeds limit meter 4

- HMITalk1.PointValue(69) = Alarm flag 25: Pulse security error meter 1

- HMITalk1.PointValue(70) = Alarm flag 26: Pulse security error meter 2

- HMITalk1.PointValue(71) = Alarm flag 27: Pulse security error meter 3

- HMITalk1.PointValue(72) = Alarm flag 28: Pulse security error meter 4

- HMITalk1.PointValue(73) = Alarm flag 29: Temperature failure meter 1

- HMITalk1.PointValue(74) = Alarm flag 30: Temperature failure meter 2

- HMITalk1.PointValue(75) = Alarm flag 31: Temperature failure meter 3

- HMITalk1.PointValue(76) = Alarm flag 32: Temperature failure meter 4

- HMITalk1.PointValue(77) = Alarm flag 33: Pressure failure meter 1

- HMITalk1.PointValue(78) = Alarm flag 34: Pressure failure meter 2

- HMITalk1.PointValue(79) = Alarm flag 35: Pressure failure meter 3

- HMITalk1.PointValue(80) = Alarm flag 36: Pressure failure meter 4

- HMITalk1.PointValue(81) = Alarm flag 37: Unable to close valve meter 1

- HMITalk1.PointValue(82) = Alarm flag 38: Unable to close valve meter 2

- HMITalk1.PointValue(83) = Alarm flag 39: Unable to close valve meter 3

- HMITalk1.PointValue(84) = Alarm flag 40: Unable to close valve meter 4

- HMITalk1.PointValue(85) = Alarm flag 41: Density failure component 1

- HMITalk1.PointValue(86) = Alarm flag 42: Density failure component 2

- HMITalk1.PointValue(87) = Alarm flag 43: Density failure component 3

- HMITalk1.PointValue(88) = Alarm flag 44: Density failure component 4

- HMITalk1.PointValue(89) = Alarm flag 45: Component 1 block valve not closed

- HMITalk1.PointValue(90) = Alarm flag 46: Component 2 block valve not closed

- HMITalk1.PointValue(91) = Alarm flag 47: Component 3 block valve not closed

- HMITalk1.PointValue(92) = Alarm flag 48: Component 4 block valve not closed

- HMITalk1.PointValue(93) = Alarm flag 49: Additive 1 failure

- HMITalk1.PointValue(94) = Alarm flag 50: Additive 2 failure

- HMITalk1.PointValue(95) = Alarm flag 51: Additive 3 failure

- HMITalk1.PointValue(96) = Alarm flag 52: Additive 4 failure

- HMITalk1.PointValue(97) = Alarm flag 53: Additive 5 failure

- HMITalk1.PointValue(98) = Alarm flag 54: Additive 6 failure

- HMITalk1.PointValue(99) = Alarm flag 55: Safety circuit 1

- HMITalk1.PointValue(100) = Alarm flag 56: Safety circuit 2

- HMITalk1.PointValue(101) = Alarm flag 57: Safety circuit 3

- HMITalk1.PointValue(102) = Alarm flag 58: Safety circuit 4

- HMITalk1.PointValue(103) = Alarm flag 49: Safety circuit 5

- HMITalk1.PointValue(104) = Alarm flag 60: Safety circuit 6

- HMITalk1.PointValue(105) = Alarm flag 61: Safety circuit 7

- HMITalk1.PointValue(106) = Alarm flag 62: Safety circuit 8

- HMITalk1.PointValue(107) = Alarm flag 63: Data logging memory full

- HMITalk1.PointValue(108) = Alarm flag 64: Memory check failure

- HMITalk1.PointValue(109) = Alarm flag 65: Storage memory full

- HMITalk1.PointValue(110) = Alarm flag 66: Power failure

- HMITalk1.PointValue(111) = Alarm flag 67: Unable to ramp down

- HMITalk1.PointValue(112) = Alarm flag 68: MPMC 1 failure

- HMITalk1.PointValue(113) = Alarm flag 69: MPMC 2 failure

- HMITalk1.PointValue(114) = Alarm flag 70: Calibration failure meter 1

- HMITalk1.PointValue(115) = Alarm flag 71: Calibration failure meter 2

- HMITalk1.PointValue(116) = Alarm flag 72: Calibration failure meter 3

- HMITalk1.PointValue(117) = Alarm flag 73: Calibration failure meter 4

- HMITalk1.PointValue(118) = Alarm flag 74: Intermediate level input

- HMITalk1.PointValue(119) = Alarm flag 75: RESERVED

- HMITalk1.PointValue(120) = Alarm flag 76: RESERVED

- HMITalk1.PointValue(121) = Alarm flag 77: RESERVED

- HMITalk1.PointValue(122) = Alarm flag 78: RESERVED

- HMITalk1.PointValue(123) = Alarm flag 79: RESERVED

STATUS FLAGS:

The status flags indicate the operational state of the DanLoad 6000. When the DanLoad 6000 is in automatic, the automation system influences the operational state of the DanLoad 6000. However, status flags are updated by the DanLoad 6000 in both automatic and manual.

Bits marked '*' are cleared on power-up/reset. Bits marked '#' are cleared by a Start Communications command. Bits marked 'a' can be cleared using the Clear Status command. Bits marked 'B' indicated statuses which prevent the automation system from displaying messages on the DanLoad 6000. AlI flags are cleared on a 'cold start'.

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Clear Status

COMMAND DESCRIPTION:

This command allows the automation system to clear certain status flags.

A '1' in any bit indicates a request to clear the corresponding status flag on the DanLoad 6000.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 32

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 13h (19 dec)

 

WHERE:

- HMITalk1.PointValue(0) = Status flag 0: OOhB Operating mode is manual

- HMITalk1.PointValue(1) = Status flag 1: OlhB Primary alarm

- HMITalk1.PointValue(2) = Status flag 2: 02h* Passcode entry in progress

- HMITalk1.PointValue(3) = Status flag 3: 03h*#a Operation timed out

- HMITalk1.PointValue(4) = Status flag 4: 04h*#a Recipe selected

- HMITalk1.PointValue(5) = Status flag 5: 05h*#a Additives selected, i.e. additive selection complete

- HMITalk1.PointValue(6) = Status flag 6: 06h*#a Preset volume entered

- HMITalk1.PointValue(7) = Status flag 7: 07h*#a Keypad data available

- HMITalk1.PointValue(8) = Status flag 8: O8ha Program code value(s) changed

- HMITalk1.PointValue(9) = Status flag 9: 09h* Transaction in progress

- HMITalk1.PointValue(10) = Status flag 10: OAh*B Batch in progress (doesn’t necessarily imply delivery

- HMITalk1.PointValue(11) = Status flag 11: OBh*a Key pressed (DanLoad 6000 v5.1 1 and above)

- HMITalk1.PointValue(12) = Status flag 12: OCha Transaction ended

- HMITalk1.PointValue(13) = Status flag 13: ODha Batch ended

- HMITalk1.PointValue(14) = Status flag 14: OEh*a Batch aborted (not started)

- HMITalk1.PointValue(15) = Status flag 15: OFh*a Intermediate level input alarm stopped batch (v5.50

- HMITalk1.PointValue(16) = Status flag 16: lOh RESERVED

- HMITalk1.PointValue(17) = Status flag 17: 11h Batch authorized

- HMITalk1.PointValue(18) = Status flag 18: 12h Transaction authorized

- HMITalk1.PointValue(19) = Status flag 19: 13ha Transaction end requested (‘STOP” key in auto)

- HMITalk1.PointValue(20) = Status flag 20: 14h Keypad and display locked out to automation system

- HMITalk1.PointValue(21) = Status flag 21: 15h Batch stopped (resumable)

- HMITalk1.PointValue(22) = Status flag 22: 16ha Program mode

- HMITalk1.PointValue(23) = Status flag 23: 17h* Flowing, i.e. batch in progress and not stopped

- HMITalk1.PointValue(24) = Status flag 24: 18h RESERVED

- HMITalk1.PointValue(25) = Status flag 25: 19h RESERVED

- HMITalk1.PointValue(26) = Status flag 26: lAh RESERVED

- HMITalk1.PointValue(27) = Status flag 27: lBh RESERVED

- HMITalk1.PointValue(28) = Status flag 28: lCh RESERVED

- HMITalk1.PointValue(29) = Status flag 29: lDh RESERVED

- HMITalk1.PointValue(30) = Status flag 30: lEh RESERVED

- HMITalk1.PointValue(31) = Status flag 31: lFh RESERVED

NOTE:

- Only the status flags marked with 'a' (see below) can be cleared using the Clear Status command.

STATUS FLAGS IMMEDIATELY CLEARED:

- Various

 

REPORTED EXCEPTIONS:

- 12h Status not set or cannot be reset

- 15h Operating mode is manual

FLAGS THAT CAN BE CLEARED WITH THIS COMMAND

- Status flag 3: 03h*#a Operation timed out

- Status flag 4: 04h*#a Recipe selected

- Status flag 5: 05h*#a Additives selected, i.e. additive selection complete

- Status flag 6: 06h*#a Preset volume entered

- Status flag 7: 07h*#a Keypad data available

- Status flag 8: O8ha Program code value(s) changed

- Status flag 11: OBh*a Key pressed (DanLoad 6000 v5.1 1 and above)

- Status flag 12: OCha Transaction ended

- Status flag 13: ODha Batch ended

- Status flag 14: OEh*a Batch aborted (not started)

- Status flag 15: OFh*a Intermediate level input alarm stopped batch (v5.50

- Status flag 19: 13ha Transaction end requested (‘STOP” key in auto)

- Status flag 22: 16ha Program mode

Change Operating Mode

COMMAND DESCRIPTION:

The Change Operating Mode command allows the automation system to change the DanLoad 6000’s operating mode if the auto/manual change-over input is not configured. The Change Operating Mode command is the communications equivalent of the auto/manual change-over input.

If the DanLoad 6000’s operating mode is controlled by the auto/manual change-over input an exception response is generated.

If the DanLoad 6000 is already in the desired operating mode then the command is simply acknowledged.

The operating mode does not change until the transaction has ended.

Status flag OOh (Operating mode is manual) is set or cleared subsequently.

Valid modes: Manual / Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 37h (55 dec)

HMITalk1.DriverP2 = Operating mode (0=Auto, 1=Manual)

 

WHERE:

- HMITalk1.PointValue(0) = Ignored. Can be any value.

REPORTED EXCEPTIONS:

- 27h Operating mode cannot be changed

- 4Dh Invalid operating mode

 

NOTE:

This command does not use the values assigned to the PointValue properties, which means that any value there will be ignored.

Display Message

COMMAND DESCRIPTION:

The DanLoad 6000 displays 'Message text' on the bottom line of the display. Invalid characters in 'Message text' are replaced by an asterisk.

If 'Prompt field width' is zero all forty columns are used. If 'Prompt field width' is non-zero the first thirty two columns are used. If necessary, the message text is scrolled within the appropriate number of columns. One space is inserted at the end of the message for scrolling purposes.

If 'Prompt field width' is less than zero then zero is assumed. If 'Prompt field width' is greater than eight then eight is assumed.

If 'Prompt field width' is non-zero the DanLoad 6000 prompts for 'Prompt field width' input characters starting at column thirty three. The 'CLEAR' key clears the input field and restarts input entry. The 'ENTER' key terminates input entry. If 'ENTER' is pressed when the input field is blank the keypad data available to the automation system has a value of zero.

Valid input control ('Input control') values are:

- 0 = Echo numeric keys on the display.

- 1 = Display an asterisk ““ for each numeric key pressed.

If 'Prompt field width' is greater than zero the time-out specified by 'Timeout' is reset whenever a key is pressed. If 'Prompt field width' is zero a time-out occurs after the specified 'Timeout'; this allow the automation system to display a message 'for a few seconds'. If 'Timeout' is zero the automation system can terminate the operation with a Time-Out Operation command. If a time-out occurs the keypad data is not available to the automation system since the timed-out status flag is set and the keypad data available status flag is clear.

Valid time-out ('Timeout') values are:

- -1 = Use the configured time-out, i.e. the number of seconds specified by program code 036.

- 0 = No time-out, i.e. display/prompt until a Time-Out Operation command.

- >0 = Use the supplied time-out, i.e. the number of seconds specified in the message.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 1Ch (28 dec)

HMITalk1.DriverP2 = Prompt field width (0-8)

HMITalk1.DriverP3 = Input control (0-1)

HMITalk1.DriverP4 = Timeout

HMITalk1.DriverP5 = Not used

HMITalk1.DriverP6 = Message text (up to 128 chars)

 

WHERE:

- HMITalk1.PointValue(0) = Ignored. Can be any value.

STATUS FLAGS IMMEDIATELY SET:

- 14h Keypad and display locked out

 

STATUS FLAGS IMMEDIATELY CLEARED:

- 03h Operation timed out

- 07h Keypad data available

 

REPORTED EXCEPTIONS:

- 01 h Passcode entry in progress

- 08h Batch in progress

- 0Ah Primary alarm is active

- 15h Operating mode is manual (low priority, may not be seen!)

- 24h Keypad and display locked out

 

NOTE:

This command does not use the values assigned to the PointValue properties, which means that any value there will be ignored.

Clear Display

COMMAND DESCRIPTION:

This command clears the DanLoad 6000’s multi-line display. The DanLoad 6000 displays the date and time in the upper right hand corner and 'Please wait' on the bottom line.

This command can be used to erase the recipe menu after a Prompt Recipe command, the additive menu after a Prompt Additive command or the loading screen after an Authorize Transaction command, a Prompt Preset Volume command or an Authorized Batch command.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 38h (56 dec)

 

WHERE:

- HMITalk1.PointValue(0) = Ignored. Can be any value.

REPORTED EXCEPTIONS:

- 01 h Passcode entry in progress

- 15h Operating mode is manual (low priority, may not be seen!)

- 24h Keypad and display locked out

 

NOTE:

This command does not use the values assigned to the PointValue properties, which means that any value there will be ignored.

Read Input

COMMAND DESCRIPTION:

Valid I/O point types are:

- O = Meter input.

- 1 = RTD input.

- 2 = Current loop input.

- 3 = Discrete input. The automation system should specify the actual discrete input (rather than the 'inverted discrete input', #51 and above) for the I/O point number.

Valid modes: Manual / Automatic.

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 2Bh (43 dec)

HMITalk1.DriverP2 = I/O Point type (0-3)

HMITalk1.DriverP3 = I/O Point number

 

RETURNS:

- HMITalk1.PointValue(0) = Discrete, meter, RTD or current loop value

REPORTED EXCEPTIONS:

- 4Ah Invalid I/O point type

- 4Bh Invalid I/O point number

 

NOTE:

The driver will stop assigning PointValues when it reaches the configured DriverNumPoints.

Remaining PointValues will be filled with a value of -1.

Write Output

COMMAND DESCRIPTION:

Valid I/O point types are:

- 4 = Discrete input.

Valid modes: Manual / Automatic.

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 2Ch (44 dec)

HMITalk1.DriverP2 = I/O Point type (0-3)

HMITalk1.DriverP3 = I/O Point number

 

WHERE:

- HMITalk1.PointValue(0) = Discrete output value

REPORTED EXCEPTIONS:

- 4Ah Invalid I/O point type

- 4Bh Invalid I/O point number

- 4Ch Invalid output value

Reset Primary Alarms

COMMAND DESCRIPTION:

This command allows multiple active primary alarms to be reset. If the chronologically oldest active primary alarm is reset

this command has the same effect as a primary alarm reset via the alarm reset screen or the alarm reset switch

(program code 344). NOTE: Before you execute this command, you must set to 1 those PointValues that correspond to the

alarm flags to be reset.

Valid modes: Automatic.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 80

HMITalk1.DriverP0 = Device number (1-255).

HMITalk1.DriverP1 = 14h (20 dec)

 

WHERE:

- HMITalk1.PointValue(0) = Alarm flag 0: Primary display failure

- HMITalk1.PointValue(1) = Alarm flag 1: Secondary display failure

- HMITalk1.PointValue(2) = Alarm flag 2: Comms failure channel A

- HMITalk1.PointValue(3) = Alarm flag 3: Comms failure channel B

- HMITalk1.PointValue(4) = Alarm flag 4: Unable to maintain blend

- HMITalk1.PointValue(5) = Alarm flag 5: Flow rate too low meter 1

- HMITalk1.PointValue(6) = Alarm flag 6: Flow rate too low meter 2

- HMITalk1.PointValue(7) = Alarm flag 7: Flow rate too low meter 3

- HMITalk1.PointValue(8) = Alarm flag 8: Flow rate too low meter 4

- HMITalk1.PointValue(9) = Alarm flag 9: Flow rate too high meter 1

- HMITalk1.PointValue(10) = Alarm flag 10: Flow rate too high meter 2

- HMITalk1.PointValue(11) = Alarm flag 11: Flow rate too high meter 3

- HMITalk1.PointValue(12) = Alarm flag 12: Flow rate too high meter 4

- HMITalk1.PointValue(13) = Alarm flag 13: Valve closed early meter 1

- HMITalk1.PointValue(14) = Alarm flag 14: Valve closed early meter 2

- HMITalk1.PointValue(15) = Alarm flag 15: Valve closed early meter 3

- HMITalk1.PointValue(16) = Alarm flag 16: Valve closed early meter 4

- HMITalk1.PointValue(17) = Alarm flag 17: Time-out - no flow detected meter 1

- HMITalk1.PointValue(18) = Alarm flag 18: Time-out - no flow detected meter 2

- HMITalk1.PointValue(19) = Alarm flag 19: Time-out - no flow detected meter 3

- HMITalk1.PointValue(20) = Alarm flag 20: Time-out - no flow detected meter 4

- HMITalk1.PointValue(21) = Alarm flag 21: Unauthorized flow exceeds limit meter 1

- HMITalk1.PointValue(22) = Alarm flag 22: Unauthorized flow exceeds limit meter 2

- HMITalk1.PointValue(23) = Alarm flag 23: Unauthorized flow exceeds limit meter 3

- HMITalk1.PointValue(24) = Alarm flag 24: Unauthorized flow exceeds limit meter 4

- HMITalk1.PointValue(25) = Alarm flag 25: Pulse security error meter 1

- HMITalk1.PointValue(26) = Alarm flag 26: Pulse security error meter 2

- HMITalk1.PointValue(27) = Alarm flag 27: Pulse security error meter 3

- HMITalk1.PointValue(28) = Alarm flag 28: Pulse security error meter 4

- HMITalk1.PointValue(29) = Alarm flag 29: Temperature failure meter 1

- HMITalk1.PointValue(30) = Alarm flag 30: Temperature failure meter 2

- HMITalk1.PointValue(31) = Alarm flag 31: Temperature failure meter 3

- HMITalk1.PointValue(32) = Alarm flag 32: Temperature failure meter 4

- HMITalk1.PointValue(33) = Alarm flag 33: Pressure failure meter 1

- HMITalk1.PointValue(34) = Alarm flag 34: Pressure failure meter 2

- HMITalk1.PointValue(35) = Alarm flag 35: Pressure failure meter 3

- HMITalk1.PointValue(36) = Alarm flag 36: Pressure failure meter 4

- HMITalk1.PointValue(37) = Alarm flag 37: Unable to close valve meter 1

- HMITalk1.PointValue(38) = Alarm flag 38: Unable to close valve meter 2

- HMITalk1.PointValue(39) = Alarm flag 39: Unable to close valve meter 3

- HMITalk1.PointValue(40) = Alarm flag 40: Unable to close valve meter 4

- HMITalk1.PointValue(41) = Alarm flag 41: Density failure component 1

- HMITalk1.PointValue(42) = Alarm flag 42: Density failure component 2

- HMITalk1.PointValue(43) = Alarm flag 43: Density failure component 3

- HMITalk1.PointValue(44) = Alarm flag 44: Density failure component 4

- HMITalk1.PointValue(45) = Alarm flag 45: Component 1 block valve not closed

- HMITalk1.PointValue(46) = Alarm flag 46: Component 2 block valve not closed

- HMITalk1.PointValue(47) = Alarm flag 47: Component 3 block valve not closed

- HMITalk1.PointValue(48) = Alarm flag 48: Component 4 block valve not closed

- HMITalk1.PointValue(49) = Alarm flag 49: Additive 1 failure

- HMITalk1.PointValue(50) = Alarm flag 50: Additive 2 failure

- HMITalk1.PointValue(51) = Alarm flag 51: Additive 3 failure

- HMITalk1.PointValue(52) = Alarm flag 52: Additive 4 failure

- HMITalk1.PointValue(53) = Alarm flag 53: Additive 5 failure

- HMITalk1.PointValue(54) = Alarm flag 54: Additive 6 failure

- HMITalk1.PointValue(55) = Alarm flag 55: Safety circuit 1

- HMITalk1.PointValue(56) = Alarm flag 56: Safety circuit 2

- HMITalk1.PointValue(57) = Alarm flag 57: Safety circuit 3

- HMITalk1.PointValue(58) = Alarm flag 58: Safety circuit 4

- HMITalk1.PointValue(59) = Alarm flag 49: Safety circuit 5

- HMITalk1.PointValue(60) = Alarm flag 60: Safety circuit 6

- HMITalk1.PointValue(61) = Alarm flag 61: Safety circuit 7

- HMITalk1.PointValue(62) = Alarm flag 62: Safety circuit 8

- HMITalk1.PointValue(63) = Alarm flag 63: Data logging memory full

- HMITalk1.PointValue(64) = Alarm flag 64: Memory check failure

- HMITalk1.PointValue(65) = Alarm flag 65: Storage memory full

- HMITalk1.PointValue(66) = Alarm flag 66: Power failure

- HMITalk1.PointValue(67) = Alarm flag 67: Unable to ramp down

- HMITalk1.PointValue(68) = Alarm flag 68: MPMC 1 failure

- HMITalk1.PointValue(69) = Alarm flag 69: MPMC 2 failure

- HMITalk1.PointValue(70) = Alarm flag 70: Calibration failure meter 1

- HMITalk1.PointValue(71) = Alarm flag 71: Calibration failure meter 2

- HMITalk1.PointValue(72) = Alarm flag 72: Calibration failure meter 3

- HMITalk1.PointValue(73) = Alarm flag 73: Calibration failure meter 4

- HMITalk1.PointValue(74) = Alarm flag 74: Intermediate level input

- HMITalk1.PointValue(75) = Alarm flag 75: RESERVED

- HMITalk1.PointValue(76) = Alarm flag 76: RESERVED

- HMITalk1.PointValue(77) = Alarm flag 77: RESERVED

- HMITalk1.PointValue(78) = Alarm flag 78: RESERVED

- HMITalk1.PointValue(79) = Alarm flag 79: RESERVED

REPORTED EXCEPTIONS:

- 01 h Passcode entry in progress

- 15h Operating mode is manual (low priority, may not be seen!)

Returned Errors List

[1005] DRIVER (Internal): Invalid driver stage

[1300] PROTOCOL (Timeout): No answer

[1313] PROTOCOL (Timeout): No answer from meter after retrying with a Start Communications message

[1408] PROTOCOL (Format): Invalid amount of data bytes received

[2232] CONFIG (NumValues): Too many values (max=7)

[2295] CONFIG (NumValues): Invalid number of values (must be 32)

[2296] CONFIG (NumValues): Invalid number of values (must be 80)

[3022] CONFIG (P0): Invalid device address (1-255)

[3502] CONFIG (P1): Command not implemented

[3508] CONFIG (P1): Invalid command

[3592] CONFIG (P1): Invalid command received in reply

[4144] CONFIG (P2): Invalid meter number (1-4)

[4145] CONFIG (P2): Invalid recipe number (1-30)

[4147] CONFIG (P2): Invalid swing-arm side (0-2)

[4148] CONFIG (P2): Invalid operating mode (0-1)

[4149] CONFIG (P2): Invalid prompt field width (0-8)

[4150] CONFIG (P2): Invalid point type (0-3)

[4151] CONFIG (P2): Invalid point type (4 only)

[4152] CONFIG (P2): Invalid transaction sequence number (0-9999)

[4594] CONFIG (P3): Invalid additive selection method (0-1)

[4595] CONFIG (P3): Invalid number of components (0-50)

[4596] CONFIG (P3): Invalid number of components (0-30)

[4597] CONFIG (P3): Invalid input control (0-1)

[5043] CONFIG (P4): Invalid value for this parameter

[5517] CONFIG (P5): Invalid swing-arm side (0-2)

[6042] CONFIG (P6): Invalid number of data prompts (0-5)

[6043] CONFIG (P6): Recipe name cannot be empty

[8404] CONFIG (Remote): 00h Invalid command code

[8405] CONFIG (Remote): 0lh Passcode entry in progress

[8406] CONFIG (Remote): 02h No transaction ended

[8407] CONFIG (Remote): 03h Response’s data field too long

[8408] CONFIG (Remote): 04h Program code value is Weights and Measures

[8409] CONFIG (Remote): 05h RESERVED

[8410] CONFIG (Remote): 06h No batch in progress

[8411] CONFIG (Remote): 07h No transaction in progress

[8412] CONFIG (Remote): 08h Batch in progress

[8413] CONFIG (Remote): 09h Transaction in progress

[8414] CONFIG (Remote): 0Ah Primary alarm active

[8415] CONFIG (Remote): 0Bh Batch authorized

[8416] CONFIG (Remote): 0Ch Transaction authorized

[8417] CONFIG (Remote): 0Dh RESERVED

[8418] CONFIG (Remote): 0Eh No keypad data available

[8419] CONFIG (Remote): 0Fh Component not available

[8420] CONFIG (Remote): 10h Additive not available

[8421] CONFIG (Remote): 11h Program code value is read only

[8422] CONFIG (Remote): 12h Status not set or cannot be reset

[8423] CONFIG (Remote): 13h No additives conf igured

[8424] CONFIG (Remote): 14h No batch authorized

[8425] CONFIG (Remote): 15h Operating mode is manual

[8426] CONFIG (Remote): 16h No preset volume entered

[8427] CONFIG (Remote): 17h No recipe selected

[8428] CONFIG (Remote): 18h No additive selection made

[8429] CONFIG (Remote): 19h Data items not entered

[8430] CONFIG (Remote): 1Ah No key pressed

[8431] CONFIG (Remote): 1Bh Diagnostic not started

[8432] CONFIG (Remote): 1Ch Diagnostic running

[8433] CONFIG (Remote): 1Dh Transaction not on file (transaction storage)

[8434] CONFIG (Remote): 1Eh Batch not on file (transaction storage)

[8435] CONFIG (Remote): 1Fh RESERVED

[8436] CONFIG (Remote): 20h Number of recipes < 2 (Not DanLoad 6000 v5.00 and above)

[8437] CONFIG (Remote): 21h RESERVED

[8438] CONFIG (Remote): 22h No transaction authorized

[8439] CONFIG (Remote): 23h RESERVED

[8440] CONFIG (Remote): 24h Keypad and display locked out

[8441] CONFIG (Remote): 25h No batch stopped

[8442] CONFIG (Remote): 26h No batch ended

[8443] CONFIG (Remote): 27h Operating mode cannot be changed

[8444] CONFIG (Remote): 28h RESERVED

[8445] CONFIG (Remote): 29h RESERVED

[8446] CONFIG (Remote): 2Ah RESERVED

[8447] CONFIG (Remote): 2Bh RESERVED

[8448] CONFIG (Remote): 2Ch RESERVED

[8449] CONFIG (Remote): 2Dh RESERVED

[8450] CONFIG (Remote): 2Eh RESERVED

[8451] CONFIG (Remote): 2Fh RESERVED

[8452] CONFIG (Remote): 30h RESERVED

[8453] CONFIG (Remote): 31h RESERVED

[8454] CONFIG (Remote): 32h RESERVED

[8455] CONFIG (Remote): 33h RESERVED

[8456] CONFIG (Remote): 34h RESERVED

[8457] CONFIG (Remote): 35h RESERVED

[8458] CONFIG (Remote): 36h RESERVED

[8459] CONFIG (Remote): 37h RESERVED

[8460] CONFIG (Remote): 38h RESERVED

[8461] CONFIG (Remote): 39h RESERVED

[8462] CONFIG (Remote): 3Ah RESERVED

[8463] CONFIG (Remote): 3Bh RESERVED

[8464] CONFIG (Remote): 3Ch RESERVED

[8465] CONFIG (Remote): 3Dh RESERVED

[8466] CONFIG (Remote): 3Eh RESERVED

[8467] CONFIG (Remote): 3Fh RESERVED

[8468] CONFIG (Remote): 40h Invalid recipe number

[8469] CONFIG (Remote): 41h Invalid meter number

[8470] CONFIG (Remote): 42h Invalid component number

[8471] CONFIG (Remote): 43h Invalid transaction sequence number

[8472] CONFIG (Remote): 44h Invalid program code

[8473] CONFIG (Remote): 45h Invalid program code value

[8474] CONFIG (Remote): 46h Invalid CPU number

[8475] CONFIG (Remote): 47h Invalid number of components

[8476] CONFIG (Remote): 48h Invalid number of data items

[8477] CONFIG (Remote): 49h Invalid swing-arm side

[8478] CONFIG (Remote): 4Ah Invalid I/O point type

[8479] CONFIG (Remote): 4Bh Invalid I/O point number

[8480] CONFIG (Remote): 4Ch Invalid output value

[8481] CONFIG (Remote): 4Dh Invalid operating mode

[8482] CONFIG (Remote): 4Eh Invalid additive selection method

[8483] CONFIG (Remote): 4Fh Invalid preset volume

[8484] CONFIG (Remote): 50h Invalid date

[8485] CONFIG (Remote): 51h Invalid time

[8486] CONFIG (Remote): 52h Invalid data code

[8487] CONFIG (Remote): 53h Invalid override maximum preset volume

[8488] CONFIG (Remote): 54h Invalid board type

[8489] CONFIG (Remote): 55h Invalid bit #

About the XDANLOAD.tlk driver

This driver requires that you have TAS-HMITalk 8.04 installed.

Driver Source Code Last Update: 09/01/2008 18:39:42

Driver Reference Last Update: 10/30/2008 17:36:50

© 1990-2008, CPKSoft Engineering. All rights reserved.

http://www.cpksoft.com - support@cpksoft.com

http://www.cpksoft.com.ar - soporte@cpksoft.com.ar>