Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The user will login to their Niagara station via browser. Once logged in, run this query with your ip and port http://{IP Adress}/haystack/extended?function=makeDynamicWritable. Normally there is a check to see if the point is writable but from the Niagara Network, there is no way to tell because they are just (numeric point, boolean point exe.) What this does is goes through each point and checks to see if there is any 1 or more actions that isn't hidden in the slots. Of course the point also has to have the haystack slot as well (if not, It'll add it for you). Then it auto adds the writable tag. Then its recommended to rebuild cache after.

What to do in FIN Stack

First the user will upload the attached trio file through folio app. This will add a function that the actions will need in order to execute them with override status colors if you want, else it'll work without it.

View file
namechangeWriteLevel.trio

...

Then they will add the appropriate actions for the point types.

Here is a few examples for boolean point actions (copy, paste, and clone):

Code Block
ver:"2.0"

...


expr,dis

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`emergencyActive`)); chWriteLev($self,1) end","Emergency Active"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`emergencyInactive`)); chWriteLev($self,1) end","Emergency Inactive"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`emergencyAuto`)); chWriteLev($self,17) end","Emergency Auto"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`active`), {duration: $duration}); chWriteLev($self,8) end","Active"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`inactive`), {duration: $duration}); chWriteLev($self,8) end","Inactive"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`auto`)); chWriteLev($self,17) end","Auto"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`set`), {value: $val}); chWriteLev($self,16) end","Set"

...

Here is an example for numeric point actions (copy, paste, and clone):

Code Block
ver:"2.0"

...


expr,dis

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`emergencyOverride`), {value: $val}); chWriteLev($self,1) end","Emergency Override"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`emergencyAuto`)); chWriteLev($self,17) end","Emergency Auto"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`override`), {value: $val, duration: $duration}); chWriteLev($self,8) end","Override"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`auto`)); chWriteLev($self,17) end","Auto"

...


"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`set`), {value: $val}); chWriteLev($self,16) end","Set"

...

Modifying Action Name, Write Level, and Duration

...

This exists in the two spots. One in the action expression and the display name. Its important to make sure the name of the action in the expression is the same name of the action found in the slot sheet in Niagara under Name not Display Name. The display name can be whatever you want it to be. Below are the bold parts where the name exists in the corresponding order (expression and display).

"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`override`override(niagaraName)`)); chWriteLev($self,8) end","Override(Display Name)"

Write Level

Here the user can determine what level they want that particular action to write to in FIN Stack. The bold is where to change this.

"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`Active`)); chWriteLev($self,8) end","Active"

Duration

If the user wants to give their customers the option to use duration. They can do so by adding the bold part inside the action. If not, it can be removed. If adding it, don't forget to include a comma for separation.

"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`Active`), {value: $val, duration: $duration}); chWriteLev($self,8) end","Active"

Exact Value

If the user wants to add an action with no value or duration option, then it would be set like below. It'll just be the action type and thats it, so once its selected, it commands the point to whatever the action is.

"do haystackInvokeAction($self->haystackConnRef, $self->haystackWrite.parseRef, toStr(`emergencyActive`)); chWriteLev($self,1) end","Emergency Active"