Nibe Fighter 1130 with RCU 11
-
Hi!
I have just baught myself a ground heater with an attached RCU 11. I'm a total novice on modbus TCP to make that clear.
What I am looking for is a simple way to pick up values from the heater. In my knowledge they should be in holding registers. (Accordning to http://www.nibe.se/Pages/42625/RCU_Parameterlista_F1135_1235.pdf (In swedish, but in tables)
I have tried to configured mango, but when i enable the modbus IP in databases I get the following errors..
ERROR 2010-03-29 21:36:33,593 (org.quartz.core.JobRunShell.run:211) - Job com.serotonin.mango.rt.dataSource.PollingDataSource.PollingDataSource-1 threw an unhan
dled Exception:
java.lang.AbstractMethodError: com.serotonin.modbus4j.ip.IpMessageRequest.expectsResponse()Z
at com.serotonin.io.messaging.SenderConnection.send(SenderConnection.jav
a:76)
at com.serotonin.io.messaging.SenderConnection.send(SenderConnection.jav
a:106)
at com.serotonin.modbus4j.ip.tcp.TcpMaster.send(TcpMaster.java:76)
at com.serotonin.modbus4j.ModbusMaster.sendFunctionGroup(ModbusMaster.ja
va:329)
at com.serotonin.modbus4j.ModbusMaster.send(ModbusMaster.java:272)
at com.serotonin.mango.rt.dataSource.modbus.ModbusDataSource.doPoll(Modb
usDataSource.java:83)
at com.serotonin.mango.rt.dataSource.PollingDataSource.scheduleTimeout(P
ollingDataSource.java:79)
at com.serotonin.mango.util.TimeoutJob.execute(TimeoutJob.java:48)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.j
ava:525)My configuration is
Transport type: TCP
Host: (Entered the IP adress)
Port: 502I added one point.
Slave ID: 1
Register range: Holdning register
Modbus data type: 2 byte signed integer
Offset: 2 (Wich should be "Produktkod" or "Varmvattentemperatur (mantelgivare)" accourdning to Nibe
Settable: unchecked
Additive: 0I guess it is something very obvious.
I have tried to make contact with another application that is using modbus and I get some results, so there is no network problem.Regards: Jon - Sweden
-
That error doesn't in fact have anything to do with Modbus, at least regarding connectivity. There appears to be a problem with the Modbus implementation version that you have. Try replacing WEB-INF/lib/modbus4j.jar with the attached version, restart, and see if that helps.
Attachment: download link
-
Thank yo very much for a quick response.
However, after updating the file and trying to enable the the config, I got the following error...
ERROR 2010-03-29 22:45:14,000 (com.serotonin.mango.web.filter.ExceptionDetection
Filter.doFilter:38) - DWR invocation exception
java.lang.NoClassDefFoundError: com/serotonin/messaging/MessagingExceptionHandle
r
at com.serotonin.modbus4j.ModbusFactory.createTcpMaster(ModbusFactory.ja
va:29)
at com.serotonin.mango.rt.dataSource.modbus.ModbusIpDataSource.initializ
e(ModbusIpDataSource.java:50)
at com.serotonin.mango.rt.RuntimeManager.initializeDataSource(RuntimeMan
ager.java:257)
at com.serotonin.mango.rt.RuntimeManager.saveDataSource(RuntimeManager.j
ava:242)
at com.serotonin.mango.web.dwr.DataSourceListDwr.toggleDataSource(DataSo
urceListDwr.java:66)
at com.serotonin.mango.web.dwr.DataSourceEditDwr.toggleEditDataSource(Da
taSourceEditDwr.java:244)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilt
er.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.dwr.util.LoggedInAjaxFilter.doFilter(LoggedIn
AjaxFilter.java:39)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.web.dwr.LocalizationFilter.doFilter(LocalizationFilter.
java:54)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.filter.ExceptionDetectionFilter.doFilter(Exce
ptionDetectionFilter.java:26)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandle
r.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:1
01)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:45
4)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.serotonin.messaging.MessagingEx
ceptionHandler
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1233)
... 37 more
WARN 2010-03-29 22:45:14,015 (org.directwebremoting.util.CommonsLoggingOutput.w
arn:67) - Method execution failed:
java.lang.NoClassDefFoundError: com/serotonin/messaging/MessagingExceptionHandle
r
at com.serotonin.modbus4j.ModbusFactory.createTcpMaster(ModbusFactory.ja
va:29)
at com.serotonin.mango.rt.dataSource.modbus.ModbusIpDataSource.initializ
e(ModbusIpDataSource.java:50)
at com.serotonin.mango.rt.RuntimeManager.initializeDataSource(RuntimeMan
ager.java:257)
at com.serotonin.mango.rt.RuntimeManager.saveDataSource(RuntimeManager.j
ava:242)
at com.serotonin.mango.web.dwr.DataSourceListDwr.toggleDataSource(DataSo
urceListDwr.java:66)
at com.serotonin.mango.web.dwr.DataSourceEditDwr.toggleEditDataSource(Da
taSourceEditDwr.java:244)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilt
er.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.dwr.util.LoggedInAjaxFilter.doFilter(LoggedIn
AjaxFilter.java:39)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.web.dwr.LocalizationFilter.doFilter(LocalizationFilter.
java:54)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.filter.ExceptionDetectionFilter.doFilter(Exce
ptionDetectionFilter.java:26)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandle
r.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:1
01)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:45
4)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.serotonin.messaging.MessagingEx
ceptionHandler
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1233)
... 37 more
WARN 2010-03-29 22:45:14,031 (org.directwebremoting.util.CommonsLoggingOutput.w
arn:59) - --Erroring: batchId[6] message[java.lang.NoClassDefFoundError: com/ser
otonin/messaging/MessagingExceptionHandler]Regards /Jon
-
K, try updating this too...
Attachment: download link
-
Nope.. Got the following error when I try to enable it...(Restarted tomcat after updating the file)
ERROR 2010-03-29 22:55:02,625 (com.serotonin.mango.web.filter.ExceptionDetection
Filter.doFilter:38) - DWR invocation exception
java.lang.NoSuchMethodError: com.serotonin.modbus4j.ModbusMaster.setExceptionLis
tener(Lcom/serotonin/io/messaging/MessagingConnectionListener;)V
at com.serotonin.mango.rt.dataSource.modbus.ModbusDataSource.initialize(
ModbusDataSource.java:134)
at com.serotonin.mango.rt.dataSource.modbus.ModbusIpDataSource.initializ
e(ModbusIpDataSource.java:53)
at com.serotonin.mango.rt.RuntimeManager.initializeDataSource(RuntimeMan
ager.java:257)
at com.serotonin.mango.rt.RuntimeManager.saveDataSource(RuntimeManager.j
ava:242)
at com.serotonin.mango.web.dwr.DataSourceListDwr.toggleDataSource(DataSo
urceListDwr.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilt
er.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.dwr.util.LoggedInAjaxFilter.doFilter(LoggedIn
AjaxFilter.java:39)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.web.dwr.LocalizationFilter.doFilter(LocalizationFilter.
java:54)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.filter.ExceptionDetectionFilter.doFilter(Exce
ptionDetectionFilter.java:26)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandle
r.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:1
01)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:45
4)
at java.lang.Thread.run(Thread.java:619)
WARN 2010-03-29 22:55:02,656 (org.directwebremoting.util.CommonsLoggingOutput.w
arn:67) - Method execution failed:
java.lang.NoSuchMethodError: com.serotonin.modbus4j.ModbusMaster.setExceptionLis
tener(Lcom/serotonin/io/messaging/MessagingConnectionListener;)V
at com.serotonin.mango.rt.dataSource.modbus.ModbusDataSource.initialize(
ModbusDataSource.java:134)
at com.serotonin.mango.rt.dataSource.modbus.ModbusIpDataSource.initializ
e(ModbusIpDataSource.java:53)
at com.serotonin.mango.rt.RuntimeManager.initializeDataSource(RuntimeMan
ager.java:257)
at com.serotonin.mango.rt.RuntimeManager.saveDataSource(RuntimeManager.j
ava:242)
at com.serotonin.mango.web.dwr.DataSourceListDwr.toggleDataSource(DataSo
urceListDwr.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilt
er.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.dwr.util.LoggedInAjaxFilter.doFilter(LoggedIn
AjaxFilter.java:39)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.web.dwr.LocalizationFilter.doFilter(LocalizationFilter.
java:54)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at com.serotonin.mango.web.filter.ExceptionDetectionFilter.doFilter(Exce
ptionDetectionFilter.java:26)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.j
ava:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java
:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandle
r.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:1
01)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:45
4)
at java.lang.Thread.run(Thread.java:619)
WARN 2010-03-29 22:55:02,671 (org.directwebremoting.util.CommonsLoggingOutput.w
arn:59) - --Erroring: batchId[3] message[java.lang.NoSuchMethodError: com.seroto
nin.modbus4j.ModbusMaster.setExceptionListener(Lcom/serotonin/io/messaging/Messa
gingConnectionListener;)V]Regards /Jon
-
Hmm, what version of Mango do you have?
-
You left the updated modbus4J.jar in there, right? The old one got overwritten?
-
According to system information. 1.8.1
-
about modbus4j, yes, the old one is overwritten.
Placed it in C:\tomcat\webapps\ROOT\WEB-INF\lib -
Hmm. Did you use 1.8.1 out of the box, so to speak, or did you update anything about it? The thing is, i can't reproduce the problem with the version that is on the download page right now.
-
I recently downloaded it, installed java and apache tomcat accordning to the installation instruction.
OS: Windows SR 2003 STD 32bit -
Can you try removing your installation (just delete the mango web app dir) and try reinstalling?
-
Just tried a complete reinstallation.
Deleted the whole tomcat directory (First copying the files that where posted here)
Extracted tomcat to c:
Extracted mango to C:\tomcat\webapps\ROOT
Started tomcat with c:\tomcat\bin\startup
logged in with admin
added a datasource (Modbus IP)
Added a point (Holding register)
Enabled the datasource and did got the error as explained earlier... -
However, I can scan for nodes. When I do a scan I get a result from 1 to 240...
-
I don't know what to say. I've tried the 1.8.1 download on Windows and Mac using the available download and install instructions, and accessing a Modbus TCP slave, and it works perfectly. If this continues to be a problem for you i can only suggest you wait for the 1.8.2 release, forthcoming once some details with a collaborator are worked out, hopefully in a matter of weeks.