├── .github
└── FUNDING.yml
├── .gitignore
├── .pre-commit-config.yaml
├── Datagrid
└── Datagrid
│ ├── .gitignore
│ ├── .hmipkgs
│ └── packages.hmipkgs
│ ├── Datagrid.hmiproj
│ ├── Desktop.view
│ ├── FavIcon.ico
│ ├── Fonts
│ ├── Fonts.css
│ └── Roboto-Condensed-webfont.woff
│ ├── Images
│ ├── Background.png
│ ├── Beckhoff_Logo.svg
│ └── Manifest
│ │ ├── launcher-icon-0-75x.png
│ │ ├── launcher-icon-1-5x.png
│ │ ├── launcher-icon-1x.png
│ │ ├── launcher-icon-2x.png
│ │ ├── launcher-icon-3x.png
│ │ └── launcher-icon-4x.png
│ ├── Localization
│ ├── de-DE.localization
│ ├── de-DE.tpl.localization
│ ├── en-US.localization
│ └── en-US.tpl.localization
│ ├── Properties
│ ├── Default.tpl
│ ├── tchmi.framework.Schema.json
│ ├── tchmi.framework.Schema.tpl.json
│ ├── tchmi.project.Schema.json
│ ├── tchmi.project.Schema.tpl.json
│ ├── tchmiconfig.json
│ ├── tchmiconfig.tpl.json
│ ├── tchmimanifest.json
│ └── tchmipublish.config.json
│ ├── RowClassesProvider.function.json
│ ├── RowClassesProvider.js
│ ├── Server
│ └── Extensions
│ │ ├── ADS
│ │ ├── ADS.Config.default.json
│ │ ├── ADS.Config.remote.json
│ │ └── ADS.Storage.json
│ │ ├── TcHmiEventLogger
│ │ ├── TcHmiEventLogger.Config.default.json
│ │ ├── TcHmiEventLogger.Config.remote.json
│ │ └── TcHmiEventLogger.Storage.json
│ │ ├── TcHmiLua
│ │ ├── TcHmiLua.Config.default.json
│ │ ├── TcHmiLua.Config.remote.json
│ │ └── TcHmiLua.Storage.json
│ │ ├── TcHmiRecipeManagement
│ │ ├── TcHmiRecipeManagement.Config.default.json
│ │ ├── TcHmiRecipeManagement.Config.remote.json
│ │ └── TcHmiRecipeManagement.Storage.json
│ │ ├── TcHmiSqliteHistorize
│ │ ├── TcHmiSqliteHistorize.Config.default.json
│ │ ├── TcHmiSqliteHistorize.Config.remote.json
│ │ └── TcHmiSqliteHistorize.Storage.json
│ │ ├── TcHmiSqliteLogger
│ │ ├── TcHmiSqliteLogger.Config.default.json
│ │ ├── TcHmiSqliteLogger.Config.remote.json
│ │ └── TcHmiSqliteLogger.Storage.json
│ │ ├── TcHmiSrv
│ │ ├── TcHmiSrv.Config.default.json
│ │ ├── TcHmiSrv.Config.remote.json
│ │ └── TcHmiSrv.Storage.json
│ │ └── TcHmiUserManagement
│ │ ├── TcHmiUserManagement.Config.default.json
│ │ ├── TcHmiUserManagement.Config.remote.json
│ │ └── TcHmiUserManagement.Storage.json
│ ├── Style.css
│ └── Themes
│ └── Base
│ ├── Base.theme
│ └── Style.css
├── DigitalTwin
├── Oven
│ ├── HmiProject
│ │ ├── .gitignore
│ │ ├── .tfignore
│ │ ├── Desktop.view
│ │ ├── FavIcon.ico
│ │ ├── Fonts
│ │ │ ├── Fonts.css
│ │ │ └── Roboto-Condensed-webfont.woff
│ │ ├── HmiProject.hmiproj
│ │ ├── Images
│ │ │ ├── Background.png
│ │ │ ├── Beckhoff_Logo.svg
│ │ │ └── Manifest
│ │ │ │ ├── launcher-icon-0-75x.png
│ │ │ │ ├── launcher-icon-1-5x.png
│ │ │ │ ├── launcher-icon-1x.png
│ │ │ │ ├── launcher-icon-2x.png
│ │ │ │ ├── launcher-icon-3x.png
│ │ │ │ └── launcher-icon-4x.png
│ │ ├── KeyboardLayouts
│ │ │ ├── German - compact.keyboard.json
│ │ │ └── US - compact.keyboard.json
│ │ ├── Localization
│ │ │ ├── de-DE.localization
│ │ │ ├── de-DE.tpl.localization
│ │ │ ├── en-US.localization
│ │ │ └── en-US.tpl.localization
│ │ ├── Properties
│ │ │ ├── Default.tpl
│ │ │ ├── tchmi.framework.Schema.json
│ │ │ ├── tchmi.framework.Schema.tpl.json
│ │ │ ├── tchmi.project.Schema.json
│ │ │ ├── tchmi.project.Schema.tpl.json
│ │ │ ├── tchmiconfig.json
│ │ │ ├── tchmiconfig.tpl.json
│ │ │ ├── tchmimanifest.json
│ │ │ └── tchmipublish.config.json
│ │ ├── Server
│ │ │ ├── ADS
│ │ │ │ ├── ADS.Config.default.json
│ │ │ │ ├── ADS.Config.remote.json
│ │ │ │ └── ADS.Storage.json
│ │ │ ├── TcHmiEventLogger
│ │ │ │ ├── TcHmiEventLogger.Config.default.json
│ │ │ │ ├── TcHmiEventLogger.Config.remote.json
│ │ │ │ └── TcHmiEventLogger.Storage.json
│ │ │ ├── TcHmiLua
│ │ │ │ ├── TcHmiLua.Config.default.json
│ │ │ │ ├── TcHmiLua.Config.remote.json
│ │ │ │ └── TcHmiLua.Storage.json
│ │ │ ├── TcHmiRecipeManagement
│ │ │ │ ├── TcHmiRecipeManagement.Config.default.json
│ │ │ │ ├── TcHmiRecipeManagement.Config.remote.json
│ │ │ │ └── TcHmiRecipeManagement.Storage.json
│ │ │ ├── TcHmiSqliteHistorize
│ │ │ │ ├── TcHmiSqliteHistorize.Config.default.json
│ │ │ │ ├── TcHmiSqliteHistorize.Config.remote.json
│ │ │ │ └── TcHmiSqliteHistorize.Storage.json
│ │ │ ├── TcHmiSqliteLogger
│ │ │ │ ├── TcHmiSqliteLogger.Config.default.json
│ │ │ │ ├── TcHmiSqliteLogger.Config.remote.json
│ │ │ │ └── TcHmiSqliteLogger.Storage.json
│ │ │ ├── TcHmiSrv
│ │ │ │ ├── TcHmiSrv.Config.default.json
│ │ │ │ ├── TcHmiSrv.Config.remote.json
│ │ │ │ └── TcHmiSrv.Storage.json
│ │ │ └── TcHmiUserManagement
│ │ │ │ ├── TcHmiUserManagement.Config.default.json
│ │ │ │ ├── TcHmiUserManagement.Config.remote.json
│ │ │ │ └── TcHmiUserManagement.Storage.json
│ │ ├── Server_1.10_backup
│ │ │ └── Server
│ │ │ │ ├── ADS
│ │ │ │ ├── ADS.Config.default.json
│ │ │ │ ├── ADS.Config.remote.json
│ │ │ │ └── ADS.Storage.json
│ │ │ │ ├── TcHmiEventLogger
│ │ │ │ ├── TcHmiEventLogger.Config.default.json
│ │ │ │ ├── TcHmiEventLogger.Config.remote.json
│ │ │ │ └── TcHmiEventLogger.Storage.json
│ │ │ │ ├── TcHmiLua
│ │ │ │ ├── TcHmiLua.Config.default.json
│ │ │ │ ├── TcHmiLua.Config.remote.json
│ │ │ │ └── TcHmiLua.Storage.json
│ │ │ │ ├── TcHmiRecipeManagement
│ │ │ │ ├── TcHmiRecipeManagement.Config.default.json
│ │ │ │ ├── TcHmiRecipeManagement.Config.remote.json
│ │ │ │ └── TcHmiRecipeManagement.Storage.json
│ │ │ │ ├── TcHmiSqliteHistorize
│ │ │ │ ├── TcHmiSqliteHistorize.Config.default.json
│ │ │ │ ├── TcHmiSqliteHistorize.Config.remote.json
│ │ │ │ └── TcHmiSqliteHistorize.Storage.json
│ │ │ │ ├── TcHmiSqliteLogger
│ │ │ │ ├── TcHmiSqliteLogger.Config.default.json
│ │ │ │ ├── TcHmiSqliteLogger.Config.remote.json
│ │ │ │ └── TcHmiSqliteLogger.Storage.json
│ │ │ │ ├── TcHmiSrv
│ │ │ │ ├── TcHmiSrv.Config.default.json
│ │ │ │ ├── TcHmiSrv.Config.remote.json
│ │ │ │ └── TcHmiSrv.Storage.json
│ │ │ │ └── TcHmiUserManagement
│ │ │ │ ├── TcHmiUserManagement.Config.default.json
│ │ │ │ ├── TcHmiUserManagement.Config.remote.json
│ │ │ │ └── TcHmiUserManagement.Storage.json
│ │ ├── Themes
│ │ │ └── Base
│ │ │ │ ├── Base.theme
│ │ │ │ ├── BaseStyle.css
│ │ │ │ ├── Images
│ │ │ │ ├── Splash-320x534.png
│ │ │ │ ├── Splash-420x200.png
│ │ │ │ └── Splash-800x600.png
│ │ │ │ └── Style.css
│ │ ├── packages.config
│ │ ├── packages.config.updates
│ │ ├── packages.xsd
│ │ ├── tsconfig.json
│ │ └── tsconfig.tpl.json
│ ├── HmiProject112
│ │ ├── .eslintrc.json
│ │ ├── .gitignore
│ │ ├── .tfignore
│ │ ├── Desktop.view
│ │ ├── Fonts
│ │ │ ├── Fonts.css
│ │ │ └── Roboto-Condensed-webfont.woff
│ │ ├── HmiProject112.hmiproj
│ │ ├── Images
│ │ │ ├── Beckhoff_Logo.svg
│ │ │ ├── Favicon.ico
│ │ │ └── Manifest
│ │ │ │ ├── launcher-icon-0-75x.png
│ │ │ │ ├── launcher-icon-1-5x.png
│ │ │ │ ├── launcher-icon-1x.png
│ │ │ │ ├── launcher-icon-2x.png
│ │ │ │ ├── launcher-icon-3x.png
│ │ │ │ └── launcher-icon-4x.png
│ │ ├── KeyboardLayouts
│ │ │ ├── German - compact.keyboard.json
│ │ │ └── US - compact.keyboard.json
│ │ ├── Localization
│ │ │ ├── de-DE.localization
│ │ │ ├── de-DE.tpl.localization
│ │ │ ├── en-US.localization
│ │ │ └── en-US.tpl.localization
│ │ ├── Properties
│ │ │ ├── Default.tpl
│ │ │ ├── tchmi.framework.Schema.json
│ │ │ ├── tchmi.framework.Schema.tpl.json
│ │ │ ├── tchmi.project.Schema.json
│ │ │ ├── tchmi.project.Schema.tpl.json
│ │ │ ├── tchmiconfig.json
│ │ │ ├── tchmimanifest.json
│ │ │ └── tchmipublish.config.json
│ │ ├── Server
│ │ │ ├── ADS
│ │ │ │ ├── ADS.Config.default.json
│ │ │ │ ├── ADS.Config.remote.json
│ │ │ │ └── ADS.Storage.json
│ │ │ ├── TcHmiLua
│ │ │ │ ├── TcHmiLua.Config.default.json
│ │ │ │ ├── TcHmiLua.Config.remote.json
│ │ │ │ └── TcHmiLua.Storage.json
│ │ │ ├── TcHmiSqliteLogger
│ │ │ │ ├── TcHmiSqliteLogger.Config.default.json
│ │ │ │ ├── TcHmiSqliteLogger.Config.remote.json
│ │ │ │ └── TcHmiSqliteLogger.Storage.json
│ │ │ ├── TcHmiSrv
│ │ │ │ ├── TcHmiSrv.Config.default.json
│ │ │ │ ├── TcHmiSrv.Config.remote.json
│ │ │ │ └── TcHmiSrv.Storage.json
│ │ │ └── TcHmiUserManagement
│ │ │ │ ├── TcHmiUserManagement.Config.default.json
│ │ │ │ ├── TcHmiUserManagement.Config.remote.json
│ │ │ │ └── TcHmiUserManagement.Storage.json
│ │ ├── Themes
│ │ │ ├── Base-Dark
│ │ │ │ ├── Base-Dark.theme
│ │ │ │ ├── Base-DarkStyle.css
│ │ │ │ └── Images
│ │ │ │ │ ├── Background.png
│ │ │ │ │ ├── Splash-320x534.png
│ │ │ │ │ ├── Splash-420x200.png
│ │ │ │ │ └── Splash-800x600.png
│ │ │ └── Base
│ │ │ │ ├── Base.theme
│ │ │ │ ├── BaseStyle.css
│ │ │ │ └── Images
│ │ │ │ ├── Background.png
│ │ │ │ ├── Splash-320x534.png
│ │ │ │ ├── Splash-420x200.png
│ │ │ │ └── Splash-800x600.png
│ │ ├── packages.config
│ │ ├── packages.config.updates
│ │ ├── packages.xsd
│ │ ├── tsconfig.json
│ │ └── tsconfig.tpl.json
│ ├── Oven.sln
│ ├── Oven
│ │ ├── Oven.tspproj
│ │ └── PLC
│ │ │ ├── DUTs
│ │ │ ├── Command.TcDUT
│ │ │ └── State.TcDUT
│ │ │ ├── PLC.plcproj
│ │ │ ├── POUs
│ │ │ ├── MAIN.TcPOU
│ │ │ ├── Oven.TcPOU
│ │ │ ├── Relay.TcPOU
│ │ │ └── StateMachine.TcPOU
│ │ │ └── PlcTask.TcTTO
│ └── TestConnection
│ │ ├── .eslintrc.json
│ │ ├── .gitignore
│ │ ├── .tfignore
│ │ ├── Desktop.view
│ │ ├── Fonts
│ │ ├── Fonts.css
│ │ └── Roboto-Condensed-webfont.woff
│ │ ├── Images
│ │ ├── Beckhoff_Logo.svg
│ │ ├── Favicon.ico
│ │ ├── Manifest
│ │ │ ├── launcher-icon-0-75x.png
│ │ │ ├── launcher-icon-1-5x.png
│ │ │ ├── launcher-icon-1x.png
│ │ │ ├── launcher-icon-2x.png
│ │ │ ├── launcher-icon-3x.png
│ │ │ └── launcher-icon-4x.png
│ │ ├── PLC
│ │ │ ├── plc-config.svg
│ │ │ ├── plc-exeption.svg
│ │ │ ├── plc-fallback.svg
│ │ │ ├── plc-run.svg
│ │ │ └── plc-stop.svg
│ │ └── TwinCAT
│ │ │ ├── twincat-config.svg
│ │ │ ├── twincat-exeption.svg
│ │ │ ├── twincat-fallback.svg
│ │ │ ├── twincat-run.svg
│ │ │ └── twincat-stop.svg
│ │ ├── KeyboardLayouts
│ │ ├── German - compact.keyboard.json
│ │ └── US - compact.keyboard.json
│ │ ├── Localization
│ │ ├── de-DE.localization
│ │ ├── de-DE.tpl.localization
│ │ ├── en-US.localization
│ │ └── en-US.tpl.localization
│ │ ├── Pages
│ │ ├── Events.content
│ │ ├── LoginPage.html
│ │ ├── Settings.content
│ │ └── StartPage.content
│ │ ├── Properties
│ │ ├── Default.tpl
│ │ ├── tchmi.framework.Schema.json
│ │ ├── tchmi.framework.Schema.tpl.json
│ │ ├── tchmi.project.Schema.json
│ │ ├── tchmi.project.Schema.tpl.json
│ │ ├── tchmiconfig.json
│ │ ├── tchmimanifest.json
│ │ └── tchmipublish.config.json
│ │ ├── Server
│ │ ├── ADS
│ │ │ ├── ADS.Config.default.json
│ │ │ ├── ADS.Config.remote.json
│ │ │ └── ADS.Storage.json
│ │ ├── TcHmiLua
│ │ │ ├── TcHmiLua.Config.default.json
│ │ │ ├── TcHmiLua.Config.remote.json
│ │ │ └── TcHmiLua.Storage.json
│ │ ├── TcHmiSqliteLogger
│ │ │ ├── TcHmiSqliteLogger.Config.default.json
│ │ │ ├── TcHmiSqliteLogger.Config.remote.json
│ │ │ └── TcHmiSqliteLogger.Storage.json
│ │ ├── TcHmiSrv
│ │ │ ├── TcHmiSrv.Config.default.json
│ │ │ ├── TcHmiSrv.Config.remote.json
│ │ │ └── TcHmiSrv.Storage.json
│ │ └── TcHmiUserManagement
│ │ │ ├── TcHmiUserManagement.Config.default.json
│ │ │ ├── TcHmiUserManagement.Config.remote.json
│ │ │ └── TcHmiUserManagement.Storage.json
│ │ ├── TestConnection.hmiproj
│ │ ├── Themes
│ │ ├── Base-Dark
│ │ │ ├── Base-Dark.theme
│ │ │ ├── Base-DarkStyle.css
│ │ │ └── Images
│ │ │ │ ├── Background.png
│ │ │ │ ├── Beckhoff_Logo.svg
│ │ │ │ ├── Events
│ │ │ │ ├── message_active.svg
│ │ │ │ ├── message_normal.svg
│ │ │ │ └── message_pressed.svg
│ │ │ │ ├── Placeholder
│ │ │ │ ├── placeholder_active.svg
│ │ │ │ ├── placeholder_normal.svg
│ │ │ │ └── placeholder_pressed.svg
│ │ │ │ ├── Settings
│ │ │ │ ├── settings_active.svg
│ │ │ │ ├── settings_normal.svg
│ │ │ │ └── settings_pressed.svg
│ │ │ │ ├── Splash-320x534.png
│ │ │ │ ├── Splash-420x200.png
│ │ │ │ └── Splash-800x600.png
│ │ └── Base
│ │ │ ├── Base.theme
│ │ │ ├── BaseStyle.css
│ │ │ └── Images
│ │ │ ├── Background.png
│ │ │ ├── Events
│ │ │ ├── message_active.svg
│ │ │ ├── message_normal.svg
│ │ │ └── message_pressed.svg
│ │ │ ├── Placeholder
│ │ │ ├── placeholder_active.svg
│ │ │ ├── placeholder_normal.svg
│ │ │ └── placeholder_pressed.svg
│ │ │ ├── Settings
│ │ │ ├── settings_active.svg
│ │ │ ├── settings_normal.svg
│ │ │ └── settings_pressed.svg
│ │ │ ├── Splash-320x534.png
│ │ │ ├── Splash-420x200.png
│ │ │ └── Splash-800x600.png
│ │ ├── packages.config
│ │ ├── packages.xsd
│ │ ├── tsconfig.json
│ │ └── tsconfig.tpl.json
└── OvenConfig
│ ├── OvenConfig.sln
│ └── OvenConfig
│ ├── OvenConfig.tsproj
│ └── SimulationPlc
│ ├── POUs
│ ├── MAIN.TcPOU
│ ├── SimOven.TcPOU
│ └── SimRelay.TcPOU
│ ├── SimulationPlc.plcproj
│ └── SimulationTask.TcTTO
├── LICENSE
├── PageFaults
├── PageFaults.sln
└── PageFaults
│ ├── PLC
│ ├── CheckPointer.TcPOU
│ ├── Examples.TcPOU
│ ├── I_Interface.TcIO
│ ├── InterfaceExample.TcPOU
│ ├── PLC.plcproj
│ ├── PlcTask.TcTTO
│ ├── PointerExample.TcPOU
│ └── ReferenceExample.TcPOU
│ └── PageFaults.tsproj
├── PreventingPageFaults
├── PreventingPageFaults.sln
└── PreventingPageFaults
│ ├── PLC
│ ├── Foo.TcPOU
│ ├── PLC.plcproj
│ ├── PlcTask.TcTTO
│ ├── Runner1.TcPOU
│ ├── Runner2.TcPOU
│ ├── Runner3.TcPOU
│ ├── UsesFoo1.TcPOU
│ ├── UsesFoo2.TcPOU
│ └── UsesFoo3.TcPOU
│ └── PreventingPageFaults.tsproj
├── README.md
├── TwinCatEventLogger
├── HmiPart
│ ├── EventGridSample.sln
│ ├── EventGridSample
│ │ ├── .hmipkgs
│ │ │ └── packages.hmipkgs
│ │ ├── AlarmPopUps.js
│ │ ├── Desktop.view
│ │ ├── EventGridSample.hmiproj
│ │ ├── FavIcon.ico
│ │ ├── Fonts
│ │ │ ├── Fonts.css
│ │ │ └── Roboto-Condensed-webfont.woff
│ │ ├── Images
│ │ │ ├── Background.png
│ │ │ ├── Beckhoff_Logo.svg
│ │ │ └── Manifest
│ │ │ │ ├── launcher-icon-0-75x.png
│ │ │ │ ├── launcher-icon-1-5x.png
│ │ │ │ ├── launcher-icon-1x.png
│ │ │ │ ├── launcher-icon-2x.png
│ │ │ │ ├── launcher-icon-3x.png
│ │ │ │ └── launcher-icon-4x.png
│ │ ├── Properties
│ │ │ ├── Default.tpl
│ │ │ ├── tchmi.framework.Schema.json
│ │ │ ├── tchmi.framework.Schema.tpl.json
│ │ │ ├── tchmi.project.Schema.json
│ │ │ ├── tchmi.project.Schema.tpl.json
│ │ │ ├── tchmiconfig.json
│ │ │ ├── tchmiconfig.tpl.json
│ │ │ ├── tchmimanifest.json
│ │ │ └── tchmipublish.config.json
│ │ ├── Server
│ │ │ └── Extensions
│ │ │ │ ├── ADS
│ │ │ │ ├── ADS.Config.default.json
│ │ │ │ ├── ADS.Config.remote.json
│ │ │ │ └── ADS.Storage.json
│ │ │ │ ├── TcHmiEventLogger
│ │ │ │ ├── TcHmiEventLogger.Config.default.json
│ │ │ │ ├── TcHmiEventLogger.Config.remote.json
│ │ │ │ └── TcHmiEventLogger.Storage.json
│ │ │ │ ├── TcHmiLua
│ │ │ │ ├── TcHmiLua.Config.default.json
│ │ │ │ ├── TcHmiLua.Config.remote.json
│ │ │ │ └── TcHmiLua.Storage.json
│ │ │ │ ├── TcHmiRecipeManagement
│ │ │ │ ├── TcHmiRecipeManagement.Config.default.json
│ │ │ │ ├── TcHmiRecipeManagement.Config.remote.json
│ │ │ │ └── TcHmiRecipeManagement.Storage.json
│ │ │ │ ├── TcHmiSqliteHistorize
│ │ │ │ ├── TcHmiSqliteHistorize.Config.default.json
│ │ │ │ ├── TcHmiSqliteHistorize.Config.remote.json
│ │ │ │ └── TcHmiSqliteHistorize.Storage.json
│ │ │ │ ├── TcHmiSqliteLogger
│ │ │ │ ├── TcHmiSqliteLogger.Config.default.json
│ │ │ │ ├── TcHmiSqliteLogger.Config.remote.json
│ │ │ │ └── TcHmiSqliteLogger.Storage.json
│ │ │ │ ├── TcHmiSrv
│ │ │ │ ├── TcHmiSrv.Config.default.json
│ │ │ │ ├── TcHmiSrv.Config.remote.json
│ │ │ │ └── TcHmiSrv.Storage.json
│ │ │ │ └── TcHmiUserManagement
│ │ │ │ ├── TcHmiUserManagement.Config.default.json
│ │ │ │ ├── TcHmiUserManagement.Config.remote.json
│ │ │ │ └── TcHmiUserManagement.Storage.json
│ │ └── Themes
│ │ │ └── Base
│ │ │ ├── Base.theme
│ │ │ └── Style.css
│ └── TwinCAT Project1
│ │ ├── EventLoggerSample.tsproj
│ │ └── Untitled1
│ │ ├── POUs
│ │ ├── AlarmWithCustomSourceInfo.TcPOU
│ │ ├── ConfirmableAlarmWithArguments.TcPOU
│ │ ├── MAIN.TcPOU
│ │ └── SendMessage.TcPOU
│ │ ├── PlcTask.TcTTO
│ │ └── Untitled1.plcproj
└── PlcPart
│ ├── EventGridSample.sln
│ └── TwinCAT Project1
│ ├── EventLoggerSample.tsproj
│ └── Untitled1
│ ├── POUs
│ ├── AlarmWithCustomSourceInfo.TcPOU
│ ├── ConfirmableAlarmWithArguments.TcPOU
│ ├── MAIN.TcPOU
│ └── SendMessage.TcPOU
│ ├── PlcTask.TcTTO
│ └── Untitled1.plcproj
└── Units
├── Units.sln
└── Units
├── PLC
├── DUTs
│ ├── Celsius.TcDUT
│ ├── Fahrenheit.TcDUT
│ ├── Pascal.TcDUT
│ ├── PoundsPerSquareInch.TcDUT
│ ├── TerminalStatus.TcDUT
│ ├── Torr.TcDUT
│ ├── mbar.TcDUT
│ └── mmHg.TcDUT
├── MAIN.TcPOU
├── PLC.plcproj
├── POUs
│ ├── FahrenheitToCelsius.TcPOU
│ ├── IsValid.TcPOU
│ ├── PoundsPerSquareInchToPascal.TcPOU
│ ├── TorrToMbar.TcPOU
│ ├── TorrToMbarWithAlias.TcPOU
│ ├── TorrToMbarWithUnits.TcPOU
│ └── mmHgToPascal.TcPOU
└── PlcTask.TcTTO
└── Units.tsproj
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: roald87
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
14 |
--------------------------------------------------------------------------------
/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | # See https://pre-commit.com for more information
2 | # See https://pre-commit.com/hooks.html for more hooks
3 | # These are some pretty standard general pre-commit hooks
4 | repos:
5 | - repo: https://github.com/pre-commit/pre-commit-hooks
6 | rev: v3.2.0
7 | hooks:
8 | - id: trailing-whitespace # Removes trailing white spaces
9 | - id: check-yaml # checks yaml files for parseable syntax.
10 | - id: check-added-large-files # prevents giant files from being committed.
11 |
12 | # These hooks are made specifically for TwinCAT by the people of the Photon Controls and Data Systems at SLAC
13 | - repo: https://github.com/pcdshub/pre-commit-hooks
14 | rev: v1.1.0
15 | hooks:
16 | - id: twincat-leading-tabs-remover # Replaces all leading tabs with spaces
17 | - id: twincat-lineids-remover # Removes line ids. See point 4 of the link for why you don't need them https://cookncode.com/twincat/2021/06/07/tc-source-control-tips#2-creating-independent-files
18 | - id: twincat-xml-format # Formats .tmc and .tpy files
19 |
20 | # Doesnt work for me yet: https://github.com/pre-commit/mirrors-prettier/issues/18
21 | - repo: https://github.com/pre-commit/mirrors-prettier
22 | rev: v2.6.0 # Use the sha / tag you want to point at
23 | hooks:
24 | - id: prettier
25 | exclude_types: [json]
26 |
--------------------------------------------------------------------------------
/Datagrid/Datagrid/.hmipkgs/packages.hmipkgs:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Datagrid/Datagrid/FavIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/FavIcon.ico
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Fonts/Fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: RobotoCondensed;
3 | src: url(Roboto-Condensed-webfont.woff);
4 | }
5 |
6 | /**
7 | Description about font inclusion in TcHmi
8 |
9 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs
10 |
11 | If Roboto does not render the glyphs we use some preinstalled fallback
12 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (Mac/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
13 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (Mac/iOS), 'Noto Sans CJK JP' (Android) renders japanese
14 |
15 | For other fonts you can add the woff files into the tchmi project and
16 | add a @font-face section yourself
17 | The noto family from google tries to cover all of the world, is free to use and fits nicely with roboto
18 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
19 |
20 | The font usage is defined in the main css file of the active theme (for example Themes/Base/Style.css).
21 | */
22 |
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Fonts/Roboto-Condensed-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Fonts/Roboto-Condensed-webfont.woff
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Images/Background.png
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Beckhoff_Logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Manifest/launcher-icon-0-75x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Images/Manifest/launcher-icon-0-75x.png
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Manifest/launcher-icon-1-5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Images/Manifest/launcher-icon-1-5x.png
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Manifest/launcher-icon-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Images/Manifest/launcher-icon-1x.png
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Manifest/launcher-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Images/Manifest/launcher-icon-2x.png
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Manifest/launcher-icon-3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Images/Manifest/launcher-icon-3x.png
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Images/Manifest/launcher-icon-4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/Datagrid/Datagrid/Images/Manifest/launcher-icon-4x.png
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Localization/de-DE.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "Text1": "Hallo Welt!",
6 | "Text2": "Ich bin ein lokalisierter Text."
7 | }
8 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Localization/de-DE.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "Text1": "Hallo Welt!",
6 | "Text2": "Ich bin ein lokalisierter Text."
7 | }
8 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Localization/en-US.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "Text1": "Hello World!",
6 | "Text2": "I'm a localized text."
7 | }
8 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Localization/en-US.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "Text1": "Hello World!",
6 | "Text2": "I'm a localized text."
7 | }
8 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Properties/tchmi.project.Schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": {}
4 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Properties/tchmi.project.Schema.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": { }
4 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Properties/tchmiconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/TchmiConfig.Schema.json",
3 | "basePath": "./Libraries",
4 | "locale": "client",
5 | "scaleMode": "None",
6 | "startupView": "Desktop.view",
7 | "loginPage": null,
8 | "tcHmiServer": {
9 | "websocketIntervalTime": 500,
10 | "websocketTimeout": 10000,
11 | "websocketSubscriptionMode": "Change"
12 | },
13 | "activeTheme": "Base",
14 | "themes": {
15 | "Base": {
16 | "resources": [
17 | {
18 | "name": "Themes/Base/Base.theme",
19 | "description": "",
20 | "type": "ThemedValues"
21 | },
22 | {
23 | "name": "Themes/Base/Style.css",
24 | "description": "",
25 | "type": "Stylesheet"
26 | }
27 | ],
28 | "replacesThemeForControls": []
29 | }
30 | },
31 | "dependencyFiles": [
32 | {
33 | "name": "Fonts/Fonts.css",
34 | "description": "",
35 | "type": "Stylesheet"
36 | },
37 | {
38 | "name": "Style.css",
39 | "description": "",
40 | "type": "Stylesheet"
41 | }
42 | ],
43 | "userControls": [],
44 | "content": [],
45 | "views": [
46 | {
47 | "url": "Desktop.view",
48 | "preload": false
49 | }
50 | ],
51 | "userFunctions": [
52 | {
53 | "url": "RowClassesProvider.js"
54 | }
55 | ],
56 | "symbols": {
57 | "internal": {}
58 | },
59 | "trigger": [],
60 | "actionTemplates": [],
61 | "languages": {
62 | "de-DE": "Localization\\de-DE.localization",
63 | "en-US": "Localization\\en-US.localization"
64 | },
65 | "creatorSettings": {
66 | "viewport": {
67 | "defaultWidth": 1024,
68 | "defaultHeight": 768
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Properties/tchmiconfig.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/TchmiConfig.Schema.json",
3 | "basePath": "./Libraries",
4 | "locale": "client",
5 | "scaleMode": "None",
6 | "startupView": "Desktop.view",
7 | "loginPage": null,
8 | "tcHmiServer": {
9 | "websocketIntervalTime": 500,
10 | "websocketTimeout": 10000,
11 | "websocketSubscriptionMode": "Change"
12 | },
13 | "activeTheme": "Base",
14 | "themes": {
15 | "Base": {
16 | "resources": [
17 | {
18 | "name": "Themes/Base/Base.theme",
19 | "description": "",
20 | "type": "ThemedValues"
21 | },
22 | {
23 | "name": "Themes/Base/Style.css",
24 | "description": "",
25 | "type": "Stylesheet"
26 | }
27 | ],
28 | "replacesThemeForControls": []
29 | }
30 | },
31 | "dependencyFiles": [
32 | {
33 | "name": "Fonts/Fonts.css",
34 | "description": "",
35 | "type": "Stylesheet"
36 | },
37 | {
38 | "name": "Style.css",
39 | "description": "",
40 | "type": "Stylesheet"
41 | }
42 | ],
43 | "userControls": [],
44 | "content": [],
45 | "views": [
46 | {
47 | "url": "Desktop.view",
48 | "preload": false
49 | }
50 | ],
51 | "userFunctions": [
52 | {
53 | "url": "RowClassesProvider.js"
54 | }
55 | ],
56 | "symbols": {
57 | "internal": {}
58 | },
59 | "trigger": [],
60 | "actionTemplates": [],
61 | "languages": {
62 | "de-DE": "Localization\\de-DE.localization",
63 | "en-US": "Localization\\en-US.localization"
64 | },
65 | "creatorSettings": {
66 | "viewport": {
67 | "defaultWidth": 1024,
68 | "defaultHeight": 768
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Properties/tchmimanifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/web-manifest",
3 | "name": "ScreenShotProject",
4 | "icons": [
5 | {
6 | "src": "../Images/Manifest/launcher-icon-0-75x.png",
7 | "sizes": "36x36",
8 | "type": "image/png",
9 | "density": 0.75
10 | },
11 | {
12 | "src": "../Images/Manifest/launcher-icon-1x.png",
13 | "sizes": "48x48",
14 | "type": "image/png",
15 | "density": 1.0
16 | },
17 | {
18 | "src": "../Images/Manifest/launcher-icon-1-5x.png",
19 | "sizes": "72x72",
20 | "type": "image/png",
21 | "density": 1.5
22 | },
23 | {
24 | "src": "../Images/Manifest/launcher-icon-2x.png",
25 | "sizes": "96x96",
26 | "type": "image/png",
27 | "density": 2.0
28 | },
29 | {
30 | "src": "../Images/Manifest/launcher-icon-3x.png",
31 | "sizes": "144x144",
32 | "type": "image/png",
33 | "density": 3.0
34 | },
35 | {
36 | "src": "../Images/Manifest/launcher-icon-4x.png",
37 | "sizes": "192x192",
38 | "type": "image/png",
39 | "density": 4.0
40 | }
41 | ],
42 | "theme_color": "#9E9E9E",
43 | "background_color": "#9E9E9E",
44 | "start_url": "../Default.html",
45 | "display": "standalone",
46 | "orientation": "portrait"
47 | }
48 |
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Properties/tchmipublish.config.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/Datagrid/Datagrid/RowClassesProvider.function.json:
--------------------------------------------------------------------------------
1 | {
2 | "function": {
3 | "name": "RowClassesProvider",
4 | "displayName": "RowClassesProvider",
5 | "visible": true,
6 | "category": "",
7 | "waitMode": "Synchronous",
8 | "injectContextObject": false,
9 | "description": "",
10 | "returnValue": {
11 | "type": "tchmi:general#/definitions/Array"
12 | },
13 | "arguments": [
14 | {
15 | "name": "rowData",
16 | "displayName": "rowData",
17 | "type": "tchmi:general#/definitions/Any",
18 | "description": "This is an important Parameter which does... This text is used in a tooltip.",
19 | "defaultValue": "",
20 | "required": true,
21 | "bindable": true,
22 | "restParameter": false,
23 | "asReference": false
24 | },
25 | {
26 | "name": "rowIndex",
27 | "displayName": "rowIndex",
28 | "type": "tchmi:general#/definitions/Integer",
29 | "description": "",
30 | "defaultValue": "",
31 | "required": true,
32 | "bindable": true,
33 | "restParameter": false,
34 | "asReference": false
35 | },
36 | {
37 | "name": "rowNumber",
38 | "displayName": "rowNumber",
39 | "type": "tchmi:general#/definitions/Integer",
40 | "description": "",
41 | "defaultValue": "",
42 | "required": true,
43 | "bindable": true,
44 | "restParameter": false,
45 | "asReference": false
46 | }
47 | ]
48 | },
49 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/FunctionDescription.Schema.json"
50 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/RowClassesProvider.js:
--------------------------------------------------------------------------------
1 | // Keep this lines for a best effort IntelliSense of Visual Studio 2017.
2 | ///
3 | ///
4 | ///
5 |
6 | // Keep this lines for a best effort IntelliSense of Visual Studio 2013/2015.
7 | ///
8 | ///
9 |
10 | (function (TcHmi) {
11 | var RowClassesProvider = function (rowData, rowIndex, rowNumber) {
12 | var cssStyles = []; // Collected CSS styles which will be returned at the end
13 |
14 | if (!rowData.Test1) {
15 | // If the first column (Test1) is empty
16 | cssStyles.push("missing-input"); // add the missing-input style to the array
17 | }
18 |
19 | if (rowData.Test2 < 0) {
20 | // If the value of the second column is negative
21 | cssStyles.push("below-zero"); // add the below-zero style
22 | }
23 |
24 | if (!rowData.Test3) {
25 | // If the checkbox in the third column is not checked
26 | cssStyles.push("not-checked");
27 | }
28 |
29 | if (rowData.Test4 == "cookncode") {
30 | // if the text in the fourth column is cookncode
31 | cssStyles.push("bold");
32 | }
33 |
34 | return cssStyles;
35 | };
36 |
37 | TcHmi.Functions.registerFunction("RowClassesProvider", RowClassesProvider);
38 | })(TcHmi);
39 |
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/ADS/ADS.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "CHUNKING_OF_LARGE_REQUESTS": false,
3 | "FILTER": {},
4 | "RUNTIMES": {
5 | "PLC1": {
6 | "ENABLED": true,
7 | "NETID": "127.0.0.1.1.1",
8 | "PORT": 851,
9 | "SYMBOLS": {},
10 | "USE_WHITELISTING": false
11 | }
12 | },
13 | "TIMEOUT": "PT1S"
14 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/ADS/ADS.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "RUNTIMES": {
3 | "PLC1": {
4 | "ENABLED": true,
5 | "NETID": "127.0.0.1.1.1",
6 | "PORT": 851,
7 | "SYMBOLS": {},
8 | "USE_WHITELISTING": false
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/ADS/ADS.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.17"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiEventLogger/TcHmiEventLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "MAXTARGETS": 8,
3 | "TARGET_SYSTEMS": {
4 | "Local": {
5 | "ADDRESS": "127.0.0.1.1.1",
6 | "ENABLED": true
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiEventLogger/TcHmiEventLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "TARGET_SYSTEMS": {
3 | "Local": {
4 | "ADDRESS": "127.0.0.1.1.1",
5 | "ENABLED": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiEventLogger/TcHmiEventLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiLua/TcHmiLua.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "HTML_ERRORS": false,
3 | "SCRIPT_TIMEOUT": 30
4 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiLua/TcHmiLua.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiLua/TcHmiLua.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.0"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "recipeList": {},
3 | "recipeTypeList": {}
4 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiRecipeManagement/TcHmiRecipeManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.12"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "historizedSymbolList": {},
3 | "inMemory": false,
4 | "mode": 3
5 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.23"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "MAXENTRIES": 100000,
3 | "MAXENTRYLENGTH": 1024
4 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSqliteLogger/TcHmiSqliteLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSrv/TcHmiSrv.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "CERTIFICATEEXPIRATION": "P365D",
3 | "REQUIREAUTH": 2,
4 | "VIRTUALDIRECTORIES": {
5 | "/": "www"
6 | }
7 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiSrv/TcHmiSrv.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.47"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiUserManagement/TcHmiUserManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "USERS": {
3 | "__SystemAdministrator": {
4 | "ENABLED": false,
5 | "PASSWORD": "",
6 | "SALT": ""
7 | },
8 | "__SystemGuest": {
9 | "ENABLED": true,
10 | "PASSWORD": "",
11 | "SALT": ""
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiUserManagement/TcHmiUserManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Server/Extensions/TcHmiUserManagement/TcHmiUserManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.2"
3 | }
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Style.css:
--------------------------------------------------------------------------------
1 | /*Change the background color of the first column to orange*/
2 | #TcHmiDatagrid tr.missing-input td[data-column-name="Test1"] {
3 | background-color: #f76d16;
4 | }
5 |
6 | /*Change the second column's background to orange*/
7 | #TcHmiDatagrid tr.below-zero td[data-column-name="Test2"] {
8 | background-color: #f76d16;
9 | }
10 |
11 | /*A default background color for the second column*/
12 | #TcHmiDatagrid tr td[data-column-name="Test2"] {
13 | background-color: #a0d5e8;
14 | }
15 |
16 | /*Change the background color of an entire row if a check box' state is changed*/
17 | #TcHmiDatagrid tr.not-checked td::after {
18 | content: "";
19 | position: absolute;
20 | top: 0;
21 | right: 0;
22 | bottom: 0;
23 | left: 0;
24 | width: 100%;
25 | height: 10000px;
26 | pointer-events: none;
27 | z-index: 1;
28 | background-color: rgba(215, 249, 251, 0.5);
29 | }
30 |
31 | /*Make the text in the fourth column bold and change the color*/
32 | #TcHmiDatagrid tr.bold td[data-column-name="Test4"] {
33 | font-weight: bold;
34 | color: #f76d16;
35 | }
36 |
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Themes/Base/Base.theme:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/ThemeDescription.Schema.json"
3 | }
4 |
--------------------------------------------------------------------------------
/Datagrid/Datagrid/Themes/Base/Style.css:
--------------------------------------------------------------------------------
1 | /**
2 | About font inclusion in TcHmi
3 |
4 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs.
5 |
6 | If Roboto does not render the glyphs we use some preinstalled fallback
7 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (macOS/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
8 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (macOS/iOS), 'Noto Sans CJK JP' (Android) renders japanese
9 |
10 | For other fonts you can add the woff files into the TcHmi project and
11 | add a @font-face section yourself.
12 | The noto family from Google tries to cover all of the world, is free to use and fits nicely with Roboto
13 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
14 |
15 | The font usage is defined in the main CSS file of the active theme (for example Themes/Base/Style.css).
16 | */
17 |
18 | html {
19 | font-family: RobotoCondensed, "Microsoft YaHei", "微软雅黑",
20 | "Hiragino Sans GB", "冬青黑体", "STXihei", "华文细黑", "WenQuanYi Micro Hei",
21 | "Meiryo", "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN",
22 | "Noto Sans CJK SC", "Noto Sans CJK TC", "Noto Sans CJK JP",
23 | "Noto Sans CJK KR", sans-serif;
24 | font-size: 12px;
25 | font-style: normal;
26 | font-weight: normal;
27 | }
28 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/.tfignore:
--------------------------------------------------------------------------------
1 | ## Ignore TwinCAT HMI temporary files, build results, and
2 | ## files generated by popular TwinCAT HMI add-ons.
3 |
4 | .engineering_servers
5 | liveview_*
6 | *.cache
7 | *.db-shm
8 | *.db-wal
9 | *.pid
10 | tchmipublish.journal.json
11 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/FavIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/FavIcon.ico
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Fonts/Fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: RobotoCondensed;
3 | src: url(Roboto-Condensed-webfont.woff);
4 | }
5 |
6 | /**
7 | Description about font inclusion in TcHmi
8 |
9 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs
10 |
11 | If Roboto does not render the glyphs we use some preinstalled fallback
12 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (Mac/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
13 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (Mac/iOS), 'Noto Sans CJK JP' (Android) renders japanese
14 |
15 | For other fonts you can add the woff files into the tchmi project and
16 | add a @font-face section yourself
17 | The noto family from google tries to cover all of the world, is free to use and fits nicely with roboto
18 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
19 |
20 | The font usage is defined in the main css file of the active theme (for example Themes/Base/Style.css).
21 | */
22 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Fonts/Roboto-Condensed-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Fonts/Roboto-Condensed-webfont.woff
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Images/Background.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Beckhoff_Logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-0-75x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-0-75x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-1-5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-1-5x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-1x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-2x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-3x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Images/Manifest/launcher-icon-4x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Localization/de-DE.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "Text1": "Hallo Welt!",
6 | "Text2": "Ich bin ein lokalisierter Text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Localization/de-DE.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "Text1": "Hallo Welt!",
6 | "Text2": "Ich bin ein lokalisierter Text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Localization/en-US.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "Text1": "Hello World!",
6 | "Text2": "I'm a localized text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Localization/en-US.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "Text1": "Hello World!",
6 | "Text2": "I'm a localized text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Properties/tchmi.project.Schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": {}
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Properties/tchmi.project.Schema.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": { }
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Properties/tchmiconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/TchmiConfig.Schema.json",
3 | "basePath": "./framework",
4 | "scaleMode": "None",
5 | "startupView": "Desktop.view",
6 | "loginPage": "",
7 | "tcHmiServer": {
8 | "websocketIntervalTime": 500,
9 | "websocketTimeout": 10000,
10 | "websocketSystemTimeout": 0,
11 | "websocketSubscriptionMode": "Change"
12 | },
13 | "activeTheme": "Base",
14 | "themes": {
15 | "Base": {
16 | "resources": [
17 | {
18 | "name": "Themes/Base/Base.theme",
19 | "description": "",
20 | "type": "ThemedValues"
21 | },
22 | {
23 | "name": "Themes/Base/Style.css",
24 | "description": "",
25 | "type": "Stylesheet"
26 | },
27 | {
28 | "name": "Themes/Base/BaseStyle.css",
29 | "description": "",
30 | "type": "Stylesheet"
31 | }
32 | ],
33 | "replacesThemeForControls": []
34 | }
35 | },
36 | "dependencyFiles": [
37 | {
38 | "name": "Fonts/Fonts.css",
39 | "description": "",
40 | "type": "Stylesheet"
41 | }
42 | ],
43 | "userControls": [],
44 | "content": [],
45 | "views": [
46 | {
47 | "url": "Desktop.view",
48 | "preload": false,
49 | "keepAlive": false,
50 | "preloadBindings": false
51 | }
52 | ],
53 | "userFunctions": [],
54 | "symbols": {
55 | "internal": {}
56 | },
57 | "trigger": [],
58 | "actionTemplates": [],
59 | "languages": {
60 | "de-DE": "Localization/de-DE.localization",
61 | "en-US": "Localization/en-US.localization"
62 | },
63 | "languageFallback": "",
64 | "disableLoadingOptimization": false,
65 | "creatorSettings": {
66 | "viewport": {
67 | "defaultWidth": 1024,
68 | "defaultHeight": 768
69 | }
70 | },
71 | "binding": {
72 | "symbolError": "Ignore"
73 | },
74 | "packages": [
75 | {
76 | "name": "Beckhoff.TwinCAT.HMI.Controls",
77 | "basePath": "/Beckhoff.TwinCAT.HMI.Controls"
78 | },
79 | {
80 | "name": "Beckhoff.TwinCAT.HMI.Framework",
81 | "basePath": "/framework"
82 | },
83 | {
84 | "name": "Beckhoff.TwinCAT.HMI.Functions",
85 | "basePath": "/Beckhoff.TwinCAT.HMI.Functions"
86 | }
87 | ],
88 | "keyboardLayouts": [
89 | {
90 | "url": "KeyboardLayouts/German - compact.keyboard.json"
91 | },
92 | {
93 | "url": "KeyboardLayouts/US - compact.keyboard.json"
94 | }
95 | ]
96 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Properties/tchmiconfig.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/TchmiConfig.Schema.json",
3 | "basePath": "./framework",
4 | "locale": "client",
5 | "scaleMode": "None",
6 | "startupView": "Desktop.view",
7 | "loginPage": null,
8 | "tcHmiServer": {
9 | "websocketIntervalTime": 500,
10 | "websocketTimeout": 10000,
11 | "websocketSubscriptionMode": "Change"
12 | },
13 | "activeTheme": "Base",
14 | "themes": {
15 | "Base": {
16 | "resources": [
17 | {
18 | "name": "Themes/Base/Base.theme",
19 | "description": "",
20 | "type": "ThemedValues"
21 | },
22 | {
23 | "name": "Themes/Base/Style.css",
24 | "description": "",
25 | "type": "Stylesheet"
26 | },
27 | {
28 | "name": "Themes/Base/BaseStyle.css",
29 | "description": "Theme Stylesheet",
30 | "type": "Stylesheet"
31 | }
32 | ],
33 | "replacesThemeForControls": []
34 | }
35 | },
36 | "dependencyFiles": [
37 | {
38 | "name": "Fonts/Fonts.css",
39 | "description": "",
40 | "type": "Stylesheet"
41 | }
42 | ],
43 | "userControls": [],
44 | "content": [],
45 | "views": [
46 | {
47 | "url": "Desktop.view",
48 | "preload": false
49 | }
50 | ],
51 | "userFunctions": [],
52 | "symbols": {
53 | "internal": {}
54 | },
55 | "trigger": [],
56 | "actionTemplates": [],
57 | "languages": {
58 | "de-DE": "Localization\\de-DE.localization",
59 | "en-US": "Localization\\en-US.localization"
60 | },
61 | "creatorSettings": {
62 | "viewport": {
63 | "defaultWidth": 1024,
64 | "defaultHeight": 768
65 | }
66 | }
67 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Properties/tchmimanifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/web-manifest",
3 | "name": "HmiProject",
4 | "icons": [
5 | {
6 | "src": "../Images/Manifest/launcher-icon-0-75x.png",
7 | "sizes": "36x36",
8 | "type": "image/png",
9 | "density": 0.75
10 | },
11 | {
12 | "src": "../Images/Manifest/launcher-icon-1x.png",
13 | "sizes": "48x48",
14 | "type": "image/png",
15 | "density": 1.0
16 | },
17 | {
18 | "src": "../Images/Manifest/launcher-icon-1-5x.png",
19 | "sizes": "72x72",
20 | "type": "image/png",
21 | "density": 1.5
22 | },
23 | {
24 | "src": "../Images/Manifest/launcher-icon-2x.png",
25 | "sizes": "96x96",
26 | "type": "image/png",
27 | "density": 2.0
28 | },
29 | {
30 | "src": "../Images/Manifest/launcher-icon-3x.png",
31 | "sizes": "144x144",
32 | "type": "image/png",
33 | "density": 3.0
34 | },
35 | {
36 | "src": "../Images/Manifest/launcher-icon-4x.png",
37 | "sizes": "192x192",
38 | "type": "image/png",
39 | "density": 4.0
40 | }
41 | ],
42 | "theme_color": "#9E9E9E",
43 | "background_color": "#9E9E9E",
44 | "start_url": "../Default.html",
45 | "display": "standalone",
46 | "orientation": "portrait"
47 | }
48 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Properties/tchmipublish.config.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/ADS/ADS.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "IGNORED_PLC_ATTRIBUTES": [
3 | "DisplayMinValue",
4 | "DisplayMaxValue",
5 | "LowerBorder",
6 | "UpperBorder",
7 | "TcRpcEnable"
8 | ],
9 | "RUNTIMES": {
10 | "PLC1": {
11 | "ENABLED": true,
12 | "NETID": "127.0.0.1.1.1",
13 | "PORT": 851,
14 | "SYMBOLS": {},
15 | "USE_WHITELISTING": false
16 | }
17 | },
18 | "RUNTIME_STATE_CHECK_INTERVAL": "PT2S",
19 | "RUNTIME_STATE_CHECK_TIMEOUT": "PT5S",
20 | "TIMEOUT": "PT1S",
21 | "VISIBLE_RUNTIME_PORTS": [
22 | 301,
23 | 302,
24 | 303,
25 | 304,
26 | 350,
27 | 351,
28 | 352,
29 | 353,
30 | 354,
31 | 355,
32 | 501,
33 | 801,
34 | 811,
35 | 821,
36 | 831,
37 | 851,
38 | 852,
39 | 853,
40 | 854,
41 | 10000
42 | ]
43 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/ADS/ADS.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "RUNTIMES": {
3 | "PLC1": {
4 | "ENABLED": true,
5 | "NETID": "127.0.0.1.1.1",
6 | "PORT": 851,
7 | "SYMBOLS": {},
8 | "USE_WHITELISTING": false
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/ADS/ADS.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.38",
3 | "guid": "5AE90DB9-B895-45AD-9B79-27A19FADCD86"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiEventLogger/TcHmiEventLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "MAXTARGETS": 8,
3 | "TARGET_SYSTEMS": {
4 | "Local": {
5 | "ADDRESS": "127.0.0.1.1.1",
6 | "ENABLED": true
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiEventLogger/TcHmiEventLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "TARGET_SYSTEMS": {
3 | "Local": {
4 | "ADDRESS": "127.0.0.1.1.1",
5 | "ENABLED": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiEventLogger/TcHmiEventLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiLua/TcHmiLua.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "HTML_ERRORS": false,
3 | "SCRIPT_TIMEOUT": "PT10S"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiLua/TcHmiLua.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiLua/TcHmiLua.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1",
3 | "guid": "EBCC019A-41B4-4ADA-9163-F9F34357B0B6"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "recipeList": {},
3 | "recipeTypeList": {}
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiRecipeManagement/TcHmiRecipeManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.12"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "historizedSymbolList": {
3 | "PLC1.MAIN.oven.targetTemperature": {
4 | "interval": "PT0.2S",
5 | "maxEntries": 10000,
6 | "recordingEnabled": true,
7 | "rowLimit": 10000
8 | },
9 | "PLC1.MAIN.oven.thermoCouple_Celcius": {
10 | "interval": "PT0.2S",
11 | "maxEntries": 10000,
12 | "recordingEnabled": true,
13 | "rowLimit": 10000
14 | }
15 | },
16 | "inMemory": false,
17 | "mode": 3
18 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.23"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "DEFAULT_LIST_LIMIT": 1000,
3 | "MAXENTRIES": 100000,
4 | "MAXENTRYLENGTH": 1024,
5 | "MODE": 1,
6 | "REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": true,
7 | "VACUUM_ON_STARTUP": false
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.12",
3 | "guid": "CD0B1D03-27D7-4904-BEFF-3882D751757A"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSrv/TcHmiSrv.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "CERTIFICATEEXPIRATION": "P365D",
3 | "REQUIREAUTH": 2,
4 | "VIRTUALDIRECTORIES": {
5 | "/": "www"
6 | }
7 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiSrv/TcHmiSrv.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.107",
3 | "guid": "1EE8B733-8328-488E-A4BA-C287BF8302E7"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiUserManagement/TcHmiUserManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "USERS": {
3 | "__SystemAdministrator": {
4 | "ALGORITHM": 0,
5 | "ENABLED": false,
6 | "PASSWORD": "",
7 | "SALT": ""
8 | },
9 | "__SystemGuest": {
10 | "ALGORITHM": 0,
11 | "ENABLED": true,
12 | "PASSWORD": "",
13 | "SALT": ""
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiUserManagement/TcHmiUserManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server/TcHmiUserManagement/TcHmiUserManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.6",
3 | "guid": "2E0817F0-DE05-42ED-BAFA-552D96B07127"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/ADS/ADS.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "CHUNKING_OF_LARGE_REQUESTS": false,
3 | "FILTER": {},
4 | "RUNTIMES": {
5 | "PLC1": {
6 | "ENABLED": true,
7 | "NETID": "127.0.0.1.1.1",
8 | "PORT": 851,
9 | "SYMBOLS": {},
10 | "USE_WHITELISTING": false
11 | }
12 | },
13 | "TIMEOUT": "PT1S"
14 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/ADS/ADS.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "RUNTIMES": {
3 | "PLC1": {
4 | "ENABLED": true,
5 | "NETID": "127.0.0.1.1.1",
6 | "PORT": 851,
7 | "SYMBOLS": {},
8 | "USE_WHITELISTING": false
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/ADS/ADS.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.17"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiEventLogger/TcHmiEventLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "MAXTARGETS": 8,
3 | "TARGET_SYSTEMS": {
4 | "Local": {
5 | "ADDRESS": "127.0.0.1.1.1",
6 | "ENABLED": true
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiEventLogger/TcHmiEventLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "TARGET_SYSTEMS": {
3 | "Local": {
4 | "ADDRESS": "127.0.0.1.1.1",
5 | "ENABLED": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiEventLogger/TcHmiEventLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiLua/TcHmiLua.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "HTML_ERRORS": false,
3 | "SCRIPT_TIMEOUT": 30
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiLua/TcHmiLua.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiLua/TcHmiLua.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.0"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "recipeList": {},
3 | "recipeTypeList": {}
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiRecipeManagement/TcHmiRecipeManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.12"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "historizedSymbolList": {
3 | "PLC1.MAIN.oven.targetTemperature": {
4 | "interval": "PT0.2S",
5 | "maxEntries": 10000,
6 | "recordingEnabled": true,
7 | "rowLimit": 10000
8 | },
9 | "PLC1.MAIN.oven.thermoCouple_Celcius": {
10 | "interval": "PT0.2S",
11 | "maxEntries": 10000,
12 | "recordingEnabled": true,
13 | "rowLimit": 10000
14 | }
15 | },
16 | "inMemory": false,
17 | "mode": 3
18 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.23"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "MAXENTRIES": 100000,
3 | "MAXENTRYLENGTH": 1024
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSrv/TcHmiSrv.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "CERTIFICATEEXPIRATION": "P365D",
3 | "REQUIREAUTH": 2,
4 | "VIRTUALDIRECTORIES": {
5 | "/": "www"
6 | }
7 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiSrv/TcHmiSrv.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.47"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiUserManagement/TcHmiUserManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "USERS": {
3 | "__SystemAdministrator": {
4 | "ENABLED": false,
5 | "PASSWORD": "",
6 | "SALT": ""
7 | },
8 | "__SystemGuest": {
9 | "ENABLED": true,
10 | "PASSWORD": "",
11 | "SALT": ""
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiUserManagement/TcHmiUserManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Server_1.10_backup/Server/TcHmiUserManagement/TcHmiUserManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.2"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Themes/Base/Base.theme:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/ThemeDescription.Schema.json"
3 | }
4 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Themes/Base/Images/Splash-320x534.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Themes/Base/Images/Splash-320x534.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Themes/Base/Images/Splash-420x200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Themes/Base/Images/Splash-420x200.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Themes/Base/Images/Splash-800x600.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject/Themes/Base/Images/Splash-800x600.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/Themes/Base/Style.css:
--------------------------------------------------------------------------------
1 | /**
2 | About font inclusion in TcHmi
3 |
4 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs.
5 |
6 | If Roboto does not render the glyphs we use some preinstalled fallback
7 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (macOS/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
8 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (macOS/iOS), 'Noto Sans CJK JP' (Android) renders japanese
9 |
10 | For other fonts you can add the woff files into the TcHmi project and
11 | add a @font-face section yourself.
12 | The noto family from Google tries to cover all of the world, is free to use and fits nicely with Roboto
13 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
14 |
15 | The font usage is defined in the main CSS file of the active theme (for example Themes/Base/Style.css).
16 | */
17 |
18 | html {
19 | font-family: RobotoCondensed, "Microsoft YaHei", "微软雅黑",
20 | "Hiragino Sans GB", "冬青黑体", "STXihei", "华文细黑", "WenQuanYi Micro Hei",
21 | "Meiryo", "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN",
22 | "Noto Sans CJK SC", "Noto Sans CJK TC", "Noto Sans CJK JP",
23 | "Noto Sans CJK KR", sans-serif;
24 | font-size: 12px;
25 | font-style: normal;
26 | font-weight: normal;
27 | }
28 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/packages.config.updates:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "Beckhoff.TwinCAT.HMI.Controls",
4 | "version": "12.756.1"
5 | },
6 | {
7 | "id": "Beckhoff.TwinCAT.HMI.EventLogger",
8 | "version": "12.756.1"
9 | },
10 | {
11 | "id": "Beckhoff.TwinCAT.HMI.Framework",
12 | "version": "12.756.1"
13 | },
14 | {
15 | "id": "Beckhoff.TwinCAT.HMI.Functions",
16 | "version": "12.756.1"
17 | },
18 | {
19 | "id": "Beckhoff.TwinCAT.HMI.RecipeManagement",
20 | "version": "12.756.1"
21 | },
22 | {
23 | "id": "Beckhoff.TwinCAT.HMI.SqliteHistorize",
24 | "version": "12.756.1"
25 | }
26 | ]
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/packages.xsd:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/tsconfig",
3 | "compileOnSave": true,
4 | "compilerOptions": {
5 | "module": "none",
6 | "target": "es6",
7 | "skipLibCheck": true,
8 | "lib": [
9 | "dom",
10 | "scripthost",
11 | "es6",
12 | "es2017.intl"
13 | ],
14 | "types": [],
15 | "declaration": true,
16 | "sourceMap": true,
17 | "noEmitOnError": true,
18 | "suppressImplicitAnyIndexErrors": true,
19 | "noImplicitAny": true,
20 | "noImplicitThis": true,
21 | "strictNullChecks": true,
22 | "noImplicitReturns": true,
23 | "strictFunctionTypes": false,
24 | "strictPropertyInitialization": false,
25 | "alwaysStrict": false
26 | },
27 | "exclude": [
28 | "bin/"
29 | ],
30 | "include": [
31 | "Beckhoff.TwinCAT.HMI.Framework.InstallPath/TcHmi.d.ts"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject/tsconfig.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/tsconfig",
3 | "compileOnSave": true,
4 | "compilerOptions": {
5 | "module": "none",
6 | "target": "es6",
7 | "skipLibCheck": true,
8 | "lib": [
9 | "dom",
10 | "scripthost",
11 | "es6",
12 | "es2017.intl"
13 | ],
14 | "types": [],
15 | "declaration": true,
16 | "sourceMap": true,
17 | "noEmitOnError": true,
18 | "suppressImplicitAnyIndexErrors": true,
19 | "noImplicitAny": true,
20 | "noImplicitThis": true,
21 | "strictNullChecks": true,
22 | "noImplicitReturns": true,
23 | "strictFunctionTypes": false,
24 | "strictPropertyInitialization": false,
25 | "alwaysStrict": false
26 | },
27 | "exclude": [
28 | "$(Output).Path/"
29 | ],
30 | "include": [
31 | "$(Beckhoff.TwinCAT.HMI.Framework).InstallPath/TcHmi.d.ts"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/eslintrc",
3 | "env": {
4 | "browser": true,
5 | "es6": true,
6 | "jquery": true
7 | },
8 | "parserOptions": {
9 | "ecmaVersion": 6,
10 | "sourceType": "script"
11 | },
12 | "rules": {
13 | "no-dupe-args": "error",
14 | "no-dupe-else-if": "error",
15 | "no-duplicate-case": "warn",
16 | "no-redeclare": "error",
17 | "no-unexpected-multiline": "error",
18 | "use-isnan": "error"
19 | },
20 | "overrides": [
21 | {
22 | "files": [ "*.ts", "*.tsx" ],
23 | "rules": {
24 |
25 | }
26 | }
27 | ]
28 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/.tfignore:
--------------------------------------------------------------------------------
1 | ## Ignore TwinCAT HMI temporary files, build results, and
2 | ## files generated by popular TwinCAT HMI add-ons.
3 |
4 | .engineering_servers/
5 | tchmipublish.journal.json
6 | liveview_*
7 | *.cache
8 | *.db-shm
9 | *.db-wal
10 | *.pid
11 | **/.hmiframework/
12 | **/.hmipkgs/
13 | **/*.d.ts
14 | **/*.js.map
15 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Fonts/Fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: RobotoCondensed;
3 | src: url(Roboto-Condensed-webfont.woff);
4 | }
5 |
6 | /**
7 | Description about font inclusion in TcHmi
8 |
9 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs
10 |
11 | If Roboto does not render the glyphs we use some preinstalled fallback
12 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (Mac/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
13 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (Mac/iOS), 'Noto Sans CJK JP' (Android) renders japanese
14 |
15 | For other fonts you can add the woff files into the tchmi project and
16 | add a @font-face section yourself
17 | The noto family from google tries to cover all of the world, is free to use and fits nicely with roboto
18 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
19 |
20 | The font usage is defined in the main css file of the active theme (for example Themes/Base/Style.css).
21 | */
22 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Fonts/Roboto-Condensed-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Fonts/Roboto-Condensed-webfont.woff
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Beckhoff_Logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Images/Favicon.ico
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-0-75x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-0-75x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-1-5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-1-5x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-1x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-2x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-3x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Images/Manifest/launcher-icon-4x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Localization/de-DE.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "Text1": "Hallo Welt!",
6 | "Text2": "Ich bin ein lokalisierter Text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Localization/de-DE.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "Text1": "Hallo Welt!",
6 | "Text2": "Ich bin ein lokalisierter Text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Localization/en-US.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "Text1": "Hello World!",
6 | "Text2": "I'm a localized text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Localization/en-US.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "Text1": "Hello World!",
6 | "Text2": "I'm a localized text."
7 | }
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Properties/Default.tpl:
--------------------------------------------------------------------------------
1 | -- Designer --
2 |
3 |
4 |
5 |
6 | {{TITLE}}
7 |
8 |
9 |
29 | {{GLOBAL_JS_INCLUDES}}
30 |
31 |
32 | {{VIEWLEVEL}}
33 |
34 |
35 | -- /Designer --
36 |
37 | -- LiveView_and_Build --
38 |
39 |
48 |
49 |
50 |
51 | {{TITLE}}
52 |
53 |
54 |
55 |
56 |
57 |
58 | {{GLOBAL_JS_INCLUDES}}
59 |
66 |
67 |
68 |
72 | {{VIEWLEVEL}}
73 |
74 |
75 | -- /LiveView_and_Build --
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Properties/tchmi.project.Schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": {}
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Properties/tchmi.project.Schema.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": {}
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Properties/tchmimanifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/web-manifest",
3 | "name": "HmiProject112",
4 | "short_name": "HmiProject112",
5 | "icons": [
6 | {
7 | "src": "../Images/Manifest/launcher-icon-0-75x.png",
8 | "sizes": "36x36",
9 | "type": "image/png",
10 | "density": 0.75
11 | },
12 | {
13 | "src": "../Images/Manifest/launcher-icon-1x.png",
14 | "sizes": "48x48",
15 | "type": "image/png",
16 | "density": 1.0
17 | },
18 | {
19 | "src": "../Images/Manifest/launcher-icon-1-5x.png",
20 | "sizes": "72x72",
21 | "type": "image/png",
22 | "density": 1.5
23 | },
24 | {
25 | "src": "../Images/Manifest/launcher-icon-2x.png",
26 | "sizes": "96x96",
27 | "type": "image/png",
28 | "density": 2.0
29 | },
30 | {
31 | "src": "../Images/Manifest/launcher-icon-3x.png",
32 | "sizes": "144x144",
33 | "type": "image/png",
34 | "density": 3.0
35 | },
36 | {
37 | "src": "../Images/Manifest/launcher-icon-4x.png",
38 | "sizes": "192x192",
39 | "type": "image/png",
40 | "density": 4.0
41 | }
42 | ],
43 | "theme_color": "#9E9E9E",
44 | "background_color": "#9E9E9E",
45 | "start_url": "../Default.html",
46 | "display": "standalone",
47 | "orientation": "portrait"
48 | }
49 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Properties/tchmipublish.config.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "serverExtensions": [
4 | {
5 | "publishServerExtension": true,
6 | "name": "ADS"
7 | },
8 | {
9 | "publishServerExtension": true,
10 | "name": "TcHmiLua"
11 | },
12 | {
13 | "publishServerExtension": true,
14 | "name": "TcHmiSqliteLogger"
15 | },
16 | {
17 | "publishServerExtension": true,
18 | "name": "TcHmiSrv"
19 | },
20 | {
21 | "publishServerExtension": true,
22 | "name": "TcHmiUserManagement"
23 | }
24 | ],
25 | "isNew": false,
26 | "profileName": "vm",
27 | "publishMode": "TcHmi",
28 | "targetDirectory": "",
29 | "server": "",
30 | "sitePath": "",
31 | "destinationUrl": "",
32 | "passiveMode": true,
33 | "savePassword": true,
34 | "deleteAllFilesBeforePublish": false,
35 | "deleteExtensionDataBeforePublish": false,
36 | "alwaysPublishLocalServerConfiguration": true,
37 | "temporaryPublishWithoutServerConfiguration": false,
38 | "abortOnErrors": true,
39 | "userName": "",
40 | "encryptedPassword": "",
41 | "encryptedTcHmiServerPassword": "",
42 | "tcHmiServerHost": "192.168.126.132",
43 | "tcHmiServerPort": "1020",
44 | "socketTimeout": "60",
45 | "clientCertificateCN": "",
46 | "tcHmiUseTLS": true,
47 | "useClientCertificate": false,
48 | "launchBrowserAfterPublish": true,
49 | "createVirtualDirectoriesOnTargetSystem": false,
50 | "tcHmiServerUserName": "",
51 | "tcHmiDestinationUrl": "https://192.168.126.132:1020",
52 | "publishConfiguration": "remote",
53 | "tcHmiSavePassword": true,
54 | "tcHmiIgnoreCertificateErrors": true
55 | }
56 | ]
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/ADS/ADS.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "IGNORED_PLC_ATTRIBUTES": [
3 | "DisplayMinValue",
4 | "DisplayMaxValue",
5 | "LowerBorder",
6 | "UpperBorder",
7 | "TcRpcEnable"
8 | ],
9 | "RUNTIMES": {
10 | "PLC1": {
11 | "ENABLED": true,
12 | "NETID": "127.0.0.1.1.1",
13 | "PORT": 851,
14 | "SYMBOLS": {},
15 | "USE_WHITELISTING": false
16 | }
17 | },
18 | "RUNTIME_STATE_CHECK_INTERVAL": "PT2S",
19 | "RUNTIME_STATE_CHECK_TIMEOUT": "PT5S",
20 | "TIMEOUT": "PT1S",
21 | "VISIBLE_RUNTIME_PORTS": [
22 | 301,
23 | 302,
24 | 303,
25 | 304,
26 | 350,
27 | 351,
28 | 352,
29 | 353,
30 | 354,
31 | 355,
32 | 501,
33 | 801,
34 | 811,
35 | 821,
36 | 831,
37 | 851,
38 | 852,
39 | 853,
40 | 854,
41 | 10000
42 | ]
43 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/ADS/ADS.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "RUNTIMES": {
3 | "PLC1": {
4 | "ENABLED": true,
5 | "NETID": "127.0.0.1.1.1",
6 | "PORT": 851,
7 | "SYMBOLS": {},
8 | "USE_WHITELISTING": false
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/ADS/ADS.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.38",
3 | "guid": "5AE90DB9-B895-45AD-9B79-27A19FADCD86"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiLua/TcHmiLua.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "HTML_ERRORS": false,
3 | "SCRIPT_TIMEOUT": "PT10S"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiLua/TcHmiLua.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiLua/TcHmiLua.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1",
3 | "guid": "EBCC019A-41B4-4ADA-9163-F9F34357B0B6"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "DEFAULT_LIST_LIMIT": 1000,
3 | "MAXENTRIES": 15000,
4 | "MAXENTRYLENGTH": 1024,
5 | "MODE": 1,
6 | "REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": true,
7 | "VACUUM_ON_STARTUP": false
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.12",
3 | "guid": "CD0B1D03-27D7-4904-BEFF-3882D751757A"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiSrv/TcHmiSrv.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "CERTIFICATEEXPIRATION": "P14000D",
3 | "REQUIREAUTH": 2,
4 | "VIRTUALDIRECTORIES": {
5 | "/": "www"
6 | }
7 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiSrv/TcHmiSrv.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.107",
3 | "guid": "1EE8B733-8328-488E-A4BA-C287BF8302E7"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiUserManagement/TcHmiUserManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "USERS": {
3 | "__SystemAdministrator": {
4 | "ALGORITHM": 0,
5 | "ENABLED": false,
6 | "PASSWORD": "",
7 | "SALT": ""
8 | },
9 | "__SystemGuest": {
10 | "ALGORITHM": 0,
11 | "ENABLED": true,
12 | "PASSWORD": "",
13 | "SALT": ""
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiUserManagement/TcHmiUserManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Server/TcHmiUserManagement/TcHmiUserManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.6",
3 | "guid": "2E0817F0-DE05-42ED-BAFA-552D96B07127"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Base-Dark.theme:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./../../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/ThemeDescription.Schema.json"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Background.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Splash-320x534.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Splash-320x534.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Splash-420x200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Splash-420x200.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Splash-800x600.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base-Dark/Images/Splash-800x600.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base/Base.theme:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./../../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/ThemeDescription.Schema.json"
3 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Background.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Splash-320x534.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Splash-320x534.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Splash-420x200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Splash-420x200.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Splash-800x600.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/HmiProject112/Themes/Base/Images/Splash-800x600.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/packages.config.updates:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "Beckhoff.TwinCAT.HMI.Framework",
4 | "version": "12.756.1"
5 | },
6 | {
7 | "id": "Beckhoff.TwinCAT.HMI.Functions",
8 | "version": "12.756.1"
9 | },
10 | {
11 | "id": "Beckhoff.TwinCAT.HMI.Controls",
12 | "version": "12.756.1"
13 | }
14 | ]
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/packages.xsd:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/tsconfig",
3 | "compileOnSave": true,
4 | "compilerOptions": {
5 | "module": "none",
6 | "target": "es6",
7 | "skipLibCheck": true,
8 | "lib": [
9 | "dom",
10 | "scripthost",
11 | "es6",
12 | "es2017.intl"
13 | ],
14 | "types": [],
15 | "declaration": true,
16 | "sourceMap": true,
17 | "noEmitOnError": true,
18 | "suppressImplicitAnyIndexErrors": true,
19 | "noImplicitAny": true,
20 | "noImplicitThis": true,
21 | "strictNullChecks": true,
22 | "noImplicitReturns": true,
23 | "strictFunctionTypes": false,
24 | "strictPropertyInitialization": false,
25 | "alwaysStrict": false
26 | },
27 | "exclude": [
28 | "bin/"
29 | ],
30 | "include": [
31 | "../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/TcHmi.d.ts"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/HmiProject112/tsconfig.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/tsconfig",
3 | "compileOnSave": true,
4 | "compilerOptions": {
5 | "module": "none",
6 | "target": "es6",
7 | "skipLibCheck": true,
8 | "lib": [
9 | "dom",
10 | "scripthost",
11 | "es6",
12 | "es2017.intl"
13 | ],
14 | "types": [],
15 | "declaration": true,
16 | "sourceMap": true,
17 | "noEmitOnError": true,
18 | "suppressImplicitAnyIndexErrors": true,
19 | "noImplicitAny": true,
20 | "noImplicitThis": true,
21 | "strictNullChecks": true,
22 | "noImplicitReturns": true,
23 | "strictFunctionTypes": false,
24 | "strictPropertyInitialization": false,
25 | "alwaysStrict": false
26 | },
27 | "exclude": [
28 | "$(Output).Path/"
29 | ],
30 | "include": [
31 | "$(Beckhoff.TwinCAT.HMI.Framework).InstallPath/TcHmi.d.ts"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/Oven.tspproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/PLC/DUTs/Command.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/PLC/DUTs/State.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
16 |
17 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/PLC/POUs/MAIN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/PLC/POUs/Oven.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/PLC/POUs/Relay.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/PLC/POUs/StateMachine.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/Oven/PLC/PlcTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 20
7 |
8 | MAIN
9 |
10 | {e6b1333b-a00e-4b70-92c4-b7b9c63ad5f3}
11 | {ba1b35b6-9ecc-42af-845b-d8e9b2d7ac63}
12 | {d1b9332b-c84b-4045-b2bb-6e8bcf6a9080}
13 | {48cf60bd-4a17-4570-a4fb-c06023a03e16}
14 | {b08b3e95-10c4-434f-af2b-3564381f3185}
15 |
16 |
17 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/eslintrc",
3 | "env": {
4 | "browser": true,
5 | "es6": true,
6 | "jquery": true
7 | },
8 | "parserOptions": {
9 | "ecmaVersion": 6,
10 | "sourceType": "script"
11 | },
12 | "rules": {
13 | "no-dupe-args": "error",
14 | "no-dupe-else-if": "error",
15 | "no-duplicate-case": "warn",
16 | "no-redeclare": "error",
17 | "no-unexpected-multiline": "error",
18 | "use-isnan": "error"
19 | },
20 | "overrides": [
21 | {
22 | "files": [ "*.ts", "*.tsx" ],
23 | "rules": {
24 |
25 | }
26 | }
27 | ]
28 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/.tfignore:
--------------------------------------------------------------------------------
1 | ## Ignore TwinCAT HMI temporary files, build results, and
2 | ## files generated by popular TwinCAT HMI add-ons.
3 |
4 | .engineering_servers/
5 | tchmipublish.journal.json
6 | liveview_*
7 | *.cache
8 | *.db-shm
9 | *.db-wal
10 | *.pid
11 | **/.hmiframework/
12 | **/.hmipkgs/
13 | **/*.d.ts
14 | **/*.js.map
15 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Desktop.view:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Fonts/Fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: RobotoCondensed;
3 | src: url(Roboto-Condensed-webfont.woff);
4 | }
5 |
6 | /**
7 | Description about font inclusion in TcHmi
8 |
9 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs
10 |
11 | If Roboto does not render the glyphs we use some preinstalled fallback
12 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (Mac/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
13 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (Mac/iOS), 'Noto Sans CJK JP' (Android) renders japanese
14 |
15 | For other fonts you can add the woff files into the tchmi project and
16 | add a @font-face section yourself
17 | The noto family from google tries to cover all of the world, is free to use and fits nicely with roboto
18 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
19 |
20 | The font usage is defined in the main css file of the active theme (for example Themes/Base/Style.css).
21 | */
22 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Fonts/Roboto-Condensed-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Fonts/Roboto-Condensed-webfont.woff
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Beckhoff_Logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Images/Favicon.ico
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-0-75x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-0-75x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-1-5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-1-5x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-1x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-2x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-3x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Images/Manifest/launcher-icon-4x.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/PLC/plc-config.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/PLC/plc-exeption.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/PLC/plc-fallback.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/PLC/plc-run.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Images/PLC/plc-stop.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Localization/de-DE.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "L_StartPage": "Startseite",
6 | "L_Events": "Meldungen",
7 | "L_Localization": "Lokalisierung",
8 | "L_Theme": "Farbschema",
9 | "L_Settings": "Einstellungen"
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Localization/de-DE.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "de-DE",
4 | "localizedText": {
5 | "L_StartPage": "Startseite",
6 | "L_Events": "Meldungen",
7 | "L_Localization": "Lokalisierung",
8 | "L_Theme": "Farbschema",
9 | "L_Settings": "Einstellungen"
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Localization/en-US.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "L_StartPage": "Start Page",
6 | "L_Events": "Events",
7 | "L_Localization": "Localization",
8 | "L_Theme": "Theme",
9 | "L_Settings": "Settings"
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Localization/en-US.tpl.localization:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/Schema/LocalizationDescription.Schema.json",
3 | "locale": "en-US",
4 | "localizedText": {
5 | "L_StartPage": "Start Page",
6 | "L_Events": "Events",
7 | "L_Localization": "Localization",
8 | "L_Theme": "Theme",
9 | "L_Settings": "Settings"
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Pages/Events.content:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
20 |
23 |
39 |
47 |
48 |
49 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Pages/StartPage.content:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Properties/Default.tpl:
--------------------------------------------------------------------------------
1 | -- Designer --
2 |
3 |
4 |
5 | {{TITLE}}
6 |
7 |
8 |
9 |
23 | {{GLOBAL_JS_INCLUDES}}
24 |
25 |
26 | {{VIEWLEVEL}}
27 |
28 |
29 | -- /Designer --
30 |
31 | -- LiveView_and_Build --
32 |
33 |
42 |
43 |
44 | {{TITLE}}
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | {{GLOBAL_JS_INCLUDES}}
54 |
55 |
56 |
60 | {{VIEWLEVEL}}
61 |
62 |
63 | -- /LiveView_and_Build --
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Properties/tchmi.project.Schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": {}
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Properties/tchmi.project.Schema.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": {}
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Properties/tchmimanifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/web-manifest",
3 | "name": "TestConnection",
4 | "short_name": "TestConnection",
5 | "icons": [
6 | {
7 | "src": "../Images/Manifest/launcher-icon-0-75x.png",
8 | "sizes": "36x36",
9 | "type": "image/png",
10 | "density": 0.75
11 | },
12 | {
13 | "src": "../Images/Manifest/launcher-icon-1x.png",
14 | "sizes": "48x48",
15 | "type": "image/png",
16 | "density": 1.0
17 | },
18 | {
19 | "src": "../Images/Manifest/launcher-icon-1-5x.png",
20 | "sizes": "72x72",
21 | "type": "image/png",
22 | "density": 1.5
23 | },
24 | {
25 | "src": "../Images/Manifest/launcher-icon-2x.png",
26 | "sizes": "96x96",
27 | "type": "image/png",
28 | "density": 2.0
29 | },
30 | {
31 | "src": "../Images/Manifest/launcher-icon-3x.png",
32 | "sizes": "144x144",
33 | "type": "image/png",
34 | "density": 3.0
35 | },
36 | {
37 | "src": "../Images/Manifest/launcher-icon-4x.png",
38 | "sizes": "192x192",
39 | "type": "image/png",
40 | "density": 4.0
41 | }
42 | ],
43 | "theme_color": "#9E9E9E",
44 | "background_color": "#9E9E9E",
45 | "start_url": "/Pages/LoginPage.html",
46 | "display": "standalone",
47 | "orientation": "portrait"
48 | }
49 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Properties/tchmipublish.config.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "serverExtensions": [
4 | {
5 | "publishServerExtension": true,
6 | "name": "ADS"
7 | },
8 | {
9 | "publishServerExtension": true,
10 | "name": "TcHmiLua"
11 | },
12 | {
13 | "publishServerExtension": true,
14 | "name": "TcHmiSqliteLogger"
15 | },
16 | {
17 | "publishServerExtension": true,
18 | "name": "TcHmiSrv"
19 | },
20 | {
21 | "publishServerExtension": true,
22 | "name": "TcHmiUserManagement"
23 | }
24 | ],
25 | "isNew": false,
26 | "profileName": "vm",
27 | "publishMode": "TcHmi",
28 | "targetDirectory": "",
29 | "server": "",
30 | "sitePath": "",
31 | "destinationUrl": "",
32 | "passiveMode": true,
33 | "savePassword": true,
34 | "deleteAllFilesBeforePublish": false,
35 | "deleteExtensionDataBeforePublish": false,
36 | "alwaysPublishLocalServerConfiguration": true,
37 | "temporaryPublishWithoutServerConfiguration": false,
38 | "abortOnErrors": true,
39 | "userName": "",
40 | "encryptedPassword": "",
41 | "encryptedTcHmiServerPassword": "JnDc1XJ2d+57mw+asWOyZw==",
42 | "tcHmiServerHost": "192.168.126.132",
43 | "tcHmiServerPort": "1020",
44 | "socketTimeout": "60",
45 | "clientCertificateCN": "",
46 | "tcHmiUseTLS": true,
47 | "useClientCertificate": false,
48 | "launchBrowserAfterPublish": true,
49 | "createVirtualDirectoriesOnTargetSystem": false,
50 | "tcHmiServerUserName": "__SystemAdministrator",
51 | "tcHmiDestinationUrl": "https://192.168.126.132:1020",
52 | "publishConfiguration": "remote",
53 | "tcHmiSavePassword": true,
54 | "tcHmiIgnoreCertificateErrors": true
55 | }
56 | ]
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/ADS/ADS.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "IGNORED_PLC_ATTRIBUTES": [
3 | "DisplayMinValue",
4 | "DisplayMaxValue",
5 | "LowerBorder",
6 | "UpperBorder",
7 | "TcRpcEnable"
8 | ],
9 | "RUNTIMES": {
10 | "PLC1": {
11 | "ENABLED": true,
12 | "NETID": "127.0.0.1.1.1",
13 | "PORT": 851,
14 | "SYMBOLS": {},
15 | "USE_WHITELISTING": false
16 | },
17 | "TcSysService": {
18 | "ENABLED": true,
19 | "NETID": "127.0.0.1.1.1",
20 | "PORT": 10000,
21 | "SYMBOLS": {},
22 | "USE_WHITELISTING": false
23 | }
24 | },
25 | "RUNTIME_STATE_CHECK_INTERVAL": "PT2S",
26 | "RUNTIME_STATE_CHECK_TIMEOUT": "PT5S",
27 | "TIMEOUT": "PT1S",
28 | "VISIBLE_RUNTIME_PORTS": [
29 | 301,
30 | 302,
31 | 303,
32 | 304,
33 | 350,
34 | 351,
35 | 352,
36 | 353,
37 | 354,
38 | 355,
39 | 501,
40 | 801,
41 | 811,
42 | 821,
43 | 831,
44 | 851,
45 | 852,
46 | 853,
47 | 854,
48 | 10000
49 | ]
50 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/ADS/ADS.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "RUNTIMES": {
3 | "PLC1": {
4 | "ENABLED": true,
5 | "NETID": "127.0.0.1.1.1",
6 | "PORT": 851,
7 | "SYMBOLS": {},
8 | "USE_WHITELISTING": false
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/ADS/ADS.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.38",
3 | "guid": "5AE90DB9-B895-45AD-9B79-27A19FADCD86"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiLua/TcHmiLua.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "HTML_ERRORS": false,
3 | "SCRIPT_TIMEOUT": "PT10S"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiLua/TcHmiLua.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiLua/TcHmiLua.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1",
3 | "guid": "EBCC019A-41B4-4ADA-9163-F9F34357B0B6"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "DEFAULT_LIST_LIMIT": 1000,
3 | "MAXENTRIES": 15000,
4 | "MAXENTRYLENGTH": 1024,
5 | "MODE": 1,
6 | "REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": true,
7 | "VACUUM_ON_STARTUP": false
8 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiSqliteLogger/TcHmiSqliteLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.12",
3 | "guid": "CD0B1D03-27D7-4904-BEFF-3882D751757A"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiSrv/TcHmiSrv.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "CERTIFICATEEXPIRATION": "P14000D",
3 | "REQUIREAUTH": 2,
4 | "VIRTUALDIRECTORIES": {
5 | "/": "www"
6 | }
7 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiSrv/TcHmiSrv.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.107",
3 | "guid": "1EE8B733-8328-488E-A4BA-C287BF8302E7"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiUserManagement/TcHmiUserManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "USERS": {
3 | "__SystemAdministrator": {
4 | "ALGORITHM": 0,
5 | "ENABLED": false,
6 | "PASSWORD": "",
7 | "SALT": ""
8 | },
9 | "__SystemGuest": {
10 | "ALGORITHM": 0,
11 | "ENABLED": true,
12 | "PASSWORD": "",
13 | "SALT": ""
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiUserManagement/TcHmiUserManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Server/TcHmiUserManagement/TcHmiUserManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.6",
3 | "guid": "2E0817F0-DE05-42ED-BAFA-552D96B07127"
4 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Background.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Beckhoff_Logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Placeholder/placeholder_active.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Placeholder/placeholder_normal.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Placeholder/placeholder_pressed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Splash-320x534.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Splash-320x534.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Splash-420x200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Splash-420x200.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Splash-800x600.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Splash-800x600.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Background.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Placeholder/placeholder_active.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Placeholder/placeholder_normal.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Placeholder/placeholder_pressed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Splash-320x534.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Splash-320x534.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Splash-420x200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Splash-420x200.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Splash-800x600.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/DigitalTwin/Oven/TestConnection/Themes/Base/Images/Splash-800x600.png
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/packages.xsd:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/tsconfig",
3 | "compileOnSave": true,
4 | "compilerOptions": {
5 | "module": "none",
6 | "target": "es6",
7 | "skipLibCheck": true,
8 | "lib": [
9 | "dom",
10 | "scripthost",
11 | "es6",
12 | "es2017.intl"
13 | ],
14 | "types": [],
15 | "declaration": true,
16 | "sourceMap": true,
17 | "noEmitOnError": true,
18 | "suppressImplicitAnyIndexErrors": true,
19 | "noImplicitAny": true,
20 | "noImplicitThis": true,
21 | "strictNullChecks": true,
22 | "noImplicitReturns": true,
23 | "strictFunctionTypes": false,
24 | "strictPropertyInitialization": false,
25 | "alwaysStrict": false
26 | },
27 | "exclude": [
28 | "bin/"
29 | ],
30 | "include": [
31 | "../Packages/Beckhoff.TwinCAT.HMI.Framework.12.754.4/runtimes/native1.12-tchmi/TcHmi.d.ts"
32 | ]
33 | }
--------------------------------------------------------------------------------
/DigitalTwin/Oven/TestConnection/tsconfig.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/tsconfig",
3 | "compileOnSave": true,
4 | "compilerOptions": {
5 | "module": "none",
6 | "target": "es6",
7 | "skipLibCheck": true,
8 | "lib": [
9 | "dom",
10 | "scripthost",
11 | "es6",
12 | "es2017.intl"
13 | ],
14 | "types": [],
15 | "declaration": true,
16 | "sourceMap": true,
17 | "noEmitOnError": true,
18 | "suppressImplicitAnyIndexErrors": true,
19 | "noImplicitAny": true,
20 | "noImplicitThis": true,
21 | "strictNullChecks": true,
22 | "noImplicitReturns": true,
23 | "strictFunctionTypes": false,
24 | "strictPropertyInitialization": false,
25 | "alwaysStrict": false
26 | },
27 | "exclude": [
28 | "$(Output).Path/"
29 | ],
30 | "include": [
31 | "$(Beckhoff.TwinCAT.HMI.Framework).InstallPath/TcHmi.d.ts"
32 | ]
33 | }
--------------------------------------------------------------------------------
/DigitalTwin/OvenConfig/OvenConfig/SimulationPlc/POUs/MAIN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/DigitalTwin/OvenConfig/OvenConfig/SimulationPlc/POUs/SimOven.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/DigitalTwin/OvenConfig/OvenConfig/SimulationPlc/POUs/SimRelay.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/DigitalTwin/OvenConfig/OvenConfig/SimulationPlc/SimulationTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 1
7 |
8 | MAIN
9 |
10 | {fd707f68-d36a-4072-b1a0-9e55bacbe4ca}
11 | {fdbd2637-349e-4943-a66d-a07c0eb43adf}
12 | {56c04075-f112-4406-a491-f1c2e905f07a}
13 | {cd70ff4c-409b-4eed-ae0c-a677a53e61d1}
14 | {e45dfc88-fd85-45ac-a7be-82e4e71e1dba}
15 |
16 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Roald87
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PLC/CheckPointer.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 | Please note that the following memory area check is time consuming:
23 | //ELSIF F_CheckMemoryArea(pData:=ptToTest,nSize:=DINT_TO_UDINT(iSize)) = E_TcMemoryArea.Unknown THEN
24 | // ADSLOGSTR(ADSLOG_MSGTYPE_ERROR OR ADSLOG_MSGTYPE_STRING,'CheckPointer failed due to unknown memory area.','');
25 | END_IF
26 | CheckPointer := ptToTest;
27 | {flow}]]>
28 |
29 |
30 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PLC/Examples.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PLC/I_Interface.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PLC/InterfaceExample.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 | 0 THEN
16 | number := someInterface.SomeProperty;
17 | END_IF
18 | ]]>
19 |
20 |
21 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PLC/PlcTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 20
7 |
8 | Examples
9 |
10 | {26ed195a-9b81-4ee5-b431-949b63b0b19f}
11 | {b7c874fc-4985-494c-aae6-5881f635722b}
12 | {f0721b4b-705d-45b7-b6a0-1f746dd93c02}
13 | {f4c9d52d-2122-47b2-ae29-46e67b9a3180}
14 | {df1a2eb7-751c-47d9-b9e0-e5c14c2eab10}
15 |
16 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PLC/PointerExample.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 | 0 THEN
16 | number := pointerToNumber^;
17 | END_IF
18 | ]]>
19 |
20 |
21 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PLC/ReferenceExample.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/PageFaults/PageFaults/PageFaults.tsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | PlcTask
8 |
9 |
10 |
11 |
12 |
13 |
14 | PLC Instance
15 | {08500001-0000-0000-F000-000000000064}
16 |
17 |
18 | 0
19 | PlcTask
20 |
21 | #x02010030
22 |
23 | 20
24 | 10000000
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/Foo.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/PlcTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 20
7 |
8 | Runner2
9 |
10 |
11 | Runner1
12 |
13 |
14 | Runner3
15 |
16 | {99fe6d3e-3b42-4068-9055-60ad31d3374d}
17 | {8478cd28-be46-454a-92d9-c752fdf39f43}
18 | {039cc663-faa7-4bcb-aec4-c28898792f2d}
19 | {9cf7dfa0-5973-4e4a-82c1-432b1dd23b3e}
20 | {799f4a67-0e4e-4946-8f50-683c9d32d878}
21 |
22 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/Runner1.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/Runner2.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/Runner3.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/UsesFoo1.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/UsesFoo2.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PLC/UsesFoo3.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
11 |
12 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/PreventingPageFaults/PreventingPageFaults/PreventingPageFaults.tsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | PlcTask
9 |
10 |
11 |
12 |
13 |
14 |
15 | PLC Instance
16 | {08500001-0000-0000-F000-000000000064}
17 |
18 |
19 | 0
20 | PlcTask
21 |
22 | #x02010030
23 |
24 | 20
25 | 10000000
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Twincat tutorials
2 |
3 | Collection of TwinCAT projects used for my blog posts.
4 |
5 | - [Eventlogger PLC part](https://cookncode.com/twincat/2020/11/03/twincat-eventlogger-plc-part.html)
6 | - [Eventlogger HMI part](https://cookncode.com/twincat/2021/01/20/twincat-eventlogger-hmi-part.html)
7 | - [Preventing page faults](https://cookncode.com/twincat/2021/02/07/preventing-page-faults-from-references.html)
8 | - [Machine simulation with a digital twin](https://cookncode.com/twincat/2021/08/17/tc-simulation.html)
9 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/.hmipkgs/packages.hmipkgs:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/FavIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/FavIcon.ico
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Fonts/Fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: RobotoCondensed;
3 | src: url(Roboto-Condensed-webfont.woff);
4 | }
5 |
6 | /**
7 | Description about font inclusion in TcHmi
8 |
9 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs
10 |
11 | If Roboto does not render the glyphs we use some preinstalled fallback
12 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (Mac/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
13 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (Mac/iOS), 'Noto Sans CJK JP' (Android) renders japanese
14 |
15 | For other fonts you can add the woff files into the tchmi project and
16 | add a @font-face section yourself
17 | The noto family from google tries to cover all of the world, is free to use and fits nicely with roboto
18 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
19 |
20 | The font usage is defined in the main css file of the active theme (for example Themes/Base/Style.css).
21 | */
22 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Fonts/Roboto-Condensed-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Fonts/Roboto-Condensed-webfont.woff
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Images/Background.png
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Beckhoff_Logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-0-75x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-0-75x.png
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-1-5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-1-5x.png
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-1x.png
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-2x.png
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-3x.png
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roald87/TwincatTutorials/5f8fd1e52779d4071ee8065a2ad9063053cac50e/TwinCatEventLogger/HmiPart/EventGridSample/Images/Manifest/launcher-icon-4x.png
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Properties/tchmi.project.Schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": {}
4 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Properties/tchmi.project.Schema.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "definitions": { }
4 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Properties/tchmiconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/TchmiConfig.Schema.json",
3 | "basePath": "./Libraries",
4 | "locale": "en-US",
5 | "scaleMode": "None",
6 | "startupView": "Desktop.view",
7 | "loginPage": null,
8 | "tcHmiServer": {
9 | "websocketIntervalTime": 200,
10 | "websocketTimeout": 5000,
11 | "websocketSubscriptionMode": "Change"
12 | },
13 | "activeTheme": "Base",
14 | "themes": {
15 | "Base": {
16 | "resources": [
17 | {
18 | "name": "Themes/Base/Base.theme",
19 | "description": "",
20 | "type": "ThemedValues"
21 | },
22 | {
23 | "name": "Themes/Base/Style.css",
24 | "description": "",
25 | "type": "Stylesheet"
26 | }
27 | ],
28 | "replacesThemeForControls": []
29 | }
30 | },
31 | "dependencyFiles": [
32 | {
33 | "name": "Fonts/Fonts.css",
34 | "description": "",
35 | "type": "Stylesheet"
36 | }
37 | ],
38 | "userControls": [],
39 | "content": [],
40 | "views": [
41 | {
42 | "url": "Desktop.view",
43 | "preload": false
44 | }
45 | ],
46 | "userFunctions": [],
47 | "symbols": {
48 | "internal": {}
49 | },
50 | "trigger": [],
51 | "actionTemplates": [],
52 | "languages": {},
53 | "creatorSettings": {
54 | "viewport": {
55 | "defaultWidth": 1024,
56 | "defaultHeight": 768
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Properties/tchmiconfig.tpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/TchmiConfig.Schema.json",
3 | "basePath": "./Libraries",
4 | "locale": "en-US",
5 | "scaleMode": "None",
6 | "startupView": "Desktop.view",
7 | "loginPage": null,
8 | "tcHmiServer": {
9 | "websocketIntervalTime": 200,
10 | "websocketTimeout": 5000,
11 | "websocketSubscriptionMode": "Change"
12 | },
13 | "activeTheme": "Base",
14 | "themes": {
15 | "Base": {
16 | "resources": [
17 | {
18 | "name": "Themes/Base/Base.theme",
19 | "description": "",
20 | "type": "ThemedValues"
21 | },
22 | {
23 | "name": "Themes/Base/Style.css",
24 | "description": "",
25 | "type": "Stylesheet"
26 | }
27 | ],
28 | "replacesThemeForControls": []
29 | }
30 | },
31 | "dependencyFiles": [
32 | {
33 | "name": "Fonts/Fonts.css",
34 | "description": "",
35 | "type": "Stylesheet"
36 | }
37 | ],
38 | "userControls": [],
39 | "content": [],
40 | "views": [
41 | {
42 | "url": "Desktop.view",
43 | "preload": false
44 | }
45 | ],
46 | "userFunctions": [],
47 | "symbols": {
48 | "internal": {}
49 | },
50 | "trigger": [],
51 | "actionTemplates": [],
52 | "languages": {},
53 | "creatorSettings": {
54 | "viewport": {
55 | "defaultWidth": 1024,
56 | "defaultHeight": 768
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Properties/tchmimanifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/web-manifest",
3 | "name": "EventGridSample",
4 | "icons": [
5 | {
6 | "src": "Images/Manifest/launcher-icon-0-75x.png",
7 | "sizes": "36x36",
8 | "type": "image/png",
9 | "density": 0.75
10 | },
11 | {
12 | "src": "Images/Manifest/launcher-icon-1x.png",
13 | "sizes": "48x48",
14 | "type": "image/png",
15 | "density": 1.0
16 | },
17 | {
18 | "src": "Images/Manifest/launcher-icon-1-5x.png",
19 | "sizes": "72x72",
20 | "type": "image/png",
21 | "density": 1.5
22 | },
23 | {
24 | "src": "Images/Manifest/launcher-icon-2x.png",
25 | "sizes": "96x96",
26 | "type": "image/png",
27 | "density": 2.0
28 | },
29 | {
30 | "src": "Images/Manifest/launcher-icon-3x.png",
31 | "sizes": "144x144",
32 | "type": "image/png",
33 | "density": 3.0
34 | },
35 | {
36 | "src": "Images/Manifest/launcher-icon-4x.png",
37 | "sizes": "192x192",
38 | "type": "image/png",
39 | "density": 4.0
40 | }
41 | ],
42 | "theme_color": "#9E9E9E",
43 | "background_color": "#9E9E9E",
44 | "start_url": "Default.html",
45 | "display": "standalone",
46 | "orientation": "portrait"
47 | }
48 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Properties/tchmipublish.config.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/ADS/ADS.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "CHUNKING_OF_LARGE_REQUESTS": false,
3 | "FILTER": {},
4 | "RUNTIMES": {
5 | "PLC1": {
6 | "ENABLED": true,
7 | "NETID": "127.0.0.1.1.1",
8 | "PORT": 851,
9 | "SYMBOLS": {},
10 | "USE_WHITELISTING": false
11 | },
12 | "TcSysService": {
13 | "ENABLED": false,
14 | "NETID": "127.0.0.1.1.1",
15 | "PORT": 10000,
16 | "SYMBOLS": {},
17 | "USE_WHITELISTING": false
18 | }
19 | },
20 | "TIMEOUT": "PT1S"
21 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/ADS/ADS.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "RUNTIMES": {
3 | "PLC1": {
4 | "ENABLED": true,
5 | "NETID": "127.0.0.1.1.1",
6 | "PORT": 851,
7 | "SYMBOLS": {},
8 | "USE_WHITELISTING": false
9 | },
10 | "TcSysService": {
11 | "ENABLED": false,
12 | "NETID": "127.0.0.1.1.1",
13 | "PORT": 10000,
14 | "SYMBOLS": {},
15 | "USE_WHITELISTING": false
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/ADS/ADS.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.17"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiEventLogger/TcHmiEventLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "MAXTARGETS": 8,
3 | "TARGET_SYSTEMS": {
4 | "Local": {
5 | "ADDRESS": "127.0.0.1.1.1",
6 | "ENABLED": true
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiEventLogger/TcHmiEventLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "TARGET_SYSTEMS": {
3 | "Local": {
4 | "ADDRESS": "127.0.0.1.1.1",
5 | "ENABLED": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiEventLogger/TcHmiEventLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiLua/TcHmiLua.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "HTML_ERRORS": false,
3 | "SCRIPT_TIMEOUT": 30
4 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiLua/TcHmiLua.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiLua/TcHmiLua.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.0"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "recipeList": {},
3 | "recipeTypeList": {}
4 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiRecipeManagement/TcHmiRecipeManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiRecipeManagement/TcHmiRecipeManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.12"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "historizedSymbolList": {},
3 | "inMemory": false,
4 | "mode": 3
5 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSqliteHistorize/TcHmiSqliteHistorize.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.23"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "MAXENTRIES": 100000,
3 | "MAXENTRYLENGTH": 1024
4 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSqliteLogger/TcHmiSqliteLogger.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSqliteLogger/TcHmiSqliteLogger.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.1"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSrv/TcHmiSrv.Config.remote.json:
--------------------------------------------------------------------------------
1 | {
2 | "CERTIFICATEEXPIRATION": "P365D",
3 | "REQUIREAUTH": 2,
4 | "VIRTUALDIRECTORIES": {
5 | "/": "www"
6 | }
7 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiSrv/TcHmiSrv.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.47"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiUserManagement/TcHmiUserManagement.Config.default.json:
--------------------------------------------------------------------------------
1 | {
2 | "USERS": {
3 | "__SystemAdministrator": {
4 | "ENABLED": false,
5 | "PASSWORD": "",
6 | "SALT": ""
7 | },
8 | "__SystemGuest": {
9 | "ENABLED": true,
10 | "PASSWORD": "",
11 | "SALT": ""
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiUserManagement/TcHmiUserManagement.Config.remote.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Server/Extensions/TcHmiUserManagement/TcHmiUserManagement.Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "configVersion": "1.0.0.2"
3 | }
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Themes/Base/Base.theme:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "C:/TwinCAT/Functions/TE2000-HMI-Engineering/Infrastructure/TcHmiFramework/Latest/Schema/ThemeDescription.Schema.json"
3 | }
4 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/EventGridSample/Themes/Base/Style.css:
--------------------------------------------------------------------------------
1 | /**
2 | About font inclusion in TcHmi
3 |
4 | As a default we include Roboto Condensed (in Fonts folder) as a webfont which will render latin, greek, vietnamese, cyrillic glyphs.
5 |
6 | If Roboto does not render the glyphs we use some preinstalled fallback
7 | 'Microsoft YaHei' (Windows), 'Hiragino Sans GB' (macOS/iOS), 'Noto Sans CJK SC/TC' (Android), 'WenQuanYi Micro Hei' (Linux) renders chinese
8 | 'Meiryo' (Windows), 'Hiragino Kaku Gothic Pro' (macOS/iOS), 'Noto Sans CJK JP' (Android) renders japanese
9 |
10 | For other fonts you can add the woff files into the TcHmi project and
11 | add a @font-face section yourself.
12 | The noto family from Google tries to cover all of the world, is free to use and fits nicely with Roboto
13 | see https://www.google.com/get/noto/ and https://fonts.google.com/earlyaccess
14 |
15 | The font usage is defined in the main CSS file of the active theme (for example Themes/Base/Style.css).
16 | */
17 |
18 | html {
19 | font-family: RobotoCondensed, "Microsoft YaHei", "微软雅黑",
20 | "Hiragino Sans GB", "冬青黑体", "STXihei", "华文细黑", "WenQuanYi Micro Hei",
21 | "Meiryo", "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN",
22 | "Noto Sans CJK SC", "Noto Sans CJK TC", "Noto Sans CJK JP",
23 | "Noto Sans CJK KR", sans-serif;
24 | font-size: 12px;
25 | font-style: normal;
26 | font-weight: normal;
27 | }
28 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/TwinCAT Project1/Untitled1/POUs/AlarmWithCustomSourceInfo.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/TwinCAT Project1/Untitled1/POUs/ConfirmableAlarmWithArguments.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/TwinCAT Project1/Untitled1/POUs/MAIN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/TwinCAT Project1/Untitled1/POUs/SendMessage.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/HmiPart/TwinCAT Project1/Untitled1/PlcTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 20
7 |
8 | MAIN
9 |
10 | {b579f883-757c-47d5-9e80-6d3aa37daac4}
11 | {3d1358d9-d244-4b19-b5fb-303302d51033}
12 | {79992629-7365-4731-aeda-8382e9b994ca}
13 | {7f9d75e0-5626-4eec-a996-3cb0fae34b15}
14 | {ceb5695b-b1e8-42f0-a536-dbdd97a1c9e5}
15 |
16 |
17 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/PlcPart/TwinCAT Project1/Untitled1/POUs/AlarmWithCustomSourceInfo.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/PlcPart/TwinCAT Project1/Untitled1/POUs/ConfirmableAlarmWithArguments.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/PlcPart/TwinCAT Project1/Untitled1/POUs/MAIN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/PlcPart/TwinCAT Project1/Untitled1/POUs/SendMessage.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/TwinCatEventLogger/PlcPart/TwinCAT Project1/Untitled1/PlcTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 20
7 |
8 | MAIN
9 |
10 | {b579f883-757c-47d5-9e80-6d3aa37daac4}
11 | {3d1358d9-d244-4b19-b5fb-303302d51033}
12 | {79992629-7365-4731-aeda-8382e9b994ca}
13 | {7f9d75e0-5626-4eec-a996-3cb0fae34b15}
14 | {ceb5695b-b1e8-42f0-a536-dbdd97a1c9e5}
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/Celsius.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/Fahrenheit.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/Pascal.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/PoundsPerSquareInch.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/TerminalStatus.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/Torr.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/mbar.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/Units/Units/PLC/DUTs/mmHg.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/Units/Units/PLC/MAIN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
31 |
32 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/Units/Units/PLC/POUs/FahrenheitToCelsius.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Units/Units/PLC/POUs/IsValid.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Units/Units/PLC/POUs/PoundsPerSquareInchToPascal.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Units/Units/PLC/POUs/TorrToMbar.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Units/Units/PLC/POUs/TorrToMbarWithAlias.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Units/Units/PLC/POUs/TorrToMbarWithUnits.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Units/Units/PLC/POUs/mmHgToPascal.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Units/Units/PLC/PlcTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 20
7 |
8 | MAIN
9 |
10 | {257fb06d-a759-4288-9dcd-091388242358}
11 | {9ef4ded8-c4d0-4566-bd4c-aa7f7005bbae}
12 | {732c8ee7-27f7-4fc2-a347-2bc66b70d4ee}
13 | {bd7028bf-3169-4764-ab4e-73df263f12f1}
14 | {e80fd13f-cf15-4036-a1b4-ae834256dda8}
15 |
16 |
--------------------------------------------------------------------------------
/Units/Units/Units.tsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | PlcTask
8 |
9 |
10 |
11 |
12 |
13 |
14 | PLC Instance
15 | {08500001-0000-0000-F000-000000000064}
16 |
17 |
18 | 0
19 | PlcTask
20 |
21 | #x02010030
22 |
23 | 20
24 | 10000000
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------