Written by

Question Jainam Shah · 1 hr ago

EnsLib.EDI.ASTM.Service.TCPService — CELL-DYN Ruby Link Test fails with EOTOPTIONAL=1, instrument shows Status DOWN despite ACK being sent

Hello,

I am working on integrating a CELL-DYN Ruby hematology analyzer (Abbott) with InterSystems Ensemble using the ASTM E1394 protocol over TCP/IP via a Digi One SP serial-to-TCP converter. I am facing a persistent issue where the Link Test keeps failing on the CDRuby side and the Transmit button remains greyed out. I have overridden EOTOptional=1 in the service class file as Ensemble was not able to send ACK after ENQ. Now I am getting below logs like Machine sends ENQ, Ensemble sends back ACK and Machine sends EOT instead of STX.

Logs:
CDRuby → 05 (ENQ) 

  Ensemble→ 06 (ACK) 

CDRuby → 04 (EOT)


Troubleshooting details:

• TCP connection between Digi and Ensemble is ESTABLISHED (confirmed via netstat)
• Ensemble is receiving ENQ from CDRuby and responding with ACK correctly
• Ensemble ASTM Business Service is started and listening on port 5017
• Windows Firewall rule for port 5017 is correctly configured
• Digi Serial Port Profile: TCP Sockets, TCP Client mode, Connect = Always, Service = Raw
• Digi Basic Serial Settings: 9600 baud, 8 data bits, 1 stop bit, no parity, no flow control
• Digi Advanced Serial Settings: Login required = OFF, Verbose messages = OFF, Force DCD = OFF
• Digi configured as TCP Client, Ensemble as TCP Server
• TCP connection is ESTABLISHED (confirmed via netstat)

Questions:

• Could EOTOPTIONAL=1 be causing Ensemble to mishandle the EOT that CDRuby sends after receiving ACK during the link test, causing CDRuby to timeout?
• Is there a specific parameter in EnsLib.EDI.ASTM.Service.TCPService that controls how quickly ACK is sent back to the instrument after ENQ — could there be a delay causing CDRuby to timeout?
• Are there any known issues with EnsLib.EDI.ASTM.Service.TCPService when the instrument connects via a Serial-to-TCP converter (Digi One SP) over a NAT/public IP?
• What is the recommended configuration for EnsLib.EDI.ASTM.Service.TCPService parameters (FRAMEVALIDATION, ACKMODE, SESSIONTIMEOUT etc.) for a CELL-DYN Ruby instrument?
• Is there a way to increase the ACK response speed in Ensemble to ensure it responds to ENQ within the LIS1 establishment timeout?

Product version: Ensemble 2018.1

Comments