-import "Simantics/DB"\r
-import "Simantics/Variables"\r
-import "Simantics/Entity"\r
-import "Simantics/Model"\r
-import "http://www.simantics.org/Modeling-1.2" as MOD\r
-\r
-type Subscription = Resource\r
-type SubscriptionFolder = Resource\r
-\r
-importJava "org.simantics.modeling.subscription.SCLSubscription" where \r
- @JavaName addSubscriptionItems\r
- """\r
-Creates new Subscription with the given Variable under the given SubscriptionFolder.\r
-\r
-**Input 1:** Subscription folder in which subscription is wanbted to be created as **Resource**\r
-\r
-**Input 2:** Wanted module attribute from which subscription is to be created as **Variable**\r
-\r
-**Output:** The newly created subscription as **Resource**\r
-\r
-Example: Model contains two subscription folders called **Default** and **Pressure subscriptions of the model**. Let's fetch them and add one new subscription\r
-of module PO01 attribute PO11_PRESSURE to the latter folder.\r
-\r
- import "Apros/Model"\r
- import "Apros/Module"\r
- import "Simantics/Diagram"\r
- import "Apros/Variables"\r
- import "Simantics/Subscription"\r
- my_model = model "Model"\r
- my_diagram = diagram my_model ["NewGenericDiagram"]\r
- my_component = getComponent my_model "PO01"\r
- my_variable_uri = stateVariableUri my_model my_diagram my_component "PO11_PRESSURE"\r
- my_variable = getStateVariable my_variable_uri\r
- my_subscription_folder_list = subscriptionFoldersOf my_model\r
- my_subscription_folder_list\r
- \r
- > [#430091, #386608]\r
- \r
- print(labelOf(my_subscription_folder_list!0))\r
-\r
- > Pressure subscriptions of the model\r
-\r
- print(labelOf(my_subscription_folder_list!1))\r
-\r
- > Default\r
- \r
- addSubscriptionInFolder (my_subscription_folder_list!0) my_variable\r
-\r
- > #430094 \r
- \r
- """\r
- addSubscriptionInFolder :: SubscriptionFolder -> Variable -> <WriteGraph> Subscription\r
-\r
- @JavaName newSubscriptionItem\r
- """\r
-Creates new Subscription with advanced options for user to define non-default parameters.\r
-\r
-**Input 1:** Wanted subscription folder as **Resource**\r
-\r
-**Input 2:** Wanted variable from which the subscription is done as **Variable**\r
-\r
-**Input 3:** Sampling interval as **Double**\r
-\r
-**Input 4:** Deadband as **Double**\r
-\r
-**Input 5:** Gain as **Double**\r
-\r
-**Input 6:** Bias as **Double**\r
-\r
-**Input 7:** Unit as **String**\r
-\r
-**Input 8:** Label as **String**\r
-\r
-**Output:** The newly created subscription as **Resource**\r
- \r
-Example: Let's add a subscription of module **PO01** attribute **PO11_PRESSURE** to the default subscription folder. This point is \r
-located on diagram **NewGenericDiagram** in a model called **Model**. We want to have unit to be shown as bars, so lets define gain as **10**.\r
-Also lets define sampling interval to be **5 seconds** and label as **Pressure at point PO01**\r
- \r
- import "Apros/Model"\r
- import "Apros/Module"\r
- import "Simantics/Diagram"\r
- import "Apros/Variables"\r
- import "Simantics/Subscription"\r
- my_model = model "Model"\r
- my_diagram = diagram my_model ["NewGenericDiagram"]\r
- my_component = getComponent my_model "PO01"\r
- my_variable_uri = stateVariableUri my_model my_diagram my_component "PO11_PRESSURE"\r
- my_variable = getStateVariable my_variable_uri\r
- my_subscription_folder = defaultSubscriptionFolder my_model\r
- newSubscription my_subscription_folder my_variable 5 0 10 0 "Bar" "Pressure at point PO01"\r
-\r
- #430173\r
- \r
- """\r
- newSubscription :: SubscriptionFolder -> Variable -> Double -> Double -> Double -> Double -> String -> String -> <WriteGraph> Subscription\r
- \r
- @JavaName addSubscriptionFolder\r
- """\r
-Creates new SubscriptionFolder under the given Model. Parameter String defines the name of the folder.\r
-\r
-**Input 1:** Model in which new subscription folder is wanted to be created as **Model**\r
-\r
-**Input 2:** Wanted name for the new subscription folder as **String**\r
-\r
-**Output:** The newly created subscription folder as **Resource**\r
-\r
-Example:\r
-\r
- import "Apros/Model"\r
- import "Simantics/Subscription"\r
- my_model = model "Model"\r
- addSubscriptionFolder my_model "Pressure subscriptions of the model"\r
-\r
- #430186\r
- """\r
- addSubscriptionFolder :: Model -> String -> <WriteGraph> SubscriptionFolder\r
- \r
- @JavaName defaultSubscriptionFolder\r
- """\r
-Browses the given Model for its default SubscriptionFolder with name "Default" and then returns it. If folder is not found, returns a random SubscriptionFolder\r
-\r
-**Input 1:** Model which default subscription folder is wanted to be obtained as **Model**\r
-\r
-**Output:** The default subscription folder as **Resource**\r
-\r
-Example:\r
-\r
- import "Apros/Model"\r
- import "Simantics/Subscription"\r
- my_model = model "Model"\r
- defaultSubscriptionFolder my_model\r
-\r
- #386608\r
-\r
- """\r
- defaultSubscriptionFolder :: Model -> <ReadGraph> SubscriptionFolder\r
- \r
- @JavaName getLabel\r
- getSubscriptionLabel :: Subscription -> <ReadGraph> String\r
-\r
-"""\r
-Creates new Subscription with the given Variable to the Variables models default SubscriptionFolder.\r
-\r
-**Input 1:** Wanted module attribute from which subscription is to be created as **Variable**\r
-\r
-**Output:** The newly created subscription as **Resource**\r
-\r
-Example: create a subscription of module PO01 attribute PO11_PRESSURE to the default subscription folder with default options.\r
-\r
- import "Apros/Model"\r
- import "Apros/Module"\r
- import "Simantics/Diagram"\r
- import "Apros/Variables"\r
- import "Simantics/Subscription"\r
- my_model = model "Model"\r
- my_diagram = diagram my_model ["NewGenericDiagram"]\r
- my_component = getComponent my_model "PO01"\r
- my_variable_uri = stateVariableUri my_model my_diagram my_component "PO11_PRESSURE"\r
- my_variable = getStateVariable my_variable_uri\r
- addSubscription my_variable\r
- \r
- #430121\r
-\r
-"""\r
-addSubscription :: Variable -> <WriteGraph,ReadGraph> Subscription\r
-addSubscription variable = do\r
- model = modelOfVariable variable\r
- default = defaultSubscriptionFolder model\r
- addSubscriptionInFolder default variable\r
-\r
-"""\r
-Browses the given Model for its SubscriptionFolders and then returns them in a list.\r
-\r
-**Input 1:** Model which subscription folders are wanted as **Model**\r
-\r
-**Output:** List which elements are subscription folder **Resources**\r
-\r
-Example: Model contains two subscription folders called **Default** and **Pressure subscriptions of the model**. Let's fetch them and print out their names.\r
-\r
- import "Apros/Model"\r
- import "Simantics/Subscription"\r
- my_model = model "Model"\r
- my_subscription_folder_list = subscriptionFoldersOf my_model\r
- my_subscription_folder_list\r
-\r
- [#386608, #430189]\r
-\r
- print(labelOf(my_subscription_folder_list!0))\r
-\r
- Default\r
-\r
- print(labelOf(my_subscription_folder_list!1))\r
-\r
- Pressure subscriptions of the model\r
-\r
-"""\r
-subscriptionFoldersOf :: Model -> <ReadGraph> [SubscriptionFolder]\r
-subscriptionFoldersOf model = recurse (toResource model)\r
- where\r
- recurse r = do\r
- cs = resourceChildrenOf r\r
- folders = map fromResource $ filter isSubscriptionFolder cs\r
- folders\r
- isSubscriptionFolder r = isInstanceOf r MOD.Subscription\r
+import "Simantics/DB"
+import "Simantics/Variables"
+import "Simantics/Entity"
+import "Simantics/Model"
+import "http://www.simantics.org/Modeling-1.2" as MOD
+
+type Subscription = Resource
+type SubscriptionFolder = Resource
+
+importJava "org.simantics.modeling.subscription.SCLSubscription" where
+ @JavaName addSubscriptionItems
+ """
+Creates new Subscription with the given Variable under the given SubscriptionFolder.
+
+**Input 1:** Subscription folder in which subscription is wanbted to be created as **Resource**
+
+**Input 2:** Wanted module attribute from which subscription is to be created as **Variable**
+
+**Output:** The newly created subscription as **Resource**
+
+Example: Model contains two subscription folders called **Default** and **Pressure subscriptions of the model**. Let's fetch them and add one new subscription
+of module PO01 attribute PO11_PRESSURE to the latter folder.
+
+ import "Apros/Model"
+ import "Apros/Module"
+ import "Simantics/Diagram"
+ import "Apros/Variables"
+ import "Simantics/Subscription"
+ my_model = model "Model"
+ my_diagram = diagram my_model ["NewGenericDiagram"]
+ my_component = getComponent my_model "PO01"
+ my_variable_uri = stateVariableUri my_model my_diagram my_component "PO11_PRESSURE"
+ my_variable = getStateVariable my_variable_uri
+ my_subscription_folder_list = subscriptionFoldersOf my_model
+ my_subscription_folder_list
+
+ > [#430091, #386608]
+
+ print(labelOf(my_subscription_folder_list!0))
+
+ > Pressure subscriptions of the model
+
+ print(labelOf(my_subscription_folder_list!1))
+
+ > Default
+
+ addSubscriptionInFolder (my_subscription_folder_list!0) my_variable
+
+ > #430094
+
+ """
+ addSubscriptionInFolder :: SubscriptionFolder -> Variable -> <WriteGraph> Subscription
+
+ @JavaName newSubscriptionItem
+ """
+Creates new Subscription with advanced options for user to define non-default parameters.
+
+**Input 1:** Wanted subscription folder as **Resource**
+
+**Input 2:** Wanted variable from which the subscription is done as **Variable**
+
+**Input 3:** Sampling interval as **Double**
+
+**Input 4:** Deadband as **Double**
+
+**Input 5:** Gain as **Double**
+
+**Input 6:** Bias as **Double**
+
+**Input 7:** Unit as **String**
+
+**Input 8:** Label as **String**
+
+**Output:** The newly created subscription as **Resource**
+
+Example: Let's add a subscription of module **PO01** attribute **PO11_PRESSURE** to the default subscription folder. This point is
+located on diagram **NewGenericDiagram** in a model called **Model**. We want to have unit to be shown as bars, so lets define gain as **10**.
+Also lets define sampling interval to be **5 seconds** and label as **Pressure at point PO01**
+
+ import "Apros/Model"
+ import "Apros/Module"
+ import "Simantics/Diagram"
+ import "Apros/Variables"
+ import "Simantics/Subscription"
+ my_model = model "Model"
+ my_diagram = diagram my_model ["NewGenericDiagram"]
+ my_component = getComponent my_model "PO01"
+ my_variable_uri = stateVariableUri my_model my_diagram my_component "PO11_PRESSURE"
+ my_variable = getStateVariable my_variable_uri
+ my_subscription_folder = defaultSubscriptionFolder my_model
+ newSubscription my_subscription_folder my_variable 5 0 10 0 "Bar" "Pressure at point PO01"
+
+ #430173
+
+ """
+ newSubscription :: SubscriptionFolder -> Variable -> Double -> Double -> Double -> Double -> String -> String -> <WriteGraph> Subscription
+
+ @JavaName addSubscriptionFolder
+ """
+Creates new SubscriptionFolder under the given Model. Parameter String defines the name of the folder.
+
+**Input 1:** Model in which new subscription folder is wanted to be created as **Model**
+
+**Input 2:** Wanted name for the new subscription folder as **String**
+
+**Output:** The newly created subscription folder as **Resource**
+
+Example:
+
+ import "Apros/Model"
+ import "Simantics/Subscription"
+ my_model = model "Model"
+ addSubscriptionFolder my_model "Pressure subscriptions of the model"
+
+ #430186
+ """
+ addSubscriptionFolder :: Model -> String -> <WriteGraph> SubscriptionFolder
+
+ @JavaName defaultSubscriptionFolder
+ """
+Browses the given Model for its default SubscriptionFolder with name "Default" and then returns it. If folder is not found, returns a random SubscriptionFolder
+
+**Input 1:** Model which default subscription folder is wanted to be obtained as **Model**
+
+**Output:** The default subscription folder as **Resource**
+
+Example:
+
+ import "Apros/Model"
+ import "Simantics/Subscription"
+ my_model = model "Model"
+ defaultSubscriptionFolder my_model
+
+ #386608
+
+ """
+ defaultSubscriptionFolder :: Model -> <ReadGraph> SubscriptionFolder
+
+ @JavaName getLabel
+ getSubscriptionLabel :: Subscription -> <ReadGraph> String
+
+"""
+Creates new Subscription with the given Variable to the Variables models default SubscriptionFolder.
+
+**Input 1:** Wanted module attribute from which subscription is to be created as **Variable**
+
+**Output:** The newly created subscription as **Resource**
+
+Example: create a subscription of module PO01 attribute PO11_PRESSURE to the default subscription folder with default options.
+
+ import "Apros/Model"
+ import "Apros/Module"
+ import "Simantics/Diagram"
+ import "Apros/Variables"
+ import "Simantics/Subscription"
+ my_model = model "Model"
+ my_diagram = diagram my_model ["NewGenericDiagram"]
+ my_component = getComponent my_model "PO01"
+ my_variable_uri = stateVariableUri my_model my_diagram my_component "PO11_PRESSURE"
+ my_variable = getStateVariable my_variable_uri
+ addSubscription my_variable
+
+ #430121
+
+"""
+addSubscription :: Variable -> <WriteGraph,ReadGraph> Subscription
+addSubscription variable = do
+ model = modelOfVariable variable
+ default = defaultSubscriptionFolder model
+ addSubscriptionInFolder default variable
+
+"""
+Browses the given Model for its SubscriptionFolders and then returns them in a list.
+
+**Input 1:** Model which subscription folders are wanted as **Model**
+
+**Output:** List which elements are subscription folder **Resources**
+
+Example: Model contains two subscription folders called **Default** and **Pressure subscriptions of the model**. Let's fetch them and print out their names.
+
+ import "Apros/Model"
+ import "Simantics/Subscription"
+ my_model = model "Model"
+ my_subscription_folder_list = subscriptionFoldersOf my_model
+ my_subscription_folder_list
+
+ [#386608, #430189]
+
+ print(labelOf(my_subscription_folder_list!0))
+
+ Default
+
+ print(labelOf(my_subscription_folder_list!1))
+
+ Pressure subscriptions of the model
+
+"""
+subscriptionFoldersOf :: Model -> <ReadGraph> [SubscriptionFolder]
+subscriptionFoldersOf model = recurse model
+ where
+ recurse r = filter isSubscriptionFolder (children r)
+ isSubscriptionFolder r = isInstanceOf r MOD.Subscription