Siti Tay last won the day on November 15 2021
Siti Tay had the most liked content!
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Siti Tay's Achievements
Valve status check for Batch step process
Siti Tay posted a topic in General Seeq DiscussionsAn oil and gas engineer would like to reproduce below Batch monitoring table for vessels in Seeq. Green color indicates that the valve for the respective batch step is open, while red color indicates the valve status is close. 1. Use Condition with Properties to create conditions with regen steps as property name. 2. Define the respective valves position at each regen step. $Running = ($Prod_Valve ~= "Open").intersect($Step.keep('Batch Step',isEqualTo('RUNNING'))) $Isopropyl = ($Prod_Valve ~= "Open").intersect($Step.keep('Batch Step',isEqualTo('ISOPROPYL FLUSH'))) $Startup = ($Prod_Valve ~= "Open").intersect($Step.keep('Batch Step',isEqualTo('STARTUP'))) $Down = ($Prod_Valve ~= "Close").intersect($Step.keep('Batch Step',isEqualTo('DOWN'))) combineWith ($Running,$Isopropyl,$Startup,$Down) 3. Create a scorecard metric with colour threshold for each valve: Count =1; Green – good with single valve opening Count >1 or <1; Red – alarm as potential multiple valves opening or issue with signal status 4. In condition Table view, select the Capsule Property at the Headers. Optionally, the count value can be hidden by editing "" in the Number Format in the Item Properties as shown below. With this method, if all the valves indicates green means the valve Open/Close correctly. Thus user just need to focus on the red indicator.
Seeq function to aggregate last X days of valid data
Siti Tay replied to Ruby Han's topic in General Seeq DiscussionsHi Ruby Han, Step 1. Create capsules for every 7 valid samples ($toCapsulesbyCount) for every sample : *Note that the function toCapsulesByCount() is available in Seeq versions R54+ $signal.toCapsulesByCount(7, 10d) Step 2. Use signal from condition to determine the X days of 7days valid data : If you would like to aggregate every 7 valid samples, you can use aggregateByCount function which also introduced in version R54. Example using this function can be found here : Hope this help.
May i know which Seeq version you're using
Hello there, I followed your work step and it works. the error you're seeing related to parameter specified in setproperty formula. can you try again using this formula : $bitc.setMaximumDuration(10d).setproperty('visc avg', $vs, average()). $bitc is your Batch ID condition which was created using $bs.tocondition('BATCH_ID') $vs is the Viscosity-Seeq signal Let me know if this works.
A capsule between two different capsules
Siti Tay replied to Javad Kondori's topic in General Seeq DiscussionsHi Javad, Here are the steps to get Condition C: Step 1: Create ''Condition C1'' by joining ''Condition A'' and ''Condition B'' using this formula : $a.afterEnd(0ns).join($b.beforeStart(0ns), 40h, false) Step 2: Create ''Condition C2'' using inverse function in formula and specify the duration. For example 10 min. Only capsule shorter than 10 min will be returned. $conditionA.inverse().removeLongerThan(10min) Step 3. Combine ''Condition C1'' and ''Condition C2'' using CombineWith function in formula combineWith($C1, $C2) Let me know if this works.
A capsule between two different capsules
Siti Tay replied to Javad Kondori's topic in General Seeq DiscussionsHi Javad Kondori, This can be achieved by using Composite Condition tools. Select combination method of Join. Please make sure you uncheck "Inclusive of A" and "Inclusive of B" in order to create capsule between A and B. You can also refer to this example on how to use composite condition with join function: https://www.seeq.org/index.php?/forums/topic/625-creating-a-condition-for-equipment-start-up/&do=findComment&comment=1105 Hope this answer your question.
Identifying Peaks and their Rate of Change
Siti Tay replied to Matthias's topic in General Seeq DiscussionsHi Matthias, The first question is to identify each maximum peak of the blue trend : 1. First apply an agileFilter to remove noisy signal and calculate the derivative of the signal. Please refer to formula documentation for derivative. Example: $signal.agileFilter(15min).derivative('min') 2. Then use value search to identify increasing trend, example as below and you can optimize accordingly. or you can refer to step 4 and 5 from this post : 3. Use Signal from condition to find the maximum value bounded to the condition created in step 2 and place the timestamp at point of max value: Second Question : Rate of change of one peak and the upcoming peak 4. We can apply the same derivative function. Example: $max.derivative('min') Third Question : to detect a significant change of the signal (marked by red X's) 5. The max derivative will increase or decrease significantly when there's a sudden change. Example here, we're using the threshold of +-0.005 to detect the changes for max rate decrease and increase respectively. Forth Question : to know its Duration (marked by the red arrows) : 6. Use Composite condition to join ''Rate Decreased'' and ''Rate Increased" 8. Calculate Total Duration of ''Join Decreased to Increased'' condition using signal from condition tool. Please give this a try to your signal and let us know if you have further question.
Siti Tay replied to Feng Jin Liew's topic in General Seeq DiscussionsHi Feng. Can you give a try this formula and let me know if it works $SumRange = periods(3min) $signal.runningSum($SumRange)