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 <2022> 2023 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 <2022> 2023 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
P: +49 30 8104-4065 (BAM, Steglitz) michael.sintschuk at helmholtz-berlin.de |