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> 2025 | 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> 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Error "drvModbusAsyn::readPoller ... invalud memory request 3, max=3" of module Eurotherm2k |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | LiangChih Chiang <yehnan174 at gmail.com>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 7 Nov 2024 18:55:11 +0000 |
Hi, I don’t understand why you are getting that error. The Modbus ports are being created with a length of 3+2 (5) and 3+1 (4) registers respectively. The records are reading single registers at offsets of 0,
1, and 2. That should not generate the error you see. Please send the output of: asynReport 2 That will show information about all the asyn port drivers and may provide a clue. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of LiangChih Chiang via Tech-talk Hello, EPICS mates, I use module Eurotherm2k (https://github.com/jwlodek/eurotherm2k) to access controller Eurothermm 3508. It's ok mostly, but I can't set the P/I/D values. And there are two errors showed repeatedly: 2024/11/07 09:07:35.155 drvModbusAsyn::readPoller port Eurotherm_E3K01_1_1_Rd_PID invalid memory request 3, max=3 In " E3K01_1_1" "E3K01" is the port name, the following "1" is the Modbus address, then "1" is the loop number. I found that in the file eurothermModbus.c of the module, it calls drvMosbusAsynConfigure: /* Create modbus channels for the PV, target setpoint and manual output */ And in the file eurothermModbusLoop.template, the records uses the ports created above: # PV: address 1 Would you please provide some suggestions? |