Jump to content

Sean T

Seeq Team
  • Posts

  • Joined

  • Last visited

  • Days Won


Sean T last won the day on May 14

Sean T had the most liked content!

Personal Information

  • Company
  • Title
    Analytics Engineer

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Sean T's Achievements


Newbie (1/14)

  • Week One Done
  • One Month Later
  • One Year In

Recent Badges



  1. Hi Sivaji, You are correct that data pulled/pushed in SPy will be done by default in GMT (actually, UTC). Glad you were able to find a way to specify your timezones for your case where the time zone wasnt mentioned!
  2. Starting in R22.0.49, the Delay operator functionality has been rolled into the .move() function, which has long acted like the delay operator, but for capsules. Hopefully this will simplify the number of fomula operators that we need to know to work with our data in Seeq! If you search for delay in the formula documentation, it will bring up the move formula with updated documentation to represent the change.
  3. When generating a simple value search, using operators like .isLessThan() or using the mathematical operators in formula like <,> would generally be more efficient than specifying a Value Search. The .valueSearch() operator provides aditional benefit over other operators when some condition filtering is also required as we can also specify an entry/exit grace period, and max duration, among other possible operators that can be supplied directly into the valueSearch() operator without having to use other fucntions to accomplish condition filtering. An example where .ValueSearch() would be much simpler than using .isbetween() and other condition filtering operators would be: Create capsules where $signal becomes greater than 5 kW for at least 4 seconds and ending when $signal becomes greater than 15.0 kW for at least 3 seconds. Capsules longer than 1 day are discarded. $signal.valueSearch(1d, isGreaterThan(5.0 kW), 4s, true, isGreaterThan(15.0 kW), 3s, true)
  4. Thanks for the feedback Woody, I will incorporate your request into our feature logging system.
  5. Often when using capsule properties that have operational data, like alarm data, batch data, operator input comments, etc. Capsule properties are read in with multiple lines. In Seeq, we can easily leverage the capsule property and the keep function that Lindsey explained above to filter for specific key words and extract more exact information out of the properties! To do this, i will need to use Regex searching to find my keywords. (To learn more about regular expressions or validate that your search is will work as expected, check out https://regex101.com/ ). toSignal() Property We start with some capsule properties, in this case i have made a string signal out of my capsule properties using the $condition.toSignal('Value') function in formula, where 'Value' is the name of the capsule property of interest. I have an example of my condition with properties and my signal shown below so we can see the text I will be searching on. When we view multi-line propeties in trend view in Seeq, it is not immediately apparent that they have multiple lines, This is done to allow them to better fit in the Capsules pane. To verify my multi-line comment, i have made a Scorecard out of the signal where we can see the multiple lines: Regex Searching on Capsule Properties When filtering capsule properties, like my commented property shown above in Seeq, we can utilize regex searching to be more exact in our search methodology. To do this, we use a regular expressing in place of our usual search strings: $condition.keep('Value', isMatch('/.*Com.*/') Which will keep any property that has the exact string 'Com' somewhere in the first line of the property. Any other regex search can be input in place of the '.*Com.*' string. The contains() operator can also be used in place of the isMatch() operator To perform regex searching on multiple lines, a (?s) or (?si) needs to be tacked on to the front of the regex search. The (?s) will perform a case sensitive multi-line regex search and (?si) will allow the multi-line search to not be case sensitive. This way we can search for any specific keyword (or words) in a multi line capsule property: $condition.keep('Value', isMatch('/(?s).*keyword.*/') or $condition.keep('Value', isMatch('/(?si).*keyword.*/') Results in a new filtered condition that only contains capsules whose 'Value' property contains our 'keyword':
  6. Hi Greg Since you already have a condition identifying when your signal changes, to identify the magnitude of the change all you need to do is use Signal From Condition. Here is an example of how it might look: In this case i am using "Range" because it will always give me a positive value of the change in my power signal. If i wanted to know if it was positive or negative I would use "Delta" instead. Here i am using the Duration as my timestamp so i can more easily accomplish the next step- filtering the original change condition. Since you want to count the number of instances the value changes by more than some amount, we can then filter our original condition (the one that identified the change) so it only retains the capsules where the change was over your threshold. To do this i will use Formula: In this case, i am filtering my Load Swing to keep capsules where the swing is greater than 25kW. You can see the filtered condition is shown in blue where my original Condition is shown in green. From here, you can use the Scorecard Metric to count the number of the filtered capsules. Hope this helps!
  7. Hi Thorsten, A bit more information might help me directly answer your question. Are the calculations being performed on the historian server? If so, then yes we would reference like any other signal. If the calculation is performed within seeq, then the answer is also yes, we should be able to assign that to a tree within the tree file connector depending on how it was created and the specifics of the calculations. Here is an example of the data/datasource ID and datasource name for a Seeq calculation: In general you would assign a seeq internal calculation using this information in place of the equivalent historian information. If you have a bit more information on what exactly you are trying to accomplish i will try and give you a more specific answer. Hope this helps -Sean Tropsa
  8. As of Seeq R21.044 we have a couple interesting new ways to compare signals in formula! When creating a value based condition, the usual default is the value search tool, but it has always been possible using formula as well, however these functions have typically been limited to signal against scalar comparisons. As of R21.044 however, common math operators like <, <=, >, >=, == (is equal to), != (is not equal to), and && (logical and) are all available for use as signal against scalar, or signal against signal comparisons! Whenever the mathematical condition is met, a condition will be created just like a typical value search, however unlike value search the mathematical operators in formula will also work with two signals. For more information, search for "Comparison Functions for Signals" in your formula documentation. Here are a few examples of these operators in use: Signal and scalar comparison: Signal and scalar comparison with logical and: Signal against Signal: For a full list of whats new in R21.044 check out this KB article: https://seeq12.atlassian.net/wiki/spaces/KB/pages/571375775/What+s+New+in+R21.0.44
  9. Scenario: I have created a regression or prediction model for my process but i want to apply that same regression model to another set of signals or a different period of time. This could be helpful for comparing how one piece of equipment is operating when compared against a regression built for another system. It could be used to predict how a system will behave based on how some other similar system behaved. It could be used predict how a system will behave before you have enough information to build that system or run its own model, or any number of applications where we might want to apply a regression or prediction model built on one set of signals to another set of signals. Solution: First off, we have to build a prediction model! In this case i have modeled a Filtration system, predicting filter head loss. I took into account the time the filter has been in service, the raw water turbidity, and the Filter turbidity. Next, if i click on the information icon for my prediction signal, i am able to see the formula that was used to create this prediction. We will need to copy this formula: Next, I need to identify my new signals. In my case, i am going to apply this prediction model to Filter 12. Once i have all of my signals that will be sued to the prediction i can paste my formula into a new formula and make sure all my variables line up (or, alternately and a bit easier, just use the duplicate to formula function from the information screen shown above by clicking on the down arrow next to the duplicate button). Finally, I need to update the PREDICT section of my formula denoted by the .predict() function with the signals i will apply my prediction model to. I can do this by using the search button in the formula tool to add my new signals, and then update the .predict() section of my formula with my new variables, make sure to put them in correctly and in the right order otherwise your model will be off! Finally, i can use my prediction model that i built for Filter 1 on Filter 12 and derive further insight, in this case i might question whether my systems are truly as similar as i think they are or whether there is something causing my model to deviate from what was expected for filter 12. In my case, both prediction models are in red:
  10. Frequently asked question: How do i highlight capsules? I am looking at quite a few capsules in capsule time, is there any way i can compare or highlight a few of them against the rest to compare performance? Lets say i want to look at the most recent batch compared to all batches in the last month, look at one start up or shut down against several historical, or any number of other reasons why we might want to compare capsules in Capsule Time. Luckily, this is easy in Seeq! While in capsule time, simply select one or several capsules in the capsule pane to highlight them against the rest: Alternatively, if you do not know the date of the problem capsule but you can tell that it stands out, you can just click on it in the display pane to highlight it and it will be selected in the capsule pane for you to dig into further! If you want to un-select one of the highlighted capsules in capsule time, just click on it again and it will be dimmed. Image captured in Seeq R21.043
  11. Giovanni, You can view the prediction model coefficients in the prediction menu by clicking on the "Prediction Model" button: You mentioned that the model does not seem to fit the data? Can you elaborate on this? If you don't feel comfortable posting anything here, feel free to email support@seeq.com and we would be happy to look at your model! As for the trend line, at the moment this is not currently possible, however this is a feature that is in our current beta release R21.044! Please check with your local Seeq admin or contact us at support@seeq.com and we can look at the upgrade process. -Sean
  12. In R21+ versions of Seeq, an easier way to accomplish the up time counter would be to use the following code: 1.toSignal().integral($on) You can add on the modifier .convertUnits('h') to convert the counted time from seconds to hours (or replace 'h' with min for minutes, d for days, etc.) A side note, With the R21.043 release we no longer require a maximum duration when creating capsules, but still require it when performing certain functions like integral(), if you are getting a maximum duration error, just tack on .setMaximumDuration(7d) on to your condition like so: 1.toSignal().integral($co.setMaximumDuration(7d)).convertUnits('h') More info on the maximum duration can be found in this thread:
  13. Drew, As Thorsten said, we do not currently have a way to show the most current values in the trend view of Workbench. If you want to view the value and the trend at the same time, you could create a scorecard as Thorsten suggested, then create an Organizer Topic with both the Scorecard Metrics and the trend view on the same page. You mentioned in your PDF that you wanted to move the trend range (axis) from the left side of the Y-Axis to the right. You can currently accomplish this using the 'Align' option in the customize pane. Select R instead of L: I can submit a feature request for each of the items you show in your attached PDF (View most recent values on the trend and grid lines on the trend axes). If you would like to be attached to the feature requests, please email support@seeq.com so we can attach you. That way you will be notified as your requests get worked on!
  14. Hi William, If you just want to make the 56 day cycle of one interval of shifts into a recurring periodic condition you can use the periods() function in formula. This function can take a number of optional arguments but the basics are: length of capsule, time between capsule starts, time to start first capsule (can be time zone adjusted). For your specific case, try this in formula: periods(56 day, 56 day, '2019-05-13') where you have a 56 day capsule that is created every 56 days starting on may 13th (i used may 13th of this year in the example)
  15. Kareem, Do all of your temperature signals have the same threshold value? If so, we could possibly do some math to create 1/0 signals for each of your temperatures in formula and add them up giving you a total above threshold value. If each of the temperature signals has a different value, we could still potentially do it in formula, but it might be advantageous to use the value search functionality to create capsules at that point. -Sean
  • Create New...