Factorysql data refresh problem, keeps writing same values

I am running FSql on Windows 2003. The system has been running perfect for a couple of weeks.

whenever i reboot the server the data collection does not start automatically. I do not get any error instead we get the last data (in groups) before the server was restarted. It keeps on writing to mysql the same data again and again every 1 min (based on settings). The problem gets resolved, if i stop and start the fsql service manually and also restart the groups as well.

Need solutions ASAP

What OPC server are you using? It appears that FactorySQL is working, but that the OPC server is not publishing data. By restarting groups/FactorySQL, you are resubscribing the items and getting them to work again.

Knowing which OPC server you’re using will help us troubleshoot. If it happens to be RSLinx, we’ve seen problems in the past with data updates stopping under high load (which could happen on startup). Going into FactorySQL>Settings>Service Settings and setting the “OPC Update Rate %” to “100%” can reduce the load on the OPC server and was shown to help in those cases with RSLinx. For historical logging, setting that value to 100% is fine.


We are using OPC DA. We are connecting Wincc (Siemens), when we stop the Wincc constant data is logging to mysql.
We are using Historical Groups.

We have provided OPC Update rate 100%, this did not solve the problem.

Ok, I think I understand. The problem is that the group is set up to log constantly, irregardless of what is going on with the data. When the connection to WinCC is lost, the data will no longer be good, but the group doesn’t (currently) know that, and continues to log.

You have a few options:

  1. Select the “Store OPC quality code” option on the group to store the current aggregate quality of the items in the table. You can use this after the fact to only query data that is “good” - integer value 192. This will result in more logged data, but you’ll be able to see when the values when from good to bad and back. You can later delete non-good values.

  2. Create a trigger so that only good data is logged. This is probably the best option, if your group does not already have a trigger:
    i) Create a copy of one of your OPC items in the group.
    ii) Edit that copy, and change the “Property” from “Value” to “Quality”. The data type should be Integer.
    iii) Set the item to “read only”. It is only useful as the trigger, so it doesn’t need to be stored in the database. You may also change the name of the item to something more identifiable, like “trigger”.
    iv) On the Trigger tab of the group, select “execute group on trigger”. Select your trigger item. Select the 3rd trigger condition and set: “is active = 192, non-active != 192”.

You may now start your group. The group will execute constantly while the quality is good, but will not log data when the quality is bad, which should happen when the OPC server is not available, or there is some other problem, like a device not being available.

Hope this helps,