EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Eurotherm2604 modbus support
From: "Sintschuk, Michael via Tech-talk" <tech-talk at aps.anl.gov>
To: tech-talk <tech-talk at aps.anl.gov>
Date: Mon, 5 Dec 2022 16:29:52 +0000

Hello EPICS-community,

 

I have trouble connecting a Eurotherm2604 temperature controller via modbus with this EPICS-module:

https://github.com/jwlodek/eurotherm2k

A couple of months ago this package was refurbished as you can see from this tech-talk:

https://epics.anl.gov/tech-talk/2022/msg01319.php

 

I can compile the module and can build the IOC, which works fine via the EI-bisynch protocol. But I can’t establish any connection when it comes to modbus (I need the modbus protocol to read some additional info that is not implemented in EI-bisynch). FYI: the modbus communication on the very same COM-port (same cable) just works fine with the vendor software iTools. This is how my IOC-modbus startup looks like (I’m using the latest modbus-master R3-2):

 

C:\epics\IOC\EurothermIOC\iocBoot\iocEurotherm>C:\epics\IOC\EurothermIOC\bin\windows-x64-static\Eurotherm.exe st.cmd

#!../../bin/windows-x64-static/Eurotherm

< envPaths

epicsEnvSet("IOC","iocEurotherm")

epicsEnvSet("TOP","C:/epics/IOC/EurothermIOC")

epicsEnvSet("SUPPORT","C:/epics/inst-7.0.3.1")

epicsEnvSet("ASYN","C:/epics/inst-7.0.3.1/asyn-R4-39")

epicsEnvSet("EUROTHERM2K","C:/epics/inst-7.0.3.1/eurotherm2k")

epicsEnvSet("MODBUS","C:/epics/inst-7.0.3.1/modbus")

epicsEnvSet("EPICS_BASE","C:/epics/base-7.0.3.1")

cd "C:/epics/IOC/EurothermIOC"

## Register all support components

dbLoadDatabase "dbd/Eurotherm.dbd"

Eurotherm_registerRecordDeviceDriver pdbbase

drvAsynSerialPortConfigure("EMODBUS","COM1",0,0,1)

asynSetOption("EMODBUS", -1, "baud",    "9600")

asynSetOption("EMODBUS", -1, "bits",    "8")

asynSetOption("EMODBUS", -1, "stop",    "1")

asynSetOption("EMODBUS", -1, "parity",  "none")

#asynSetOption("EMODBUS", -1, "crtscts", "Y")

#asynSetOption("EMODBUS", -1, "clocal",  "N")

#asynSetOption("EMODBUS", -1, "ixon", "Y")

#asynOctetSetInputEos( "EMODBUS", -1, "\r\n")

#asynOctetSetOutputEos("EMODBUS", -1, "\r")

modbusInterposeConfig(EMODBUS, 0, 2000, 0)

eurothermModbusCtrlConfigure(EMODBUS, 1)

2022/12/05 16:51:56.791 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_0_Rd_

ATUNE error calling writeRead, error=asynManager::queueLockPort queueRequest tim

ed out, nwrite=0/6, nread=0

2022/12/05 16:51:57.797 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_0_Wr_

ATUNE error calling writeRead, error=, nwrite=6/6, nread=0

eurothermModbusLoopConfigure(EMODBUS, 1, 1)

2022/12/05 16:52:00.802 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

PV error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:01.808 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Wr_

PV error calling writeRead, error=, nwrite=6/6, nread=0

2022/12/05 16:52:03.814 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Wr_

RR error calling writeRead, error=, nwrite=6/6, nread=0

2022/12/05 16:52:05.816 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Wr_

MAN error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:06.809 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

MAN error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:07.813 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

RR error calling writeRead, error=, nwrite=6/6, nread=0

2022/12/05 16:52:07.814 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Wr_

PID error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

## Load record instances

dbLoadRecords("db/example_modbus_expanded.db","user=bl")

cd "C:/epics/IOC/EurothermIOC/iocBoot/iocEurotherm"

iocInit

Starting iocInit

############################################################################

## EPICS R7.0.3.1

## EPICS Base built Mar  9 2020

############################################################################

2022/12/05 16:52:09.814 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

PID error calling writeRead, error=, nwrite=6/6, nread=0

iocRun: All initialization complete

## Start any sequence programs

#seq sncxxx,"user=bl"

epics> 2022/12/05 16:52:12.321 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_

1_1_Wr_PV error calling writeRead, error=asynManager::queueLockPort queueRequest

timed out, nwrite=0/6, nread=0

2022/12/05 16:52:12.323 EUROTHERM2K:SP devAsynInt32::processCallbackOutput proce

ss write error

2022/12/05 16:52:12.325 EUROTHERM2K:P devAsynInt32::processCallbackOutput proces

s write error

2022/12/05 16:52:12.330 EUROTHERM2K:RR devAsynInt32::processCallbackOutput proce

ss write error

2022/12/05 16:52:13.414 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

RR error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:13.416 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

PID error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:14.332 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_0_Rd_

ATUNE error calling writeRead, error=asynManager::queueLockPort queueRequest tim

ed out, nwrite=6/6, nread=0

2022/12/05 16:52:16.415 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

RR error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=6/6, nread=0

2022/12/05 16:52:22.410 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_0_Rd_

ATUNE error calling writeRead, error=asynManager::queueLockPort queueRequest tim

ed out, nwrite=0/6, nread=0

2022/12/05 16:52:22.419 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

PV error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=6/6, nread=0

2022/12/05 16:52:24.413 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

RR error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:24.420 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

PID error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=6/6, nread=0

2022/12/05 16:52:25.423 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

PV error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:26.419 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

MAN error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=6/6, nread=0

2022/12/05 16:52:27.419 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

PID error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=0/6, nread=0

2022/12/05 16:52:28.418 drvModbusAsyn::doModbusIO port Eurotherm_EMODBUS_1_1_Rd_

RR error calling writeRead, error=asynManager::queueLockPort queueRequest timed

out, nwrite=6/6, nread=0

 

Can someone help?

 

Michael   

 

Michael Sintschuk
Bundesanstalt für Materialforschung und –prüfung (BAM)
8.5 Mikro-ZfP

Unter den Eichen 87
12205 Berlin
GERMANY

P: +49 30 8062-15063 (BESSY, Adlershof)

P: +49 30 8104-4065 (BAM, Steglitz)
michael.sintschuk at bam.de

michael.sintschuk at helmholtz-berlin.de

 


Replies:
RE: Eurotherm2604 modbus support Mark Rivers via Tech-talk

Navigate by Date:
Prev: Fw: motor control css problem Mark Rivers via Tech-talk
Next: RE: Eurotherm2604 modbus support Mark Rivers via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: RE: Archiver Appliance: How to extract a PV current value using a SQL query Abdalla Ahmad via Tech-talk
Next: RE: Eurotherm2604 modbus support Mark Rivers via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
ANJ, 05 Dec 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·