├── .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 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 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 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 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 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 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 | 
2 | 3 |
4 | 5 |
-------------------------------------------------------------------------------- /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 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 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 | 3 | 4 | icons/tc/plc-active 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Images/PLC/plc-exeption.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/tc/plc-active 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Images/PLC/plc-fallback.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/tc/plc-active 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Images/PLC/plc-run.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/tc/plc-active 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Images/PLC/plc-stop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/tc/plc-active 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /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 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Placeholder/placeholder_active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Placeholder 6 | 7 | 8 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Placeholder/placeholder_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Placeholder 6 | 7 | 8 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Themes/Base-Dark/Images/Placeholder/placeholder_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Placeholder 6 | 7 | 8 | -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 5 | Placeholder 6 | 7 | 8 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Themes/Base/Images/Placeholder/placeholder_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Placeholder 6 | 7 | 8 | -------------------------------------------------------------------------------- /DigitalTwin/Oven/TestConnection/Themes/Base/Images/Placeholder/placeholder_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Placeholder 6 | 7 | 8 | -------------------------------------------------------------------------------- /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 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 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 | --------------------------------------------------------------------------------