<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.ergotech.com/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.ergotech.com/wiki/feed.php">
        <title>ErgoTechWiki</title>
        <description></description>
        <link>https://www.ergotech.com/wiki/</link>
        <image rdf:resource="https://www.ergotech.com/wiki/lib/exe/fetch.php?media=logo.png" />
       <dc:date>2026-09-18T11:46:34+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=accesssystempropertiesinscript&amp;rev=1769370538&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=add_incomingvalue_last_lineofscript&amp;rev=1747763573&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=advancedparametersjasperreports&amp;rev=1656029654&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=amqp_integration_guide&amp;rev=1774221203&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=amqp_payload_descriptions&amp;rev=1774374806&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=annunciator_documentation&amp;rev=1781634119&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=arrayvalueobjects&amp;rev=1769390867&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=aws_iot_core&amp;rev=1666138120&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=baseraspberrypisetupbookworm&amp;rev=1789706139&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=basicvalueobjectsarticle&amp;rev=1634148305&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=beckhoff_twincat_plc_integration_guide&amp;rev=1694625095&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=binaryvalueobjects&amp;rev=1634149594&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=building_transsecs_projects_with_a_command_line&amp;rev=1605121768&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=calculatetimes&amp;rev=1613501724&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=changevalueobjectpropertiesscripts&amp;rev=1606676925&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=checking_quality_on_an_incomingvalue_triggering_a_script&amp;rev=1601674858&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=commandexecutordocumentation&amp;rev=1641783771&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=configuration_properties&amp;rev=1783347720&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=configuration&amp;rev=1594142353&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=configuring_and_using_log4j_in_scripts&amp;rev=1618296405&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=configuring_traces_trids&amp;rev=1678471734&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=configuringtranssecslog4jlogging&amp;rev=1763014836&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=connect_collect_analyze_automate&amp;rev=1787506475&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=contextual_ai&amp;rev=1782077844&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=cpp&amp;rev=1662888263&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=createvalueobjectscripts&amp;rev=1781816955&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=databaseconnectionmanagerdocumentation&amp;rev=1641184415&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=databaserawlookupdocumentation&amp;rev=1641182244&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=databaserawtablelookupdocumentation&amp;rev=1641182194&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=databasereferencecheatsheet&amp;rev=1745353180&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=datasourceconnectionsinmistudio&amp;rev=1708725026&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=dateandtimecalculationscripts&amp;rev=1627247669&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=daterangevalueobject&amp;rev=1633999641&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=deploying_multiple_tools_to_one_transsecs_opcua_server&amp;rev=1717281822&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=deploying_to_mix&amp;rev=1589329111&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=design_overview&amp;rev=1774373398&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=devices_databases&amp;rev=1781043745&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=devices_plcs&amp;rev=1612157548&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=devices_runtime_configuration&amp;rev=1601841680&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=devices_scripting&amp;rev=1735920177&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=devices&amp;rev=1707258901&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=disturbance_recording&amp;rev=1788822223&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=dotnet&amp;rev=1589326555&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=doublevalueobject&amp;rev=1634003397&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=dynamicjasperreport&amp;rev=1641182803&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=ergotech_secs_tester&amp;rev=1630953707&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=ethernetip_plc_addressing_for_all_products&amp;rev=1617245200&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=featureextractordocumentation&amp;rev=1781460969&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=finding_an_intermittent_fault_from_sampled_values&amp;rev=1788978690&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=finding_the_source_of_a_grid_oscillation&amp;rev=1785271074&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=from_multidimensional_java_arrays&amp;rev=1745015484&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=ftpclientscriptexample&amp;rev=1735396591&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gem_host_messages&amp;rev=1589325858&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gem_tool_messages&amp;rev=1742753461&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gem300_scripts&amp;rev=1740795463&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gem300&amp;rev=1726772847&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gemhost_csharp_example&amp;rev=1678848039&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gemhost_java_example&amp;rev=1618441776&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gemhost_sample_project&amp;rev=1598034457&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gemtool_csharp_example&amp;rev=1694626160&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gemtool_java_example&amp;rev=1589326363&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gemtool_sample_project&amp;rev=1598034478&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=generallog4jconfigurationinformation&amp;rev=1778715173&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=generatejasperreportfromjavascript&amp;rev=1626970967&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=getting_started&amp;rev=1589328712&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=gettingstartedwithjasperreports&amp;rev=1641431394&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=getvaluesfromatwodimensionalvalueobjectscripts&amp;rev=1721926873&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=graphical_vib_components_list&amp;rev=1781634753&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=hardwaresetup&amp;rev=1789695447&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=historical_debugging&amp;rev=1784927984&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=host_connection_status&amp;rev=1741987804&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=hostnames&amp;rev=1589329027&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=howto_s_and_literature&amp;rev=1638640861&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=hsms_secsi_protocol_converter&amp;rev=1599149514&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=importing_device_servers_with_a_spreadsheet&amp;rev=1675398846&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=incomingvalue_and_server_values&amp;rev=1769372649&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=installing_transsecs&amp;rev=1777339656&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=installingmixonrpi&amp;rev=1789706590&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=installingtranssecsdeploymentsonrpi&amp;rev=1789707006&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=iot2040setup&amp;rev=1589330153&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=java&amp;rev=1745274077&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=javascript&amp;rev=1589326945&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=javascriptbeans&amp;rev=1779751224&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=konvabean&amp;rev=1779818094&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=konvadetailedprompt&amp;rev=1779818533&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=linux_setting_the_date&amp;rev=1617996027&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=localization&amp;rev=1657303053&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=longvalueobjects&amp;rev=1634073130&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=machine_learning&amp;rev=1589330854&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=machinery_fault_investigation&amp;rev=1782078267&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=message_matching&amp;rev=1591393572&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=message_status_codes&amp;rev=1589324998&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mistudio_project&amp;rev=1598034535&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mistudio_scripting&amp;rev=1589328904&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mistudio&amp;rev=1781818145&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mistudiobootstraplayoutguide&amp;rev=1639605865&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mitsubishi_q_fx_plc_integration_guide&amp;rev=1617040426&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mix&amp;rev=1663901695&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mixconfigurationproperties&amp;rev=1664234598&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mixservicewindowsorlinux&amp;rev=1663901661&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=modbus_slave&amp;rev=1595211715&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=modbusdevicesexample_onlineoffline_localremote&amp;rev=1707264593&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=modbusplcaddressing&amp;rev=1675276116&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=mqtt_server_integration_guide&amp;rev=1728054443&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=multi-tool_connection_transsecs_opcua_server&amp;rev=1717283997&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=nativehost&amp;rev=1716328552&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=nativetool&amp;rev=1721327667&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=omron_fins_ethernetip_nj-series_plc_integration_guide&amp;rev=1617040383&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=opc_pass_through_data_collection&amp;rev=1786412156&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=opcda_server_integration_guide&amp;rev=1677792001&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=opcgateway&amp;rev=1728430683&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=opcua_cloud_server&amp;rev=1715971760&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=opcua_server_integration_guide&amp;rev=1589337353&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=opcuaconfig&amp;rev=1742866059&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=opcuaserversforopcuaclientdevices&amp;rev=1616370722&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=periodicmessagesending&amp;rev=1623973294&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=pifreshsetupintructions&amp;rev=1789696162&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=plcaddressingforallproducts&amp;rev=1675274938&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=products_hiddenbatchfile&amp;rev=1589330726&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=products_windowsstartup&amp;rev=1589330793&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=programmatic_host_connection_status&amp;rev=1618363963&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=programmatic_java&amp;rev=1589323858&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=programmatic_sample_code&amp;rev=1729006103&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=programmatic&amp;rev=1721319072&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=programmatically_creating_complex_secsformat00_objects_from_csv_files&amp;rev=1745015873&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=programmatically_creating_complex_secsformat00_objects_from_excel_files&amp;rev=1745275381&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=python&amp;rev=1726779438&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=raspberrypitroubleshootingandsupportchecks&amp;rev=1789707227&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=recipe_management&amp;rev=1673631690&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=rest_client_integration_guide&amp;rev=1678904258&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=rest_client&amp;rev=1632943942&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=rest_server_integration_guide&amp;rev=1679323392&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=rolling_array_builder_documentation&amp;rev=1641776650&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=rpisetupformix&amp;rev=1614145336&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=rundevicesdeploymentsasaservice&amp;rev=1663904418&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=running_the_secs_gem_opc_ua_server_deployment&amp;rev=1727929431&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=runningthegeneratedequipmentsimulator&amp;rev=1630604316&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=runtimesetup&amp;rev=1675269826&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=rust&amp;rev=1716328892&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=screen_local&amp;rev=1617563121&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=scriptexamplerunexecutable&amp;rev=1681751535&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=scripting_for_plc_servers&amp;rev=1631308160&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=scripting_to_handle_host_messages_in_transsecs_devices&amp;rev=1601232568&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=scripting&amp;rev=1747753975&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=scriptingdatasourcesvalueobjects&amp;rev=1708711465&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=scriptingexamples&amp;rev=1673730379&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=secs_gem_lessons_and_concepts&amp;rev=1633992577&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=secs_sparkplug_b_integration_guide&amp;rev=1746574516&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=secstester_getsvidvalue&amp;rev=1589329794&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=server_manipulator_vib_components_list&amp;rev=1661628455&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=setting_the_initial_value_for_vids_in_a_digital_twin&amp;rev=1745271781&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=setting_the_system_date_from_plc_registers&amp;rev=1673555381&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=setupchromekioskonrpi&amp;rev=1789706768&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=siemens_s7_plc_integration_guide&amp;rev=1617040445&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=simple_plc_simulation&amp;rev=1691344568&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=simulation_and_testing&amp;rev=1628888000&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=sparkchart_documentation&amp;rev=1615843649&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=sql_server_express_connnection_tutorial&amp;rev=1706288630&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=start&amp;rev=1788822183&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=startmixonlinuxasaservice&amp;rev=1627351055&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=startwindowsmixasservice&amp;rev=1742832328&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=storing_reports_and_events_to_a_log_file&amp;rev=1710970958&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=stringvalueobjects&amp;rev=1634056880&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=tool_retrofit&amp;rev=1706891519&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=tool_throughput_gain&amp;rev=1617469145&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_configuration&amp;rev=1787843682&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_excel_spreadsheet_import_of_ids_and_devices&amp;rev=1613714974&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_gem_host_connection_states&amp;rev=1618359591&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_host_simulator&amp;rev=1595211912&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--_startuptrigger_gettool&amp;rev=1756939288&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--_startuptrigger&amp;rev=1755207826&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--configuring_event_data_collection_reports&amp;rev=1751048369&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--configuring_s1f3_polling_in_transsecs_for_a_host_project&amp;rev=1746564424&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--example_of_characterization_using_gemhost_and_the_standalonegemtool&amp;rev=1746563867&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_message_matching&amp;rev=1589321210&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_programmatic&amp;rev=1589323833&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_trusting_self_signed_certificates&amp;rev=1787843734&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs_vids&amp;rev=1707260885&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecs&amp;rev=1774367251&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecscriptingmethodlist&amp;rev=1731876140&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=transsecsscripts&amp;rev=1600784101&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=twodvalueobjects&amp;rev=1721926349&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=useloadscript&amp;rev=1594334741&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=using_ai_to_discover_explainable_industrial_analytics&amp;rev=1785723776&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=using_the_equipmentconfig_bean&amp;rev=1589346539&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingahashmapinavalueobject&amp;rev=1769393252&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingarrayvalueobjectstopassmuliplevalues&amp;rev=1769391205&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingchatgtptohelpgeneratejavascript&amp;rev=1706379131&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingdatabasebeansforallproducts&amp;rev=1641182978&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserverbeansinscripting&amp;rev=1633992488&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversindevicesnodes&amp;rev=1627495541&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversindevicesnodesforallproducts&amp;rev=1627495306&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversinmistudio&amp;rev=1627498503&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=usingplcsforallproducts&amp;rev=1631822613&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=valueobject_qualities&amp;rev=1589499823&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=vib_activegraphic_documentation&amp;rev=1781637343&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=vib_box_documentation&amp;rev=1781637906&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=vibreportinganddatabaseserverbeansdocumentation&amp;rev=1784926301&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=virtual_instrumentation_beans_guide_and_how-tos&amp;rev=1615830990&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=websocketsdocumentation&amp;rev=1696786913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=windows_setting_the_date_and_time_from_secs&amp;rev=1618010187&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.ergotech.com/wiki/doku.php?id=writing_gem_state_variables_to_device_servers&amp;rev=1707266486&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.ergotech.com/wiki/lib/exe/fetch.php?media=logo.png">
        <title>ErgoTechWiki</title>
        <link>https://www.ergotech.com/wiki/</link>
        <url>https://www.ergotech.com/wiki/lib/exe/fetch.php?media=logo.png</url>
    </image>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=accesssystempropertiesinscript&amp;rev=1769370538&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-25T19:48:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Access and Use System Properties (-D defined properties) in a Script</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=accesssystempropertiesinscript&amp;rev=1769370538&amp;do=diff</link>
        <description>Access and Use System Properties (-D defined properties) in a Script

This article shows you how to get the values of system properties which are defined on the command line using -Dpropertyname=value. There are other ways to set system parameters for MIX or TransSECS applications, and the code examples shown below will also work for these methods. In MIX you can add a parameter to the the mix.properties file, and for TransSECS deployments (and also for MIX applications running TransSECS code) y…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=add_incomingvalue_last_lineofscript&amp;rev=1747763573&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-20T17:52:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>incomingValue; must be added to the end of all scripts</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=add_incomingvalue_last_lineofscript&amp;rev=1747763573&amp;do=diff</link>
        <description>incomingValue; must be added to the end of all scripts

Why?

To avoid a script running multiple times when there is an error in the script (especially at runtime) the script will not complete execution unless there is an incomingValue; (or any other output, such as a calculated value) as the very last line of a script.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=advancedparametersjasperreports&amp;rev=1656029654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-24T00:14:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Advanced Jasper Reports with MIStudio and TransSECS: Using Parameters</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=advancedparametersjasperreports&amp;rev=1656029654&amp;do=diff</link>
        <description>Advanced Jasper Reports with MIStudio and TransSECS: Using Parameters

Step 1. Define Parameters

Parameters are passed into the report generator so that they can be used in the SQL query for the report

Parameters are referenced in Jaspersoft Studio with a $P{} designation. For example a parameter called</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=amqp_integration_guide&amp;rev=1774221203&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-22T23:13:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AMQP Publish / Subscribe Functionality</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=amqp_integration_guide&amp;rev=1774221203&amp;do=diff</link>
        <description>AMQP Publish / Subscribe Functionality

This page explains how the MIStudio (or TransSECS) components use AMQP 0-9-1 (RabbitMQ) for publish/subscribe messaging, and what configuration steps are needed for queues, routing keys, and logging.

Overview</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=amqp_payload_descriptions&amp;rev=1774374806&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-24T17:53:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Controlling SECS/GEM Messages via AMQP Routing Keys</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=amqp_payload_descriptions&amp;rev=1774374806&amp;do=diff</link>
        <description>Controlling SECS/GEM Messages via AMQP Routing Keys

This document describes how to use AMQP 1.0 routing keys (tag addresses) to send SECS/GEM commands to equipment and monitor responses. All communication uses an AMQP 1.0 broker; you publish values to</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=annunciator_documentation&amp;rev=1781634119&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-16T18:21:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Annunciator</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=annunciator_documentation&amp;rev=1781634119&amp;do=diff</link>
        <description>Annunciator

com.ergotech.vib.graphics.Annunciator



Overview

The Annunciator is based on the Box graphic, so has many of the same properties with specific defaults and design. It is used to show text or numbers (formatted with a number formatter setting) and has a well bezel as a default for the border. Like a</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=arrayvalueobjects&amp;rev=1769390867&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-26T01:27:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Array Value Object</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=arrayvalueobjects&amp;rev=1769390867&amp;do=diff</link>
        <description>Array Value Object

com.ergotech.vib.valueobjects.ArrayValueObject

Description

The Array Value Object (often referred to as “AVO”) is a type of Value Object that is composed of one or more individual Value Objects as array “elements”. Usually all the elements are the same type so that the AVO can be used in a graphic or manipulator expecting particular types of data, but this is not necessary in general.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=aws_iot_core&amp;rev=1666138120&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-19T00:08:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Siemens LOGO</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=aws_iot_core&amp;rev=1666138120&amp;do=diff</link>
        <description>Siemens LOGO

Siemens make an excellent range of IOT Devices,from small ARM IOT computers,embedded PC and PLCs. Increasingly these have Cloud connectivity.

While these devices provide some limited visualization in the Cloud, when you need a full featured application, including data storage and retrieval, reporting, alarming and more MIStudio provides an easy low-code, click-and-configure solution.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=baseraspberrypisetupbookworm&amp;rev=1789706139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T04:35:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Raspberry Pi Base Setup for ErgoTech Software</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=baseraspberrypisetupbookworm&amp;rev=1789706139&amp;do=diff</link>
        <description>Raspberry Pi Base Setup for ErgoTech Software

This article continues from  Setting up Raspberry Pi for MIX or TransSECS Deployments (Bookworm)

Complete this setup before installing MIX or the TransSECS built deployment. 

1. Hardware

For a new installation, use a Raspberry Pi 4 or Raspberry Pi 5.

A TransSECS Devices system can normally run on a 1</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=basicvalueobjectsarticle&amp;rev=1634148305&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-13T18:05:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Value Objects</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=basicvalueobjectsarticle&amp;rev=1634148305&amp;do=diff</link>
        <description>Value Objects

ValueObjects (Value Objects) are the basic containers of data in MIStudio/MIX and TransSECS applications. Value objects are transferred between servers, manipulators, and graphics in MIStudio through Connections (wired or managed). Value Objects will appear in TransSECS when you configure the Data Items you use for SECS/GEM messages. Value Objects are automatically created by all Data Sources when a new data value is generated. A Value Object contains, at the very minimum these pr…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=beckhoff_twincat_plc_integration_guide&amp;rev=1694625095&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-13T17:11:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Beckhoff/Twincat PLC Integration Guide</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=beckhoff_twincat_plc_integration_guide&amp;rev=1694625095&amp;do=diff</link>
        <description>Beckhoff/Twincat PLC Integration Guide

TransSECS supports direct integration of many PLCs including the Beckhoff Twincat Windows-based PLCs.

Support is via an “AddOn” module Beckhoff_TransSECS.zip.  Please contact ErgoTech for the module if required.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=binaryvalueobjects&amp;rev=1634149594&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-13T18:26:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Binary Value Object</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=binaryvalueobjects&amp;rev=1634149594&amp;do=diff</link>
        <description>Binary Value Object

com.ergotech.vib.valueobjects.BinaryValueObject

Description

The Binary Value Object is a specialized Value Object which contains a byte array (byte []) and is used mainly in TransSECS for binary message data (SecsFormat10) or in some image related servers to store the image data as a byte array.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=building_transsecs_projects_with_a_command_line&amp;rev=1605121768&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-11T19:09:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Build without Opening the Application</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=building_transsecs_projects_with_a_command_line&amp;rev=1605121768&amp;do=diff</link>
        <description>TransSECS Build without Opening the Application

TransSECS tool files (.tsx and .xpj) are ASCII text XML file.  These can be stored in a source control system such as GIT, Source Safe or similar for tracking and change management.

The TransSECS “headless</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=calculatetimes&amp;rev=1613501724&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-16T18:55:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=calculatetimes&amp;rev=1613501724&amp;do=diff</link>
        <description>Adapted from the MySQL version here:
&lt;https://stackoverflow.com/questions/58046256/calculate-total-on-time-from-on-off-timestamps&gt;


create table my_table (id int, dt datetime, status text);



INSERT INTO my_table VALUES
(1,&#039;2015-01-01 13:00:00&#039; ,  &#039;ON&#039;),
(2,&#039;2015-01-01 13:10:00&#039; ,  &#039;OFF&#039;),
(3,&#039;2015-01-01 13:20:00&#039; ,  &#039;ON&#039;),
(4,&#039;2015-01-01 13:30:00&#039; ,  &#039;OFF&#039;),
(5,&#039;2015-01-01 13:35:00&#039; ,  &#039;ON&#039;),
(6,&#039;2015-01-01 13:40:00&#039; ,  &#039;OFF&#039;),
(7,&#039;2015-01-01 13:50:00&#039; ,  &#039;ON&#039;),
(8,&#039;2015-01-01 15:00:00&#039; ,  &#039;O…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=changevalueobjectpropertiesscripts&amp;rev=1606676925&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-29T19:08:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scripts to Change Properties of ValueObjects</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=changevalueobjectpropertiesscripts&amp;rev=1606676925&amp;do=diff</link>
        <description>Scripts to Change Properties of ValueObjects

These examples demonstrate how to change ValueObject properties. ValueObjects (for example, LongValueObject,DoubleValueObject,and StringValueObject) all have these properties:

	*  Value
	*  Quality (0=good quality, all others are various levels of not good)</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=checking_quality_on_an_incomingvalue_triggering_a_script&amp;rev=1601674858&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-02T21:40:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Checking for Good Quality incomingValue in a Script</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=checking_quality_on_an_incomingvalue_triggering_a_script&amp;rev=1601674858&amp;do=diff</link>
        <description>Checking for Good Quality incomingValue in a Script

Scripts on server Device tags will be triggered when the tag value changes in the server. The value of the incomingValue will not necessarily be good if this occurs during the initialization of the software. So sometimes its a good idea to check for the quality of the data before running the script.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=commandexecutordocumentation&amp;rev=1641783771&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-10T03:02:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Command Executor</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=commandexecutordocumentation&amp;rev=1641783771&amp;do=diff</link>
        <description>Command Executor

com.ergotech.vib.manipulators.CommandExecutor

Introduction

This manipulator is used to run a native command on the computer where MIX or the deployed TransSECS software is running. For example, to get a list of image png files in a directory, on Linux run</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=configuration_properties&amp;rev=1783347720&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-07-06T14:22:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Support-Directed Tunable Parameters</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=configuration_properties&amp;rev=1783347720&amp;do=diff</link>
        <description>Support-Directed Tunable Parameters

The following properties are advanced tunable parameters for MIStudio.

These properties should only be added or changed when instructed by ErgoTech Support.

All timeout values are in milliseconds.
 Property  Default</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=configuration&amp;rev=1594142353&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-07T17:19:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=configuration&amp;rev=1594142353&amp;do=diff</link>
        <description>TransSECS - Configuration

MIStudio Configuration</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=configuring_and_using_log4j_in_scripts&amp;rev=1618296405&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-13T06:46:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Configuring and Using log4j in Scripts</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=configuring_and_using_log4j_in_scripts&amp;rev=1618296405&amp;do=diff</link>
        <description>Configuring and Using log4j in Scripts

Log4j is always available to deployed TransSECS Devices applications and MIX applications built from MIStudio. You can use the pre-configured DataSource message logger (DataSource.logMessage()) which will log to an appender (most likely a log file, but may be a console output) set up in your log4j.xml file. Or you can set up a custom logger in log4j and use this logger in your scripts. Both examples are below.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=configuring_traces_trids&amp;rev=1678471734&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-10T18:08:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Trace Data Collection</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=configuring_traces_trids&amp;rev=1678471734&amp;do=diff</link>
        <description>Trace Data Collection

Collecting trace data involves setting up periodic updates from the tool, which can be easily configured in TransSECS. The data can then be stored in a database using the method outlined in this video.

Usually, trace data should only be collected when something</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=configuringtranssecslog4jlogging&amp;rev=1763014836&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-13T06:20:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Logging</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=configuringtranssecslog4jlogging&amp;rev=1763014836&amp;do=diff</link>
        <description>TransSECS Logging

TransSECS can be set to log at different levels for the SECS/GEM messages. By default the logger is a file called “SECSMessages.log” which rolls over after a size limit is exceeded.

There are three levels of SECS/GEM message logging: INFO, WARN, and DEBUG. In the log4j.xml file for TransSECS you will see a logger called</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=connect_collect_analyze_automate&amp;rev=1787506475&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-23T17:34:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>From Data to Decisions — and Back to Production</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=connect_collect_analyze_automate&amp;rev=1787506475&amp;do=diff</link>
        <description>From Data to Decisions — and Back to Production

Industrial intelligence shouldn&#039;t start in the cloud and stop at a dashboard. It should start with the equipment and reach all the way back to production.

Connect. Collect. Analyze. Automate.

ErgoTech brings the</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=contextual_ai&amp;rev=1782077844&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-21T21:37:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Contextual AI vs. AI Slop: Building Explainable Manufacturing Intelligence Without 5,000 Lines of Code</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=contextual_ai&amp;rev=1782077844&amp;do=diff</link>
        <description>Contextual AI vs. AI Slop: Building Explainable Manufacturing Intelligence Without 5,000 Lines of Code

	&quot; “I used Claude Code to build an agentic manufacturing AI troubleshooting assistant... The project contains &gt;5,000 lines of code, all written by Claude. I have no coding experience.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=cpp&amp;rev=1662888263&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-11T09:24:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=cpp&amp;rev=1662888263&amp;do=diff</link>
        <description>This GEM C++ example uses the code generated from TransSECS using the Native/C++ deployment option.

In the tool you update the variables with simple set/get methods take the name of the variable and the value. In the host, you subscribe to receive data. Complex types are passed as JSON.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=createvalueobjectscripts&amp;rev=1781816955&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-18T21:09:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Creating VIB Value Objects in Scripts</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=createvalueobjectscripts&amp;rev=1781816955&amp;do=diff</link>
        <description>Creating VIB Value Objects in Scripts

Value Objects (ValueObjects or VOs) are the most common variable type within MIStudio and TransSECS.  A ValueObject contains not only the value, but also the type, the quality and the timestamp of the value.

The primary primitive types are, Long, String and Double Value Objects.  Each has its own constructor:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=databaseconnectionmanagerdocumentation&amp;rev=1641184415&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-03T04:33:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Database Connection Manager</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=databaseconnectionmanagerdocumentation&amp;rev=1641184415&amp;do=diff</link>
        <description>Database Connection Manager

com.ergotech.vib.historical.DatabaseConnectionManager

See also:

HSQLDB Connection Manager

SQLite Connection Manager

MySQL Connection Manager

Introduction

This is used to configure and make a connection to a database. The individual database servers will reference this Bean in their “Connection Name” property.The DatabaseConnectionManager Bean is included in the Reporting module of MIStudio and TransSECS (see</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=databaserawlookupdocumentation&amp;rev=1641182244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-03T03:57:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Database Raw Lookup</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=databaserawlookupdocumentation&amp;rev=1641182244&amp;do=diff</link>
        <description>Database Raw Lookup

com.ergotech.vib.historical.DatabaseRawLookup

Introduction

This server is used with a Database Connection Manager to read a single value from a database table using a SQL Statement.  The DatabaseRawLookup Bean is included in the Reporting module of MIStudio and TransSECS (see</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=databaserawtablelookupdocumentation&amp;rev=1641182194&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-03T03:56:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Database Raw Table Lookup</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=databaserawtablelookupdocumentation&amp;rev=1641182194&amp;do=diff</link>
        <description>Database Raw Table Lookup

com.ergotech.vib.historical.DatabaseRawTableLookup

Introduction

This server is used with a Database Connection Manager to generate a Two Dimensional Value Object from a database table using a SQL Statement. The DatabaseRawTableLookup Bean is included in the Reporting module of MIStudio and TransSECS (see</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=databasereferencecheatsheet&amp;rev=1745353180&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-22T20:19:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MIStudio and TransSECS Database Reference &quot;Cheat Sheet&quot;</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=databasereferencecheatsheet&amp;rev=1745353180&amp;do=diff</link>
        <description>MIStudio and TransSECS Database Reference &quot;Cheat Sheet&quot;

This is a cheat sheet reference for configuration of the beans used in the Reporting package of MIStudio and TransSECS (see Reporting and Historical Servers).

In the references below, substitute “hostname” in the Database</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=datasourceconnectionsinmistudio&amp;rev=1708725026&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-23T21:50:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Data Source Connections in MIStudio</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=datasourceconnectionsinmistudio&amp;rev=1708725026&amp;do=diff</link>
        <description>Data Source Connections in MIStudio

In MIStudio, a data source refers to any component that sends out the data output, including but not limited to just the database servers.

Data source connections allow data flow from a data source to a target component. There are several ways to make data source connections.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=dateandtimecalculationscripts&amp;rev=1627247669&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-25T21:14:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Date/Time Calculations in Scripts</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=dateandtimecalculationscripts&amp;rev=1627247669&amp;do=diff</link>
        <description>Date/Time Calculations in Scripts

See Java documentation for package java.time and java.time.format for more ideas

Time from the incomingValue

The timestamp of the event when the incoming value object is created is stored in the value object. This time is the milliseconds from the Java epoch of 1970-01-01T00:00:00Z.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=daterangevalueobject&amp;rev=1633999641&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-12T00:47:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Date Range Value Object</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=daterangevalueobject&amp;rev=1633999641&amp;do=diff</link>
        <description>Date Range Value Object

com.ergotech.vib.valueobjects.DateRangeValueObject

Description

The Date Range Value Object can be used by a few Servers or Manipulators to set a date/time range. An example is for a Historical database lookup or Trend Chart date/time range.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=deploying_multiple_tools_to_one_transsecs_opcua_server&amp;rev=1717281822&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-01T22:43:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Developing and Testing a TransSECS OPC UA Server with Multiple Process Tools</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=deploying_multiple_tools_to_one_transsecs_opcua_server&amp;rev=1717281822&amp;do=diff</link>
        <description>Developing and Testing a TransSECS OPC UA Server with Multiple Process Tools

It&#039;s possible to run multiple process tools in one OPCUA server. In this article we set up an OPC UA Server which aggregates the id and message data from three tools (e.g. tool1,tool2, and tool3) each in its own node in the server, resulting in a server that might look something like this:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=deploying_to_mix&amp;rev=1589329111&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:18:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=deploying_to_mix&amp;rev=1589329111&amp;do=diff</link>
        <description>Deploying to MIX from MIStudio

Set up a MIX Target
When you start a new project in MIStudio you will be prompted for a deployment type. Select “MIX” from the options and name the target, for example, “mix”. Once MIStudio is running, configure the MIX target under the MIStudio MIX node. Most importantly, set the IP address to your target MIX system (localhost can be used for local testing, if you are running MIX on your local system for testing). The default administrative login and password wil…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=design_overview&amp;rev=1774373398&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-24T17:29:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Architecture – Simple on the Surface, Powerful Underneath</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=design_overview&amp;rev=1774373398&amp;do=diff</link>
        <description>TransSECS Architecture – Simple on the Surface, Powerful Underneath

Overview

At its core, TransSECS is built around a very simple idea:

	&quot; Every capability in the system is exposed as a named object, and every object has inputs and outputs that can be read or written.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=devices_databases&amp;rev=1781043745&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-09T22:22:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Devices Application Examples with Databases</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=devices_databases&amp;rev=1781043745&amp;do=diff</link>
        <description>TransSECS Devices Application Examples with Databases

Recipe Management

Recipe Management is most likely the most common use case for using TransSECS Devices scripts for Databases. If the recipes are stored locally (file based recipes) then you might want to consider the automatic file-based recipe handling of TransSECS (by setting transsecs.recipemanager=1 in the ErgoTechConfiguration.properties of your project deployment). See</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=devices_plcs&amp;rev=1612157548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T05:32:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=devices_plcs&amp;rev=1612157548&amp;do=diff</link>
        <description>Notes on Developing TransSECS Devices Applications

----------

Omron FINS Register Addresses

Valid FINS addresses start with “CS”, “TS”, “TK”, “IR”, “CIO”, “DR”, “A”, “C”, “T”, “D”, “H”, or “W”.

A decimal with 0-15 may follow the numeric address for D, E, A, W, H, and CIO for the specific bit.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=devices_runtime_configuration&amp;rev=1601841680&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-04T20:01:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Devices - Runtime Configuration</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=devices_runtime_configuration&amp;rev=1601841680&amp;do=diff</link>
        <description>TransSECS Devices - Runtime Configuration

The root-node of the TransSECS tree allows you to set the default configuration for your host or tool.  For example, here&#039;s the default screen from the TransSECS “GEMTool” example project.



When you first run your tool or host, an XML configuration file matching the name you gave in your project will be created.  For example, for the</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=devices_scripting&amp;rev=1735920177&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-03T16:02:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scripting with TransSECS Devices</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=devices_scripting&amp;rev=1735920177&amp;do=diff</link>
        <description>Scripting with TransSECS Devices

TransSECS Devices - Scripting for PLC Servers
(Read/Write values to PLCs)

Scripting and Server Values
(Setting Server outputs and values)

Checking for Good Quality incomingValue in a Script

Scripting for Databases
(Recipe Management)

Scripting to Handle Host Messages in TransSECS Devices

Setting the System Date from PLC Registers

Storing Event and Report values to a file in TransSECS Devices

FTP File Upload Example</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=devices&amp;rev=1707258901&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-06T22:35:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=devices&amp;rev=1707258901&amp;do=diff</link>
        <description>PLC Addressing for TransSECS Devices

Devices PLCs

Writing GEM State Variables to Device Servers

REST Client for TransSECS Devices

TransSECS Devices - REST Client

TransSECS Devices Script Examples

Scripting with TransSECS Devices

TranSECS Devices Database Scripting

TransSECS Devices Application Examples with Databases

TranSECS Devices Runtime Configuration

TransSECS Devices - Runtime Configuration

Running TranSECS Devices Deployments as a Service 

Run TransSECS Devices Deployment as a…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=disturbance_recording&amp;rev=1788822223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-07T23:03:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Disturbance recording</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=disturbance_recording&amp;rev=1788822223&amp;do=diff</link>
        <description>Disturbance recording

Overview

Two beans that turn a stream of waveform into the file a protection engineer opens after a fault:
DisturbanceRecorder keeps the samples on both sides of an event, and ComtradeWriter writes
them out as an IEEE C37.111 (COMTRADE) configuration and data file pair.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=dotnet&amp;rev=1589326555&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T23:35:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=dotnet&amp;rev=1589326555&amp;do=diff</link>
        <description>.Net

When you generate DotNet code for your TransSECS project, it will be stored in the project directory under “DOTNET”. 

GEMTool CSharp Example

GEMHost CSharp Example</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=doublevalueobject&amp;rev=1634003397&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-12T01:49:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Double Value Object</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=doublevalueobject&amp;rev=1634003397&amp;do=diff</link>
        <description>Double Value Object

com.ergotech.vib.valueobjects.DoubleValueObject

Description

The Double Value Object (“DVO”) is a type of Value Object which is used for decimal numbers (float or double types). 

Many of the mathematical manipulators generate Double Value Objects. For example the Scaler will use any numeric input and generate a decimal output. See the documentation on each manipulator for specifics on its output type.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=dynamicjasperreport&amp;rev=1641182803&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-03T04:06:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dynamic Jasper Report Writer</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=dynamicjasperreport&amp;rev=1641182803&amp;do=diff</link>
        <description>Dynamic Jasper Report Writer

com.ergotech.vib.historical.DynamicJasperReportWriter

Description

The DynamicJasperReportWriter bean is part of the MIStudio Reporting suite. It can also be used in TransSECS Devices (with scripting). This manipulator provides an easy way to generate simple table PDF or XLS (Excel) spreadsheets from database table data.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=ergotech_secs_tester&amp;rev=1630953707&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-06T18:41:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ErgoTech SECS Tester</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=ergotech_secs_tester&amp;rev=1630953707&amp;do=diff</link>
        <description>ErgoTech SECS Tester

About

	*  The SECS  Tester is a stand alone Host application used to test a SECS connection and basic SECS messages to a tool using HSMS or SECSI (serial port connections). 
	*  It can also be used to generate pdf reports and csv files of VIDs, ALIDs, and CEIDs in the tool and to get the current values for VIDs.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=ethernetip_plc_addressing_for_all_products&amp;rev=1617245200&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-01T02:46:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EtherNet/IP Addresses in TransSECS and MIStudio</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=ethernetip_plc_addressing_for_all_products&amp;rev=1617245200&amp;do=diff</link>
        <description>EtherNet/IP Addresses in TransSECS and MIStudio

There are several separate address servers in MIStudio and TranSECS Devices for EtherNet/IP:

To read/write separate address tags:

	*  Int Server
	*  Float Server
	*  Bool Server
	*  String Server

and to read/write Arrays:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=featureextractordocumentation&amp;rev=1781460969&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-14T18:16:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FeatureExtractorWide and FeatureExtractorNarrow</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=featureextractordocumentation&amp;rev=1781460969&amp;do=diff</link>
        <description>FeatureExtractorWide and FeatureExtractorNarrow

Overview

The FeatureExtractor beans transform raw process data into numerical features suitable for Fault Detection and Classification (FDC), troubleshooting, dashboards, reporting, machine learning, and AI-assisted diagnostics.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=finding_an_intermittent_fault_from_sampled_values&amp;rev=1788978690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-09T18:31:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Application note: finding intermittent faults from Sampled Values</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=finding_an_intermittent_fault_from_sampled_values&amp;rev=1788978690&amp;do=diff</link>
        <description>Application note: finding intermittent faults from Sampled Values

The challenge

A feeder trips every few weeks, but the cause is unclear.

The protection relay&#039;s disturbance record captures the trip and the short interval around it. That is usually enough to confirm that the relay operated as configured, but it may provide little insight into</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=finding_the_source_of_a_grid_oscillation&amp;rev=1785271074&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-07-28T20:37:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Finding the Source of a Grid Oscillation</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=finding_the_source_of_a_grid_oscillation&amp;rev=1785271074&amp;do=diff</link>
        <description>Finding the Source of a Grid Oscillation

An MIStudio demonstration on public synchrophasor data

----------

The problem

A generator&#039;s governor starts to misbehave. It doesn&#039;t trip, it doesn&#039;t alarm, it just pushes a small, steady oscillation into the grid. Within seconds every bus on the interconnection is swinging at exactly the same frequency, hundreds of miles from the cause.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=from_multidimensional_java_arrays&amp;rev=1745015484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-18T22:31:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Programmatically Creating Complex SecsFormat00 Objects from Java Arrays</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=from_multidimensional_java_arrays&amp;rev=1745015484&amp;do=diff</link>
        <description>Programmatically Creating Complex SecsFormat00 Objects from Java Arrays

🧩 Convert Mixed-Type Nested Arrays: sf00FromNested(Object data)

Recursively converts a nested Object array into a hierarchical SECS structure, inferring SECS types based on the Java type of each leaf element.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=ftpclientscriptexample&amp;rev=1735396591&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-28T14:36:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Script Example: FTP Client to transfer a file to an FTP Server</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=ftpclientscriptexample&amp;rev=1735396591&amp;do=diff</link>
        <description>Script Example: FTP Client to transfer a file to an FTP Server

This script uses the FTPClient from Apache Commons Net. It includes testing for all errors after each step, except timeouts. fileName and its localPath are passed in as parameters. The return is a String which has the error description in it, or is</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gem_host_messages&amp;rev=1589325858&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T23:24:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gem_host_messages&amp;rev=1589325858&amp;do=diff</link>
        <description>TransSECS Message Matching - GEM Host Messages

When configured as a GEM Host, TransSECS will automatically handle event messages (S6F11 and S6F13) and alarm messages (S5F1).

TransSECS will automatically respond to all multi-block request messages:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gem_tool_messages&amp;rev=1742753461&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-23T18:11:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gem_tool_messages&amp;rev=1742753461&amp;do=diff</link>
        <description>TransSECS Message Matching - GEM Tool Messages

A TransSECS GEM Tool will be automatically handle the messages below that are part of the SECS/GEM standard.  These should not be added to your project:
Host Message  Tool Response Message  S1F1  S1F2 with SVID value(s) automatically inserted in reply</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gem300_scripts&amp;rev=1740795463&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-01T02:17:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GEM300 Scripts</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gem300_scripts&amp;rev=1740795463&amp;do=diff</link>
        <description>GEM300 Scripts

GEM300 standards consist of state models.  This Intel transcript provides an overview. As you move product, or carriers through your tool the control system must update the current state to ensure that the host can correctly manage tool operation.

Implementation of these standards will require reference to the appropriate standard and state model in the standard.  The implementations will vary based on your needs and the capabilities of the tool.  A wide range of possible scenar…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gem300&amp;rev=1726772847&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-19T19:07:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS GEM300 Support</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gem300&amp;rev=1726772847&amp;do=diff</link>
        <description>TransSECS GEM300 Support

Easy Integration of E39, E40, E87, E90, E94 with PLCs, Programmatic, OPC and more...

300mm Standards (E40, E87,E90, E94, E88 etc.) are based around state models.  These models are defined in the standards and implement in the 300mm wrapper of TransSECS.  The architecture for the 300mm standards is similar for each.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gemhost_csharp_example&amp;rev=1678848039&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-15T02:40:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gemhost_csharp_example&amp;rev=1678848039&amp;do=diff</link>
        <description>SECS/GEM data collection is based around three primary concepts, data, represented by VIDs, events, represented by CEIDs which indicate when something of interest has happened at the tool and reports, represented by RPTIDs that link data to events.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gemhost_java_example&amp;rev=1618441776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-14T23:09:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gemhost_java_example&amp;rev=1618441776&amp;do=diff</link>
        <description>This GEMHost Java example uses the code generated from TransSECS using the Java/Javascript deployment option.


package com.ergotech.transsecs.examples.gemhost;


import java.util.Date;
import java.util.List;
import java.util.Random;

import com.ergotech.secs.SecsException;
import com.ergotech.secs.SecsMsg;
import com.ergotech.secs.gem.GemHostModel.GemValueVariable;
import com.ergotech.secs.gem.GemToolModelSnapshot.GemReportVariable;
import com.ergotech.transsecs.secs.VIBMessageBean;
import com.…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gemhost_sample_project&amp;rev=1598034457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T18:27:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gemhost_sample_project&amp;rev=1598034457&amp;do=diff</link>
        <description>GEMHost Sample Project

When the TransSECS Builder first starts, GEMTool Sample Project is loaded. It is a good idea to build this tool project before you load the sample GEMHost project because you may want to use the tool simulator which is generated by building this code.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gemtool_csharp_example&amp;rev=1694626160&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-13T17:29:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gemtool_csharp_example&amp;rev=1694626160&amp;do=diff</link>
        <description>This CSharp example uses the code generated from TransSECS using the .NET deployment option.

1. Start TransSECS and load the GEMTool Sample Project. Generate the code with the .net option selected for deployment. 

2. The .net assembly (GEMTool.dll) which is needed for the CSharp example is in the project (GEMTool) directory under DOTNET.  Some additional assemblies are required - see below.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gemtool_java_example&amp;rev=1589326363&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T23:32:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gemtool_java_example&amp;rev=1589326363&amp;do=diff</link>
        <description>This GEMTool Java example uses the code generated from TransSECS using the Java/Javascript deployment option.
Build and run this with the generated GEMToolRuntime.jar on the classpath.


import java.util.Random;

import com.ergotech.secs.SOFTREV;
import com.ergotech.secs.SecsException;
import com.ergotech.secs.gem.GemALID;
import com.ergotech.secs.gem.GemCEID;
import com.ergotech.secs.gem.GemHandler;
import com.ergotech.transsecs.secs.MessageNotifier;
import com.ergotech.transsecs.secs.TransSecs…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gemtool_sample_project&amp;rev=1598034478&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T18:27:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gemtool_sample_project&amp;rev=1598034478&amp;do=diff</link>
        <description>GEMTool Sample Project

When TransSECS Builder first starts, a sample project “GEMTool” is loaded. This is a very simple GEM Tool definition with a few VIDs, two ALIDs, two CEIDs, and two host commands. The examples for various types of TransSECS deployments use this basic tool. To build the tool code, which will generate a simulator, press the hammer/star button on the main TransSECS Editor menu. The simulator will be generated in a folder the installation directory</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=generallog4jconfigurationinformation&amp;rev=1778715173&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-13T23:32:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Logging (Log4J) Configurations</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=generallog4jconfigurationinformation&amp;rev=1778715173&amp;do=diff</link>
        <description>Logging (Log4J) Configurations

Log4J is used in all ErgoTech products to perform logging operations, whether these be to the console for quick debugging with print() statements in scripts, or log files for comprehensive logging of events and activities, or to other types of loggers. Currently all products use log4j 1.2.xx, which is also known as first generation log4j.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=generatejasperreportfromjavascript&amp;rev=1626970967&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-22T16:22:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Generate a PDF report from a JasperReports file using Javascript</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=generatejasperreportfromjavascript&amp;rev=1626970967&amp;do=diff</link>
        <description>Generate a PDF report from a JasperReports file using Javascript

This example uses a jasper file to make a pdf report from data in a database. This example uses a compiled JasperReports file (with a .jasper extension) which was generated from a JasperReports definition (contained in a .jrxml file) using Jaspersoft Studio Community Edition. It also uses a DataAdapter (xml file) set up with Jaspersoft Studio as part of the report definition which points to the database name (jdbc url) and jdbc dr…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=getting_started&amp;rev=1589328712&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:11:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=getting_started&amp;rev=1589328712&amp;do=diff</link>
        <description>Start MIStudio with the executable located in the installation folder under MIStudioSuite/MIStudio.

Once started you may press the “F1” key for more help. 

You will see a Diagram Window when MIStudio first starts. On the initial start-up the MIStudioIntroduction project will be loaded.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=gettingstartedwithjasperreports&amp;rev=1641431394&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-06T01:09:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MIStudio and TransSECS Reporting: Introduction to Jasper Reports</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=gettingstartedwithjasperreports&amp;rev=1641431394&amp;do=diff</link>
        <description>MIStudio and TransSECS Reporting: Introduction to Jasper Reports

Jasper Reports from MIStudio

In MIStudio Reporting you can use the Dynamic Jasper Report Writer bean to generate a PDF or XLS (Excel) report from a database table or other Two Dimensional Value Object data source all from within MIStudio and MIX. See</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=getvaluesfromatwodimensionalvalueobjectscripts&amp;rev=1721926873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-25T17:01:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=getvaluesfromatwodimensionalvalueobjectscripts&amp;rev=1721926873&amp;do=diff</link>
        <description>TwoDimensionalValueObject (2DVO) is a object that can hold a two dimensional array of ValueObjects. This makes it convenient to store values from a database table. The data is stored in column format with each column being represented by a vector. There are n of these where n is the number of rows. All these are stored in a single vector</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=graphical_vib_components_list&amp;rev=1781634753&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-16T18:32:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Graphical VIB Components</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=graphical_vib_components_list&amp;rev=1781634753&amp;do=diff</link>
        <description>Graphical VIB Components

The Graphical VIB Components are divided into several categories, roughly the same as the tabs in the MIStudio Design Window.

Most if not all graphics inherit properties from ActiveGraphic such as bezels, main fill and foreground colors (used also for text or label colors), and similar basic properties.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=hardwaresetup&amp;rev=1789695447&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T01:37:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=hardwaresetup&amp;rev=1789695447&amp;do=diff</link>
        <description>Setting Up a Raspberry Pi for MIX

IOT2040Setup IOT 2040 Setup

Linux Setting The Date Raspberry Pi Setup

 Setting up Raspberry Pi for MIX or TransSECS Deployments (Bookworm)</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=historical_debugging&amp;rev=1784927984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-07-24T21:19:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Debugging Historical Beans and Database Connections</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=historical_debugging&amp;rev=1784927984&amp;do=diff</link>
        <description>Debugging Historical Beans and Database Connections

You can set the debugging level (how much extra information is logged while you are using the database beans) by setting a system parameter -Dhistorical.debuglevel on the command line of your application or by setting historical.debuglevel=n (n=0 for no extra logging, or some other level up to 501) in the ErgoTechConfiguration.properties file.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=host_connection_status&amp;rev=1741987804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-14T21:30:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Host Connection Status in MIStudio/TransSECS Applications</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=host_connection_status&amp;rev=1741987804&amp;do=diff</link>
        <description>Host Connection Status in MIStudio/TransSECS Applications

After building a GEM Host in TransSECS you can register to receive the current status of the connection:


    host.addConnectionStatusListener(new ConnectionStatusListener() {

      @Override
      public void connectionStatusChanged(int connectionStatus, String comment) {
         System.out.println (&quot;Current Connection Status &quot; + connectionStatus + &quot; Status String \&quot;&quot; + comment + &quot;\&quot;&quot;);        
      }
    });</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=hostnames&amp;rev=1589329027&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:17:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=hostnames&amp;rev=1589329027&amp;do=diff</link>
        <description>How to Use Hostnames in MIStudio Applications

Hostnames

Many of the MIStudio device server beans, such as a PLC Device Server or a Database Manager, need to be configured with an IP Address or “Hostname” to connect to the device or database. This IP Address can be entered with a static IP address if the project you are building will always be connecting to that specific IP Address. But more times than not you will want to make this IP Address changeable for the deployment platform and location…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=howto_s_and_literature&amp;rev=1638640861&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-04T18:01:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ErgoTech TransSECS Product Literature</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=howto_s_and_literature&amp;rev=1638640861&amp;do=diff</link>
        <description>ErgoTech TransSECS Product Literature

The main TransSECS node contains detailed information and technical examples, but first here are some getting started guides to get your project underway.

Host Applications

Tool Characterization Rapidly get VIDs, CEIDs &amp; RPTIDs directly from the tool and start your host from there.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=hsms_secsi_protocol_converter&amp;rev=1599149514&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-03T16:11:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>HSMS/SECSI Protocol Converter</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=hsms_secsi_protocol_converter&amp;rev=1599149514&amp;do=diff</link>
        <description>HSMS/SECSI Protocol Converter

The manual for the ErgoTech SECS1/HSMS protocol converter can be downloaded here.

The protocol converter ships with a default IP address of 192.168.5.104 . In order to configure the converter you will need to access the web server in the converter from another computer.  One easy way to do this is to directly connect from a computer to the converter using an Ethernet cable.  Change the IP address of the computer to be on the same network as the converter so that y…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=importing_device_servers_with_a_spreadsheet&amp;rev=1675398846&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-03T04:34:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Importing into TransSECS Devices Node</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=importing_device_servers_with_a_spreadsheet&amp;rev=1675398846&amp;do=diff</link>
        <description>Importing into TransSECS Devices Node

A list of servers for a specific Device may be added by right clicking on the Device name and using Import Excel. Some things to keep in mind when setting up and using your spreadsheet to add device servers:

1. There must be a tab (</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=incomingvalue_and_server_values&amp;rev=1769372649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-25T20:24:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scripting and Server Values</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=incomingvalue_and_server_values&amp;rev=1769372649&amp;do=diff</link>
        <description>Scripting and Server Values

This article gives you an overview and some examples for using ValueObject in scripts and the role of the incomingValue (the value which triggers the script).

see also: Using ArrayValueObjects to Pass Multiple Values to a Script

The &quot;incomingValue&quot;

In scripts, the variable “</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=installing_transsecs&amp;rev=1777339656&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-28T01:27:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using Task Manager in Windows to kill a second copy of TransSECS</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=installing_transsecs&amp;rev=1777339656&amp;do=diff</link>
        <description>Installing TransSECS

Using the Installer

Use the provided TransSECS installer for the distribution installation. See below for Linux installations. If you purchased TransSECS or requested a trial, the installer download URL was provided by email.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=installingmixonrpi&amp;rev=1789706590&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T04:43:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Installing MIX on a Raspberry Pi</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=installingmixonrpi&amp;rev=1789706590&amp;do=diff</link>
        <description>Installing MIX on a Raspberry Pi

Complete Raspberry Pi Base Setup first.

These instructions assume MIX is installed in:


/home/mix/mixruntime


The normal MIX web port is 7226 unless mix.port in mix.properties has been changed.

The normal addresses are:


http://&lt;Pi-address&gt;:7226
http://&lt;Pi-address&gt;:7226/setup.html</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=installingtranssecsdeploymentsonrpi&amp;rev=1789707006&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T04:50:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Installing Deployments from TransSECS Servers or Devices on a Raspberry Pi</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=installingtranssecsdeploymentsonrpi&amp;rev=1789707006&amp;do=diff</link>
        <description>Installing Deployments from TransSECS Servers or Devices on a Raspberry Pi

Complete  Raspberry Pi Base Setup first.

These instructions apply to both TransSECS Devices and TransSECS Servers.

The examples assume:


/home/mix/secs


If your login user is pi, the equivalent location is</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=iot2040setup&amp;rev=1589330153&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:35:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=iot2040setup&amp;rev=1589330153&amp;do=diff</link>
        <description>1. Create a SD flash card with the Example Image from &lt;https://support.industry.siemens.com/cs/document/109741799/simatic-iot2000-sd-card-example-image?dti=0&amp;lc=en-WW&gt;, such as &lt;https://support.industry.siemens.com/cs/attachments/109741799/Example_Image_V2.2.0.zip&gt;

e.g. on Linux, new flash is mounted on /dev/sdd, open teminal in the directory where the example image “example_image.wic” resides, use 

sudo dd if=example_image.wic of=/dev/sdd bs=4M</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=java&amp;rev=1745274077&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-21T22:21:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Programmatic TransSecs with Java</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=java&amp;rev=1745274077&amp;do=diff</link>
        <description>Programmatic TransSecs with Java

When you generate Java/Javascript code for your TransSECS project, it will be stored in the project directory under “JAVA”.

GEMTool Java Example

GEMHost Java Example

Host Connection Status in MIStudio/TransSECS Applications

Programmatically Creating Complex SecsFormat00 Objects

Programmatically Creating Complex SecsFormat00 Objects from Java Arrays

CSV-to-SECS Structure Conversion Methods

Excel-to-SECS Structure Conversion Methods</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=javascript&amp;rev=1589326945&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T23:42:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=javascript&amp;rev=1589326945&amp;do=diff</link>
        <description>Javascript/Node.js

This GEMHost JavaScript example uses the code generated from TransSECS using the Java/Javascript deployment option.  This is Node.js code. 

To install Node.js on Windows follow the instructions here: &lt;https://docs.microsoft.com/en-us/windows/nodejs/setup-on-windows&gt;

Install Python: &lt;https://www.python.org/downloads/release/python-2716/&gt;  (this is required by</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=javascriptbeans&amp;rev=1779751224&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-25T23:20:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=javascriptbeans&amp;rev=1779751224&amp;do=diff</link>
        <description>Animation using Konva</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=konvabean&amp;rev=1779818094&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-26T17:54:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MIStudio Konva Bean</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=konvabean&amp;rev=1779818094&amp;do=diff</link>
        <description>MIStudio Konva Bean

TL;DR / Quick Start
...

Three critical rules

	*  Use class-body method syntax:


init(container) {


NOT:


function init(container) {


	*  Handle incoming values in:


updateValues(incomingValue) {


	*  Incoming values are normally JSON. Parse:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=konvadetailedprompt&amp;rev=1779818533&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-26T18:02:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Konva bean — LLM author prompt</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=konvadetailedprompt&amp;rev=1779818533&amp;do=diff</link>
        <description>Konva bean — LLM author prompt

Paste everything below the --- into an LLM (Claude, GPT-4/5, Gemini) as the system / first message. Then describe the animation you want — attach an image, a screenshot, a rough sketch, or just words. The model will respond with one fenced JavaScript block you paste into the Konva bean’s</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=linux_setting_the_date&amp;rev=1617996027&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-09T19:20:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=linux_setting_the_date&amp;rev=1617996027&amp;do=diff</link>
        <description>MIX and TransSECS both support setting the date/time on the system on which they are running.

This wiki page is specific to Linux but many concepts apply to other OSs. For Windows specifics see Setting the Date and Time on Windows from TransSECS Applications

To do this, the property 


date.setter


must be configured in the mix.properties (MIX) or ErgoTechConfiguration.properties (TransSECS).</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=localization&amp;rev=1657303053&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-08T17:57:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=localization&amp;rev=1657303053&amp;do=diff</link>
        <description>Localizing The HMI

By default the code generator for the web view (HMI) is built for a US (English) locale. In this locale, number decimal separator is a “.” and thousands separator is a “,”. However, you may want your HMI to be viewed in a country in which the normal decimal separator is a</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=longvalueobjects&amp;rev=1634073130&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-12T21:12:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Long Value Object</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=longvalueobjects&amp;rev=1634073130&amp;do=diff</link>
        <description>Long Value Object

com.ergotech.vib.valueobjects.LongValueObject

Description

The Long Value Object (sometimes referred to as “LVO”) is a type of Value Object which is used to hold a whole number (non-floating point). This includes the java types boolean, byte, short, integer, and long, in order of byte size.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=machine_learning&amp;rev=1589330854&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:47:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=machine_learning&amp;rev=1589330854&amp;do=diff</link>
        <description>We are adding material to this Wiki page and it should be completed soon.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=machinery_fault_investigation&amp;rev=1782078267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-21T21:44:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Machinery Fault Investigation Demo Using FeatureExtractor + FeatureComparator + LLM</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=machinery_fault_investigation&amp;rev=1782078267&amp;do=diff</link>
        <description>Machinery Fault Investigation Demo Using FeatureExtractor + FeatureComparator + LLM

Objective

Demonstrate that an LLM can perform a meaningful engineering investigation using MIStudio tools without relying on a pre-trained machine learning classifier.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=message_matching&amp;rev=1591393572&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-05T21:46:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=message_matching&amp;rev=1591393572&amp;do=diff</link>
        <description>TransSECS Message Matching

TransSECS will attempt to match all incoming messages against known messages.  As soon as a match is found, not further matching is performed and the data is published and any notifications associated with the message are executed.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=message_status_codes&amp;rev=1589324998&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T23:09:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=message_status_codes&amp;rev=1589324998&amp;do=diff</link>
        <description>Message Status Codes


Status codes are used to determine if a message was successfully sent or not and what error, if any, occurred. These status codes are accessed in MIStudio by looking at the Good Status and Error Status outputs of the message bean. For OPCUA and OPCDA, examine the .errorstatus and .goodstatus tags of the message.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mistudio_project&amp;rev=1598034535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T18:28:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mistudio_project&amp;rev=1598034535&amp;do=diff</link>
        <description>MIStudio Projects

TransSECS for MIStudio deployment provides a great way to build a 24/7/365 backend to handle SECS/GEM communication while providing a robust stand-alone or web-based user interface to the application. Other options for a user interface are available using the programmatic version of TransSECS which generates .net or java libraries for integration. Another option is to deploy the TransSECS project as an OPCUA or MQTT server and use any OPCUA or MQTT client to interface to your …</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mistudio_scripting&amp;rev=1589328904&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:15:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mistudio_scripting&amp;rev=1589328904&amp;do=diff</link>
        <description>Javascript may be used in two ways while developing projects in MIStudio. In both cases here are some hints to help you with your scripts:

“incomingValue” is the original raw data or final calculated value in the case of a manipulator. In both cases you can consider</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mistudio&amp;rev=1781818145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-18T21:29:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MIStudio</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mistudio&amp;rev=1781818145&amp;do=diff</link>
        <description>MIStudio

MIStudio documentation, getting started guides, graphics documentation, scripting examples, deployment notes, and configuration references.

Getting Started

Getting Started
Introduction and beginner workflow for learning MIStudio

Architecture Overview - Mental Model
High-level overview of MIStudio architecture and core concepts</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mistudiobootstraplayoutguide&amp;rev=1639605865&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-15T22:04:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Responsive Bootstrap User Interface Layouts</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mistudiobootstraplayoutguide&amp;rev=1639605865&amp;do=diff</link>
        <description>Responsive Bootstrap User Interface Layouts

To make your MIStudio project&#039;s user interfaces (HMIs) viewable on all size screens, you can lay out your application panels in a responsive grid using the Project&#039;s main node and using the BootstrapConfig option. With a responsive layout the</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mitsubishi_q_fx_plc_integration_guide&amp;rev=1617040426&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-29T17:53:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mitsubishi_q_fx_plc_integration_guide&amp;rev=1617040426&amp;do=diff</link>
        <description>SECS/GEM for Mitsubishi Q / FX PLC Integration Guide

TransSECS supports direct integration of many PLCs including Mitsubishi Ethernet PLCs.  You build the interface by configuring, rather than programming, although you might need a little scripting to validate remote commands.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mix&amp;rev=1663901695&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-23T02:54:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MIX</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mix&amp;rev=1663901695&amp;do=diff</link>
        <description>MIX

This article links to many topics covering aspects of the 24/7/365 runtime for MIStudio deployments, MIX. 

MIX Configuration

Running MIX as a Service</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mixconfigurationproperties&amp;rev=1664234598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-26T23:23:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MIX Configuration</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mixconfigurationproperties&amp;rev=1664234598&amp;do=diff</link>
        <description>MIX Configuration

MIX traditionally used a configuration file called mix.properties to set the parameters for the MIX installation. This has given way to a more uniform configuration file, used for all ErgoTech applications and stand-alone deployments, ErgoTechConfiguration.properties.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mixservicewindowsorlinux&amp;rev=1663901661&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-23T02:54:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Running MIX as a Service</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mixservicewindowsorlinux&amp;rev=1663901661&amp;do=diff</link>
        <description>Running MIX as a Service

This article explains how to set up and run MIX as a service. Running as a service uses the built in service mechanism for your MIX runtime platform. The advantages of running as a service is that the system has control of starting and stopping the service as needed, especially when the system powers up, and allows the service to be stopped and restarted without rebooting the system.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=modbus_slave&amp;rev=1595211715&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T02:21:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Running a Modbus Slave</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=modbus_slave&amp;rev=1595211715&amp;do=diff</link>
        <description>Running a Modbus Slave

coming soon</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=modbusdevicesexample_onlineoffline_localremote&amp;rev=1707264593&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-07T00:09:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modbus Devices Example: Setting OnlineOffline and LocalRemote GEM VIDs from PLC Registers</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=modbusdevicesexample_onlineoffline_localremote&amp;rev=1707264593&amp;do=diff</link>
        <description>Modbus Devices Example: Setting OnlineOffline and LocalRemote GEM VIDs from PLC Registers

It is a requirement of SECS/GEM that physical buttons or switches (or HMI UI elements exist serving this purpose) are available on the tool so that the operator has control of when the host may connect to (online/offline) and control (local/remote) the tool. Read more about this here:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=modbusplcaddressing&amp;rev=1675276116&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-01T18:28:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modbus Register Addressing</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=modbusplcaddressing&amp;rev=1675276116&amp;do=diff</link>
        <description>Modbus Register Addressing

Address Format

Modbus addresses traditionally did not go above 49999. To allow higher addresses use Octal or Schneider addressing, see below. 

Modbus registers for VIB are “one-based/1-based”. So for a 4x references the register 40001 will read the first word of the 4x address block. For 1x registers the address 10001 will read the first BIT of the 1x block.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=mqtt_server_integration_guide&amp;rev=1728054443&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-04T15:07:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=mqtt_server_integration_guide&amp;rev=1728054443&amp;do=diff</link>
        <description>Host Examples

For Broker running on localhost

send an S1F3 to the tool for svid 33008


mosquitto_pub -h localhost -t &quot;gemhost/svidrequest/svid&quot; -m &quot;33008&quot;
mosquitto_pub -h localhost -t &quot;gemhost/svidrequest/sendmessage&quot; -m &quot;1&quot;


subscribe to the value list in the S1F4 reply</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=multi-tool_connection_transsecs_opcua_server&amp;rev=1717283997&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-01T23:19:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Developing and Testing a Multi-Host TransSECS OPC UA Server</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=multi-tool_connection_transsecs_opcua_server&amp;rev=1717283997&amp;do=diff</link>
        <description>Developing and Testing a Multi-Host TransSECS OPC UA Server

This article explains how to set up multiple TransSECS host deployments to run in the same OPC UA Server. This applies to the cases in which you would want a single OPC UA Client to have access to the data in multiple process tools. Your OPC UA client essentially becomes the single host with multiple tool connections. Each host connected tool has its own name-space within the TransSECS OPC UA Server.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=nativehost&amp;rev=1716328552&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-21T21:55:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using the TransSecs Native Wrapper to Characterize a Tool and Define a Host from C++</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=nativehost&amp;rev=1716328552&amp;do=diff</link>
        <description>Using the TransSecs Native Wrapper to Characterize a Tool and Define a Host from C++

To use the TransSecs native wrapper for characterizing a tool and defining a host in C++, you will need the following files:

	*  &#039;transsecs.h&#039;
	*  &#039;transsecs.hpp&#039;</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=nativetool&amp;rev=1721327667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-18T18:34:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=nativetool&amp;rev=1721327667&amp;do=diff</link>
        <description>This C example uses the code generated from TransSECS using the NativeWrapper deployment option.

1. Start TransSECS and load the GEMTool Sample Project. Generate the code with the NativeWrapper option selected for deployment. The code will be generated in the GEMTool\NativeWrapper folder.  If you used the default installation location this will be at C:\Users\Public\ErgoTech\TransSECSProgrammaticTrial\Projects\GEMTool\NativeWrapper.  You may copy the GEMToolRuntime.jar into your project structu…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=omron_fins_ethernetip_nj-series_plc_integration_guide&amp;rev=1617040383&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-29T17:53:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=omron_fins_ethernetip_nj-series_plc_integration_guide&amp;rev=1617040383&amp;do=diff</link>
        <description>SECS/GEM for Omron FINS (CJ) and Ethernet IP (NJ) PLC Integration Guide

TransSECS supports direct integration of many PLCs including Omron PLCs - any CJ or NJ series PLCs.  You build the interface by configuring, rather than programming, although you might need a little scripting to validate remote commands.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=opc_pass_through_data_collection&amp;rev=1786412156&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-11T01:35:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Snooping a SECS/GEM connection to collect data</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=opc_pass_through_data_collection&amp;rev=1786412156&amp;do=diff</link>
        <description>Snooping a SECS/GEM connection to collect data

Even though SECS/GEM (HSMS) is an Ethernet protocol only one host can be connected to the tool at a time.  When you need to collect data but there&#039;s already a fab-host performing process automation you need a</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=opcda_server_integration_guide&amp;rev=1677792001&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-02T21:20:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OPCDA Server Integration Guilde</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=opcda_server_integration_guide&amp;rev=1677792001&amp;do=diff</link>
        <description>OPCDA Server Integration Guilde

Running the Server

OPCDA Servers must be run on a Windows System. Use the generated run.bat start the OPCDA server on a Windows 32-bit system. 

When you start the OPCDA Server you will see a console log similar to:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=opcgateway&amp;rev=1728430683&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-08T23:38:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=opcgateway&amp;rev=1728430683&amp;do=diff</link>
        <description>OPCGateway

The OPCGateway is needed to connect ErgoTech&#039;s OPCDA Client servers to an OPCDA Server.

The OPCGateway is installed by extracting the OPCGateway.zip on the Windows system running the OPCDA Server. 

Extract the zip into a public directory, such as C:/Users/Public/ErgoTech, or the C:/ErgoTech directory on older systems. The OPCGateway must be run as</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=opcua_cloud_server&amp;rev=1715971760&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-17T18:49:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Managed OPCUA Server in the Cloud</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=opcua_cloud_server&amp;rev=1715971760&amp;do=diff</link>
        <description>Managed OPCUA Server in the Cloud


We host and manage your OPCUA Servers in the Cloud.

Exchanging data with the Cloud has never been easier - or more familiar. Connect from any OPC client to a secure, OPC server in the Cloud - technologies you understand and trust. No more proprietary IOT solutions, different vendor</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=opcua_server_integration_guide&amp;rev=1589337353&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T02:35:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=opcua_server_integration_guide&amp;rev=1589337353&amp;do=diff</link>
        <description>Integration Guide for TransSECS OPCUA and OPCDA Servers

----------

Starting the OPCUA or OPCDA Server

Use the run.bat or run.sh file generated for the server deployment. This will start a command shell or terminal.

Tag Names

The OPCUA or OPCDA server will generate tags prefaced by your toolname. For the examples in this guide the tool name is</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=opcuaconfig&amp;rev=1742866059&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-25T01:27:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OPC UA Server Configuration Options</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=opcuaconfig&amp;rev=1742866059&amp;do=diff</link>
        <description>OPC UA Server Configuration Options

The following system properties configure the ErgoTech OPC UA Server:
 Property  Description  Default Value  opcua.serverhosts  (Optional) Comma-separated list of hostnames to use when creating server endpoints. If not specified, the server will bind to default interfaces.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=opcuaserversforopcuaclientdevices&amp;rev=1616370722&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-21T23:52:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Example Using Kepware V6 OPCUA Server with TransSECS Devices</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=opcuaserversforopcuaclientdevices&amp;rev=1616370722&amp;do=diff</link>
        <description>Example Using Kepware V6 OPCUA Server with TransSECS Devices

This example uses the Kepware V6 OPCUA Server to test using OPCUA Client connections from TransSECS.For simplicity we are using NONE/NONE for client connection security and an anonymous login.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=periodicmessagesending&amp;rev=1623973294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-06-17T23:41:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Checking Connectivity by Periodically Sending S1F1 Messages</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=periodicmessagesending&amp;rev=1623973294&amp;do=diff</link>
        <description>Checking Connectivity by Periodically Sending S1F1 Messages

It&#039;s often useful to send a message periodically to ensure that the connection between the host and tool is still good.  This approach can be applied to either host or tool, but is more commonly used at the host.  If a TransSECS host detects a problem with the connection, that is, it can&#039;t send the message, it will automaticallyclose the existing connection and reform the connection to the tool.  All you need to do is send this</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=pifreshsetupintructions&amp;rev=1789696162&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T01:49:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Raspberry Pi Setup for ErgoTech Software (MIX or TransSECS Deployments) Using Bookworm</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=pifreshsetupintructions&amp;rev=1789696162&amp;do=diff</link>
        <description>Raspberry Pi Setup for ErgoTech Software (MIX or TransSECS Deployments) Using Bookworm

This guide explains how to prepare a Raspberry Pi for TransSECS Devices, TransSECS Servers, or MIX.

It is written for someone who may be using Linux or a Raspberry Pi for the first time. You do not need to be familiar with Linux. The guide shows the commands to enter and explains what each important step is doing.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=plcaddressingforallproducts&amp;rev=1675274938&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-01T18:08:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PLC Addressing for MIStudio and TransSECS</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=plcaddressingforallproducts&amp;rev=1675274938&amp;do=diff</link>
        <description>PLC Addressing for MIStudio and TransSECS

PLC Device Drivers

Both TransSECS (Devices) and MIStudio use the same mechanism to obtain data from PLCs. For TransSECS Devices you add PLC drivers to the Devices node, then either import the device addresses and configurations using</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=products_hiddenbatchfile&amp;rev=1589330726&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:45:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=products_hiddenbatchfile&amp;rev=1589330726&amp;do=diff</link>
        <description>How to Start Windows run.bat without a Console Window (Hidden)

As generated, the run.bat file to start various TransSECS deployments runs with a console window for debugging. For final deployment you can remove this console window by changing the batch file by using a start /b in the command line which starts java.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=products_windowsstartup&amp;rev=1589330793&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:46:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=products_windowsstartup&amp;rev=1589330793&amp;do=diff</link>
        <description>How to Start Runtime on Windows Automatically

The wrapped deployment or run.bat file can be started by Windows when Windows is started by using the Windows Startup menu.

On Windows 10, follow these instructions:

&lt;https://support.microsoft.com/en-us/help/4026268/windows-10-change-startup-apps&gt;</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=programmatic_host_connection_status&amp;rev=1618363963&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-14T01:32:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Programmatic TransSECS Host Connection Status</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=programmatic_host_connection_status&amp;rev=1618363963&amp;do=diff</link>
        <description>Programmatic TransSECS Host Connection Status

After building a GEM Host in TransSECS you can register to receive the current status of the connection:


    host.addConnectionStatusListener(new ConnectionStatusListener() {

      @Override
      public void connectionStatusChanged(int connectionStatus, String comment) {
         System.out.println (&quot;Current Connection Status &quot; + connectionStatus + &quot; Status String \&quot;&quot; + comment + &quot;\&quot;&quot;);        
      }
    });</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=programmatic_java&amp;rev=1589323858&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T22:50:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=programmatic_java&amp;rev=1589323858&amp;do=diff</link>
        <description>When you generate Java/Javascript code for your TransSECS project, it will be stored in the project directory under “JAVA”.

Programmatic/GEMTool Java Example

Programmatic/GEMHost Java Example

Programmatic TransSECS Host Connection Status</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=programmatic_sample_code&amp;rev=1729006103&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-15T15:28:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=programmatic_sample_code&amp;rev=1729006103&amp;do=diff</link>
        <description>Once you have the OPC Gateway running, it&#039;s possible access the OPC Legacy server from any system using pure Java code.  Here&#039;s a sample that shows how to do that.


import com.ergotech.util.SimulationManager;
import com.ergotech.util.TargetLicenseManager;
import com.ergotech.vib.exceptions.BadParameterException;
import com.ergotech.vib.exceptions.VIBUpdateFailedException;
import com.ergotech.vib.servers.SimpleDataSource;
import com.ergotech.vib.servers.opc.opcclient.OPC;
import com.ergotech.vib…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=programmatic&amp;rev=1721319072&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-18T16:11:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=programmatic&amp;rev=1721319072&amp;do=diff</link>
        <description>Using TransSECS generated code in your programs

Generate Java code, .NET assemblies or native connectivity for your TransSECS project by selecting the “Java/Javascript”, “DotNet” or “C++/Native” option for deployment.

Programmatic TransSecs with Java  Tool and host created in Java</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=programmatically_creating_complex_secsformat00_objects_from_csv_files&amp;rev=1745015873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-18T22:37:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CSV-to-SECS Structure Conversion Methods</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=programmatically_creating_complex_secsformat00_objects_from_csv_files&amp;rev=1745015873&amp;do=diff</link>
        <description>CSV-to-SECS Structure Conversion Methods

These utility methods convert CSV files into hierarchical SECS structures using SecsFormat00 as the container for nested data and typed leaf values. Depending on the use case, different parsing strategies can be applied.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=programmatically_creating_complex_secsformat00_objects_from_excel_files&amp;rev=1745275381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-21T22:43:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Excel-to-SECS Structure Conversion Methods</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=programmatically_creating_complex_secsformat00_objects_from_excel_files&amp;rev=1745275381&amp;do=diff</link>
        <description>Excel-to-SECS Structure Conversion Methods

These utility methods convert Excel sheets into hierarchical SecsFormat00 structures using `SecsFormat00` as the container for nested data and typed leaf values. They leverage  
```java
List&lt;Map&lt;String,Object</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=python&amp;rev=1726779438&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-19T20:57:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=python&amp;rev=1726779438&amp;do=diff</link>
        <description>This GEM Python host example uses the code generated from TransSECS using the Java/Javascript deployment option.

Most of the complexity is removed by the definitions you created in TransSECS. 

The python wrapper uses the JPype library to directly interface with the Java code.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=raspberrypitroubleshootingandsupportchecks&amp;rev=1789707227&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T04:53:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Raspberry Pi Troubleshooting and ErgoTech Support Checks</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=raspberrypitroubleshootingandsupportchecks&amp;rev=1789707227&amp;do=diff</link>
        <description>Raspberry Pi Troubleshooting and ErgoTech Support Checks

This page covers common problems with a Raspberry Pi which runs MIX or TransSECS.

SSH says “Connection refused”

Example:


ssh: connect to host ... Connection refused


SSH may not have been enabled when Raspberry Pi</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=recipe_management&amp;rev=1673631690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-13T17:41:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Recipe Message Handling</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=recipe_management&amp;rev=1673631690&amp;do=diff</link>
        <description>TransSECS Recipe Message Handling

Simple Automatic File-based Recipe Management

The simplest way to handle recipe messages with TransSECS is through the simple automatic file-based recipe manager. This stores an incoming recipe in text based files using the PPID as the file name, and storing the PPBody value in the file. This simple recipe management is not enabled by default. It is enabled by setting the TransSECS configuration property, transsecs.recipemanager=1 (see</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=rest_client_integration_guide&amp;rev=1678904258&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-15T18:17:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>REST</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=rest_client_integration_guide&amp;rev=1678904258&amp;do=diff</link>
        <description>REST

REST is a client-server web service for requesting and transferring information through HTTP. The Server runs in MIX. This is set up in MIStudio in the logic by adding a REST Server.  A REST Client can also be used which will get information from a REST Server.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=rest_client&amp;rev=1632943942&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-29T19:32:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Devices - REST Client</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=rest_client&amp;rev=1632943942&amp;do=diff</link>
        <description>TransSECS Devices - REST Client

The REST Client is an addon module for TransSECS.  When you receive the module zip, save the file, but do not unzip it, but go to Help-&gt;Install Modules in TransSECS



then browse to the file.  TransSECS will install the module.  You then need to restart the TransSECS application.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=rest_server_integration_guide&amp;rev=1679323392&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-20T14:43:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS as a REST Server</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=rest_server_integration_guide&amp;rev=1679323392&amp;do=diff</link>
        <description>TransSECS as a REST Server

Deploying TransSECS with a REST interface allows the reading and writing of values over http.  The “REST Module” must be installed to do this.

The default port for the server is 7220, so, for example the url may start with</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=rolling_array_builder_documentation&amp;rev=1641776650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-10T01:04:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Rolling Array Builder</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=rolling_array_builder_documentation&amp;rev=1641776650&amp;do=diff</link>
        <description>Rolling Array Builder

Overview

The Rolling Array Builder (RollingArrayBuilder) keeps a short history of incoming values and generates an Array Value Object output.

Properties

Examples of Use

see also: SparkChart</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=rpisetupformix&amp;rev=1614145336&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-24T05:42:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Setting Up a Raspberry Pi (RPi) for MIX</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=rpisetupformix&amp;rev=1614145336&amp;do=diff</link>
        <description>Setting Up a Raspberry Pi (RPi) for MIX

These steps assume you have installed MIStudio on your development system already. This can be a trial or non-trial installation.

In the step below “Setup the MIX Runtime Directory” you will be transferring all the files from this installation&#039;s MIStudioSuite/MIX directory to the</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=rundevicesdeploymentsasaservice&amp;rev=1663904418&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-23T03:40:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Running a TransSECS Devices Deployment as a Service</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=rundevicesdeploymentsasaservice&amp;rev=1663904418&amp;do=diff</link>
        <description>Running a TransSECS Devices Deployment as a Service

This article covers how to set up the TransSECS Devices deployment to run as a Service on Windows and on Linux (and Raspberry Pi)

Windows Service

The instructions for running the TransSECS Devices deployment as a Windows service is identical as</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=running_the_secs_gem_opc_ua_server_deployment&amp;rev=1727929431&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-03T04:23:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Running and Testing the SECS/GEM OPC UA Server</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=running_the_secs_gem_opc_ua_server_deployment&amp;rev=1727929431&amp;do=diff</link>
        <description>Running and Testing the SECS/GEM OPC UA Server

The SECS/GEM OPC UA Server is generated from a TransSECS Servers project using the OPCUA deployment option. After the build is complete you will see an OPCUA directory in your project folder. Use the run.bat on Windows to start the server, or run.sh on Linux. If you are not running trial software you will need to copy your system&#039;s runtime license into this directory before you can start the server. Once the OPC UA Server is started, you can connec…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=runningthegeneratedequipmentsimulator&amp;rev=1630604316&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-02T17:38:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Running the Equipment Simulator</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=runningthegeneratedequipmentsimulator&amp;rev=1630604316&amp;do=diff</link>
        <description>Running the Equipment Simulator

GEM Test Tool

The GEM Test Tool is an application included in TransSECS installations which can be used to run a tool on port 5010 Device ID 1. It is designed as a simple test tool to run against the sample TransSECS host projects or the SECS Tester. This application was developed using TransSECS and MIStudio and has a runtime license that expires at the end of each year. Please ask for a license renewal or link to update the software if your license has expired…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=runtimesetup&amp;rev=1675269826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-01T16:43:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Setting Up and Configuring Runtime Deployments</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=runtimesetup&amp;rev=1675269826&amp;do=diff</link>
        <description>Setting Up and Configuring Runtime Deployments

This article covers the basics of setting up and running MIX on a deployment system. It also covers using MIX in the TransSECS or MIStudio installation for testing purposes.

Making a MIX Runtime Installation</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=rust&amp;rev=1716328892&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-21T22:01:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=rust&amp;rev=1716328892&amp;do=diff</link>
        <description>This GEM Rust host example uses the code generated from TransSECS using the Native/C++ deployment option.  More detailed information is available at Rust Documentation

Most of the complexity is removed by the definitions you created in TransSECS.  In Rust you subscribe to receive data and publish values. Complex types are passed as JSON.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=screen_local&amp;rev=1617563121&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-04T19:05:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=screen_local&amp;rev=1617563121&amp;do=diff</link>
        <description>When you are simply reporting values from an industrial controller or similar data source, all the web-displays for all users should show the same values.  However, when a request is made from the UI it&#039;s possible that the values should be sent only to that display.  A common example of this is the display of data from a database.  Each user can select their own lookback period and display data unique to them.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=scriptexamplerunexecutable&amp;rev=1681751535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-17T17:12:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Running an Executable from a Script</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=scriptexamplerunexecutable&amp;rev=1681751535&amp;do=diff</link>
        <description>Running an Executable from a Script

In MIStudio you can use the CommmandExecutor to run an external executable or script (.sh or .bat). In a script you can use the Java Runtime and create a Process to run a command.

Simple Example with One Parameter</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=scripting_for_plc_servers&amp;rev=1631308160&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-10T21:09:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Devices - Scripting for PLC Servers</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=scripting_for_plc_servers&amp;rev=1631308160&amp;do=diff</link>
        <description>TransSECS Devices - Scripting for PLC Servers

To write a value to a server in the devices the format is:

/Devices/[DeviceNodeName]_Servers/[ServerName]-&gt;[setValue]

For example, to set the integer value 2 to a server called ModbusWord under the ModbusTCP node use:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=scripting_to_handle_host_messages_in_transsecs_devices&amp;rev=1601232568&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-27T18:49:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scripting to Handle Host Messages in TransSECS Devices</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=scripting_to_handle_host_messages_in_transsecs_devices&amp;rev=1601232568&amp;do=diff</link>
        <description>Scripting to Handle Host Messages in TransSECS Devices

Receiving the Host Message

Make sure you have keyed your host message on the command name data item in the message definition. The script in the matching host message will be run when the host message is received. If you are having trouble with message matching, read the article on</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=scripting&amp;rev=1747753975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-20T15:12:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=scripting&amp;rev=1747753975&amp;do=diff</link>
        <description>TransSECS Scripting Guide

See also:  Common TransSECS JavaScript Methods List

Also see: Why you need to add &quot;incomingValue&quot;  to the end of all scripts and how to fix this if its missing

The Devices version of TransSECS (TransSECS Devices) enables java scripting on the data sources, messages, and message data.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=scriptingdatasourcesvalueobjects&amp;rev=1708711465&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-23T18:04:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Data Sources, Value Objects, and Scripting</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=scriptingdatasourcesvalueobjects&amp;rev=1708711465&amp;do=diff</link>
        <description>Data Sources, Value Objects, and Scripting

This article is an overview of Data Sources, Value Objects, and Scripting and has links to articles with more in-depth information.

Data Sources

Data Sources (DataSources) in MIStudio/MIX and TransSECS are beans which connect to or from PLC registers, database tables, manipulate data (scaling, etc.), or are data generators for timing, testing and building logic in the application.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=scriptingexamples&amp;rev=1673730379&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-14T21:06:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>JavaScript Examples</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=scriptingexamples&amp;rev=1673730379&amp;do=diff</link>
        <description>JavaScript Examples

Many of these code snippets can be used for both MIStudio and TransSECS. See also TransSECS Scripting Examples for scripts specific to TransSECS (Programmatic TransSECS, MIStudio/TransSECS, and Devices TransSECS).

Creating ValueObjects in Scripts
Scripts to create various types of ValueObjects</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=secs_gem_lessons_and_concepts&amp;rev=1633992577&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-11T22:49:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SECS/GEM Lessons and Concepts</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=secs_gem_lessons_and_concepts&amp;rev=1633992577&amp;do=diff</link>
        <description>SECS/GEM Lessons and Concepts

More on this topic will be added from time to time, but the information below should be useful to everyone wondering what SECS/GEM is, what it is used for, and basic concepts. Also you will read about how TransSECS makes SECS/GEM so much easier for both process tool interfaces and fab or factory Host application.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=secs_sparkplug_b_integration_guide&amp;rev=1746574516&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-06T23:35:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Architecture Overview</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=secs_sparkplug_b_integration_guide&amp;rev=1746574516&amp;do=diff</link>
        <description>Architecture Overview

TransSECS acts as a translation hub that turns every SECS/GEM interaction into MQTT + Sparkplug B payloads that any IIoT or SCADA application can consume in real-time.
  • SECS/GEM Link – TransSECS runs the GEM host role over HSMS-TCP.
  • Sparkplug Broker – an external MQTT broker (Ignition, HiveMQ, Mosquitto, …) distributes the data.
  • Mapping Rule –
      ◦ One GEM host ⇢ One Sparkplug Node
          ▪ The Node ID is normally the host name or its DeviceID (e.g. ‘’GEMH…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=secstester_getsvidvalue&amp;rev=1589329794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T00:29:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=secstester_getsvidvalue&amp;rev=1589329794&amp;do=diff</link>
        <description>How to Get an SVID Value from the Tool

	*  Start the SECS Tester
	*  Double-Click on “Set Up Communications to Tool” to open the Communications Setup Dialog
			*  The default tool configuration will be shown. You can change the tool name so that this configuration will be saved as a new tool setup.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=server_manipulator_vib_components_list&amp;rev=1661628455&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-27T19:27:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Back-End (Logic) VIB Components List</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=server_manipulator_vib_components_list&amp;rev=1661628455&amp;do=diff</link>
        <description>Back-End (Logic) VIB Components List

Introduction

The “back-end” beans for MIStudio (and TransSECS) are JavaBeans used to collect, store, and perform calculations on data (manipulate data). JavaBeans (“Beans”) which do not have any input are referred to as</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=setting_the_initial_value_for_vids_in_a_digital_twin&amp;rev=1745271781&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-21T21:43:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Setting the Initial Value for VIDs in a Digital Twin</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=setting_the_initial_value_for_vids_in_a_digital_twin&amp;rev=1745271781&amp;do=diff</link>
        <description>Setting the Initial Value for VIDs in a Digital Twin

After building a host in TransSecs, you should be able to find the digital twin directory in the project directory, called &lt;YourHostName&gt;DigitalTwin. Within that directory, there is a generated executable that will run a simple digital twin matching the variables from your host, but by default the VIDs will be 0 or empty. In some cases, we might want to set initial values to help with testing.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=setting_the_system_date_from_plc_registers&amp;rev=1673555381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T20:29:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=setting_the_system_date_from_plc_registers&amp;rev=1673555381&amp;do=diff</link>
        <description>When an IOT system lacks a realtime clock, it&#039;s easy to set the date on the system from PLC registers.

In this case we&#039;ve configured a ModbusArray:



To read the date/time.  The registers 1-7 contain the year, month, day, hours, minutes, seconds, and milliseconds.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=setupchromekioskonrpi&amp;rev=1789706768&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T04:46:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MIX Raspberry Pi Kiosk Display</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=setupchromekioskonrpi&amp;rev=1789706768&amp;do=diff</link>
        <description>MIX Raspberry Pi Kiosk Display

Use this article only when the Raspberry Pi itself will drive an HDMI monitor or touch screen which displays the MIX (MIStudio) user interface.

If the MIStudio UI will be viewed in a web browser from a PC, HMI panel, or tablet, you do not need this setup.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=siemens_s7_plc_integration_guide&amp;rev=1617040445&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-29T17:54:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=siemens_s7_plc_integration_guide&amp;rev=1617040445&amp;do=diff</link>
        <description>SECS/GEM for Siemens S7 PLC Integration Guide

TransSECS supports direct integration of many PLCs including Siemens S7 PLCs - any Ethernet PLC - S7-300, S7-200 and S7-1500 series PLCs.  You build the interface by configuring, rather than programming, although you might need a little scripting to validate remote commands.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=simple_plc_simulation&amp;rev=1691344568&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-06T17:56:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Simple PLC Simulation</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=simple_plc_simulation&amp;rev=1691344568&amp;do=diff</link>
        <description>Simple PLC Simulation

Introduction

PLCs can be “simulated” in MIStudio, MIX and TransSECS Devices deployments so that the software may be tested if the PLC is not present. 

Setup

There are three parameters that used to set up this simulation, one of which is optional (can be left set to its default value), the java tmp directory (see below), where the simulator files are written. These parameters are added to the command line which runs the application, either the MIStudio.conf, MIX.conf, ru…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=simulation_and_testing&amp;rev=1628888000&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-13T20:53:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Simulation and Testing</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=simulation_and_testing&amp;rev=1628888000&amp;do=diff</link>
        <description>Simulation and Testing

TransSECS Host in Simulation Mode

 Running the Generated Tool Simulator (EquipmentSimulator)

Simple PLC Simulation Simple PLC simulation for testing from MIStudio and TransSECS Deployments

Running a Modbus Slave</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=sparkchart_documentation&amp;rev=1615843649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-15T21:27:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The SparkChart Graphic</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=sparkchart_documentation&amp;rev=1615843649&amp;do=diff</link>
        <description>The SparkChart Graphic

Overview

Properties

Examples of Use

Notes

see also: Rolling Array Builder</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=sql_server_express_connnection_tutorial&amp;rev=1706288630&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-26T17:03:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using SQL Server Express</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=sql_server_express_connnection_tutorial&amp;rev=1706288630&amp;do=diff</link>
        <description>Using SQL Server Express

Overview

This page details how to configure and use a SQL Server Express database on windows10 with MIStudio.

Installing SQL Server Express

Download and install Microsoft SQL Server Express:

&lt;https://go.microsoft.com/fwlink/p/?linkid=2216019&amp;clcid=0x409&amp;culture=en-us&amp;country=us&gt;

On the finish screen, you will be asked to install Microsoft SQL Server Management Studio (SSMS), continue the process and install it. Or, you can install SSMS from the Windows</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=start&amp;rev=1788822183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-07T23:03:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Product Support</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=start&amp;rev=1788822183&amp;do=diff</link>
        <description>Product Support

ErgoTech Systems, Inc. Product Support Wiki

Managed Cloud Solutions

Managed OPCUA Server in the Cloud

Productivity

Gaining Productivity using TransSECS Automation
See how one fab improved throughput 15% on a critical toolset

Saving Capital Costs and Enhancing Data with TransSECS Retrofits and Data Mesh
See how ErgoTech saved the $2.5M cost of a new tool

Siemens LOGO
Drag-and-drop AWS IOT Core example using the Siemens LOGO</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=startmixonlinuxasaservice&amp;rev=1627351055&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-27T01:57:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Start a Runtime on Linux as a Service (systemd)</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=startmixonlinuxasaservice&amp;rev=1627351055&amp;do=diff</link>
        <description>Start a Runtime on Linux as a Service (systemd)

Running MIX or a TransSECS Deployment on a Linux system as a service has the advantages that you can stop and start the application as needed, that the print() (console output) in scripts will be logged to the system log and that the service will automatically restart if it crashes for some reason (hopefully very rarely).</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=startwindowsmixasservice&amp;rev=1742832328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-24T16:05:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Setting up MIX as a Service on Windows</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=startwindowsmixasservice&amp;rev=1742832328&amp;do=diff</link>
        <description>Setting up MIX as a Service on Windows

This article provides instructions on how to set up MIX as a service on Windows. As a service you can use the Windows Service manager panel to stop and start MIX, and to set it to run automatically when Windows starts. The wrapper software is distributed with a permissive MIT license.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=storing_reports_and_events_to_a_log_file&amp;rev=1710970958&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-20T21:42:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Storing Event and Report values to a file in TransSECS Devices</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=storing_reports_and_events_to_a_log_file&amp;rev=1710970958&amp;do=diff</link>
        <description>Storing Event and Report values to a file in TransSECS Devices

Whenever an Event is received the script associated with that event is called.



When an event is received, the value of the incoming variable (incoming value) is a JSON representation of the event, including all reports and values.  For example, the script shown may print something like:</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=stringvalueobjects&amp;rev=1634056880&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-12T16:41:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>String Value Object</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=stringvalueobjects&amp;rev=1634056880&amp;do=diff</link>
        <description>String Value Object

com.ergotech.vib.valueobjects.StringValueObject

Description

The String Value Object (sometimes referred to as “SVO”) is a type of Value Object that is contains text (Strings). 

Many manipulators in the “String” category can be used to combine or create String Value Objects. If the text in a String Value Object can be converted to a number it can be used in mathematical manipulators that take numeric inputs.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=tool_retrofit&amp;rev=1706891519&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-02T16:31:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Saving Capital Costs and Enhancing Data with TransSECS Retrofits and Data Mesh</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=tool_retrofit&amp;rev=1706891519&amp;do=diff</link>
        <description>Saving Capital Costs and Enhancing Data with TransSECS Retrofits and Data Mesh



How one fab saved the $2.5+M cost of a new tool with an ErgoTech Retrofit

ErgoTech is the champion of retrofits.  With unmatched software and hardware solutions and the skill and personnel to reverse-engineer protocols and systems.  And we&#039;ve been around long enough that some of the components you consider obsolete we recommended as state of the art back in the day - experience matters.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=tool_throughput_gain&amp;rev=1617469145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-03T16:59:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Gaining Productivity using TransSECS Automation</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=tool_throughput_gain&amp;rev=1617469145&amp;do=diff</link>
        <description>Gaining Productivity using TransSECS Automation

How one fab increased stepper throughput by 15%.

Please contact us to ask how we can help you save costs with decreased scrap and rework and increase productivity



At ErgoTech we have extensive experience in tool automation. We&#039;ve been providing SECS/GEM and automation solutions to fabs and equipment builders for 20+ years. Over that time we&#039;ve refined our tools increasing the capability while making them simple to use. You can focus on solving…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_configuration&amp;rev=1787843682&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-27T15:14:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS - Configuration</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_configuration&amp;rev=1787843682&amp;do=diff</link>
        <description>TransSECS - Configuration

A number of parameters can be controlled by the ErgoTechConfiguration.properties file. A sample, file is installed with the application. it is also used for every TransSECS deployment to be able to tweak runtime behavior.


# needed if trigger source is reset automatically back to boolean false (PLC)
transsecs.resetceidtrigger=false
#message handling threading model, 0=all messages on same thread, 1=Push the processing of each message onto a new thread, one thread will…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_excel_spreadsheet_import_of_ids_and_devices&amp;rev=1613714974&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-19T06:09:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Importing VIDs, CEIDs, and ALIDs into TransSECS</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_excel_spreadsheet_import_of_ids_and_devices&amp;rev=1613714974&amp;do=diff</link>
        <description>Importing VIDs, CEIDs, and ALIDs into TransSECS

see also, Importing into TransSECS Devices Node

Using an excel (xlxs) spreadsheet to list SECS/GEM IDs and the associated properties can help save time when setting up a SECS/GEM project. To use the excel spreadsheet, right click on the node (either VIDs, CEIDs, or ALIDs) and select</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_gem_host_connection_states&amp;rev=1618359591&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-14T00:19:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_gem_host_connection_states&amp;rev=1618359591&amp;do=diff</link>
        <description>TransSECS GEM Host Connection States

The GEM Host can have one of these connection states depending on the status of the connection to the tool:


  /** Possible connection states */
  public static enum ConnectionStates {
    ENABLE_ALL_EVENTS_FAILED(-80),
    ENABLE_EVENTS_FAILED(-70),
    LINK_REPORTS_FAILED(-60),
    CREATE_REPORTS_FAILED(-50),
    ENABLE_ALARMS_FAILED(-40),
    ONLINE_FAILED(-30), 
    COMMUNICATION_FAILED(-20),
    CONNECT_FAILED(-10),
    DISCONNECTED(-1),
    OPERATIONA…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_host_simulator&amp;rev=1595211912&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T02:25:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Host in Simulation Mode</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_host_simulator&amp;rev=1595211912&amp;do=diff</link>
        <description>TransSECS Host in Simulation Mode

TransSECS can be used as a test host when in “Run” mode. 

Load a host project (GEMHost or ExtendedTestHost), press the hammer/star button to build the project. After building the project the GEMHost will actively attempt to connect to the tool at the IP Address (hostname) and port configured in the project. The ExtendedTestHost will be ready to connect to the tool, and will connect following the sending of the EstablishCommunications (S1F13) and the RequestOnl…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--_startuptrigger_gettool&amp;rev=1756939288&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-03T22:41:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Startup Trigger Another Example: Retrieves Tool dynamically from the controller</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_host--_startuptrigger_gettool&amp;rev=1756939288&amp;do=diff</link>
        <description>Startup Trigger Another Example: Retrieves Tool dynamically from the controller

This page documents the Generic Host StartupTrigger used in TransSECS systems.  
The script initializes a SECS/GEM host controller, configures database connections, sets up connection listeners, and marks the tool as initialized.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--_startuptrigger&amp;rev=1755207826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-14T21:43:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Host: StartupTrigger</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_host--_startuptrigger&amp;rev=1755207826&amp;do=diff</link>
        <description>TransSECS Host: StartupTrigger

1. StartupTrigger Purpose

The StartupTrigger script is a TransSECS host-side initialization script, written in JavaScript for the embedded Java/Nashorn engine.  
It is responsible for:

	*  Initializing the host-to-tool SECS/GEM connection.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--configuring_event_data_collection_reports&amp;rev=1751048369&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-27T18:19:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS_Host --Configuring Event Data Collection Reports</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_host--configuring_event_data_collection_reports&amp;rev=1751048369&amp;do=diff</link>
        <description>TransSECS_Host --Configuring Event Data Collection Reports

This article describes how to use events for data collection in TransSECS.

Before this, you should have done tool characterization that is connected to your host project,  and you have requested defined RPTIDs from the tool, by right clicking on  “RPTIDs” and “Online RPTIDs from Tool”.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--configuring_s1f3_polling_in_transsecs_for_a_host_project&amp;rev=1746564424&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-06T20:47:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Configuring S1F3 Polling in TransSECS for a Host Project</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_host--configuring_s1f3_polling_in_transsecs_for_a_host_project&amp;rev=1746564424&amp;do=diff</link>
        <description>Configuring S1F3 Polling in TransSECS for a Host Project

Introduction

In TransSECS, besides storing event report data to a database table , or Trace Data Collection, another approach is to store data from periodic S1F3/S1F4 messages between events. This is called S1F3 polling.

The concept is to designate a “start” and an “end” event and collect data between the events. Between these events TransSECS will send S1F3 messages to the tool. The data in the returned S1F4 messages will be stored in …</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_host--example_of_characterization_using_gemhost_and_the_standalonegemtool&amp;rev=1746563867&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-06T20:37:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Host: Example of Characterization using GEMHost and the StandAloneGEMTool</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_host--example_of_characterization_using_gemhost_and_the_standalonegemtool&amp;rev=1746563867&amp;do=diff</link>
        <description>TransSECS Host: Example of Characterization using GEMHost and the StandAloneGEMTool

Introduction

When starting a new host project the first step will be to add all the variables (vids) and events from the process tool to the project. Although it is possible to manually add each vid and ceid from the tool in TransSECS by reading the SECS/GEM manual for the tool,  this is more easily done by “characterizing” the tool; that is, asking the tool for these data items then adding them to the TransSEC…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_message_matching&amp;rev=1589321210&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T22:06:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_message_matching&amp;rev=1589321210&amp;do=diff</link>
        <description>TransSECS Message Matching

TransSECS will attempt to match all incoming messages against known messages.  As soon as a match is found, not further matching is performed and the data is published and any notifications associated with the message are executed.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_programmatic&amp;rev=1589323833&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T22:50:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_programmatic&amp;rev=1589323833&amp;do=diff</link>
        <description>Generate Java code, .NET assemblies or native connectivity for your TransSECS project by selecting the “Java/Javascript”, “DotNet” or “C++/Native” option for deployment.

Programmatic/Java  Tool and host created in Java

Programmatic/DotNet  Tool and host created in C#

Programmatic/JavaScript  Node JS Host Example.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_trusting_self_signed_certificates&amp;rev=1787843734&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-27T15:15:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Trusting Self-Signed Certificates in TransSECS</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_trusting_self_signed_certificates&amp;rev=1787843734&amp;do=diff</link>
        <description>Trusting Self-Signed Certificates in TransSECS

When TransSECS connects to an HTTPS endpoint that uses a self-signed certificate, Java may reject the connection unless the certificate is explicitly trusted.

Disabling certificate validation is not recommended, especially in production environments. A more secure and stable approach is to configure Java to trust the specific self-signed certificate used by the HTTPS server.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs_vids&amp;rev=1707260885&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-06T23:08:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs_vids&amp;rev=1707260885&amp;do=diff</link>
        <description>Equipment TransSECS/GEM IDs

Some IDs required by GEM or by TransSECS are automatically added to a TransSECS equipment project when you add the VIDS node.  These variable as case sensitive.  All these variable must be present in the project.  OnlineOfflineState and LocalRemoteState require an interface at the tool.  MDLN and SOFTREV should be set but once set require no further attention.  All other variable can be left at the default.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecs&amp;rev=1774367251&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-24T15:47:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecs&amp;rev=1774367251&amp;do=diff</link>
        <description>TransSECS

Using Task Manager in Windows to kill a second copy of TransSECS

TransSECS - Configuration (ErgoTechConfiguration.properties file)

 TransSECS Host: Example of Characterization using GemHost and the StandAloneGemTool

 TransSECS Host: Configuring Event Data Collection Reports

 TransSECS Host: Configuring S1F3 Polling in TransSECS for a Host Project

 TransSECS Host: StartupTrigger (Generic: Checks simulation mode and whether listener already exists;Waits for Host availability; Confi…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecscriptingmethodlist&amp;rev=1731876140&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-17T20:42:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>List of Common TransSECS Scripting Methods</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecscriptingmethodlist&amp;rev=1731876140&amp;do=diff</link>
        <description>List of Common TransSECS Scripting Methods

This is a quick reference to the methods in the SECS/GEM (TransSECS) API to do common operations on the tool or host instances and their ids (SVIDs,DVIDs,ECIDs,CEIDs, and ALIDs). More extensive examples can be found using the wiki search (search for the method name for more examples). Short examples below are highlighted in a</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=transsecsscripts&amp;rev=1600784101&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-22T14:15:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TransSECS Scripting Examples</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=transsecsscripts&amp;rev=1600784101&amp;do=diff</link>
        <description>TransSECS Scripting Examples

Devices TransSECS

Converting Raw Data

Normally you will read a value from a PLC, Database, OPCServer, etc. and use this value directly to set an ID value. For example, read a PLC register as an integer and set this value to a U4 (unsigned integer) type VID by selecting the Device Server and Tag for the VID. However, if you need to do a conversion on the raw data read from the data source, this can be done by scripting, calculating a new value, then setting this ne…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=twodvalueobjects&amp;rev=1721926349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-25T16:52:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Two Dimensional Value Object</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=twodvalueobjects&amp;rev=1721926349&amp;do=diff</link>
        <description>Two Dimensional Value Object

com.ergotech.vib.valueobjects.TwoDimensionalValueObject

Description

The Two Dimensional Value Object (TwoDimensionalValueObject) (often referred to as 2DVO) contains rows and columns of ValueObjects. This is typically obtained as a result of a database table lookup. There is a DataSource which generates a 2DVO for testing: TwoDimensionalDataSource.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=useloadscript&amp;rev=1594334741&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-09T22:45:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Loading a JavaScript Functions File</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=useloadscript&amp;rev=1594334741&amp;do=diff</link>
        <description>Loading a JavaScript Functions File

The load() function allows you to import a file of functions you can use in your script. This file must reside in the same directory where your application is running to be loaded. For MIStudio development this file should be put into the devices folder of the project so it is available at development time as well as used for the deployed project. For TransSECS projects, this file should be put into the resources of the project so it is copied to the deployme…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=using_ai_to_discover_explainable_industrial_analytics&amp;rev=1785723776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-03T02:22:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AI as an Engineering Analyst: Discovering Explainable Industrial Analytics</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=using_ai_to_discover_explainable_industrial_analytics&amp;rev=1785723776&amp;do=diff</link>
        <description>AI as an Engineering Analyst: Discovering Explainable Industrial Analytics

Introduction

Large Language Models (LLMs) have attracted enormous attention in industry. Most demonstrations focus on asking an AI to interpret data directly or allowing it to make operational decisions.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=using_the_equipmentconfig_bean&amp;rev=1589346539&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-13T05:08:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using the TransSECS EquipmentConfig Bean in MIStudio</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=using_the_equipmentconfig_bean&amp;rev=1589346539&amp;do=diff</link>
        <description>Using the TransSECS EquipmentConfig Bean in MIStudio

Every TransSECS project will provide an “EquipmentConfig” bean on the Diagram Window palette under the ToolNamePrimaries tab. This is the core of your MIStudio/TransSECS project and must be placed on the Diagram of your main application.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingahashmapinavalueobject&amp;rev=1769393252&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-26T02:07:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using a MAP property in a ValueObject</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingahashmapinavalueobject&amp;rev=1769393252&amp;do=diff</link>
        <description>Using a MAP property in a ValueObject

This article covers the advanced topic of using a MAP property in a ValueObject to pass multiple key/value data pairs to another component or bean in MIStudio or TransSECS. Using a ValueObject with a MAP property is a convenient way to pass multiple values to a script. This will be the focus of this article.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingarrayvalueobjectstopassmuliplevalues&amp;rev=1769391205&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-26T01:33:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using Array Value Objects to Pass Multiple Values to a Script</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingarrayvalueobjectstopassmuliplevalues&amp;rev=1769391205&amp;do=diff</link>
        <description>Using Array Value Objects to Pass Multiple Values to a Script

An ArrayValueObject contains one or more ValueObjects stored in an internal vector. Filling an ArrayValueObject with ValueObjects which contain data for a script is one way to pass multiple values to a script. In this article we will show you how to build an ArrayValueObject (AVO) of data values and pass it to a script in a named BroadcastServer (</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingchatgtptohelpgeneratejavascript&amp;rev=1706379131&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-27T18:12:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Let ChatGTP or other LLM help with Back-End (Server-Side) JavaScript</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingchatgtptohelpgeneratejavascript&amp;rev=1706379131&amp;do=diff</link>
        <description>Let ChatGTP or other LLM help with Back-End (Server-Side) JavaScript

ChatGTP and other LLM can be helpful when you need to write JavaScript code for MIStudio or TransSECS. Often ChatGTP can more easily generate valid Java code. There are a few steps to convert Java code into Javascript. The examples below assume the JavaScript engine in use is Nashorn (part of the JRE 8 runtime, which is the current Java version used in TransSECS, MIX and MIStudio).</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingdatabasebeansforallproducts&amp;rev=1641182978&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-03T04:09:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using the Database Servers for MIStudio and TransSECS</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingdatabasebeansforallproducts&amp;rev=1641182978&amp;do=diff</link>
        <description>Using the Database Servers for MIStudio and TransSECS

Introduction

Database Servers in TransSECS (Devices) and MIStudio/MIX use the same code base and therefore are configured and used in much the same way. Database servers can be used in MIStudio (graphically connecting from data sources to save values in database tables), in scripting (adding scripts to servers  in MIStudio or TransSECS, or using the JavaScript bean in MIStudio), and by using the Devices Node (adding a Database Device Server…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserverbeansinscripting&amp;rev=1633992488&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-11T22:48:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scripting for Database Servers (in MIStudio and TransSECS)</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserverbeansinscripting&amp;rev=1633992488&amp;do=diff</link>
        <description>Scripting for Database Servers (in MIStudio and TransSECS)

Although there is a lot you can do with just using Database Servers set up in the MIStudio logic and in the Devices of TransSECS and MIStudio, using scripts that reference these beans can be a powerful tool. Recipe Management is the most common use case for using TransSECS Devices with databases. If the recipes are stored locally (file based recipes) then you might want to consider the automatic file-based recipe handling of TransSECS (…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversindevicesnodes&amp;rev=1627495541&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-28T18:05:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using Database Servers in Devices Nodes (MIStudio and TransSECS Devices)</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversindevicesnodes&amp;rev=1627495541&amp;do=diff</link>
        <description>Using Database Servers in Devices Nodes (MIStudio and TransSECS Devices)

In both MIStudio and TransSECS Devices you add a Database Connection Manager to the Devices node, then add specific database servers to access the table data for that database.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversindevicesnodesforallproducts&amp;rev=1627495306&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-28T18:01:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using Database Servers in MIStudio</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversindevicesnodesforallproducts&amp;rev=1627495306&amp;do=diff</link>
        <description>Using Database Servers in MIStudio

This example will show you how to read and write a value to a database table in MIStudio. This example uses SQLite, which is built into MIStudio with the JDBC driver needed for the database. This examlple can be extended to any JDBC database but you will need to have this database set up and (very importantly) add the JDBC driver jar to the</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversinmistudio&amp;rev=1627498503&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-28T18:55:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using Database Servers in MIStudio</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingdatabaseserversinmistudio&amp;rev=1627498503&amp;do=diff</link>
        <description>Using Database Servers in MIStudio

This example will show you how to read and write a value to a database table in MIStudio. This example uses SQLite, which is built into MIStudio with the JDBC driver needed for the database. This example can be extended to any JDBC database but you will need to have this database set up and (very importantly) add the JDBC driver jar to the</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=usingplcsforallproducts&amp;rev=1631822613&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-16T20:03:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PLC Communication and Configuration for MIStudio and TransSECS</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=usingplcsforallproducts&amp;rev=1631822613&amp;do=diff</link>
        <description>PLC Communication and Configuration for MIStudio and TransSECS

MIStudio/MIX and TransSECS applications can communicate to and from a variety of PLCs with drivers which include Modbus/TCP, Modbus/RTU, Modbus RTU over TCP, Modbus ASCII, Mitsubishi MELSEC, Siemens S7 (CP243 and CP242), Omron Fins, EtherNet/IP (for Allen-Bradley and Omron EtherNet/IP), and a few others.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=valueobject_qualities&amp;rev=1589499823&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-14T23:43:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://www.ergotech.com/wiki/doku.php?id=valueobject_qualities&amp;rev=1589499823&amp;do=diff</link>
        <description>The following is a list of qualities that may be returned or set on a ValueObject


/** Impossible quality caused by a connector loop (connector will be disabled) */
  static public final int QUALITY_IMPOSSIBLE =  -1;
      /** The best data quality. */
  static public final int QUALITY_GOOD =  0;
  static public final int QUALITY_PROPERTYONLY =  300;//used in PropetyValueObject
  static public final int QUALITY_WARNING =  1000; //used only in ActiveBeanDelegate
  static public final int QUALITY…</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=vib_activegraphic_documentation&amp;rev=1781637343&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-16T19:15:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Active Graphic (ActiveGraphic)</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=vib_activegraphic_documentation&amp;rev=1781637343&amp;do=diff</link>
        <description>Active Graphic (ActiveGraphic)

com.ergotech.vib.graphics.ActiveGraphic

Overview

The Active Graphic is the basis of most VIB graphics.

Properties

These are the properties you can set on any graphic

Basic

----------

Name A default Name will be generated when you drop the graphic into the Design but you can change this to any unique String that starts with an alphabetic character. Some characters are prohibited from being used for the name.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=vib_box_documentation&amp;rev=1781637906&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-16T19:25:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Box</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=vib_box_documentation&amp;rev=1781637906&amp;do=diff</link>
        <description>Box

com.ergotech.vib.graphics.Box

Overview



The Box is a very basic visualization component with properties inherited from ActiveGraphic which can be used in many ways - to show a “fill” percent, a current value as text, or combinations of these. It derives properties from its superclass ActiveGraphic.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=vibreportinganddatabaseserverbeansdocumentation&amp;rev=1784926301&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-07-24T20:51:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Reporting and Historical Servers</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=vibreportinganddatabaseserverbeansdocumentation&amp;rev=1784926301&amp;do=diff</link>
        <description>Reporting and Historical Servers

The Reporting and Historical Severs are a subset of the components available in the MIStudio and TransSECS Developer packages. These Beans are specifically used with JDBC databases to read from and write to tables in these databases. A Database Connection Manager is used to make the connection to the database, including (but not limited to) SQLServer, SQLite, PostgreSQL, MySQL, MariaDB, DB2, HSQLDB, and others, including databases running in the cloud.</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=virtual_instrumentation_beans_guide_and_how-tos&amp;rev=1615830990&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-15T17:56:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Virtual Instrumentation Beans Guide and How-Tos</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=virtual_instrumentation_beans_guide_and_how-tos&amp;rev=1615830990&amp;do=diff</link>
        <description>Virtual Instrumentation Beans Guide and How-Tos

Virtual Instrumentation Beans (VIB) are JavaBean components used to design MIStudio applications. They are divided into two types: graphical and servers/manipulators. The graphical components are used in the Design Windows of MIStudio. The servers/manipulators are logical components which are device drivers, data simulators, database connectors, data manipulators, scripting, and other components that work</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=websocketsdocumentation&amp;rev=1696786913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-08T17:41:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Web Sockets Client and Server</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=websocketsdocumentation&amp;rev=1696786913&amp;do=diff</link>
        <description>Web Sockets Client and Server

Overview

MIStudio provides both a WebSocket Server and a WebSocket Client.  Both the WebSocket Server and Client can run without security, or with a known CA (the default) or with self-signed certificates.

Example: Running Without Security</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=windows_setting_the_date_and_time_from_secs&amp;rev=1618010187&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-09T23:16:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Setting the Date and Time on Windows from MIX and TransSECS Applications</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=windows_setting_the_date_and_time_from_secs&amp;rev=1618010187&amp;do=diff</link>
        <description>Setting the Date and Time on Windows from MIX and TransSECS Applications

MIX and TransSECS both support setting the date/time on the system on which they are running.

This wiki page is specific to Windows but many concepts apply to other OSs. For Linux specifics see</description>
    </item>
    <item rdf:about="https://www.ergotech.com/wiki/doku.php?id=writing_gem_state_variables_to_device_servers&amp;rev=1707266486&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-07T00:41:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Monitoring GEM State Variables in TransSECS Devices</title>
        <link>https://www.ergotech.com/wiki/doku.php?id=writing_gem_state_variables_to_device_servers&amp;rev=1707266486&amp;do=diff</link>
        <description>Monitoring GEM State Variables in TransSECS Devices

GEM state variables are calculated and maintained automatically by the internal GEM state model so you should never manually change these. However these values are accessible for monitoring and can be written (to be read only) to a holding register or tag in your device. See also Configuring</description>
    </item>
</rdf:RDF>
