Troubleshooting PLCs not returning data

Problem

The client added a new production line (4) and the reports were not seeing any activity from the new PLCs after the configuration was complete in PF reports

Solution

  1. Diagnose the issue – where does the error or non-functionality present in Plant Focus?  
  2. Identify the PLCs tied to the issue and determine if they are:
    1. a 'query' tag or
    2. a 'calculated' tag

Confirm data is populating for the PLCid - Plot the raw data using the DOR ITEM GRAPHS (usually located when you hover over the Graphs menu) or at ~/DOR/Reports/DataMultiGraph.aspx.

**The visual graph will help you determine if the data is being received, as well as the raw data values below the graph.



Confirm that data is flowing to the PLC.

a) Pull the PLC id(s) in the DOR ITEM ADMIN and identify the dependent PLCids by clicking Select on the PLCid in question, it will list dependents on the right side of the next screen. You should note those and double check reports that use the PLCids and their dependents.


Run the DOR Data Recalculate(it is normally located inside the WebAdmin link)



Confirm that the TimeCalc service is active and restart if necessary:

Go to Task Manager and confirm the CPU level is showing activity for the TimeCalc service.

You may want to reset the service by R-clicking on the PDataDORRealTimeCalc.exe and selecting End Task.  It will disappear momentarily, then should reappear (after the watcher picks it up and restarts, you will see the CPU usage spike)

Re-check the reports to see if data was populated after restarting the service.


If that did not resolve the issue, you should check the error logs for clues to where the error may have occurred. You can use the tool to check the logs from the Plant Focus GUI at:

https://plantfocus.productiondata.com/reports/maintenanceselector.aspx

Select the table named:   tblPLC_Errors

Check the Orderby box and select dt, then descending (this will return the latest error logged and you can scroll to locate your PLCid or use the filter functions to get the data.  It is likely best to scroll to the time, so you can see all events around the time that the error was logged.