注册登录才能更好的浏览或提问。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Serial Communication Protocol (V1.7 & 2.x) General Description The Abacus/Arcus software is able to make serial connection link to a receiver device (e.g. computer) which is connected to the serial port. If the Baud Rate setting in the Service Menu is set to a valid value (other than Not Connected), the instrument will try to initiate a communication sequence. The serial communication is always initiated by Abacus/Arcus, and the receiver must respond to this. The hardware protocol: 8 data bit, 1 stop bit, no parity. If the other side is not responding in 1 second, the instrument will repeat the transmission twice, but if still no response, the other side will be supposed to be not ready to receive data, and thus Abacus/Arcus will not try to communicate any more. From this state it can wake up by receiving an <ENQ> (ASCII code 5) character from the other side, and the instrument will immediately respond an <ACK> (ASCII code 6). From this point the instrument will send data if it is ready for transmission. The communication is based on packages. There are 5 package types: • INIT package: Device identification, software version, current date and time. • DATA package: Sample and patient information, measured parameters, and markers. • RBC package: Sample information, RBC histogram. • WBC package: Sample information, WBC histogram. • PLT package: Sample information, PLT histogram. The communication sequence is always started with an INIT package. If the link is successful, the instrument will send DATA package, and the receiver can request RBC, WBC and PLT packages at acknowledge. Special characters used in the communication: Character ASCII code <SOH> 1 <STX> 2 <ETX> 3 <EOT> 4 <ENQ> 5 <ACK> 6 <HT> 9 <LF> 10 <NAK> 21 <SPACE> 32 Abacus/Arcus Service Manual 59 Format of Packages Sent by Abacus/Arcus The packages sent by Abacus/Arcus are always between a <SOH> and <EOT> character, and they consist of header, data and tail. The header consists of a package identifier and a package type descriptor. The tail includes the checksum. Typical format: <SOH>MID CMD<STX>MESSAGE<ETX>CHKSUM<EOT> MID: Message ID, one capital letter between ’A’ and ’Z’ CMD: Command, one capital letter, package type descriptor • ’I’ for INIT; • ’D’ for DATA; • ’R’ for RBC; • ’W’ for WBC; • ’P’ for PLT. MESSAGE: the message consists of ASCII characters (between 32..128) CHKSUM: two hexadecimal digits of a one-byte checksum which contains the lower byte of the sum of characters between the <SOH> and <ETX> (incl. those, too). Format of Acknowledge of the Receiver The receiver must acknowledge transmission by the following message: <ACK>CMD MID CMD: the type of the next package to send – this makes possible to a request for histograms. If no more packages are required, <SPACE> should be sent. MID: the identifier of the package that acknowledged by this message. If receiving of the message was not successful, <NAK> should be sent, and Abacus/Arcus will repeat the last package. The receiver has approx. 1 second to reply, otherwise Abacus/Arcus will repeat the last transmission, twice automatically. But if still no response after 3 trials, Abacus/Arcus will not start to communicate any more, even if there is data to send (see General Description). Detailed Description of Packages The packages sent by Abacus/Arcus are placed between a header and a tail. There are 3 main types of them: INIT, DATA and histogram packages. The histogram package can be: RBC, WBC, and PLT. Their format is the same, the type descriptor differs only. INIT package Abacus/Arcus sends the general identifiers by this package during initiation of a communication: DEVICE<HT>VERSION<HT>DATE<HT>TIME DEVICE: device identifier VERSION: version of the software, e.g. „1.7” DATE: date in YYYYMMDD format TIME: time in HHMMSS format Abacus/Arcus Service Manual 60 DATA package This package contains sample and patient data, the measured parameters and the markers of histograms. One data element consists of two items: name and value, which are separated by a <HT> character, and closed by <LF>. Important! SNO, DATE, TIME, SID and PID fields will always be present in this order, but other fields may be omitted. SNO<HT>152<LF> internal identifier DATE<HT>19980715<LF> date of measurement (YYYYMMDD) TIME<HT>114500<LF> time of measurement (HHMMSS) SID<HT>1AXX435<LF> sample identifier (alphanumeric) PID<HT>B72D44<LF> patient identifier (alphanumeric) NAME<HT>JOE SMITH<LF> patient name (alphanumeric) BIRTH<HT>19650208<LF> birthdate of patient (YYYYMMDD) SEX<HT>0<LF> patient sex (0-male, 1-female) DOC<HT>Dr John Gold<LF> doctor's name OPID<HT>1172<LF> operator identifier (alphanumeric) MODE<HT>0<LF> patient type WRN<HT>0<LF> warning bits1 (32-bit hexadecimal) PM1<HT>12<LF> PLT lower marker2 PM2<HT>204<LF> PLT upper marker2 RM1<HT>51<LF> RBC lower marker2 WM1<HT>23<LF> WBC upper marker2 WM2<HT>57<LF> WBC LYM-MID marker2 WM3<HT>92<LF> WBC MID-GRA marker2 PARN<HT>22<LF> number of parameters to send P01<HT> 6.6<HT>0<LF> first parameter ID3, value and flag4 P02<HT>4.29<HT>0<LF> second parameter ID, value and flag ... P22<HT> 8.2<HT>0<LF> last parameter ID, value and flag Remarks: 1 Position and meaning of the warning flags: Bit Mask Letter Meaning 0 0x00001 c RBC/PLT clogging. 1 0x00002 s RBC/PLT time error. 2 0x00004 d RBC/PLT data package errors. 3 0x00008 m RBC/PLT coincidence is too high. Linearity error. 4 0x00010 k RBC peek warning. 5 0x00020 l RBC/PLT limit warning. 6 0x00040 b RBC blank is high, or no RBC blank. 7 0x00080 p PLT blank is high, or no PLT blank. 8 0x00100 C WBC clogging. 9 0x00200 S WBC time error. 10 0x00400 D WBC data package errors. 11 0x00800 M WBC coincidence is too high. Linearity error. Abacus/Arcus Service Manual 61 12 0x01000 R Too many RBC cut from WBC. 13 0x02000 L WBC/RBC limit warning. 14 0x04000 B WBC blank is high, or no WBC blank. 15 0x08000 H HGB blank is high, or no HGB blank. 16 0x10000 E No WBC three part. 17 0x20000 W WBC three part warning or WBC three part diff. unsuccessful. 2 The markers are given in histogram channel between 0 and 255, where 0 means that the marker could not be found. 3 The parameter IDs in Abacus/Arcus are: P01: WBC (109/l); P02: RBC (1012/l); P03: HGB (g/l); P04: HCT (%); P05: MCV (fl); P06: MCH (pg); P07: MCHC (g/l); P08: PLT (109/l); P09: PCT (%); P10: MPV (fl); P11: PDWsd (fl); P12: PDWcv (%); P13: RDWsd (fl); P14: RDWcv (%); P15: LYM (109/l); P16: MID (109/l); P17: GRA (109/l); P18: LYM% (%); P19: MID% (%); P20: GRA% (%); P21: RBCtime (sec); P22: WBCtime (sec). 4The parameter value is always 4 character wide, spaces from left added if necessary. It can be 9999, if the value could not be displayed in 4 digits, or ---- if the value could not be calculated because of an error. The meaning of the parameter flags: Flag Displayed Meaning 0 Value correct. 1 + Value high (more than upper limit) 2 − Value low (less than lower limit) 3 * Value is unreliable. 4 E Value not given because of error. Value is ----. 5 Value cannot be calculated. There is no value! RBC, WBC and PLT package The format of the histogram packages are the same, they differ in type descriptor only. The package contains the sample data (to identify the package) and the histogram. SNO<HT>152<LF> internal identifier DATE<HT>19980715<LF> date of measurement (YYYYMMDD) TIME<HT>114500<LF> time of measurement (HHMMSS) SID<HT>1AXX435<LF> sample identifier (alphanumeric) PID<HT>B72D44<LF> patient identifier (alphanumeric) CHN<HT>256<LF> number of histogram channels (256) 9<HT> value of first histogram channel ... 1<HT> value of 255th histogram channel 0 value of the last histogram channel Abacus/Arcus Service Manual 62 Example Let us suppose that the receiver was not ready to receive when Abacus/Arcus was switched on, therefore the instrument is not starting a communication. Receiver sends that it is ready to receive now, Abacus/Arcus sends acknowledge. <ENQ> <ACK> Abacus/Arcus sends INIT next time to initiate link (there is data to send): V1.7 software: <SOH>AI<STX>DiaTron Abacus<HT>1.7g<HT>20010405<HT>163902<ETX>88<EOT> V2.x software: <SOH>AI<STX>Abacus<HT>2.15a<HT>20010405<HT>160734<ETX>E4<EOT> Receiver sends acknowledge: <ACK><SPACE>A Abacus/Arcus sends DATA package: <SOH>BD<STX>SNO<HT>1<LF>DATE<HT>20010405<LF>TIME<HT>163800<LF>SID<HT>1<LF> PID<HT><LF>NAME<HT><LF>BIRTH<HT>00000000<LF>SEX<HT>0<LF>DOC<HT><LF>OPID<H T>0<LF>MODE<HT>0<LF>WRN<HT>0<LF>PM1<HT>10<LF>PM2<HT>135<LF>RM1<HT>34<LF> WM1<HT>21<LF>WM2<HT>55<LF>WM3<HT>91<LF>PARN <HT>22<LF>P01<HT>6.4<HT>0<LF>P02<HT>4.36<HT>0<LF>P03<HT>131<HT>0<LF> P04<HT>39.0<HT>0<LF>P05<HT>90<HT>0<LF>P06<HT>30.0<HT>0<LF>P07<HT>335 <HT>0<LF>P08<HT>262<HT>0<LF>P09<HT>0.24<HT>0<LF>P10<HT>9.2<HT>0<LF> P11<HT>12.0<HT>0<LF>P12<HT>36.9<HT>0<LF>P13<HT>52.3<HT>1<LF>P14<HT> 16.3<HT>0<LF>P15<HT>2.1<HT>0<LF>P16<HT>0.5<HT>0<LF>P17<HT>3.7<HT>0<LF>P18<HT> 33.4<HT>0<LF>P19<HT>7.8<HT>1<LF>P20<HT>58.8<HT>0<LF>P21<HT> 8.4<HT>0<LF>P22<HT> 5.0<HT>0<LF><ETX>89<EOT> Receiver acknowledges DATA transmission, and requests for RBC package: <ACK>RB Abacus/Arcus sends RBC package: <SOH>CR<STX>SNO<HT>1<LF>DATE<HT>20010405<LF>TIME<HT>163800<LF>SID<HT>1<LF> PID<HT>57290<LF>CHN<HT>256<LF>4<HT>9<HT>17<HT>27<HT>37<HT>48<HT>58<HT>66<H T>70<HT>72<HT>70<HT>66<HT>60<HT>54<HT>47<HT>39<HT>33<HT>28<HT>22<HT>18<HT>1 5<HT>11<HT>9<HT>8<HT>7<HT>5<HT>4<HT>4<HT>3<HT>3<HT>2<HT>2<HT>1<HT>1<HT>0< HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT> 0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>1<HT>1<HT>1<HT>2<HT>2<HT>3<HT>4<HT>5<H T>6<HT>7<HT>8<HT>9<HT>10<HT>11<HT>12<HT>14<HT>16<HT>18<HT>21<HT>24<HT>28<H T>31<HT>35<HT>38<HT>43<HT>47<HT>53<HT>58<HT>65<HT>71<HT>78<HT>86<HT>94<HT>1 03<HT>113<HT>121<HT>130<HT>139<HT>149<HT>160<HT>171<HT>184<HT>196<HT>207<HT >217<HT>225<HT>231<HT>237<HT>242<HT>245<HT>248<HT>251<HT>252<HT>253<HT>253< HT>253<HT>253<HT>253<HT>254<HT>255<HT>254<HT>252<HT>248<HT>243<HT>236<HT>22 9<HT>221<HT>214<HT>207<HT>199<HT>192<HT>185<HT>178<HT>170<HT>162<HT>154<HT> 146<HT>137<HT>129<HT>121<HT>113<HT>104<HT>96<HT>88<HT>82<HT>75<HT>71<HT>66< HT>62<HT>58<HT>55<HT>51<HT>47<HT>43<HT>38<HT>35<HT>31<HT>28<HT>25<HT>22<HT >19<HT>18<HT>16<HT>14<HT>12<HT>11<HT>10<HT>9<HT>9<HT>9<HT>9<HT>8<HT>8<HT>7 <HT>7<HT>6<HT>6<HT>5<HT>5<HT>5<HT>4<HT>4<HT>3<HT>3<HT>3<HT>2<HT>2<HT>2<HT >1<HT>1<HT>1<HT>1<HT>1<HT>1<HT>1<HT>2<HT>2<HT>2<HT>2<HT>2<HT>2<HT>2<HT>1< HT>1<HT>1<HT>1<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT> 0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<H T>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0< HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<ETX>60<E OT> Receiver acknowledges RBC transmission, and requests for WBC package: <ACK>WC Abacus/Arcus Service Manual 63 Abacus/Arcus sends WBC package: <SOH>DW<STX>SNO<HT>1<LF>DATE<HT>20010405<LF>TIME<HT>163800<LF>SID<HT>1<LF >PID<HT>57290<LF>CHN<HT>256<LF>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<HT>0<H T>0<HT>255<HT>255<HT>255<HT>251<HT>209<HT>163<HT>118<HT>82<HT>56<HT>40<HT>3 2<HT>29<HT>29<HT>30<HT>34<HT>40<HT>47<HT>55<HT>64<HT>76<HT>88<HT>103<HT>119 <HT>136<HT>155<HT>174<HT>195<HT>215<HT>233<HT>246<HT>254<HT>255<HT>249<HT>2 40<HT>227<HT>213<HT>200<HT>187<HT>176<HT>164<HT>153<HT>141<HT>129<HT>118<HT >108<HT>99<HT>92<HT>86<HT>81<HT>76<HT>71<HT>67<HT>64<HT>62<HT>61<HT>60<HT>6 0<HT>60<HT>57<HT>55<HT>51<HT>47<HT>44<HT>43<HT>42<HT>42<HT>43<HT>44<HT>45< HT>47<HT>47<HT>46<HT>45<HT>43<HT>40<HT>37<HT>34<HT>32<HT>30<HT>30<HT>30<HT >30<HT>29<HT>28<HT>26<HT>24<HT>21<HT>19<HT>17<HT>15<HT>14<HT>13<HT>12<HT>13 <HT>13<HT>13<HT>13<HT>13<HT>12<HT>11<HT>11<HT>11<HT>12<HT>12<HT>14<HT>15<H T>16<HT>17<HT>17<HT>17<HT>17<HT>17<HT>17<HT>17<HT>17<HT>17<HT>18<HT>19<HT>2 1<HT>22<HT>23<HT>24<HT>25<HT>25<HT>25<HT>26<HT>29<HT>31<HT>34<HT>35<HT>36< HT>36<HT>35<HT>35<HT>35<HT>37<HT>38<HT>41<HT>43<HT>46<HT>47<HT>48<HT>50<HT >52<HT>56<HT>60<HT>64<HT>70<HT>74<HT>79<HT>82<HT>86<HT>89<HT>92<HT>95<HT>99 <HT>102<HT>103<HT>104<HT>105<HT>105<HT>106<HT>108<HT>110<HT>112<HT>115<HT>1 17<HT>119<HT>120<HT>121<HT>120<HT>120<HT>120<HT>121<HT>122<HT>125<HT>129<HT >132<HT>136<HT>139<HT>141<HT>142<HT>142<HT>140<HT>138<HT>135<HT>132<HT>129< HT>127<HT>125<HT>123<HT>122<HT>120<HT>117<HT>115<HT>112<HT>109<HT>108<HT>10 8<HT>109<HT>110<HT>110<HT>108<HT>104<HT>99<HT>94<HT>89<HT>85<HT>82<HT>80<HT >79<HT>78<HT>77<HT>75<HT>72<HT>68<HT>63<HT>58<HT>54<HT>50<HT>47<HT>44<HT>43 <HT>41<HT>41<HT>42<HT>42<HT>42<HT>42<HT>39<HT>37<HT>34<HT>30<HT>28<HT>25<H T>24<HT>23<HT>22<HT>22<HT>21<HT>21<HT>19<HT>17<HT>13<HT>9<HT>5<ETX>F7<EOT> Receiver acknowledges WBC transmission, and closes the link. It is possible to request for PLT histogram if the acknowledge contains a “P” instead of <SPACE>, but it is not shown in this example. <ACK><SPACE>D *** |