Set A Table of Values Using Matrix Class 9.3
(Redirected from Editing Set A Table of Values Using Matrix Class 9.3)
Jump to navigation
Jump to search
Navigation: PGMs - Example PGM Files - PGM Files using Class and Functions
PGM FILE - Setting the Feeder Size Distribution using Linear Interpolation
This Example shows how to set a table of values (saved in a CSV file) to SysCAD at the start of the project.
This example is used to define size distribution data in a Feeder, using the linear interpolation method. The data is saved in a csv file, and loaded into SysCAD at the start of the project.
Please note that this file only sets one compound with size data.
;--- SysCAD General Controller (PGM) file --- ; Revision: 1 Date: 25/03/2015 Author: Kenwalt Updated to SysCAD 9.3 Syntax and Format. ;--- variable declarations --- PageLabel("SizeData") TextLabel() MATRIX SizeData STRING Feed_Tag*{Tag} LONG RowCount@, ColCount@ BIT MatrixOK@ BYTE i, j REAL SizeIndex, SizeFraction Sub PreStart() ;Loads in the size data for Linear Interpolation MatrixOK = SizeData.Load("$Prj\SizeData.csv") RowCount = SizeData.GetRowCount() ColCount = SizeData.GetColCount() ;Sets the number of datapoints [Concatenate(Feed_Tag,".Content.DSz.Fit.PointCount")] = RowCount EndSub Sub InitialiseSolution() i = 0 While i <= RowCount-1 SizeIndex = SizeData.GetAt(i,0) ;Sets each size based on the linear interpolation data [Concatenate(Feed_Tag,".Content.DSz.Fit.Sz", IntToStr(i+1)," (um)")] = SizeIndex i = i + 1 Endwhile j = 0 While j <= RowCount-1 SizeFraction = SizeData.GetAt(j,1) ;Sets each size fraction based on the linear interpolation data [Concatenate(Feed_Tag,".Content.DSz.Fit.I0.", IntToStr(j+1)," (%)")] = SizeFraction j = j + 1 Endwhile endSub $ ; --- end of file ---