Batch Command Signature

Sepasoft MES Module Suite

Batch Command Signature - Perspective

Description

The Batch Command Signature component is a minimized Batch command toolbar for custom Perspective screens. It issues recipe-level Batch commands (Start, Pause, Resume, Hold, Restart, Stop, Reset, and Abort) against a single configured Batch Queue Entry, and can require a Signature Template per command before the command is sent.

Use this component when you need a compact command bar on an operator screen and want to gate selected commands with e-signature authorization—independently of the full Batch Controller or Batch List.

Installed with the Production module (Batch Procedure).

Find this component under the Ignition Designer Perspective Component Palette in the Batch category, named Batch Command Signature.

Note Version specific: In 3.81.13 SP1 and 4.83.3 SP1 and later.

How signature gating works

For each command the operator selects:

  1. If props.signatureTemplates.<command> is set to a Signature Template name, that template is required.

  2. If that property is blank, the component falls through to the built-in / global Batch command Signature Template for that command (if one is configured with an expression).

  3. If neither applies, the command is sent using normal Batch command behavior (no component-defined authorization challenge).

When a Signature Template applies, the component does not send the Batch command immediately. Instead, it creates a pending authorization challenge. After the challenge is approved (for example from an MES Auth Challenge List on the same or another session), the original command is sent to the Batch engine for the same Batch Queue Entry. If the challenge is rejected, the command is not sent.

Success Important: Place an MES Auth Challenge List on the view (or another screen operators/supervisors use) so pending challenges can be acknowledged and completed. Batch Command Signature creates the pending request; it does not open the authorization dialog on the clicker’s session.

Existing Batch Controller and Batch List behavior is unchanged when this component is not used on a screen.

Batch Command Signature Component Properties

Properties are provided that can be set to affect the operation and look of the component. They can be set through the Perspective Property Editor in the Designer or through scripting. Note that the section prefix is included before the property name (props, position, custom, or meta).

Example

JSON
self.getSibling("BatchCommandSignature").props.batchId = selectedBatchId

Name

Scripting

Property Type

Description

Batch ID

batchId

String

Batch Queue Entry ID targeted by all command actions from this component. The component controls one Batch Queue Entry at a time. Leave blank until a batch is selected; command buttons remain disabled until a Batch ID is set.

User

user

String

Name of the user recorded in the EBR for commands that do not require a signature. When a signature requirement is fulfilled, the approving signer(s) are recorded instead (comma-separated for multi-signer approvals). If blank and no signature applies, the Perspective session user is used when available.

Signature Templates

signatureTemplates

Object

Per-command Signature Template names (plain strings). See Signature Templates below. A blank string means unset and falls through to the built-in/global template for that command, or to no signature.

Enable Play

enablePlay

Boolean

Controls whether the contextual Start / Play command is allowed from this component. Defaults to true. The command is still subject to Batch state enablement and a configured Batch ID.

Enable Pause

enablePause

Boolean

Controls whether the Pause command is allowed. Defaults to true.

Enable Hold

enableHold

Boolean

Controls whether the Hold command is allowed. Defaults to true.

Enable Stop

enableStop

Boolean

Controls whether the Stop command is allowed. Defaults to true.

Enable Reset

enableReset

Boolean

Controls whether the Reset command is allowed. Defaults to true.

Enable Abort

enableAbort

Boolean

Controls whether the Abort command is allowed. Defaults to true.

Style

style

Style Object

Perspective style applied to the command toolbar. Refer to the Ignition Style Reference for classes, colors, fonts, and related settings.


Signature Templates

props.signatureTemplates holds one optional template name per command. Enter the name of an existing Signature Template (as configured in MES), not a UUID or object link.

Name

Scripting

Property Type

Description

Start

signatureTemplates.start

String

Signature Template name for Start. Blank = unset.

Pause

signatureTemplates.pause

String

Signature Template name for Pause. Blank = unset.

Resume

signatureTemplates.resume

String

Signature Template name for Resume. Blank = unset.

Hold

signatureTemplates.hold

String

Signature Template name for Hold. Blank = unset.

Restart

signatureTemplates.restart

String

Signature Template name for Restart. Blank = unset.

Stop

signatureTemplates.stop

String

Signature Template name for Stop. Blank = unset.

Reset

signatureTemplates.reset

String

Signature Template name for Reset. Blank = unset.

Abort

signatureTemplates.abort

String

Signature Template name for Abort. Blank = unset.


Note

    Blank or missing means: use the built-in Batch command Signature Template if configured; otherwise send the command without a component-defined challenge.

    A non-blank name that does not resolve to a valid Signature Template blocks the command and shows an error. The command is not sent and no authorization challenge is created.

    Custom (user) Signature Templates used here can appear in the MES Auth Challenge List and can be approved from another Perspective session. Configure templates in the MES Signature Template Manager.

    Position, Custom, and Meta Properties

    Position — Component layout properties. Refer to Ignition Perspective Component Properties for details.

    Custom — New user-defined custom properties can be created in this section. Best practice: if user-defined properties are required, create them here rather than under Meta.

    Meta — Contains the name and visibility properties for the component.

    Runtime Behavior

    Binding a Batch

    1. Set props.batchId to the ID of a queued Batch Queue Entry (often bound from a Batch List or Batch Selector selection).

    2. The toolbar updates enablement from the current Batch state for that entry.

    3. When the Batch state changes (including changes made outside this component), the toolbar updates to match the bound Batch.

    If batchId is blank, command buttons stay disabled. If a command is attempted with a missing or mismatched Batch ID, the command is rejected with an error and no authorization challenge is created.

    Toolbar commands

    The toolbar provides Play, Pause, Stop, Hold, Abort, and Reset.

    Play issues a contextual command based on Batch state:

    Batch state

    Play issues

    Paused

    Resume

    Held, Complete, or Running

    Restart

    Other states (for example Idle)

    Start

    Success

    Each button is enabled only when all of the following are true:

    • The corresponding enable* property is true (Play uses enablePlay).

    • props.batchId is set.

    • The command being issued is valid for the current Batch state (same Batch command availability rules used by other Batch command clients).

      Typical state enablement for the dedicated toolbar buttons (when the matching enable* property is true):

      Command

      Enabled when Batch state is

      Pause

      Running

      Stop

      Running, Pausing, Paused, Holding, Held, Restarting

      Hold

      Running, Pausing, Paused, Restarting

      Abort

      Running, Holding, Held, Pausing, Paused, Stopping, Stopped, Restarting

      Reset

      Idle, Stopped, Aborted, Complete

      Play follows those same availability rules for the command it will issue (Start, Resume, or Restart). Configure signatureTemplates.start, signatureTemplates.resume, and signatureTemplates.restart for whichever Play command you expect operators to use on that screen.


      After authorization is completed, the Batch engine still validates the command against the current Batch state. If the Batch state changed while a challenge was pending, the engine applies normal lifecycle rules and may reject a command that is no longer valid.

      Authorization flow

      1. Operator selects an enabled command.

      2. If no Signature Template applies (component property blank and no built-in expression), the command is sent immediately. The EBR change-by value uses props.user when set; otherwise the session user when available.

      3. If a Signature Template applies:

        • A pending authorization challenge is created.

        • The Batch command is not sent yet.

        • The initiating session does not automatically open an authorization dialog.

      4. An authorized user acknowledges and completes the challenge (typically from MES Auth Challenge List), including from another workstation when the template allows it.

      5. When all required signatures are approved, the original command is sent for the same batchId. Approving usernames are recorded in the EBR change-by field (comma-separated when multiple signers approve).

      6. If a required signer rejects the challenge, the command is not sent.

      Multiple gated commands may be pending at the same time. Approving one challenge releases only that command.

      Pending authorization challenges are held in gateway memory for the running Gateway. They are not retained across a Gateway restart.

      Errors operators may see

      Situation

      Result

      Signature Template name does not exist or cannot be resolved

      Error dialog; command not sent; no pending challenge

      Batch ID blank or does not match the configured batchId

      Error dialog; command not sent; no pending challenge

      Signer authenticated but does not satisfy the template expression

      Error dialog; command not sent

      Challenge rejected

      Command not sent

      Configuration Examples

      Example 1 — Compact command bar with no extra signatures

      Use a Batch List (or Selector) to choose a batch, and bind the command bar to the selection. Leave all signatureTemplates blank so commands follow built-in / default Batch signature behavior only.

      JSON
      # Batch List selection  Batch Command Signature
      self.getSibling("BatchCommandSignature").props.batchId = self.props.selectedBatchID

      Property

      Example value

      batchId

      Bound to selected Batch Queue Entry ID

      signatureTemplates.*

      (blank)

      enablePlay / enablePause / …

      true as needed for the screen

      Example 2 — Require a supervisor template only for Stop and Abort

      Create or select Signature Templates in the MES Signature Template Manager (for example SupervisorStop and SupervisorAbort). Set those names on the component; leave other commands blank.

      Property

      Example value

      batchId

      Bound to the active Batch Queue Entry

      signatureTemplates.stop

      SupervisorStop

      signatureTemplates.abort

      SupervisorAbort

      signatureTemplates.start (and others)

      (blank)

      Also add an MES Auth Challenge List to the operator or supervisor view so Stop/Abort challenges can be approved.

      Example 3 — Operator initiates; supervisor approves on another session

      1. On the operator screen: Batch Command Signature with signatureTemplates.abort set to a multi-role or supervisor template, plus a minimized MES Auth Challenge List (optional for the operator).

      2. On the supervisor screen: MES Auth Challenge List (Standalone or Minimized).

      3. Operator selects Abort → a pending authorization appears for the supervisor.

      4. Supervisor approves from their session → Abort runs against the original batchId.

      Example 4 — Record a fixed operator name for unsigned commands

      Property

      Example value

      user

      Line1Operator

      signatureTemplates.*

      Blank for commands that should not require a signature

      Commands without a signature record Line1Operator in the EBR when set. Commands that complete a signature record the approving signer(s) instead.

      Related Components

      Component

      Use with Batch Command Signature

      MES Auth Challenge List

      Acknowledge and complete pending authorization challenges created by gated commands.

      MES Signature Template Manager

      Create and maintain the Signature Template names referenced by signatureTemplates.*.

      Batch List / Batch Selector

      Provide the Batch Queue Entry ID to bind to props.batchId.

      Batch Controller

      Full Batch control surface; existing behavior is unchanged when Batch Command Signature is not used.

      Sepasoft MES Module Suite