From SysCAD Documentation
Jump to navigation Jump to search

Navigation: Main Page ➔ PGMs

Latest SysCAD Version: 26 October 2022 - SysCAD 9.3 Build 139.31866

Related Links: General Controller, Model Procedures, Example PGM Files, Frequently Asked Questions, Notepad++ Auto-complete Functions and Keywords

Introduction The built in programing language referred to as a PGM (Programmable Module) is often used to extend the functionality of SysCAD models. It is used by the General Controller Model and can be edited with any text editor, however NotePad++ with colour syntax hi-lighting is recommended. The PGM syntax is similar to other programing languages like VB.
Declaring and Managing Variables
Data Types
Variable Status
Declared variables can be appended with:
  • REAL SolidFeedRate*("Qm","t/h")<10,20><<18>>
  • REAL FeedSolids{i,Range(0,100),Comment("Percent")}

  • PageLabel() - used to add tabs to the PGM access window,
  • TextLabel() - used to add description to the PGM access window
PGM Programming and Conventions
PGM Syntax
Predefined Variables
Trigger Subroutines
Keywords & Functions
SysCAD Tag Functions
SysCAD GetTag Functions
  • Variable = ["SysCAD Tag"]
  • Variable = GetTag("SysCAD Tag")
  • Variable = GetDynTag("SysCAD Tag")
  • String = GetDynStrTag("SysCAD Tag")

SysCAD SetTag Functions
  • ["SysCAD Tag"] = Variable OR
    [str "SysCAD Tag"] = String
  • SetTag("SysCAD Tag", Value)
  • SetDynTag("SysCAD Tag", Value)
  • SetDynStrTag("SysCAD Tag", String)
Check for Valid Tag
  • Variable = DynTagExists("SysCAD Tag")

Defining a Function
Defining a Subroutine
Predefined Functions
Maths Functions
  • Sqrt | Cbrt
  • Pow
  • Exp
  • Abs
  • Sin | aSin
  • Cos | aCos
  • Tan | aTan
  • ATan2
  • Degrees
  • Radians
  • Ln
  • Log
  • Max
  • Min
  • Range
  • IsNAN
  • Floor
  • Ceil
  • Trunc
  • Round
  • RoundTo
  • RoundUp
  • Mod
  • Div
  • Erf
  • IsClose
  • IsCloseTol
  • IsCloseError
  • IsCloseTolError
String Functions
  • Left
  • Right
  • Mid
  • StrCat/Concatenate
  • StrStr/StrFind
  • StrStrFrom/StrFindFrom
  • StrInsert
  • StrReplace
  • StrReplaceFrom
  • StrErase
  • StrCmp
  • StriCmp
  • StrLen
  • StrUpr
  • StrLwr
  • IntToStr
  • IntStr / IntStr0
  • FltToStr
  • FltStr
  • StrToInt
  • StrToFlt
  • Trim
  • TrimWhiteSpace
  • IsEmpty
  • IsAlpha
  • AlphaToNum
  • NumToAlpha
  • iifStr()
Defining and Using a Class
Species Database Class This class gives access to information about species and phases within a project. For example, users can obtain species Density, Saturated Temperature or Pressure, number of solid species in a project, etc.
Particle Size Definition Class This class gives access to information about the Particle Size Definition (PSD) within a project. For example, users can find the number of Size Intervals in a PSD, the Top and bottom Size, etc.
Predefined Classes
Frequently Asked Questions Some frequently asked questions and answers.
PGM Error Codes This gives some explanation for the error codes used by SysCAD when reporting problems with PGM file syntax.