Inductive Automation FactorySQL. A few questions.

JesperMP

Lifetime Supporting Member + Moderator
Join Date
Feb 2003
Location
ᚴᚬᛒᛅᚾᚼᚬᚠᚾ
Posts
16,324
Hi.

I have a relatively simple dataexhange between an OPC server and an Oracle database. This I have solved by means of VBS scripting.
Problem is that it isnt reliable enough.

There is a problem somewhere and ...
1. There isnt enough error information to locate the error.
2. If VBS hits the script queue overrrun, it cannot recover automatically.
3. Timeouts set in both the ODBC DNS setup, and in VBS code seems to be ignored. We get a script timeout after 20 - 60 seconds, or never. In the database, there is set a 5 second timeout. In the script code there is set ADO connection and command timeouts of also 5 seconds. This does not correlate with the timeouts we experience.

After this experience I cannot recommend cyclical dataexchange via VBS scripts and ODBC.
Thus, I am looking to see if FactorySQL can do the job better.

Specifically I would like to know:

a. Does FactorySQL use ODBC or does it use SQL API calls ?
b. Can FactorySQL distinguish between different error conditions, and present these in a meaningful way ? (i.e. point to if the problem is with the network, the database, or somewhere else).
c. Does FactorySQL have its own timeout, or does it rely on that ODBC or the database returns with an error message ?
d. In case of an error, can FactorySQL recover automatically.

Thanks in advance.

To Nathan: Dont worry, I will download the demo and do my own research. At the moment I just need some preliminary insight.
 
Jesper, I'll take a stab at it.

a. Does FactorySQL use ODBC or does it use SQL API calls ? It supports several connections, including ODBC (I don't use it though).

I just set up my system using the native connection.

b. Can FactorySQL distinguish between different error conditions, and present these in a meaningful way ? (i.e. point to if the problem is with the network, the database, or somewhere else).

Sure. There is a Gateway Monitor that gives you a lot of info, and the logs pretty much tell you exactly what's going on.

c. Does FactorySQL have its own timeout, or does it rely on that ODBC or the database returns with an error message ?

Not sure about that.

d. In case of an error, can FactorySQL recover automatically.

It seems to recover very well. But honestly, I don't get many errors. I have been running a system with it since last December, and the only errors I received was when I purposely shut it down myself, and when they lost power in August. Each time, everything just connected by itself on the restart.

I think you'll be surprised at how FactorySQL "just works". On my project, I probably spent 90% of the time with FactoryPMI, while FactorySQL just cranked away in the background.

One thing I'll tell you up front is to come up with an easy method of exporting your S7 tag addresses into groups. I wrote a script in both SQL and Python that does it for me, and makes the whole thing pretty painless.
 
Jesper,
You'd be better asking those specific questions on the Inductive Automation Forum. Along the lines of what S7Guy said, a lot of the programmatic issues that you deal with in writing your own application are taken care of for you (gracefully reconnecting, dealing with DB connections, multi-threading, etc). However, I'll try to answer your questions.

a. FactorySQL can use either "Native" (.NET drivers) or ODBC connections, I recommend starting with Native.
b. More or less - log entries will distinguish between errors reported by the database, OPC errors, etc. They tell you as much info as the system gets.
c. There is a different timeout mechanism between OPC and SQL database communication. However, that's pretty fundamental to an application like this. FactorySQL uses thread pooling and deals with connection errors (which are probably reported from the .NET/ODBC driver). This is taken care of for you - I couldn't even find a setting to change such timeouts.
d. FactorySQL does a great job automatically recovering in most cases. For "historical" data logging it buffers the data locally, writing it all to the database upon reconnection. There is some dependence on your OPC server - issues could arise with a really crappy one.

JesperMP said:
a. Does FactorySQL use ODBC or does it use SQL API calls ?
b. Can FactorySQL distinguish between different error conditions, and present these in a meaningful way ? (i.e. point to if the problem is with the network, the database, or somewhere else).
c. Does FactorySQL have its own timeout, or does it rely on that ODBC or the database returns with an error message ?
d. In case of an error, can FactorySQL recover automatically.

Thanks in advance.

To Nathan: Dont worry, I will download the demo and do my own research. At the moment I just need some preliminary insight.
 

Similar Topics

Hello guys, Sorry for that, I decided not to wast yours and my time. Thanks
Replies
7
Views
2,979
Inductive Automation is announcing Ignition 8.1 today at "virtual" ICC. I'll miss seeing everyone in California. Registration is free online. Big...
Replies
0
Views
1,240
Inductive Automation Ignition unable to trend small numbers . Trending stops working below 5e -9 . 5e -9 = 0.000000005 . We are operating...
Replies
13
Views
3,102
All, I know this type of question has been asked (and sometimes answered) ad infinitum but after looking I'm still stuck and could use some help...
Replies
19
Views
6,297
Hello everybody, i wanted to check in with anyone here that has used Inductive Automation Ignition HMI software. Is it as good as it looks to...
Replies
16
Views
4,724
Back
Top Bottom