Transaction Group Issues?

Can someone look at the following group setup and tell me why the historical tags will not log to MySQL? The standard group is logging (but there are no tags).

The tags in the historical group were dragged “as is” from the SQL tag tree in Designer. Do I have to tweak a property on each tag or what? I am at a loss…

Running demo of 7.04.

Thanks for any help.

Dennis

Attached is a pdf of an email with the group setup.
TransactionGroups.pdf (220 KB)

If you look on the status tab, you should see some error messages logged. If you double click on them you should get a message. What do they say? It appears that the groups are failing during startup, possibly due to some sort of configuration error, or possibly due to the state of the system.

If the messages don’t give you some clue as to what’s wrong, could you post the wrapper.log file found in the install directory here?

Regards,

I found the problem.

The historical group had two tags with the same Target Name.

I deleted one of the tags and now it works.

Lesson learned:
You must have individual target groups for each PLC if the PLCs have tags with the same name.

Now I have dropped an Easy Chart into a window and dragged one of the historical tags into it.

I get the error below. Please give me a clue so I have one.

Thanks

Dennis

java.lang.Exception: Error running query:
TagHistory(paths=[PLC_A/HMI_LastScanTime], start=Tue Mar 02 00:00:00 EST 2010, end=Thu Mar 04 23:59:59 EST 2010)
On: drwWindow.Root Container.Easy Chart
at com.inductiveautomation.factorypmi.application.gateway.QueryManager$QueryExecutor.run(QueryManager.java:337)
at java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Gateway Error 202: Project does not have a default SQLTags provider specified. Path “PLC_A/HMI_LastScanTime” invalid.
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:236)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:211)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:201)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.runTagHistoryQuery(GatewayInterface.java:472)
at com.inductiveautomation.factorypmi.application.gateway.QueryManager$TagHistoryQuery.execute(QueryManager.java:740)
at com.inductiveautomation.factorypmi.application.gateway.QueryManager$QueryExecutor.run(QueryManager.java:335)
… 1 more

This is the important part: Caused by: ..... Project does not have a default SQLTags provider specified. Path "PLC_A/HMI_LastScanTime" invalid. Go into the Gateway and set the ‘Default SQLTags provider’ option for your project (under Configuration->Projects).

Ouch, that was just too easy.

I am not used to reading java logs.

Fixed that problem.

Now when I drop a tag on Easy Chart I get the message below.

I gather it is looking for a table called sqlth_drv in the database which I have named ignition.

What should have created that table?

Dennis

com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Gateway Error 500: Table ‘ignition.sqlth_drv’ doesn’t exist
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:236)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:211)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:201)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.runTagHistoryQuery(GatewayInterface.java:472)
at com.inductiveautomation.factorypmi.application.gateway.QueryManager$TagHistoryQuery.execute(QueryManager.java:673)
at com.inductiveautomation.factorypmi.application.gateway.QueryManager$QueryExecutor.run(QueryManager.java:340)
at java.lang.Thread.run(Thread.java:637)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table ‘ignition.sqlth_drv’ doesn’t exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2934)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3255)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1293)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1419)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at com.inductiveautomation.ignition.gateway.datasource.SRConnectionWrapper$SRPreparedStatement.executeQuery(SRConnectionWrapper.java:696)
at com.inductiveautomation.ignition.gateway.datasource.SRConnectionWrapper.runScalarPrepQuery(SRConnectionWrapper.java:168)
at com.inductiveautomation.ignition.gateway.sqltags.history.query.loaders.DatasourceHistoryLoader.loadDriverId(DatasourceHistoryLoader.java:131)
at com.inductiveautomation.ignition.gateway.sqltags.history.query.loaders.DatasourceHistoryLoader.initialize(DatasourceHistoryLoader.java:120)
at com.inductiveautomation.ignition.gateway.sqltags.history.query.loaders.AggregateHistoryLoader.initialize(AggregateHistoryLoader.java:50)
at com.inductiveautomation.ignition.gateway.sqltags.history.query.HistoryWriter.execute(HistoryWriter.java:117)
at com.inductiveautomation.ignition.gateway.sqltags.history.query.BasicTagHistoryQueryProvider.query(BasicTagHistoryQueryProvider.java:110)
at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.QueryTagHistory.invoke(QueryTagHistory.java:81)
at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:375)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

I can’t remember which it is that creates the necessary tables, but either making a SQLTag into a History SQLTag or creating a Historical SQLTags Provider should have set up those tables for you. Does the tag have a red scroll icon next to it’s name? Do you have an entry in the Historical SQLTags Providers list that goes to your ‘Ignition’ database?