Open formats and scripting

Because CertSAFE uses open formats it is simple to create scripts to design or work with many different workflows.

Script CSV + CXSim metadata to a custom Excel file:

*Example Case: Taking the results of a simulation and creating a Excel file with expected results and comments on a per frame basis. * [block:code] { “codes”: [ { “code”: “Script CSV+metadata to Excel file:is a simple script that reads the metadata description in a CXSim file and the values in a corresponding csv file. With this information the script creates a custom excel file.”, “language”: “text”, “name”: “Script Example” }, { “code”: “

<?xml version="1.0" encoding="UTF-8"?><simulation version="0.4">
    <metadata>        <revision-log>
            <entry>
                <author>CERTON Engineer</author>
                <description>First version</description>
                <date>2015-04-13</date>
                <pr-number>N/A</pr-number>
            </entry>
        </revision-log>
        <description>This is a simple test of the Script Diagram&#13;
&#13;
{page 124}&#13;
{frame 0: Initailizing of values B=C,  All False}&#13;
{frame 1: Testing if else if else  statement setting N to True while B&gt;C was fasle. }&#13;
{frame 2: Checking else statement with A chaning value. }&#13;
{frame 3: Checking B &gt; C Conditional with false. }&#13;
{frame 4: Checking B &gt; C Conditional with true Testing if else if else  statement setting N to True while B&gt;C was True }&#13;
{frame 5: Testing if else if else  statement setting N to false while B&gt;C was True. }&#13;
{frame 6: Testing A having an effect for current state. }&#13;
{frame 7: Checking B &gt; C Conditional with false.}</description>
    <covered-requirements>
      <requirement>
        <name>L5_Script</name>
        <source-document>Script_Requirement.xlsm</source-document>
        <source-baseline>2015-04-13</source-baseline>
      </requirement>
    </covered-requirements>
    </metadata>
    <simulation-root>
        <unit-type>
            <diagram>Script Diagram</diagram>
        </unit-type>
    </simulation-root>
    <length-in-frames>9</length-in-frames>
    <controlled-variables>
        <variable>
            <path>
                <var>A</var>
            </path>
            <style>
                <visible>true</visible>
                <vertical-offset>260.0</vertical-offset>
                <vertical-scale>0.1</vertical-scale>
            </style>
            <intellipoints>
                <intellipoint>
                    <time>2</time>
                    <value>315.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
                <intellipoint>
                    <time>7</time>
                    <value>105.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
            </intellipoints>
        </variable>
        <variable>
            <path>
                <var>B</var>
            </path>
            <style>
                <visible>true</visible>
                <vertical-offset>120.0</vertical-offset>
                <vertical-scale>10.0</vertical-scale>
            </style>
            <intellipoints>
                <intellipoint>
                    <time>4</time>
                    <value>6.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
            </intellipoints>
        </variable>
        <variable>
            <path>
                <var>C</var>
            </path>
            <style>
                <visible>true</visible>
                <vertical-offset>30.0</vertical-offset>
                <vertical-scale>10.0</vertical-scale>
            </style>
            <intellipoints>
                <intellipoint>
                    <time>3</time>
                    <value>4.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
                <intellipoint>
                    <time>8</time>
                    <value>7.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
            </intellipoints>
        </variable>
        <variable>
            <path>
                <var>N</var>
            </path>
            <style>
                <visible>true</visible>
                <vertical-offset>-40.0</vertical-offset>
                <vertical-scale>10.0</vertical-scale>
            </style>
            <intellipoints>
                <intellipoint>
                    <time>0</time>
                    <value>0.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
                <intellipoint>
                    <time>1</time>
                    <value>1.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
                <intellipoint>
                    <time>6</time>
                    <value>0.0</value>
                    <interpolation-base type="Constant"/>
                    <interpolation-modifier type="None"/>
                    <interpolation-noise type="None"/>
                </intellipoint>
            </intellipoints>
        </variable>
    </controlled-variables>
    <other-variables>
        <variable>
            <path>
                <var>O</var>
            </path>
            <style>
                <visible>true</visible>
                <vertical-offset>-190.0</vertical-offset>
                <vertical-scale>0.1</vertical-scale>
            </style>
        </variable>
    </other-variables>
</simulation>