#1142 Xeto Equip.points implicit equipRef+

Francis Mahony Tue 19 Nov

Current Behavior

A xeto equipment spec will commonly declare mandatory points for validation under the points tag. When using fit to validate against this spec it calls the inverse of ph::Point.equips which performs an equipRef+ traversal from the points perspective. This means that an equipment will check the points of all sub-equipment for a match.

Problem

I'm finding this behavior troublesome for validating chilled water plants specifically. For example, it is common to have a run-cmd point on a chilled water plant that puts the plant into operation. However, it is also extremely common to have run-cmd on the chillers and cooling towers that will be a sub-equipment of the plant. The pump-run-cmd points will also be returned by this query. This results in an ambiguous match error making it impossible to validate that there is a run-cmd point on the plant.

This will also be a problem for systems that "aggregate" sub-equipment. For example, a chilled water plant or header will likely have common temperature sensors (e.g. CHWST, CHWRT, CWST, CWRT, etc.). Chillers and cooling towers are also likely to have these sensors local to the machines, resulting in the same issue as querying for run-cmd.

I can also see this issue extending into chillers and packaged units with nested compressors and circuits as well.

Proposal

I believe it is very important that we have the ability to limit the scope of a point validation check to the local equip. An idea might be to add the following queries to Point and Equip respectively.

localEquip: Query<of:Equip, via:"equipRef">
localPoints: Query<of:Point, inverse:"ph::Point.localEquip"> 

An elegant solution might provide syntax sugar to add a "+" within the existing points tag on an equip spec to toggle behavior. However, to preserve compatibility with existing specs, it might be best to add a localPoints tag within which the Equip.localPoints query is called while those within points tag retain the current beahvior of using Equip.points

Login or Signup to reply.