0% found this document useful (0 votes)
116 views50 pages

CC9554-4 V2Y SPEC SW Serial Export Protocol

This document describes the serial export protocol for communicating with devices in the Agilia range of infusion pumps. It outlines the physical and data link layers used for communication, including frame formats, encoding, and checksums. It then describes the application layer, including commands for device status, information, additional infusion data, and error codes. Examples are provided to illustrate the communication protocols and data exchange. Local service contacts are also listed.

Uploaded by

Mario Guedes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views50 pages

CC9554-4 V2Y SPEC SW Serial Export Protocol

This document describes the serial export protocol for communicating with devices in the Agilia range of infusion pumps. It outlines the physical and data link layers used for communication, including frame formats, encoding, and checksums. It then describes the application layer, including commands for device status, information, additional infusion data, and error codes. Examples are provided to illustrate the communication protocols and data exchange. Local service contacts are also listed.

Uploaded by

Mario Guedes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Serial Export Protocol

FOR AGILIA RANGE


Revision list

Information in this document refer to the following devices:

Device Software Version

Agilia SP up to 4.1

Agilia SP MC up to 4.1

Agilia SP MC WIFI up to 4.1

Agilia SP TIVA up to 4.1

Agilia SP TIVA WIFI up to 4.1

Agilia SP PCA up to 3.3

Agilia SP PCA WIFI up to 3.3

Agilia VP up to 4.1

Agilia VP MC up to 4.1

Agilia VP MC WIFI up to 4.1

Agilia Link+ up to 3.0 (D16)

2 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
Date Rev. Modifications
Feb, 20th 2015 0 First issue
Subject to modification.
Dedicated to:
- Pump Software version v01.0
- Link+ BW_rel_D11 software version
Mar, 30th 2016 1 Change cover images to display Agilia V2 product
Nov, 6th 2018 2 Fix Agilia SP device ID
Fix SubID 02 description
Fix SubID 07 description
Fix MinDuration and MaxDuration parameters descriptions
Add PCA specific Values and Advanced Data
November, 2019 3 Fix SubID 0x08 Syringe Description (SP Only)
Fix SubID 0x09 Secondary Description
Add SW versions of the pumps
Refine MinDuration and MaxDuration parameters descriptions
Fix Chapter 4.5: Device information
April - 2021 4 Fixed following descriptions:
- 4.4.3.2.7 SubId 0x08 Syringe
- 4.6.2.1 Flowrate
Add V4 pumps support:
- 4.4.3.1 SummaryStatus : add bit 12 description
- 4.4.3.2.2 SubId infusion has been updated
- 4.4.3.2.5: SubId alarm has been updated
- 4.4.3.2.8 SubId Secondary has been updated

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 3
Table of contents

1. INTRODUCTION .................................................................................................................................................. 5
2. PHYSICAL LINK .................................................................................................................................................. 5
2.1 SERIAL......................................................................................................................................................... 5
2.2 TCP ............................................................................................................................................................ 5
3. DATA LINK .......................................................................................................................................................... 6
3.1 FRAME FORMAT ............................................................................................................................................ 6
3.2 ENCODING .................................................................................................................................................... 7
3.2.1 UNITS ENCODING .................................................................................................................................................... 7
3.2.2 DATES ................................................................................................................................................................... 8
3.3 CRC8 .......................................................................................................................................................... 9
3.4 CRC16 ........................................................................................................................................................ 10
3.5 EXAMPLE OF COMPLETE FRAME .................................................................................................................... 12
3.6 FRAME EXCHANGE ....................................................................................................................................... 13
3.6.1 DEFINITION ............................................................................................................................................................. 13
3.6.2 COMMUNICATION PARAMETERS ............................................................................................................................... 15
3.6.3 RECOMMENDED COMMUNICATION PARAMETERS ....................................................................................................... 18
3.6.4 RECOMMENDATIONS WHEN USING PUMPS PLUGGED ON A LINK+................................................................................. 18
4. APPLICATION LAYER – MESSAGES EXCHANGED ....................................................................................... 19
4.1 SESSION LAYER ........................................................................................................................................... 19
4.1.1 START OF COMMUNICATION ..................................................................................................................................... 19
4.1.2 END OF COMMUNICATION ......................................................................................................................................... 19
4.1.3 ERRORS MANAGEMENT............................................................................................................................................ 19
4.2 COMMANDS AND MESSAGES DESCRIPTION ..................................................................................................... 20
4.3 PROTOCOL ................................................................................................................................................... 21
4.4 DEVICE STATUS ............................................................................................................................................ 23
4.4.1 DEVICE STATUS COMMON ........................................................................................................................................ 23
4.4.2 DEVICE STATUS LINK+ ............................................................................................................................................. 25
4.4.3 DEVICE STATUS PUMP ............................................................................................................................................. 26
4.5 DEVICE INFORMATION ................................................................................................................................... 36
4.6 ADDITIONAL INFUSION INFORMATION ............................................................................................................. 37
4.6.1 ADVANCED DATA INFUSION READING ........................................................................................................................ 37
4.6.2 LIST OF DATAID ...................................................................................................................................................... 38
4.7 IP ADDRESS ................................................................................................................................................. 41
4.8 ERROR CODES ............................................................................................................................................. 42
4.9 TYPES OF VARIABLES ................................................................................................................................... 43
5. EXAMPLE ............................................................................................................................................................ 44
6. LOCAL CONTACTS FOR SERVICING ............................................................................................................... 48

4 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
1. Introduction
This guide is intended for the non-Fresenius Kabi personnel who want to communicate with the Agilia range devices. It
describes the communication system used between a device and a host device (computer, …) and gives a list of all the
available commands and information.
In case of clustered architecture, the host can communicate with each of the devices via the Link+ accessory.
The Link+ is fully transparent in the communication.
The reliability of the communication system is based on the definition of 4 distinct communication layers:
▪ A Physical Link Layer to describe the type of signals and their parameters.
▪ A Data Link Layer to specify the character frame construction mechanisms.
▪ A Session Layer through which communication is established.
▪ An Application Layer which describes the syntax of the message exchanged between the two systems (host/device).
This layer is the only visible one and it must be treated separately from the other ones. The application layer informs
the errors detected by the other layers.
The following functions are available:
▪ Setting (Silence alarm…)
▪ Information request (Infusion status…)

2. Physical Link
The communication protocol can be used with the appropriate cable accessories only.
Please refer to the IFU of the devices for the required accessory references.

2.1 Serial
The serial communication uses the standard following configuration (cannot be modified), when using a Link+ or directly
to the pump:
• Baud rate : 115200
• Data bits : 8
• Parity bit : no
• Stop bit: yes (1 stop bit)
• RTS (Request To Send) : enabled
• DTR (Data Terminal Ready) : enabled

2.2 TCP
The TCP communication uses the standard following configuration, when using a Link+:
• IP of the Link : configured in Link+’ Web Interface ( default 192.168.0.1 )
• Protocol : TCP
• Port : configured in Link+ Web Interface ( default 52000 )
See Link+ Technical Manual for further information.

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 5
3. Data Link

3.1 Frame format


Whatever the transfer direction (Host to Device or Device to Host), the frames are always built as follow:

START TYPE NO ACK SZ CRC8 ID DATA CRC16

Description of the different fields of such a frame:


Type Name Description
BYTE START Start of frame : 0x1B (ESC)
BYTE TYPE see Definition below
BYTE NO Frame number (0x01..0xFF)
BYTE ACK Number of the last acknowledged frame (0x01...0xFF)
BYTE SZ Size of the ID and DATA fields
CRC (8 bits) computed from the TYPE, NO, ACK and SZ
BYTE CRC8
fields
BYTE ID Frame Id (if SZ is different from 0)
Data: from 0 to 254 characters (if SZ is different from
BYTES DATA
0)
CRC (16 bits) computed from the ID and DATA fields (if
WORD CRC16
SZ is different from 0)
The data are systematically written using the big endian format.

Definition of field Type :


For communication with:
Pump (direct Link+ Pump plugged on Link+
Serial
Connection)
Spontaneous Frames 0x60 (‘`’) None 0x61 (‘a’) : Pump 1 (lowest slot on Link+)

0x68 (‘h’) : Pump 8 (upper slot on Link8+)
Standard Frames 0x40 (‘@’) 0x40 (‘@’) 0x41 (‘A’) : Pump 1 (lowest slot on Link+)

0x48 (‘H’) : Pump 8 (upper slot on Link8+)

6 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
3.2 Encoding

3.2.1 Units Encoding


3.2.1.1 Regular Format
+----+----+----+----+-------------+-----------+---+-------+-------+---+
| 0 | 0 | dec|surf| prefix | unit | w | time | dil. |pla|
+----+----+----+----+-------------+-----------+---+-------+-------+---+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+----+----+----+----+-------------+-----------+---+-------+-------+---+

bit 0 : plasma : bit 5 : weight : bit 12 : surface :


0:- 0:- 0:-
1 : '/ml plasma' 1 : '/kg' 1 : '/m²'
bits 1-2 : dilution : bits 6-8 : unit : bit 13 : number of decimal
0:- 0 : 'g' places :
1 : '/ml' 1 : 'l' 0 : 2 decimals
2 : '/l' 2 : 'U' 1 : 3 decimals
3 : '/Xml', a WORD that 3 : 'mol'
contains the volume of dilution is 4 : 'cal'
added after the unit 5 : 'Eq'
6-7 : forbidden

bits 3-4 : time : bits 9-11 : prefix : bits 14-15 :


always 0
0:- 0 : 'p'
1 : '/min' 1 : 'n'
2 : '/h' 2 : 'µ'
3 : '/24h' 3 : 'm'
4:-
5 : 'k'
6 : 'M'
7 : 'G'

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 7
3.2.1.2 Extended Format

+----+----+----+----+----+----+---+---+---+---+---+-------------------+
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | unit |
+----+----+----+----+----+----+---+---+---+---+---+-------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+----+----+----+----+----+----+---+---+---+---+---+-------------------+

bits 0-4 : unit : bits 6-11 : bits 13-15 :


1 : flow drop/min, 1/1000 drop/min always 0 always 0
2 : pressure, mmHg
3 : pressure, kPa
4 : pressure, 1/10 PSI
5 : patient weight, g
6 : patient height, cm
7 : patient surface, 1/1000 m²
8 : patient age, mois
9 : dilution volume, ml
16 : patient gender
17 : duration, s
bit 5 : bit 12 : -
always 1 (extended format) always 1 (extended format)

3.2.2 Dates
Dates are encoded within 4 bytes (32 bits). The value corresponds to the number of seconds passed since January the
1st of September 1970.

8 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
3.3 CRC8
The CRC8 is calculated for the header of every packet. The bytes computed are TYPE, NO, ACK and SZ fields, so the 4
bytes next to the start byte (ESC).

START TYPE NO ACK SZ CRC8

The algorithm use an array of 256 constants values and is described below :
CRC = 0
FOR EACH byte_to_compute
CRC = ConstArray[ byte_to_compute XOR CRC ]

Implementation in C :
static const BYTE k_abyCrcArray[256] = {
0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83,
0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41,
0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e,
0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc,
0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, 0xa0,
0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62,
0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d,
0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff,
0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5,
0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, 0x59, 0x07,
0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58,
0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4, 0x9a,
0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6,
0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24,
0xf8, 0xa6, 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b,
0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9,
0x8c, 0xd2, 0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f,
0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd,
0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92,
0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50,
0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c,
0x6d, 0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee,
0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1,
0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73,
0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49,
0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b,
0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4,
0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16,
0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a,
0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8,
0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, 0xf7,
0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35,
};

BYTE Comm_CalcCrc8( const BYTE * i_pbyBuffer, int i_iSize )


{
BYTE byCRC = 0;

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 9
int i;

for (i=0 ; i<i_iSize ; i++)


byCRC = k_abyCrcArray[ (i_pbyBuffer[i] ^ byCRC) ];

return byCRC;
}

3.4 CRC16
The CRC16 is calculated for the data part of a packet if there is one. The bytes computed are ID and all data bytes, so it
is the number of bytes indicated by the SZ field.

START TYPE NO ACK SZ CRC8 ID DATA CRC16


SZ bytes…

The public domain CRC algorithm used come from Ross Williams ([email protected]) and is dated 3 June
1993. This is the implementation (.c) file for the reference implementation of the Rocksoft^tm Model CRC Algorithm. For
more information on the Rocksoft^tm Model CRC Algorithm, see the document titled “A Painless Guide to CRC Error
Detection Algorithms” by Ross Williams. This document is likely to be in “ftp.adelaide.edu.au/pub/rocksoft”.
The most recent home (2007) for Ross Williams documentation is : http://www.ross.net/crc/

▪ The algorithm used is described below :


CRC = 0
FOR EACH byte_to_compute
CRC = ConstArray[(byte_to_compute XOR CRC) AND 0xff] XOR (CRC >>8)

▪ Implementation in C:
#define CRC_UPDATEBYTE16( i_byVal, i_wCrc ) \
(kg_crc_awTable16[((i_wCrc)^(i_byVal))&0xff]^((i_wCrc)>>8))
typedef unsigned long DWORD;
WORD const kg_crc_awTable16 [256] =
{
0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,
0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,
0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,
0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841,
0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40,
0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41,
0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641,
0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040,
0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240,
0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441,
0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41,
0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840,
0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41,
0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40,
0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640,
0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041,

10 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240,
0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441,
0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41,
0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840,
0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41,
0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40,
0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640,
0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041,
0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241,
0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440,
0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40,
0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841,
0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40,
0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41,
0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,
0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040
} ;

/*---------------------------------------------------------------------*/
/* Crc 16 Calculation */
/* - <i_pbyBuf> buffer address */
/* - <i_dwSize> buffer size (bytes) */
/* Out : */
/* - Crc16 */
/* Calculation Crc : x16 + x15 + x2 + 1 (0x8005) */
/*---------------------------------------------------------------------*/
aWORD crc_C_Calc16( BYTE C* i_pbyBuf, DWORD i_dwSize )
{
return crc_C_Update16( i_pbyBuf, i_dwSize, 0 ) ;
}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
aWORD crc_C_Update16( BYTE C* i_pbyBuf, DWORD i_dwSize, aWORD i_wCrc )
{
aBYTE byVal ;
while ( i_dwSize != 0 )
{
byVal = *i_pbyBuf++ ;
i_wCrc = CRC_UPDATEBYTE16( byVal, i_wCrc ) ;
--i_dwSize ;
}
return i_wCrc ;
}

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 11
3.5 Example of complete frame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

ESC @ 00 00 0B C0 70 01 08 08 00 13 88 4E 20 FF FF 8C 68

Frame description (see frame 0x70 § 0 for the data description):


1 ESC Start of the frame
2 @ Frame type: “classical” frame (not spontaneous)
3 00 Frame number = 0
4 00 Number of the last acknowledged frame = 0
5 0B Size of the ID and DATA fields = 10 bytes
6 C0 CRC (8 bits) computed from the TYPE, NO, ACK and SZ fields
7 70 Frame Id = Opening/closing of a communication session (see § 0)
Frame Data: Mode = opening of a communication session in Full Duplex
8 01
mode
9 08 Frame Data: Size of the host “window” of communication = 8 messages
10 08 Frame Data: Size of the device “window” of communication = 8 messages

11 00 Frame Data: Unused


Frame Data: Value of the PacketRepeatTimeout_ms parameter (see §
12-13 13 88
3.6.2.2)
14-15 4E 20 Frame Data: Value of the PacketMinRate_ms parameter (see § 3.6.2.1)
Frame Data: Value of the DisconnectTimeout_ms parameter (see §
16-17 FF FF
3.6.2.3)
18-19 8C 68 CRC (16 bits) computed from the ID and DATA fields = 35944

12 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
3.6 Frame Exchange

3.6.1 Definition
Before any message exchange, it is necessary to open communication session with the device. Similarly, at the end of
the dialogue, the communication session must be properly closed.
However, some frames can be spontaneously sent by the device to the host out of a communication session.
The Agilia devices periodically sends a Device status frame to the host when the communication session is closed.
The exchange of frames follows an acknowledgement protocol based on a “window” mechanism that allows to transmit
several frames before the first acknowledge is received. The number of frames of a “window” to transmit must be
configured at the opening of the communication session.
With this system, the frames can be acknowledged one by one (one acknowledgement frame sent for one frame
received) or all together (one acknowledgement frame sent for all the frames received).
If one frame of a “window” has not been acknowledged, all the frames that follows this frame in the “window” are repeated
automatically.
According to the type of frame sent by the host, the device can send a frame as a response but also either a list of frames
or no frame at all.
The device and the host have their own frame numbering.
Example: window 4/4
Host sends frames 14, 15, 16, 17; Device answer with frames 7, 8, 9, 10.
Example of the “window” mechanism with a “window” which contains 4 frames:

HOST SERIAL LINK DEVICE

Frame1
Frame RX PROCESSING TX
1
Frame2

Frame3

Frame4 Reply1
Frame1
Frame Frame1 → Reply1 Ack1
1 Ack2
Frame2 Frame2 → No Reply

Frame3 Frame3 → No Reply Ack3

Frame4 Frame4 → Reply


Reply4
Reply1
Ack4
Ack1
Ack2
(the frames are acknowledged one by one)

Ack3

Reply4
Ack4

If the frame is empty (size = 0), the frame number is ignored and only the acknowledge number is taken into account.
CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 13
If a non empty frame (size > 0) with a frame number null is received, the list of received messages is flushed.

Same example in the case of a packet loss:

HOST SERIAL LINK DEVICE

Frame1
Frame RX TREATMENT TX
1
Frame2

Frame3 Frame2
lost
Frame4
Reply1
Frame1
Frame Frame1 → Reply1
Ack1
1

Frame3
ignored
Frame4
ignored

Reply1
Ack1

Automatic repetition of frames 2, 3 and 4

Frame2

Frame3
Ack2
Frame4 Frame2 Frame2 → No Reply

Frame3 Frame3 → No Reply Ack3

Ack2
Frame4 Frame4 → Reply4
Reply4
Ack4
Ack3

Reply4
Ack4

14 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
3.6.2 Communication Parameters
In order to maintain the connection between the host and the device, some parameters can be configured at the opening
of the session. These parameters are used to configure disconnection of the communication and the repetition of the
frames transmission.

Note : Be very careful when configuring those parameters if you don’t want to have any
trouble in the communication between the host and the device.

In the following paragraphs are described those parameters, and their recommended values in different configurations.

3.6.2.1 PacketMinRate_ms
If there is no communication between the host and the device during the time defined by PacketMinRate_ms, the host
and the device send an empty frame to each other to maintain the connection.

3.6.2.2
HOST DEVICE

ESC @ 03 …

ESC @ 03 …

Treatment of frame #03


PacketMinRate_ms

ESC @ 04 03 …

ESC @ 04 03 …
.....

Transmission of a empty frame, without frame number, to maintain the

PacketMinRate_ms
connection. The last acknowledged frame number is inserted.

ESC @ 00 03 …

The same for DEVICE

ESC @ 00 …

Time Time

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 15
PacketRepeatTimeout_ms
Each frame that is emitted must be acknowledged. If the device which has emitted a frame has not received an
acknowledgement before the end of the duration defined by PacketRepeatTimeout_ms, it emits the frame an other time.

Example of a communication without re-emission of the frame:

HOST DEVICE

ESC @ 01 00 …

ESC @ 01 00 …
PacketRepeatTimeout_

ESC @ 01 01 …
ms

ESC @ 01 01 …
Reception of the acknowledgement of the frame
#01

t < PacketRepeatTimeout_ms  no re-emission of the frame

Time

Example of a communication with re-emission of the frame:

HOST DEVICE

ESC @ 02 01 …
PacketRepeatTimeout_ms

ESC @ 02 01 …
t

ESC @ 02 01 …

ESC @ 02 01 …
Reception of the acknowledgement of the frame
#01

ESC @ 02 01 …
Re-emission of the frame

Time
t > PacketRepeatTimeout_ms  re-emission of the frame

16 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
3.6.2.3 DisconnectTimeout_ms
If no data are received by the host from the device during the time defined by DisconnectTimeout_ms, the session is
automatically closed.

HOST DEVICE

ESC @ 01 00 …

ESC @ 01 00 …
PacketRepeatTimeout_ms

ESC @ 02 01 …
DisconnectTimeout_ms

ESC @ 02 01 …

PacketRepeatTimeout_ms
Bad CRC  the frame is not taken into
account (frame not acknowledged)

ESC @ 01 00 …
Re-emission of the frame #01
ESC @ 01 00 …
DISCONNECTION
ESC @ 02 01 …
(CLOSING OF THE SESSION)
Re-emission of the frame #02
ESC @ 02 01 …

Time

Example of bad frame reception: incorrect CRC

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 17
3.6.3 Recommended Communication Parameters
The following values are recommended to have a robust communication:
Parameter Value
Host “window” 8
Device “window” 8
PacketMinRate_ms 20000ms
PacketRepeatTimeout_ms 3000ms
DisconnectTimeout_ms 60000ms

The PacketRepeatTimeout_ms ensures that a full “window” (almost 8*270 bytes) can be emitted even if the transmission
time is long.
The DisconnectTimeout_ms ensures that a packet can be re-emitted several times.
The PacketMinRate_ms parameter is above the PacketRepeatTimeout_ms and below the DisconnectTimeout_ms.

3.6.4 Recommendations when using Pumps plugged on a Link+


The developed application/driver communicating with Agilia devices shall not exceed 10 frames per second, spread over
the connected pumps, and mixing request or spontaneous messages.

Examples:
- If 1 pump is to be monitored : 10 requests on pump 1
- If 2 pumps are to be monitored : 6 requests on pump 1 and 4 requests on pump 2

18 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4. Application Layer – Messages Exchanged
The messages exchanged between the host and the device must respect the mechanism previously described to ensure
a perfect comprehension of each other.

4.1 Session Layer

4.1.1 Start of communication


All communication between the host and the device must begin with the opening of a communication session between
them (frame ID: 0x70).
Any message sent before the session is opened generates an error message.
Only the device can send spontaneous messages out of a communication session. These messages are not sent during
the communication session. The emitted frames out of a communication session are not numbered (number of frame = 0)

4.1.2 End of communication


Similarly to the opening of a communication session, when the host wishes to end communication, it must close the
communication session (frame ID: 0x70).
The session is automatically closed in the following cases:
• Physical disconnection of the device
• No reply of the device during DisconnectTimeout_ms

4.1.3 Errors management


All errors are sent by the device to the host through a NACK frame (frame ID: 0xFF) whose one of the parameters
indicates the type of error. This frame and all error codes are described later in the present document.

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 19
4.2 Commands and messages description
The commands are divided in 2 groups: those which are emitted by the device (Device➔Host) and those which are
emitted by the host (Host➔Device).
These commands cannot be used in all the functional modes of the device. Here are the different functional modes in
which the device can work:

Code (hexa) Functional Mode


01 Idle mode : device in idle mode
02 the device is switched on

Here is the list of commands and messages:


ID (HEXA) Description
PROTOCOL
70h Request for opening/closing a communication session (HOST ➔ DEVICE)
F0h Opening/closing a communication session (DEVICE ➔ HOST)
71h Request for NOP (HOST ➔ DEVICE)
F1h Reply for NOP (DEVICE ➔ HOST)
FFh NACK (DEVICE ➔ HOST)
DEVICE STATUS
00h Request for Device status information (HOST ➔ DEVICE)
80h Device status information (DEVICE ➔ HOST)
5Fh Request for Advanced Infusion Data (HOST ➔ DEVICE)
DFh Advanced Infusion Data (DEVICE ➔ HOST)
40h Request for device information (HOST ➔ DEVICE)
C0h Device information (DEVICE ➔ HOST)
64h Request for IP address (HOST ➔ DEVICE)
E4h IP address (DEVICE ➔ HOST)

20 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.3 Protocol
As described before, the session opening allows to specify the size of the communication “windows” and the value of the
parameters used to configure the connection (PacketMinRate_ms, PacketRepeatTimeout_ms,
DisconnectTimeout_ms…).
The host send a frame to ask the device to open a session (frame ID: 0x70). Then, the device reply with a frame (frame
ID: 0xF0) with the parameters of the connection established. These parameters are the real parameters. They can differ
from those sent by the host.
If the session cannot be opened, the device reply with a NACK frame (frame ID: 0xFF).
A frame sent to open a session has its number set to 0. All the frames that have not been sent yet are lost. In a same
way, all the frames that are waiting for a treatment by the device (even those received after the request for opening the
session) are lost.
A frame sent to close a session can have its number set to 0. In this case, all the frame that are waiting for a treatment
are lost. On the other hand, if this number is different from 0, the frame will be taken into account only when all the
previous frames will be treated. In the both cases, the reply is sent with a frame number set to 0 and all the frames that
have not already been sent are lost.

FRAME ID: 0x70 – Request for opening/closing a communication session (HOST ➔ DEVICE)

Injectomat / Volumat / Link+ (version id=0x12):


TYPE Name Description
BYTE Mode 00 : Closing the session
01 : Opening session in Full duplex mode
02 : Opening session in Half duplex mode
BYTE HostWindow Size of the “window” of messages requested for the host (1..126)
BYTE DeviceWindow Size of the “window” of messages requested for the device (1..126)
BYTE Unused Shall be set to 0
WORD PacketRepeatTimeout_ms Value of the PacketRepeatTimeout_ms parameter in ms (1-65535)
WORD PacketMinRate_ms Value of the PacketMinRate_ms parameter in ms
(0 deactivated, 1-65535)
WORD DisconnectTimeout_ms Value of the DisconnectTimeout_ms parameter in ms
(1-65535, 0 forbidden)

Rem about the Mode parameter:

Connection to a Link+ : Modes 1 and 2 are available


Connection to a Pump (without a Link+) : only Mode 1 is available
Connection to a Pump (through a Link+) : only Mode 2 is available

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 21
FRAME ID: 0xF0 – Opening/closing a communication session (DEVICE ➔ HOST)

Injectomat / Volumat / Link+ (version id=0x12):


TYPE Name Description
BYTE Mode 00 : Acknowledge for Closing the session
01 : Session opened in Full duplex mode
02 : Session opened in Half duplex mode
BYTE HostWindow Size of the “window” of messages taken into account for the Host(1-126)
BYTE DeviceWindow Size of the “window” of messages taken into account for the device (1-126)

With the COMM2004 protocol, the device must acknowledge all the frames sent by the host but the acknowledgement
does not imply that the command is processed. The NOP frame (flush) can be used to solve this problem. When the host
sends a frame to the device, the device replies with the same frame. So, if the host sends a frame that contains a request
and just after it sends a NOP frame, it can be sure that the request has been processed by the device at the moment
where it receives the same NOP frame from the device.

FRAME ID: 0x71 – Request for NOP (HOST ➔ DEVICE)

TYPE Name Description


DWORD dwID Arbitrary ID

FRAME ID: 0xF1 – Reply for NOP (DEVICE ➔ HOST)

TYPE Name Description


DWORD dwID Same arbitrary ID as those of the 0x71 frame sent by the host

FRAME ID: 0xFF– NACK (DEVICE ➔ HOST)

TYPE Name Description


BYTE FrameNo Number of the frame that has been refused
WORD ErrorCode Error Code (see 4.8 Error Codes)
DWORD AddData Additional data corresponding to the error description.
BYTE(N) Frame Copy of the packet which has been refused (until the NACK frame is full)

The NACK frame is sent by the device for different reasons:


- The frame format is not correct
- The command cannot be processed (bad parameters, command incompatible with the device state,…)

22 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.4 Device status

4.4.1 Device status Common


According to the configuration, the device sent the Device status frame cyclically and/or if a parameter of the frame has
changed. This spontaneous emission stops as soon as a communication session is opened and restarts when the
session is closed.
When no session is opened, the Device status frames are sent without acknowledge with a frame number set to 0.
In case of a clustered architecture, a concentrator is used to transmit the frames of all the devices to the host.
The Device status frames are always sent even if the device is switched off but still plugged to the main supply. If the
device is switched off and not plugged to the main supply, there is no more communication.

FRAME ID: 0x00 – Request for Device status information (HOST ➔ DEVICE)

TYPE Name Description


BYTE byMinDuration Value of the byMinDuration parameter (see below)
BYTE byMaxDuration Value of the byMaxDuration parameter (see below)

The parameters byMinDuration and byMaxDuration are used to specify a cyclical sending of frames (see below).

Note : If the frame is sent to the device without parameter, information are immediately
received through a Device status frame (Frame ID: 0x80).

byMinDuration and byMaxDuration parameters are timing parameters defined in seconds or milliseconds depending on
the range of the value.

49 < byMinDuration or byMaxDuration < 100 in tens of ms (range: 500-990ms)


100 =< byMinDuration or byMaxDuration < 255 in s (range: 1-155s)
byMinDuration or byMaxDuration = 255 transmitted only once (no periodic transmission)

Note : byMinDuration has no effect on the Link+


byMaxDuration has no effect on the Link+
The Link+ does not send frames on event/time basis.

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 23
Different combinations are possible with these 2 parameters:

MinDuration MaxDuration Description

0 0 Stop the periodic and event transmission

for Frame ID 0x00 ONLY


1 50-254 Transmission of all events
And Transmission when MaxDuration has elapsed (refresh)

1 255 for Frame ID 0x00 ONLY


Transmission of all events only
50-254 == 50-254 Periodic transmission

Transmission
50-254 < 50-254 - if an event occurs and if MinDuration is elapsed
In any case, transmission if MaxDuration elapsed

Transmission
50-254 255 - if an event occurs
- and if MinDuration is elapsed
255 255 Immediate transmission

Any other combination Forbidden

24 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.4.2 Device status Link+

FRAME ID: 0x80 – Device status information (DEVICE ➔ HOST) for Agilia Link+ (all version ID)
TYPE Name Description
BYTE Device Version ID:
0x02 : Link+ (old version)
0x12 : Link+ (new version with Alarm Management)
STRING(4) Version Version of the boot
STRING(4) Version Version of the application
STRING(16) SerialNo Serial number
BYTE Mode 0xFF for boot
0x02 for application
BYTE NbSlots Number of slots
WORD PresentDevices Bitfield defining the device presence, i.e. bit0 = Slot1, bit7 = Slot8
WORD Reserved Reserved = 0x00
WORD AlarmActive Bitwise definition of active alarms
i.e.
An alarm on Slot1 device sets bit0.
An alarm on Slot2 device sets bit1.
Etc…
BYTE Reserved Reserved = 0x00
BYTE Reserved Reserved = 0x00
BYTE Reserved Reserved = 0x00

Note on Alarmactive:
If an alarm on the device is set and the device is “beeping”, then the rack will set the corresponding bit to 1.
If an alarm on the device is set and the device is not “beeping” (because of SILAL key pressed), then the rack will set the
corresponding bit to 0.

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 25
4.4.3 Device status Pump

FRAME ID: 0x80 – Device status information (DEVICE ➔ HOST) for Agilia SP / Agilia VP

In the Pump status frame, there is a principle of optional data : “subID”.

There is :
- Always a first block of data giving general information about the device.
- depending on Device value (see 4.4.3.1), subDevice
Optional subID(’s) with specific information,
value (see 4.4.3.2.4) and Device state.

4.4.3.1 First Block of Data

TYPE Name Description


BYTE Device Type of device:
0x43 : Agilia SP Range
0x46 : Agilia VP Range
STRING(4) Version Version of the application: ex. “031A” means 3.1A
STRING(16) SerialNo Serial number
BYTE SilAlCnt Number of use of the Silence Alarm (SILAL) button
Always 0 in case of a device in idle mode (spontaneous frame)
DWORD Time Internal date and time (number of seconds elapsed since the 01/01/1970)
BYTE OperMode Functional Mode
01: idle mode: device in idle mode and connected to the main supply
02: ON: device switched on
BYTE StepStatus Actual step of the device (see below)
WORD SummaryStatus Condensed Status of the device: (see below)
BYTE SubIdSize Size of the following SubId (Identifier + Data) ( 0 = no subID)
BYTE SubId SubId Indentifier (see next chapter)
BYTE Data SubId Data
(SubIdSize-1)

26 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
Value hex StepStatus Description
Applicable to both Agilia SP and Agilia VP, except when indicated
00 Other (configuration menu User, Ward, Maintenance)
01 Agilia SP: Syringe selection
Agilia VP: Initial alarm display
02 Agilia SP: Wait for prime (mandatory or recommended prime)
03 Flow rate selection (while infusion stopped)
Agilia SP: PCA – PCA programming (while infusion stopped)
83 Flow rate selection (while infusion in progress)
Agilia SP: PCA – PCA programming (while infusion in progress)
04 Drug selection
05 Agilia SP: Volume/time programming defined in the drug
06 loading dose selection
07 waiting for loading dose launching
08 programmed bolus selection, infusion not in progress
88 programmed bolus selection, infusion in progress
09 waiting for programmed bolus start, infusion not in progress
89 waiting for programmed bolus launching, infusion in progress
0B Agilia VP: Secondary Drug Selection
0D Waiting before lnfusion start
0F Menu (infusion stopped)
8F Menu (infusion in progress)
10 Infusion
11 Simple bolus during stop
91 Simple bolus during infusion
13 Prime
14 Agilia VP: Air Purge
15 Agilia VP: Occlusivity Control
20 Stop
21 Occlusion
22 KVO1 infusion
23 Error
24 Pause
30 Booting steps (from “displaying info” to “syringe selection’’/” Initial alarm display”)
32 Warning screen at start
40 Agilia SP: PCA - Loading Dose Stop
41 Agilia SP: PCA - Loading Dose Selection
C0 Agilia SP: PCA - Loading Dose Infusion

1 KVO (Keep Vein Opened): a minimal infusion flow rate can be maintained to avoid a vein occlusion caused by the blood coagulation.
CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 27
42 Agilia SP: PCA - Waiting for Patient Bolus
FF Unknown

Bit x SummaryStatus Description


Applicable to both Agilia SP and Agilia VP
Bit 0 Beep for information, pre-alarms, alarms, error or non-validating activated
Bit 1 alarm present
Bit 2 pre-alarm present
Bit 3 information present
Bit 4 infusion in progress (except purge)
Bit 5 plugged to the main supply
Bit 6 Silence Logo displayed
Bit 7 Red Leds ON
Bit 8 Red Leds Blinking
Bit 9 Yellow Leds Blinking
Bit 10 Yellow Leds Blinking or ON
Bit 11 Sound : 1 (melody) or 0 (beeps)
Bit 12 Alarm silence logo displayed when sound is muted indefinitely, always set to
0 if bit 6 is set to 0
Bit 13-15 Always 0

28 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.4.3.2 SubIds

4.4.3.2.1 SubId 0x01 Patient

TYPE Name Agilia SP Agilia VP


SubId 01: Patient
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId Patient SubIDd= 01
DWORD Weight Patient weight
0 : unknown Always 0
Unit: gram
WORD Age Patient age
0 : unknown Always 0
Unit : month (12 to 1800)
BYTE Gender Patient gender
0 : unknown
Always 0
1 : male
2 : female
WORD Height Patient height
0 : unknown Always 0
Unit : centimeter
WORD Bsa Patient Body Surface:
0 : unknown
Unit : 1/1000 of squaremeter

Nota: This packet is present only of at least one of the parameters is different from zero.

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 29
4.4.3.2.2 SubId 0x02 Infusion

TYPE Name Agilia SP Agilia VP


SubId 02: Infusion
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId Infusion SubIDd= 02
BYTE InfusMode Infusion Mode ( See below )
DWORD FlowRate Current real flow rate (1/1000 units).
0 if infusion stopped, or if occlusion release
Units : depends on device operating mode
UNIT FlowRateUnit Flow rate unit : ml/h or doserate (depends on device operating mode)
WORD Pressure Pressure (in mmHg, whatever the PressureUnit)
BYTE PressureUnit 0 : mmHg / 1 : kPa / 2 : PSI
DWORD LeftVolume Volume left in the syringe Volume left in the primary infusion,
FFFFFFFFh : unknown even if secondary infusion is active.
(to be infused, 1/1000 ml) (to be infused, 1/1000 ml)
DWORD UserVolume Infused volume (1/1000 ml). Infused volume (1/1000 ml).
This value is reset to 0 after reaching 999999 or This value is reset to 0 after
from the Agilia SP menu. reaching 9999999 or from the Agilia
This volume could be decreased during occlusion VP menu.
release. This volume could be decreased
during occlusion release.
FFFFFFFFh if secondary volume
infusion option is on. (see SubId09h)
DWORD UserMass Mass infused (1/1000 unit).
0 if not in dose rate mode.
If UserMass>=MAX_DWORD, the prefix unit is updated and value is /1000.
UNIT UserMassUnit Unit of the mass infused.
0 if not in dose rate mode.
DWORD RemainDur Remaining infusion duration in Remaining primary infusion duration, current
Volume/Time mode or remaining phase remaining duration in sequence mode or
pause duration if pause in progress remaining pause duration if pause in progress (s)
(s), set to FFFFFFFFh otherwise

30 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
Infusion Agilia SP Agilia VP
Mode
01 Basic Infusion Volume/time

02 Volume/Time Volume/rate
03 Simple Bolus Time/rate
04 Prime Volume/time/rate
05 Manual Bolus Rate
06 n/a Drops/minute
07 Loading Dose Simple bolus
08 Programmed Bolus Secondary
09 TCI Loading dose
10 PCA - Loading Dose Programmed bolus
11 PCA - Patient Bolus Ramp
12 PCA - Doctor Bolus Sequence
13 PCA - Basic Infusion (XmL/h with or w/o Patient Bolus enabled) Air prime
14 PCA - Patient Bolus only (no Basic Infusion: 0mL/h) Prime Set
15 PCA - Sequence Infusion (with or w/o Patient Bolus enabled) n/a

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 31
4.4.3.2.3 SubId 0x04 TCI

TYPE Name Agilia SP


SubId 04: TCI
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId TCI SubIDd= 04
DWORD Plasma Current Plasma Concentration (1/1000 units)
DWORD Effect Current Effect Concentration (1/1000 units)
DWORD Target Target Concentration (1/1000 units)
UNIT Unit Target, Effect and Plasma concentration unit
BYTE TciMode Tci Mode:
01: Plasma
02: Effect

Nota : This packet is present only if the TCI mode is active

4.4.3.2.4 SubId 0x05 Device


TYPE Name Agilia SP Agilia VP
SubId 05: Device
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId Device SubIDd= 05
BYTE SubDevice SubDevice identifier
0x00: Agilia SP
0x20: Agilia SP MC
SubDevice identifier
0x21: Agilia SP MC WIFI
0x00: Agilia VP
0x40: Agilia SP TIVA
0x20: Agilia VP MC
0x41: Agilia SP TIVA WIFI
0x21: Agilia VP MC WIFI
0x60: Agilia SP PCA
0x61: Agilia SP PCA WIFI
0x70: Agilia ProNeo

32 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.4.3.2.5 SubId 0x06 Alarm

TYPE Name Agilia SP Agilia VP


SubId 06: Alarm
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId Alarm SubIDd= 06
DWORD Alarm Bit 0: end of limit volume Bit 0: clamp missing
Bit 1: end of volume/time Bit 1: end of infusion
Bit 2: end of infusion Bit 2: end of secondary infusion
Bit 3: battery Bit 3: battery
Bit 4: occlusion Bit 4: downstream occlusion
Bit 5: syringe clamp Bit 5: door opened
Bit 6: flange Bit 6: set not detected by pressure
Bit 7: plunger head downstream sensor
Bit 8: disengagement Bit 7: set not detected by upstream
Bit 9: always 0 pressure sensor
Bit 10: force sensor Bit 8: set not installed correctly
Bit 11: PCA - Protective Cover missing Bit 9: upstream occlusion
Bit 12: PCA - Protective Cover not locked Bit 10: empty bag (upstream pressure)
Bit 13: PCA - Max Volume Infused Bit 11: uncontrolled flow
Bit 14: PCA - Max Dose Infused Bit 12: no drop
Bits 15-31: Always 0: Bit 13: under flow detected by drop sensor
Bit 14: over flow detected by drop sensor
Bit 15: absence of drop sensor
Bit 16: drop sensor has been connected
during infusion
Bit 17: Air Detection
Bit 18: Air (air volume exceeded limit)
Bit 19: Air Sensor Defective
Bits 20-31: Always 0
WORD PreAl Bit 0: end of limit volume
Bit 1: end of volume/time
Bit 2: end of infusion
Bit 3: battery Bit 0: Always 0
Bit 4: occlusion Bit 1: end of infusion
Bit 5: PCA - Patient Handset missing Bit 2: Always 0
Bit 6: PCA - Presence of Protective Cover Bit 3: battery
Bit 7: PCA - Max number of Patient Boluses Bit 4: occlusion
Bit 8: PCA - Max Dose Infused Bits 5-15: Always 0
Bit 9: PCA - Protective Cover not locked
Bits 10-15: Always 0:

DWORD Indic Bit 0: end of Volume Limit KVO Bit 0: occlusivity control (OCS test) not
Bit 1: end of Volume/Time KVO compliant
Bit 2: empty syringe mode Bit 1: end of infusion KVO
bit 2: drop sensor present

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 33
DWORD Indic Bit 3: Mains unplugged
Bit 4: Pressure Rise
Bit 5: Pressure Down
Bit 6: verrouillage clavier
Bit 7: keyboard locked, available in idle mode
Bit 8: flow rate low
Bit 9: flow rate high
Bit 10: loading dose low
Bit 11: loading dose high
Bit 12: Infusion start delayed after end of PAUSE
Bit 13: Weak Battery
Bit 14: TCI - concentration low
Bit 15: TCI - concentration high
Bit 16: non validation while waiting
Bit 17: non validation when no action
Bit 18: non validation when choosing value
Bit 19: Device Temperature High, available in idle mode
Bit 20: programmed bolus dose low
Bit 21: programmed bolus dose high
Bit 22: keyboard locked screen
Bit 23: no Alarm report on Link+
Bit 24: mains fluctuation, available in idle mode
DWORD Indic Bit 25: PCA – End of Doctor Bolus with Max Bit 24: mains supply oscillation
Dose Infused Bit 25: clinical information
Bit 26: clinical information Bit 26-31 : always à 0
Bit 27: end of clinician bolus with maximum
cumulated dose alarm in progress (PCA
only)
Bit 28-31 : always à 0
BYTE Error If value !=0, then Technical Error
WORD ErrorStatus If Technical Error, then Complementary Information for Technical Error

Nota : This packet is present in Idle mode only if : an Error is active, or if an Indication is active and is also available in
Idle mode.

4.4.3.2.6 SubId 0x07 Drug

TYPE Name Agilia SP Agilia VP


SubId 07: Drug
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId Drug SubIDd= 07
STRING(25) DrugName DrugName, empty string if “Drug X (dose)” is selected.
DWORD Dilution Drug dilution (1/1000 units). 0 if no drug is selected or no dilution defined
UNIT DilutionUnit Dilution unit. 0 if no drug is selected.
WORD VolDilution Volume associated to the dilution (ml). 0 if no drug is selected.

34 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.4.3.2.7 SubId 0x08 Syringe

TYPE Name Agilia SP


SubId 08: Syringe
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId Syringe SubIDd= 08
BYTE SyringSize Syringe Size in cc
STRING(20) SyringeName Syringe name, or empty string if no syringe is selected

4.4.3.2.8 SubId 0x09 Secondary

TYPE Name Agilia VP


SubId 09: Secondary
BYTE SubIdSize Size of the data from the <SubId> field to the end of the block.
BYTE SubId Secondary SubIDd= 09
DWORD LeftVolumeSec Secondary Volume Remaining To Be Infused (1/1000ml)
DWORD UserVolumePri Primary Volume Infused (1/1000ml)
This value is reset to 0 after the value has reached 9.999.999 or if the infused
volume has been reset from the keyboard. This volume could be decreased
during occlusion release.
DWORD UserVolumeSec Secondary Volume Infused (1/1000ml)
This value is reset to 0 after the value has reached 9.999.999 or if the infused
volume has been reset from the keyboard. This volume could be decreased
during occlusion release.
DWORD RemainDurSec Remaining secondary infusion duration or remaining pause duration if pause
in progress (s)

Nota : This packet is present only if Secondary Infusion is activated

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 35
4.5 Device information
The following frame is used to retrieve the device version.

FRAME ID : 0x40 – Request for device information (HOST ➔ DEVICE)

TYPE Name Agilia SP / VP


BYTE DataId DataId = 1

The following frame is sent by the device.

FRAME ID : 0xC0 – Device information (DEVICE ➔ HOST)

TYPE Name Agilia SP / VP


BYTE Size Size of the data (<DataId> + <Data>), 0 if last data
BYTE DataId Id of the Data
ABYTE (Size – 1) Data Data

For the Pumps:


< Data > field contains:

Data ID-01: Identification of the application

TYPE Name Agilia SP / VP


DATETIME Create Creation date/time of the application
DWORD CRC32 CRC (32 bits) of the application
STRING(4) Version Version of the application

For the Link+ (id=0x12)


< Data > field contains:

Data ID-01: Identification of the application


TYPE Name Description
Version of the application

Example:
STRING(32)
Version “3.0 / BW_rel_D16”

“Commercial Version / Internal Version”

36 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.6 Additional infusion information

4.6.1 Advanced data infusion reading


The following frame can be sent by the host to the device to get advanced infusion data such as bolus volumes (simple,
manual, programmed, loading dose) and infused volume.

The values in these frames shall not be used when the pump is in idle mode.

FRAME ID: 0x5F – Request for advanced infusion data (HOST ➔ DEVICE)

TYPE Name Agilia SP / VP


BYTE DataID requested dataID (see 4.6.2)
BYTE MinDuration Value of the MinDuration parameter (see Frame Id 0x00 above)
BYTE MaxDuration Value of the MaxDuration parameter (see Frame Id 0x00 above)

Note : If this frame is sent without parameter, no reply is sent by the device and all
spontaneous frames ID 0x5F are no more sent.

In response to this frame the following frame is sent by the device to the host:

FRAME ID: 0xDF – Advanced infusion data (DEVICE ➔ HOST)

TYPE Name Agilia SP / VP


DWORD SampleTime Creation date of the frame by the device
Unit : 10ms
BYTE Size Size of the data, from <DataID> to < Data > (including optional data if
provided)
0 to indicate the end of the emission of data (in this case, DataID and
Data are missing)
The number of parameters to decode depends on this size information.
(no other way to detect optional data in the DF frames)
BYTE DataID ID of Data ( see 4.6.2 )
BYTE(Size-1) Data Data associated to Id ( see 4.6.2 )

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 37
4.6.2 List of DataId
4.6.2.1 Flowrate

TYPE Name Agilia SP / VP


BYTE DataID Id Flowrate 0x07
SDWORD Flowrate Value of the flowrate (1/1000 ml/h)
0 if infusion is stopped, negative value when releasing an Occlusion

4.6.2.2 Infused Volume


TYPE Name Agilia SP / VP
BYTE DataID Id Infused Volume 0x0C
DWORD Data Value of the infused volume (1/1000 ml)
Optional Data:
DWORD Mass Total infused mass, 1/1000 unit
UNIT MassUnit Total infused mass unit

4.6.2.3 Manual Bolus


TYPE Name Agilia SP
BYTE DataID ID Manual Bolus: 0x0E
DWORD VolBolus Infused volume for manual bolus
Starts from 0 for each new manual bolus
DWORD VolTot Infused volume for manual bolus, 1/1000 ml
Optional Data:
DWORD Mass Infused mass for manual bolus, 1/1000 unit.
Starts from 0 for each new manual bolus
UNIT MassBolusUnit Mass unit

A manual bolus is a forbidden operation which consists in pushing the plunger manually.

4.6.2.4 Simple Bolus


TYPE Name Agilia SP / VP
BYTE DataID ID Simple Bolus: 0x10
DWORD Flowrate Simple Bolus flowrate, 1/1000 ml/h
DWORD Volume Infused volume for simple bolus, 1/1000 ml
Starts from 0 for each new Simple Bolus
Optional Data:
DWORD Mass Infused mass for Simple Bolus, 1/1000 unit
Starts from 0 for each new Simple Bolus
UNIT MassBolusUnit Mass unit

A simple bolus is done by pressing the bolus key on the device.

38 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.6.2.5 Loading Dose and PCA Loading Dose

TYPE Name Agilia SP / VP


BYTE DataID ID Loading Dose: 0x4D
DWORD FlowRate Infusion flowrate, nl/h
DWORD VolToInfus Remaining volume to infuse, 1/1000 ml
DWORD VolDefault Default Volume
Last Volume selected before Loading Dose start, 1/1000 ml
DWORD Duration Remaining infusion duration, s
Optional Data:
DWORD MassToInfus Remaining mass to infuse, 1/1000 unit
UNIT MassToInfusUnit Mass unit
DWORD MassDefault Default Mass
Last Mass selected before Loading Dose start, 1/1000 unit

4.6.2.6 Programmed Bolus

TYPE Name Agilia SP / VP


BYTE DataID ID Programmed Bolus: 0x4E
DWORD FlowRate Infusion flowrate, nl/h
DWORD Volume Remaining volume to infuse, 1/1000 ml
DWORD VolDefault Default Volume
Last Volume selected before Prog. Bolus start, 1/1000 ml
DWORD Duration Remaining infusion duration, s
Optional Data:
DWORD MassToInfus Remaining mass to infuse, 1/1000 unit
UNIT MassToInfusUnit Mass unit
DWORD MassDefault Default Mass
Last Mass selected before Prog. Bolus start, 1/1000 unit

4.6.2.7 PCA – Therapeutic Mode

TYPE Name Agilia SP PCA


BYTE DataID ID Therapeutic Mode: 0x76
BYTE Therapeutic Mode 1: “Regular” Infusion Mode
2: PCA Infusion Mode

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 39
4.6.2.8 PCA – Sequence Flowrate

TYPE Name Agilia SP PCA


BYTE DataID ID Sequence Flowrate: 0x7A
DWORD FlowRate Current Sequence Flowrate, 1/1000 mL/h
0 if Therapeutic Mode is not PCA
DATETIME EndPhase Current Sequence End Time
0 if Therapeutic Mode is not PCA
Optional Data:
DWORD MassFlow Current Sequence DoseRate, 1/1000 Unit
UNIT MassFlowUnit Current Sequence DoseRate unit

4.6.2.9 PCA – Patient Bolus

TYPE Name Agilia SP PCA


BYTE DataID ID Patient Bolus: 0x7B
DWORD FlowRate Infusion flowrate, 1/1000 mL/h
DWORD VolToInfuse Remaining volume to infuse, 1/1000 mL
DWORD VolDefault Default Volume
Last Volume selected during Programming, 1/1000 mL
DWORD Duration Remaining infusion duration, s
Optional Data:
DWORD MassToInfus Remaining mass to infuse, 1/1000 unit
UNIT MassToInfusUnit Mass unit
DWORD MassDefault Default Mass
Mass selected during Programming, 1/1000 unit

4.6.2.10 PCA – Doctor Bolus

TYPE Name Agilia SP PCA


BYTE DataID ID Patient Bolus: 0x7C
DWORD FlowRate Infusion flowrate, 1/1000 mL/h
DWORD VolToInfuse Remaining volume to infuse, 1/1000 mL
DWORD VolDefault Default Volume
Last Volume selected before starting Bolus, 1/1000 mL
DWORD Duration Remaining infusion duration, s
Optional Data:
DWORD MassToInfus Remaining mass to infuse, 1/1000 unit
UNIT MassToInfusUnit Mass unit
DWORD MassDefault Default Mass
Mass selected before starting Bolus, 1/1000 unit

40 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.7 IP Address
The following frame is used to retrieve the Link+ IP address.

The following frame is only available for Link+, Version ID 0x12, Software Version >= BW_rel_D8

FRAME ID : 0x64 – Request for IP adress (HOST ➔ DEVICE)

TYPE Name Description


BYTE DataId DataId = 1

Frame example:
64 01 01

FRAME ID : 0xE4 – IP address (DEVICE ➔ HOST)

TYPE Name Description


STRING(15) Value IP address (“###.###.###.###”)

If the Link+ is configured in DHCP mode, the returned value is unknown, unless the Link+ has access to a DHCP
Server.

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 41
4.8 Error Codes
Here is the list of all the possible error codes:

Error
Error Type Description
Code
01h ERRCLOSE Communication session not opened
02h ERROPEN Communication session already opened
03h ERRID Frame ID unknown
04h ERRIDMODE Frame ID not allowed in the current functional mode
05h ERRIDSTATE Frame ID not allowed in the current state of the device
06h ERRFUNCID Function ID unknown
07h ERRFUNCMODE Function ID not allowed in the current functional mode
08h ERRFUNCSTATE Function ID not allowed in the current state of the device
09h ERRDATAID Data ID unknown
0Bh ERRMODE Incorrect requested functional mode
0Ch ERRSIZE Incorrect packet size
0Dh ERRSUBSIZE Incorrect sub-packet size
0Eh ERRZONEID Incorrect Zone ID
0Fh ERRPARID Incorrect Parameter ID
10h ERRPARINDEX Incorrect index of an element in an array of parameters
11h ERRLIMIT Incoherent or out-of-limits packet parameter
12h - Unused
13h ERRALARM Alarm present
14h - Unused
15h ERRSPONT Spontaneous emission not possible
16h – 19h - Error codes used by Boot
1Ah - Unused
1Bh ERRPARSUBSIZE Incorrect sub-parameter size in a parameter with a variable length
1Ch ERRPARNOSUB Missing sub-parameter set in a parameter
1Dh – 25h - Unused
26h - Error code used by Boot
27h – 28h - Unused

42 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
4.9 Types of variables

TYPE Size of (type)


BYTE / ABYTE 8 bits (unsigned)
SBYTE 8 bits (signed)
WORD / AWORD 16 bits (unsigned)
SWORD 16 bits (signed)
DWORD 32 bits (unsigned)
SDWORD 32 bits (signed)
QWORD 64 bits (unsigned)
STRING(n) 8n bits
VSTRING(n) 8n bits
UNIT 16 bits (see 3.2.1 Units
Encoding for definition)
DATETIME 32 bits (see 3.2.2 Dates for
definition)

Note :
STRING: the first character can be an escape code defining the string encoding. By default, a STRING is encoded in
CP1252 but other codepages are possible. The list below is not exhaustive.
VSTRING are string with variable size length. The parameter is the maximum size length. The difference is about the
memory footprint.
Example:
VSTRING(30) Name = “dupont\0”, strlen(Name) == 7.
STRING(30) Name, strlen(Name) == 30

01h: CP1251
02h: CP1252
03h: CP1253
04h: CP1254
05h: CP1255
06h: CP1256
07h: CP1257
08h: CP1259
10h: CP1250
11h: CP874

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 43
5. Example
The following example shows:
1- Connection
2- Packet MinRate Frames
3- Subscribe to events (frame ID 0x00)
4- Start a Direct Bolus
5- Stop Direct Bolus
6- Disconnection

Convention: (PUMP) = Message from Pump

Connection Request
08:54:23,9304150 - 1B 41 00 00 0B 4F 70 01 08 08 00 0B B8 27 10 FD E8 AD 77
Connect(mode=0x01, window=8/8, PacketRepeatTimeout=3000, PacketMinRate=10000, DisconnectTimeout=65000)

(PUMP) Connection Ack


08:54:23,9501313 - 1B 41 00 00 04 0E F0 02 08 08 C6 94
Connect(mode=0x02, window=8/8, PacketRepeatTimeout=3000, PacketMinRate=10000, DisconnectTimeout=65000)

NOP Request
08:54:23,9508927 - 1B 41 01 00 05 FB 71 00 00 00 29 D5 BD

(PUMP) NOP Answer


08:54:24,1826056 - 1B 41 01 01 05 3F F1 00 00 00 29 0B BC

Empty Frame (used as ACK)


08:54:24,1863022 - 1B 41 00 01 00 AB

Empty Frame - Packet MinRate


08:54:34,1854627 - 1B 41 00 01 00 AB

(PUMP) Empty Frame - Packet MinRate


08:54:34,2361860 - 1B 41 00 01 00 AB

Register 0x00 – Events Only


08:54:38,7528209 - 1B 41 02 01 03 06 00 01 FF D0 41

44 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
(PUMP) Current Status – 0x80
08:54:38,8383078 - 1B 61 02 02 62 18 80 43 30 32 32 20 5A 30 31 38 37 39 32 2F 32 32 38 36 30 30 36 36 00 5B E2
B6 89 02 10 08 30 19 02 01 00 00 04 4C 06 50 00 0E 00 00 00 BE 67 00 00 04 17 00 00 00 00 00 00 05 21 0E 06 00 00
00 00 00 00 00 00 00 00 00 00 00 16 08 32 49 6E 6A 65 63 74 6F 6D 61 74 20 53 70 72 2E 00 00 00 00 00 63 36
(0x43 Connect SP)(Ver 022 )(Serial Z018792/22860066)(OperMode ON)(StepSts: 0x10 - Infusion)(SumSts: 0x830)
[SubId] subSize 0x19
[SubId] Id 0x2
[SubId 0x2] InfusMod Basic infusion, LeftVol 48743, 1.1mL/h
[SubId] subSize 0x2
[SubId] Id 0x5
[SubId 0x5] bsubDevice MC WiFi (0x21)
[SubId] subSize 0xe
[SubId] Id 0x6
[SubId 0x6] Alarm 0x0
[SubId] subSize 0x16
[SubId] Id 0x8
[SubId 0x8] Alarm
[SubId] subSize 0x0

Empty Frame (used as ACK)


08:54:38,8675012 - 1B 41 00 02 00 FE

(PUMP) Start Direct Bolus 1/2


08:54:39,8669735 - 1B 61 03 02 62 B3 80 43 30 32 32 20 5A 30 31 38 37 39 32 2F 32 32 38 36 30 30 36 36 00 5B E2
B6 8E 02 91 08 30 19 02 03 00 00 04 4C 06 50 00 0D 00 00 00 BE 67 00 00 04 18 00 00 00 00 00 00 02 05 21 0E 06 00
00 00 00 00 00 00 00 00 00 00 00 00 16 08 32 49 6E 6A 65 63 74 6F 6D 61 74 20 53 70 72 2E 00 00 00 00 00 BA 10
(0x43 Connect SP)(Ver 022 )(Serial Z018792/22860066)(OperMode ON)(StepSts: 0x91 - Simple bolus since
infusion)(SumSts: 0x830)
[SubId] subSize 0x19
[SubId] Id 0x2
[SubId 0x2] InfusMod Simple Bolus, LeftVol 48743, 1.1mL/h
[SubId] subSize 0x2
[SubId] Id 0x5
[SubId 0x5] bsubDevice MC WiFi (0x21)
[SubId] subSize 0xe
[SubId] Id 0x6
[SubId 0x6] Alarm 0x0
[SubId] subSize 0x16
[SubId] Id 0x8
[SubId 0x8] Alarm
[SubId] subSize 0x0

Empty Frame (used as ACK)


08:54:43,9879124 - 1B 41 00 03 00 3A

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 45
(PUMP) Start Direct Bolus 2/2
08:54:43,9879879 - 1B 61 04 02 62 C9 80 43 30 32 32 20 5A 30 31 38 37 39 32 2F 32 32 38 36 30 30 36 36 00 5B E2
B6 8E 02 91 08 30 19 02 03 00 03 0D 40 06 50 00 0D 00 00 00 BE 67 00 00 04 18 00 00 00 00 00 00 02 05 21 0E 06 00
00 00 00 00 00 00 00 00 00 00 00 00 16 08 32 49 6E 6A 65 63 74 6F 6D 61 74 20 53 70 72 2E 00 00 00 00 00 77 C5
(0x43 Connect SP)(Ver 022 )(Serial Z018792/22860066)(OperMode ON)(StepSts: 0x91 - Simple bolus since
infusion)(SumSts: 0x830)
[SubId] subSize 0x19
[SubId] Id 0x2
[SubId 0x2] InfusMod Simple Bolus, LeftVol 48743, 200mL/h
[SubId] subSize 0x2
[SubId] Id 0x5
[SubId 0x5] bsubDevice MC WiFi (0x21)
[SubId] subSize 0xe
[SubId] Id 0x6
[SubId 0x6] Alarm 0x0
[SubId] subSize 0x16
[SubId] Id 0x8
[SubId 0x8] Alarm
[SubId] subSize 0x0

Empty Frame (used as ACK)


08:54:44,0490399 - 1B 41 00 04 00 54

(PUMP) Stop Direct Bolus 1/2


08:54:45,0482602 - 1B 61 05 02 62 62 80 43 30 32 32 20 5A 30 31 38 37 39 32 2F 32 38 36 30 30 36 36 00 5B E2 B6 95
02 10 08 30 19 02 01 00 03 0D 40 06 50 00 0A 00 00 00 BC E3 00 00 05 7E 00 00 00 00 00 00 02 05 21 0E 06 00 00 00
00 00 00 00 00 00 00 00 00 00 16 08 32 49 6E 6A 65 63 74 6F 6D 61 74 20 53 70 72 2E 00 00 00 00 00 F2 9B
(0x43 Connect SP)(Ver 022 )(Serial Z018792/22860066)(OperMode ON)(StepSts: 0x10 - Infusion)(SumSts: 0x830)
[SubId] subSize 0x19
[SubId] Id 0x2
[SubId 0x2] InfusMod Basic infusion, LeftVol 48355, 200mL/h
[SubId] subSize 0x2
[SubId] Id 0x5
[SubId 0x5] bsubDevice MC WiFi (0x21)
[SubId] subSize 0xe
[SubId] Id 0x6
[SubId 0x6] Alarm 0x0
[SubId] subSize 0x16
[SubId] Id 0x8
[SubId 0x8] Alarm
[SubId] subSize 0x0

Empty Frame (used as ACK)


08:54:50,5357608 - 1B 41 00 05 00 90

46 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
(PUMP) Stop Direct Bolus 2/2
08:54:50,5357852 - 1B 61 06 02 62 86 80 43 30 32 32 20 5A 30 31 38 37 39 32 2F 32 32 38 36 30 30 36 36 00 5B E2 B6
95 02 10 08 30 19 02 01 00 00 04 4C 06 50 00 0A 00 00 00 BC E3 00 00 05 7E 00 00 00 00 00 00 02 05 21 0E 06 00 00
00 00 00 00 00 00 00 00 00 00 00 16 08 32 49 6E 6A 65 63 74 6F 6D 61 74 20 53 70 72 2E 00 00 00 00 00 3F 4E
(0x43 Connect SP)(Ver 022 )(Serial Z018792/22860066)(OperMode ON)(StepSts: 0x10 - Infusion)(SumSts: 0x830)
[SubId] subSize 0x19
[SubId] Id 0x2
[SubId 0x2] InfusMod Basic infusion, LeftVol 48355, 1.1mL/h
[SubId] subSize 0x2
[SubId] Id 0x5
[SubId 0x5] bsubDevice MC WiFi (0x21)
[SubId] subSize 0xe
[SubId] Id 0x6
[SubId 0x6] Alarm 0x0
[SubId] subSize 0x16
[SubId] Id 0x8
[SubId 0x8] Alarm
[SubId] subSize 0x0

Empty Frame (used as ACK)


08:54:50,5912931 - 1B 41 00 06 00 C5

Deconnection request
08:54:58,0867302 - 1B 41 03 06 0B 01 70 00 00 00 00 0B B8 00 00 FD E8 7F 4B

(PUMP) Deconnection ACK


08:54:58,1089703 - 1B 41 00 03 04 5B F0 00 08 08 06 35

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 47
6. Local contacts for servicing

48 CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol
This document may contain inaccuracies or typographical errors.
Modifications may therefore be made and will be included in later editions.
Due to changing standards, legislation and material, the characteristics indicated by the text and the images of this
document are applicable only for the device that it accompanies.
This document may not be reproduced in whole or in part without the written consent of Fresenius Kabi.
Agilia® is a registered trademark by Fresenius Kabi in selected countries.

Fresenius Kabi AG
D-61346 Bad Homburg
Marking in conformity to the
Germany essential requirements of the
www.fresenius-kabi.com 93/42/CEE directive.

CC9554-4_V2Y_SPEC_SW_Serial_Export_Protocol 49

You might also like