├── .gitignore ├── LICENSE ├── README.md ├── TF6760_IotHttpSampleMindsphere ├── IotHttpSampleMindsphere.sln └── IotHttpSampleMindsphere │ ├── IotHttpSampleMindsphere.tsproj │ └── PlcIotHttpSampleMindsphere │ ├── POUs │ ├── MAIN.TcPOU │ └── Mindsphere │ │ ├── FB_TestHTTP_Mindsphere_AcquireAAT.TcPOU │ │ ├── FB_TestHTTP_Mindsphere_CreateDataSource.TcPOU │ │ ├── FB_TestHTTP_Mindsphere_CreateMapping.TcPOU │ │ ├── FB_TestHTTP_Mindsphere_GetDataSource.TcPOU │ │ ├── FB_TestHTTP_Mindsphere_KeyRotation.TcPOU │ │ └── FB_TestHTTP_Mindsphere_Onboarding.TcPOU │ ├── PlcIotHttpSampleMindsphere.plcproj │ └── PlcTask.TcTTO └── TF6760_IotHttpSamples ├── TF6760_IotHttpSamples.sln └── TF6760_IotHttpSamples ├── PlcIotHttpSamplesAwsIotCore ├── POUs │ ├── AWS IoT Core │ │ ├── FB_TestHTTP_Get_awsIotShadow.TcPOU │ │ └── FB_TestHTTP_Post_awsIot.TcPOU │ └── MAIN.TcPOU ├── PlcIotHttpSamplesAwsIotCore.plcproj ├── PlcIotHttpSamplesAwsIotCore.tmc └── PlcTask.TcTTO ├── PlcIotHttpSamplesAwsSigV4 ├── POUs │ ├── AWS Sig V4 │ │ └── FB_TestHTTP_Get_AwsSigV4.TcPOU │ └── MAIN.TcPOU ├── PlcIotHttpSamplesAwsSigV4.plcproj ├── PlcIotHttpSamplesAwsSigV4.tmc └── PlcTask.TcTTO ├── PlcIotHttpSamplesOpenWeatherMap ├── POUs │ ├── MAIN.TcPOU │ └── OpenWeatherMap │ │ └── FB_TestHTTP_Get_openWeatherMap.TcPOU ├── PlcIotHttpSamplesOpenWeatherMap.plcproj ├── PlcIotHttpSamplesOpenWeatherMap.tmc └── PlcTask.TcTTO ├── PlcIotHttpSamplesPhilipsHue ├── POUs │ ├── MAIN.TcPOU │ └── Philips Hue │ │ └── FB_TestHTTP_Put_PhilipsHue.TcPOU ├── PlcIotHttpSamplesPhilipsHue.plcproj ├── PlcIotHttpSamplesPhilipsHue.tmc └── PlcTask.TcTTO ├── PlcIotHttpSamplesPostman ├── POUs │ ├── MAIN.TcPOU │ └── Postman │ │ ├── FB_TestHTTP_Get.TcPOU │ │ ├── FB_TestHTTP_HeaderAuth.TcPOU │ │ ├── FB_TestHTTP_Post.TcPOU │ │ └── FB_TestHTTP_Put.TcPOU ├── PlcIotHttpSamplesPostman.plcproj ├── PlcIotHttpSamplesPostman.tmc └── PlcTask.TcTTO ├── PlcIotHttpSamplesTelegram ├── Certificate │ └── TelegramRoot.cer ├── POUs │ ├── MAIN.TcPOU │ └── Telegram │ │ └── FB_TestHTTP_Get_Telegram.TcPOU ├── PlcIotHttpSamplesTelegram.plcproj ├── PlcIotHttpSamplesTelegram.tmc └── PlcTask.TcTTO └── TF6760_IotHttpSamples.tsproj /.gitignore: -------------------------------------------------------------------------------- 1 | # gitignore template for TwinCAT3 2 | # website: https://www.beckhoff.com/twincat3/ 3 | # 4 | # Recommended: VisualStudio.gitignore 5 | 6 | # Some usual suspects 7 | *.bak 8 | *.bin 9 | *.zip 10 | 11 | # TwinCAT files 12 | *.compiled-library 13 | *.compileinfo 14 | *.tmcRefac 15 | *.library 16 | *.project.~u 17 | *.tclrs 18 | *.tnzip 19 | *.tpy 20 | *.tpzip 21 | *.tsproj.bk? 22 | *.tszip 23 | *.xti.bk? 24 | LineIDs.dbg 25 | _Boot/ 26 | _CompileInfo/ 27 | _Libraries/ 28 | 29 | ## Ignore Visual Studio temporary files, build results, and 30 | ## files generated by popular Visual Studio add-ons. 31 | ## 32 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 33 | 34 | # User-specific files 35 | *.rsuser 36 | *.suo 37 | *.user 38 | *.userosscache 39 | *.sln.docstates 40 | 41 | # User-specific files (MonoDevelop/Xamarin Studio) 42 | *.userprefs 43 | 44 | # Mono auto generated files 45 | mono_crash.* 46 | 47 | # Build results 48 | [Dd]ebug/ 49 | [Dd]ebugPublic/ 50 | [Rr]elease/ 51 | [Rr]eleases/ 52 | x64/ 53 | x86/ 54 | [Aa][Rr][Mm]/ 55 | [Aa][Rr][Mm]64/ 56 | bld/ 57 | [Bb]in/ 58 | [Oo]bj/ 59 | [Ll]og/ 60 | [Ll]ogs/ 61 | 62 | # Visual Studio 2015/2017 cache/options directory 63 | .vs/ 64 | # Uncomment if you have tasks that create the project's static files in wwwroot 65 | #wwwroot/ 66 | 67 | # Visual Studio 2017 auto generated files 68 | Generated\ Files/ 69 | 70 | # MSTest test Results 71 | [Tt]est[Rr]esult*/ 72 | [Bb]uild[Ll]og.* 73 | 74 | # NUnit 75 | *.VisualState.xml 76 | TestResult.xml 77 | nunit-*.xml 78 | 79 | # Build Results of an ATL Project 80 | [Dd]ebugPS/ 81 | [Rr]eleasePS/ 82 | dlldata.c 83 | 84 | # Benchmark Results 85 | BenchmarkDotNet.Artifacts/ 86 | 87 | # .NET Core 88 | project.lock.json 89 | project.fragment.lock.json 90 | artifacts/ 91 | 92 | # StyleCop 93 | StyleCopReport.xml 94 | 95 | # Files built by Visual Studio 96 | *_i.c 97 | *_p.c 98 | *_h.h 99 | *.ilk 100 | *.meta 101 | *.obj 102 | *.iobj 103 | *.pch 104 | *.pdb 105 | *.ipdb 106 | *.pgc 107 | *.pgd 108 | *.rsp 109 | *.sbr 110 | *.tlb 111 | *.tli 112 | *.tlh 113 | *.tmp 114 | *.tmp_proj 115 | *_wpftmp.csproj 116 | *.log 117 | *.vspscc 118 | *.vssscc 119 | .builds 120 | *.pidb 121 | *.svclog 122 | *.scc 123 | 124 | # Chutzpah Test files 125 | _Chutzpah* 126 | 127 | # Visual C++ cache files 128 | ipch/ 129 | *.aps 130 | *.ncb 131 | *.opendb 132 | *.opensdf 133 | *.sdf 134 | *.cachefile 135 | *.VC.db 136 | *.VC.VC.opendb 137 | 138 | # Visual Studio profiler 139 | *.psess 140 | *.vsp 141 | *.vspx 142 | *.sap 143 | 144 | # Visual Studio Trace Files 145 | *.e2e 146 | 147 | # TFS 2012 Local Workspace 148 | $tf/ 149 | 150 | # Guidance Automation Toolkit 151 | *.gpState 152 | 153 | # ReSharper is a .NET coding add-in 154 | _ReSharper*/ 155 | *.[Rr]e[Ss]harper 156 | *.DotSettings.user 157 | 158 | # TeamCity is a build add-in 159 | _TeamCity* 160 | 161 | # DotCover is a Code Coverage Tool 162 | *.dotCover 163 | 164 | # AxoCover is a Code Coverage Tool 165 | .axoCover/* 166 | !.axoCover/settings.json 167 | 168 | # Visual Studio code coverage results 169 | *.coverage 170 | *.coveragexml 171 | 172 | # NCrunch 173 | _NCrunch_* 174 | .*crunch*.local.xml 175 | nCrunchTemp_* 176 | 177 | # MightyMoose 178 | *.mm.* 179 | AutoTest.Net/ 180 | 181 | # Web workbench (sass) 182 | .sass-cache/ 183 | 184 | # Installshield output folder 185 | [Ee]xpress/ 186 | 187 | # DocProject is a documentation generator add-in 188 | DocProject/buildhelp/ 189 | DocProject/Help/*.HxT 190 | DocProject/Help/*.HxC 191 | DocProject/Help/*.hhc 192 | DocProject/Help/*.hhk 193 | DocProject/Help/*.hhp 194 | DocProject/Help/Html2 195 | DocProject/Help/html 196 | 197 | # Click-Once directory 198 | publish/ 199 | 200 | # Publish Web Output 201 | *.[Pp]ublish.xml 202 | *.azurePubxml 203 | # Note: Comment the next line if you want to checkin your web deploy settings, 204 | # but database connection strings (with potential passwords) will be unencrypted 205 | *.pubxml 206 | *.publishproj 207 | 208 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 209 | # checkin your Azure Web App publish settings, but sensitive information contained 210 | # in these scripts will be unencrypted 211 | PublishScripts/ 212 | 213 | # NuGet Packages 214 | *.nupkg 215 | # NuGet Symbol Packages 216 | *.snupkg 217 | # The packages folder can be ignored because of Package Restore 218 | **/[Pp]ackages/* 219 | # except build/, which is used as an MSBuild target. 220 | !**/[Pp]ackages/build/ 221 | # Uncomment if necessary however generally it will be regenerated when needed 222 | #!**/[Pp]ackages/repositories.config 223 | # NuGet v3's project.json files produces more ignorable files 224 | *.nuget.props 225 | *.nuget.targets 226 | 227 | # Microsoft Azure Build Output 228 | csx/ 229 | *.build.csdef 230 | 231 | # Microsoft Azure Emulator 232 | ecf/ 233 | rcf/ 234 | 235 | # Windows Store app package directories and files 236 | AppPackages/ 237 | BundleArtifacts/ 238 | Package.StoreAssociation.xml 239 | _pkginfo.txt 240 | *.appx 241 | *.appxbundle 242 | *.appxupload 243 | 244 | # Visual Studio cache files 245 | # files ending in .cache can be ignored 246 | *.[Cc]ache 247 | # but keep track of directories ending in .cache 248 | !?*.[Cc]ache/ 249 | 250 | # Others 251 | ClientBin/ 252 | ~$* 253 | *~ 254 | *.dbmdl 255 | *.dbproj.schemaview 256 | *.jfm 257 | *.pfx 258 | *.publishsettings 259 | orleans.codegen.cs 260 | 261 | # Including strong name files can present a security risk 262 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 263 | #*.snk 264 | 265 | # Since there are multiple workflows, uncomment next line to ignore bower_components 266 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 267 | #bower_components/ 268 | 269 | # RIA/Silverlight projects 270 | Generated_Code/ 271 | 272 | # Backup & report files from converting an old project file 273 | # to a newer Visual Studio version. Backup files are not needed, 274 | # because we have git ;-) 275 | _UpgradeReport_Files/ 276 | Backup*/ 277 | UpgradeLog*.XML 278 | UpgradeLog*.htm 279 | ServiceFabricBackup/ 280 | 281 | # SQL Server files 282 | *.mdf 283 | *.ldf 284 | *.ndf 285 | 286 | # Business Intelligence projects 287 | *.rdl.data 288 | *.bim.layout 289 | *.bim_*.settings 290 | *.rptproj.rsuser 291 | *- [Bb]ackup.rdl 292 | *- [Bb]ackup ([0-9]).rdl 293 | *- [Bb]ackup ([0-9][0-9]).rdl 294 | 295 | # Microsoft Fakes 296 | FakesAssemblies/ 297 | 298 | # GhostDoc plugin setting file 299 | *.GhostDoc.xml 300 | 301 | # Node.js Tools for Visual Studio 302 | .ntvs_analysis.dat 303 | node_modules/ 304 | 305 | # Visual Studio 6 build log 306 | *.plg 307 | 308 | # Visual Studio 6 workspace options file 309 | *.opt 310 | 311 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 312 | *.vbw 313 | 314 | # Visual Studio LightSwitch build output 315 | **/*.HTMLClient/GeneratedArtifacts 316 | **/*.DesktopClient/GeneratedArtifacts 317 | **/*.DesktopClient/ModelManifest.xml 318 | **/*.Server/GeneratedArtifacts 319 | **/*.Server/ModelManifest.xml 320 | _Pvt_Extensions 321 | 322 | # Paket dependency manager 323 | .paket/paket.exe 324 | paket-files/ 325 | 326 | # FAKE - F# Make 327 | .fake/ 328 | 329 | # CodeRush personal settings 330 | .cr/personal 331 | 332 | # Python Tools for Visual Studio (PTVS) 333 | __pycache__/ 334 | *.pyc 335 | 336 | # Cake - Uncomment if you are using it 337 | # tools/** 338 | # !tools/packages.config 339 | 340 | # Tabs Studio 341 | *.tss 342 | 343 | # Telerik's JustMock configuration file 344 | *.jmconfig 345 | 346 | # BizTalk build output 347 | *.btp.cs 348 | *.btm.cs 349 | *.odx.cs 350 | *.xsd.cs 351 | 352 | # OpenCover UI analysis results 353 | OpenCover/ 354 | 355 | # Azure Stream Analytics local run output 356 | ASALocalRun/ 357 | 358 | # MSBuild Binary and Structured Log 359 | *.binlog 360 | 361 | # NVidia Nsight GPU debugger configuration file 362 | *.nvuser 363 | 364 | # MFractors (Xamarin productivity tool) working folder 365 | .mfractor/ 366 | 367 | # Local History for Visual Studio 368 | .localhistory/ 369 | 370 | # BeatPulse healthcheck temp database 371 | healthchecksdb 372 | 373 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 374 | MigrationBackup/ 375 | 376 | # Ionide (cross platform F# VS Code tools) working folder 377 | .ionide/ 378 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Zero-Clause BSD 2 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. 3 | 4 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL 5 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 6 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 7 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 8 | THIS SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # About this repository 2 | This repository contains official sample code for the product TF6760|TC3 IoT HTTPS/REST offered by [Beckhoff Automation](https://www.beckhoff.com). The sample code is provided as-is under the Zero-Clause BSD license. 3 | 4 | # How to get support 5 | Should you have any questions regarding the provided sample code, please contact your local Beckhoff support team. Contact information can be found on the official Beckhoff website at https://www.beckhoff.com/contact/. 6 | 7 | # Further information 8 | Further information about this sample code can be found on the [Beckhoff Information System](https://infosys.beckhoff.com) in the [TF6760 documentation](https://infosys.beckhoff.com/content/1031/tf6760_tc3_iot_https_rest/index.html). 9 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.852 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "IotHttpSampleMindsphere", "IotHttpSampleMindsphere\IotHttpSampleMindsphere.tsproj", "{C2A57451-7713-4DEC-838E-4759D2E2844D}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) 11 | Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) 12 | Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) 13 | Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) 14 | Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) 15 | Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) 16 | Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) 17 | Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 21 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 22 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 23 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 24 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 25 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 26 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 27 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 28 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 29 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 30 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 31 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 32 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 33 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 34 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 35 | {C2A57451-7713-4DEC-838E-4759D2E2844D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 36 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 37 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 38 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 39 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 40 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 41 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 42 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 43 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 44 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 45 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 46 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 47 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 48 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 49 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 50 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 51 | {32C20C49-6A0D-428F-A0F8-3E89F03CF755}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 52 | EndGlobalSection 53 | GlobalSection(SolutionProperties) = preSolution 54 | HideSolutionNode = FALSE 55 | EndGlobalSection 56 | GlobalSection(ExtensibilityGlobals) = postSolution 57 | SolutionGuid = {D1E14E9B-7284-4810-99BC-DDF3702B5C0B} 58 | EndGlobalSection 59 | GlobalSection(TeamFoundationVersionControl) = preSolution 60 | SccNumberOfProjects = 3 61 | SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} 62 | SccTeamFoundationServer = http://nt-teamfd02.beckhoff.com:8080/tfs/defaultcollection 63 | SccLocalPath0 = . 64 | SccProjectUniqueName1 = IotHttpSampleMindsphere\\IotHttpSampleMindsphere.tsproj 65 | SccProjectName1 = IotHttpSampleMindsphere 66 | SccLocalPath1 = IotHttpSampleMindsphere 67 | SccProjectUniqueName2 = IotHttpSampleMindsphere\\PlcIotHttpSampleMindsphere\\PlcIotHttpSampleMindsphere.plcproj 68 | SccProjectTopLevelParentUniqueName2 = IotHttpSampleMindsphere\\IotHttpSampleMindsphere.tsproj 69 | SccProjectName2 = IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere 70 | SccLocalPath2 = IotHttpSampleMindsphere\\PlcIotHttpSampleMindsphere 71 | EndGlobalSection 72 | EndGlobal 73 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/IotHttpSampleMindsphere.tsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PlcTask 8 | 9 | 10 | 11 | 12 | 13 | 14 | PlcIotHttpSampleMindsphere Instance 15 | {08500001-0000-0000-F000-000000000064} 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 25 | 26 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/POUs/Mindsphere/FB_TestHTTP_Mindsphere_AcquireAAT.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 35 | 36 | = 200 AND fbRequest.nStatusCode < 300 THEN 55 | bGetJsonResult:= FALSE; 56 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 57 | (* Parse AAT API Call response in order to acquire: 58 | access_token 59 | token_type 60 | expires_in 61 | scope 62 | jti 63 | *) 64 | nResCount:= nResCount+1; 65 | END_IF 66 | END_IF 67 | nState:= 0; 68 | bBusy:= FALSE; 69 | IF bError THEN 70 | nErrCount:= nErrCount+1; 71 | END_IF 72 | END_IF 73 | END_CASE 74 | 75 | ]]> 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/POUs/Mindsphere/FB_TestHTTP_Mindsphere_CreateDataSource.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 35 | 36 | = 200 AND fbRequest.nStatusCode < 300 THEN 59 | bGetJsonResult:= FALSE; 60 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 61 | (* Parse response in order to acquire created DatsSource configuration *) 62 | nResCount:= nResCount+1; 63 | END_IF 64 | END_IF 65 | nState:= 0; 66 | bBusy:= FALSE; 67 | IF bError THEN 68 | nErrCount:= nErrCount+1; 69 | END_IF 70 | END_IF 71 | END_CASE 72 | 73 | ]]> 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/POUs/Mindsphere/FB_TestHTTP_Mindsphere_CreateMapping.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 35 | 36 | = 200 AND fbRequest.nStatusCode < 300 THEN 58 | bGetJsonResult:= FALSE; 59 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 60 | (* Parse response in order to acquire created DatsSource configuration *) 61 | nResCount:= nResCount+1; 62 | END_IF 63 | END_IF 64 | nState:= 0; 65 | bBusy:= FALSE; 66 | IF bError THEN 67 | nErrCount:= nErrCount+1; 68 | END_IF 69 | END_IF 70 | END_CASE 71 | 72 | ]]> 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/POUs/Mindsphere/FB_TestHTTP_Mindsphere_GetDataSource.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 35 | 36 | = 200 AND fbRequest.nStatusCode < 300 THEN 57 | bGetJsonResult:= FALSE; 58 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 59 | (* Parse response in order to acquire DataSource configuration for this asset *) 60 | nResCount:= nResCount+1; 61 | END_IF 62 | END_IF 63 | nState:= 0; 64 | bBusy:= FALSE; 65 | IF bError THEN 66 | nErrCount:= nErrCount+1; 67 | END_IF 68 | END_IF 69 | END_CASE 70 | 71 | ]]> 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/POUs/Mindsphere/FB_TestHTTP_Mindsphere_KeyRotation.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 35 | 36 | = 200 AND fbRequest.nStatusCode < 300 THEN 57 | bGetJsonResult:= FALSE; 58 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 59 | (* Parse KeyRotation response in order to acquire: 60 | client_id 61 | client_secret 62 | client_secret_expires_at 63 | regsitration_access_token (RAT) 64 | registration_client_uri 65 | *) 66 | nResCount:= nResCount+1; 67 | END_IF 68 | END_IF 69 | nState:= 0; 70 | bBusy:= FALSE; 71 | IF bError THEN 72 | nErrCount:= nErrCount+1; 73 | END_IF 74 | END_IF 75 | END_CASE 76 | 77 | ]]> 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/POUs/Mindsphere/FB_TestHTTP_Mindsphere_Onboarding.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 35 | 36 | = 200 AND fbRequest.nStatusCode < 300 THEN 56 | bGetJsonResult:= FALSE; 57 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 58 | (* Parse Onboarding response in order to acquire: 59 | client_id 60 | client_secret 61 | client_secret_expires_at 62 | regsitration_access_token (RAT) 63 | registration_client_uri 64 | *) 65 | nResCount:= nResCount+1; 66 | END_IF 67 | END_IF 68 | nState:= 0; 69 | bBusy:= FALSE; 70 | IF bError THEN 71 | nErrCount:= nErrCount+1; 72 | END_IF 73 | END_IF 74 | END_CASE 75 | 76 | ]]> 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/PlcIotHttpSampleMindsphere.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {32c20c49-6a0d-428f-a0f8-3e89f03cf755} 6 | True 7 | true 8 | true 9 | false 10 | PlcIotHttpSampleMindsphere 11 | 3.1.4023.0 12 | {6b9864c4-c2e1-46fd-b98b-abc7d39fa25f} 13 | {94737d9b-5e85-4f90-afdf-d097506b74b6} 14 | {427fbeed-8f0c-4f9b-a9fa-3ea4e86da06f} 15 | {003fac74-1cd6-47f5-9247-e781941123c1} 16 | {dc4d4883-3c0b-44aa-ae0e-c94285b4d6f0} 17 | {a1be823b-f93a-4834-8841-a2f080b8c9f1} 18 | SAK 19 | SAK 20 | SAK 21 | SAK 22 | 23 | 24 | 25 | Code 26 | 27 | 28 | Code 29 | 30 | 31 | Code 32 | 33 | 34 | Code 35 | 36 | 37 | Code 38 | 39 | 40 | Code 41 | 42 | 43 | Code 44 | 45 | 46 | Code 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | Tc2_Standard, * (Beckhoff Automation GmbH) 59 | Tc2_Standard 60 | 61 | 62 | Tc2_System, * (Beckhoff Automation GmbH) 63 | Tc2_System 64 | 65 | 66 | Tc3_IotBase, * (Beckhoff Automation GmbH) 67 | Tc3_IotBase 68 | 69 | 70 | Tc3_Module, * (Beckhoff Automation GmbH) 71 | Tc3_Module 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | "<ProjectRoot>" 80 | 81 | {40450F57-0AA3-4216-96F3-5444ECB29763} 82 | 83 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 84 | 85 | 86 | ActiveVisuProfile 87 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 88 | 89 | 90 | {192FAD59-8248-4824-A8DE-9177C94C195A} 91 | 92 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | System.Collections.Hashtable 102 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 103 | System.String 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /TF6760_IotHttpSampleMindsphere/IotHttpSampleMindsphere/PlcIotHttpSampleMindsphere/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 20 7 | 8 | MAIN 9 | 10 | {731e8434-cb35-4d2c-b578-1b1d1eb2e4ba} 11 | {05c8fa53-ae8d-4657-8a95-6961ee8f1b9b} 12 | {a123f47a-43ed-45d8-a149-c27360377c56} 13 | {59bc8ef7-b80a-4356-80fa-447dd95d1a32} 14 | {f1b07224-6a03-4043-b334-9e54a6b764e7} 15 | 16 | 17 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # TcXaeShell Solution File, Format Version 11.00 4 | VisualStudioVersion = 15.0.28307.852 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "TF6760_IotHttpSamples", "TF6760_IotHttpSamples\TF6760_IotHttpSamples.tsproj", "{5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) 11 | Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) 12 | Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) 13 | Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) 14 | Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) 15 | Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) 16 | Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) 17 | Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 21 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 22 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 23 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 24 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 25 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 26 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 27 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 28 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 29 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 30 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 31 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 32 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 33 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 34 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 35 | {5093E5C7-A2B3-4BE0-9125-8D5BA2C6A3EB}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 36 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 37 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 38 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 39 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 40 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 41 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 42 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 43 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 44 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 45 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 46 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 47 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 48 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 49 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 50 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 51 | {6FD64F78-BA89-4C8D-B79C-79C80BA856DB}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 52 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 53 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 54 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 55 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 56 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 57 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 58 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 59 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 60 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 61 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 62 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 63 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 64 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 65 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 66 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 67 | {821F4F6A-AD83-4D55-BD5A-93D29F3B6445}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 68 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 69 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 70 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 71 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 72 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 73 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 74 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 75 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 76 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 77 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 78 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 79 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 80 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 81 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 82 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 83 | {0AA50616-F2D6-468D-B3ED-7FDDCE85916F}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 84 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 85 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 86 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 87 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 88 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 89 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 90 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 91 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 92 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 93 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 94 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 95 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 96 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 97 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 98 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 99 | {051FFAC7-31F8-4FF8-8FC4-70C933A96262}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 100 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 101 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 102 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 103 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 104 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 105 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 106 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 107 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 108 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 109 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 110 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 111 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 112 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 113 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 114 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 115 | {F3908C9E-0116-42FC-9A3B-EF77E5279460}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 116 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 117 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 118 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 119 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 120 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 121 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 122 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 123 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 124 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 125 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 126 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 127 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 128 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 129 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 130 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 131 | {B9C0C26D-1C6D-427B-AA54-09D9E2F1E717}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 132 | EndGlobalSection 133 | GlobalSection(SolutionProperties) = preSolution 134 | HideSolutionNode = FALSE 135 | EndGlobalSection 136 | GlobalSection(ExtensibilityGlobals) = postSolution 137 | SolutionGuid = {32F0FEF6-9A76-4DC8-9DD9-92190F92A367} 138 | EndGlobalSection 139 | EndGlobal 140 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsIotCore/POUs/AWS IoT Core/FB_TestHTTP_Get_awsIotShadow.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 34 | 35 | = 200 AND fbRequest.nStatusCode < 300 THEN 52 | bGetJsonResult:= FALSE; 53 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 54 | IF jsonDoc <> 0 THEN 55 | ; // do something with the shadow document 56 | nValidResCount:= nValidResCount+1; 57 | bError:= FALSE; 58 | END_IF 59 | nResCount:= nResCount+1; 60 | END_IF 61 | END_IF 62 | nState:= 0; 63 | bBusy:= FALSE; 64 | IF bError THEN 65 | nErrCount:= nErrCount+1; 66 | END_IF 67 | END_IF 68 | END_CASE 69 | 70 | ]]> 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsIotCore/POUs/AWS IoT Core/FB_TestHTTP_Post_awsIot.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 36 | 37 | = 200 AND fbRequest.nStatusCode < 300 THEN 60 | bGetJsonResult:= FALSE; 61 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 62 | IF jsonDoc <> 0 THEN 63 | bGetJsonResult:= TRUE; 64 | IF fbJson.HasMember(jsonDoc, 'message') THEN 65 | jsonVal:= fbJson.FindMember(jsonDoc, 'message'); 66 | sResultValue:= fbJson.GetString(jsonVal); 67 | IF sResultValue = 'OK' THEN 68 | nValidResCount:= nValidResCount+1; 69 | bError:= FALSE; 70 | END_IF 71 | END_IF 72 | END_IF 73 | nResCount:= nResCount+1; 74 | END_IF 75 | END_IF 76 | nState:= 0; 77 | bBusy:= FALSE; 78 | IF bError THEN 79 | nErrCount:= nErrCount+1; 80 | END_IF 81 | END_IF 82 | END_CASE 83 | 84 | ]]> 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsIotCore/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 16 | 17 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsIotCore/PlcIotHttpSamplesAwsIotCore.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {051ffac7-31f8-4ff8-8fc4-70c933a96262} 6 | True 7 | true 8 | true 9 | false 10 | PlcIotHttpSamplesAwsIotCore 11 | 3.1.4023.0 12 | {1b06a928-0704-4129-bc42-ee9b3372394e} 13 | {1b5c2021-0201-4306-9cfb-42a120853a03} 14 | {5559aeeb-055b-44d2-87db-bef47e72375a} 15 | {a500bc48-bff2-4b84-abd8-50ed8b423dc2} 16 | {e02bf62f-f990-42b2-acb3-fd9296461099} 17 | {61786756-e58e-4b6a-8de2-b842849343b9} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | Code 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | Tc2_Standard, * (Beckhoff Automation GmbH) 43 | Tc2_Standard 44 | 45 | 46 | Tc2_System, * (Beckhoff Automation GmbH) 47 | Tc2_System 48 | 49 | 50 | Tc2_Utilities, * (Beckhoff Automation GmbH) 51 | Tc2_Utilities 52 | 53 | 54 | Tc3_IotBase, * (Beckhoff Automation GmbH) 55 | Tc3_IotBase 56 | 57 | 58 | Tc3_JsonXml, * (Beckhoff Automation GmbH) 59 | Tc3_JsonXml 60 | 61 | 62 | Tc3_Module, * (Beckhoff Automation GmbH) 63 | Tc3_Module 64 | 65 | 66 | 67 | 68 | Content 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | "<ProjectRoot>" 77 | 78 | {40450F57-0AA3-4216-96F3-5444ECB29763} 79 | 80 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 81 | 82 | 83 | ActiveVisuProfile 84 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 85 | 86 | 87 | {192FAD59-8248-4824-A8DE-9177C94C195A} 88 | 89 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | System.Collections.Hashtable 99 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 100 | System.String 101 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsIotCore/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 22 7 | {fe4d0967-6aac-496f-8403-328cf98177a4} 8 | {147f5048-e0cc-4f2a-821b-f870128cc5f2} 9 | {d76df277-ec16-46a1-b7d6-814ccd4789bf} 10 | {ac80f476-c5e4-4bc9-975c-2c43bd641921} 11 | {3dee301e-1869-4744-b7eb-1eb43a75d48e} 12 | 13 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsSigV4/POUs/AWS Sig V4/FB_TestHTTP_Get_AwsSigV4.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 40 | 41 | = 200 AND fbRequest.nStatusCode < 300 THEN 64 | nResCount:= nResCount+1; 65 | // do something with XML response 66 | bError:=FALSE; 67 | END_IF 68 | END_IF 69 | nState:= 0; 70 | bBusy:= FALSE; 71 | IF bError THEN 72 | nErrCount:= nErrCount+1; 73 | END_IF 74 | END_IF 75 | END_CASE]]> 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsSigV4/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 14 | 15 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsSigV4/PlcIotHttpSamplesAwsSigV4.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {b9c0c26d-1c6d-427b-aa54-09d9e2f1e717} 6 | True 7 | true 8 | true 9 | false 10 | PlcIotHttpSamplesAwsSigV4 11 | 3.1.4024.12 12 | {c7ae6794-51b4-4f49-9164-be9282adec4a} 13 | {cd517cec-2c86-4c54-aedd-87630570f412} 14 | {928ae0fb-d44d-4a33-a273-cd1ada306438} 15 | {c23f8c61-aa99-43c8-967d-8829338a2a76} 16 | {bf917fbd-7ae9-4edd-ac8f-530a3978049f} 17 | {9d1bcb34-7639-4769-ab74-061ab997d8b0} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | Tc2_Standard, * (Beckhoff Automation GmbH) 40 | Tc2_Standard 41 | 42 | 43 | Tc2_System, * (Beckhoff Automation GmbH) 44 | Tc2_System 45 | 46 | 47 | Tc3_IotBase, * (Beckhoff Automation GmbH) 48 | Tc3_IotBase 49 | 50 | 51 | Tc3_Module, * (Beckhoff Automation GmbH) 52 | Tc3_Module 53 | 54 | 55 | 56 | 57 | Content 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | "<ProjectRoot>" 66 | 67 | {40450F57-0AA3-4216-96F3-5444ECB29763} 68 | 69 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 70 | 71 | 72 | ActiveVisuProfile 73 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 74 | 75 | 76 | {192FAD59-8248-4824-A8DE-9177C94C195A} 77 | 78 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | System.Collections.Hashtable 88 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 89 | System.String 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesAwsSigV4/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 26 7 | 8 | MAIN 9 | 10 | {a03118cd-0237-4e6c-be06-71e393c7132d} 11 | {64f6a560-ccc4-4223-9f3b-a5304b5e7948} 12 | {1e7fa7c4-da09-4475-983a-ed0ae7810155} 13 | {a8435ba4-0115-42bf-ab14-d9067a52a818} 14 | {9c2ead29-5461-427c-b56f-b5252dce7394} 15 | 16 | 17 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesOpenWeatherMap/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 15 | 16 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesOpenWeatherMap/POUs/OpenWeatherMap/FB_TestHTTP_Get_openWeatherMap.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 34 | 35 | = 200 AND fbRequest.nStatusCode < 300 THEN 52 | bGetJsonResult:= FALSE; 53 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 54 | IF jsonDoc <> 0 THEN 55 | ; // do something with the weather data 56 | nValidResCount:= nValidResCount+1; 57 | bError:= FALSE; 58 | END_IF 59 | nResCount:= nResCount+1; 60 | END_IF 61 | END_IF 62 | nState:= 0; 63 | bBusy:= FALSE; 64 | IF bError THEN 65 | nErrCount:= nErrCount+1; 66 | END_IF 67 | END_IF 68 | END_CASE 69 | ]]> 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesOpenWeatherMap/PlcIotHttpSamplesOpenWeatherMap.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {6fd64f78-ba89-4c8d-b79c-79c80ba856db} 6 | True 7 | true 8 | true 9 | false 10 | PlcIotHttpSamplesOpenWeatherMap 11 | 3.1.4023.0 12 | {3d108ce2-2172-4bb2-9904-ffec459489ba} 13 | {4f0f342b-f1f2-46bf-93e9-31300693f3d9} 14 | {31dc3294-07e3-4d76-b913-dfca96059130} 15 | {e4224cfb-b916-45f5-9e80-f3dbde7cdc78} 16 | {72b1f1d2-3b7e-415e-8678-dcc0ef5a926c} 17 | {c10a2ea6-b20e-413b-8124-8245ef49eb4a} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | Tc2_Standard, * (Beckhoff Automation GmbH) 40 | Tc2_Standard 41 | 42 | 43 | Tc2_System, * (Beckhoff Automation GmbH) 44 | Tc2_System 45 | 46 | 47 | Tc2_Utilities, * (Beckhoff Automation GmbH) 48 | Tc2_Utilities 49 | 50 | 51 | Tc3_IotBase, * (Beckhoff Automation GmbH) 52 | Tc3_IotBase 53 | 54 | 55 | Tc3_JsonXml, * (Beckhoff Automation GmbH) 56 | Tc3_JsonXml 57 | 58 | 59 | Tc3_Module, * (Beckhoff Automation GmbH) 60 | Tc3_Module 61 | 62 | 63 | 64 | 65 | Content 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | "<ProjectRoot>" 74 | 75 | {40450F57-0AA3-4216-96F3-5444ECB29763} 76 | 77 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 78 | 79 | 80 | ActiveVisuProfile 81 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 82 | 83 | 84 | {192FAD59-8248-4824-A8DE-9177C94C195A} 85 | 86 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | System.Collections.Hashtable 96 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 97 | System.String 98 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesOpenWeatherMap/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 23 7 | 8 | MAIN 9 | 10 | {ce63f583-3301-4404-b472-27fe41797f0e} 11 | {63a6b55a-2443-4dad-974d-01a616423421} 12 | {2105db90-1b57-4d52-968d-ca65eded4d18} 13 | {f01bcda6-2256-44e3-ae95-895b84ecc02e} 14 | {c2c0318c-15cb-49c6-9f5f-78f07c2c5e99} 15 | 16 | 17 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPhilipsHue/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 19 | 20 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPhilipsHue/POUs/Philips Hue/FB_TestHTTP_Put_PhilipsHue.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 40 | 41 | = 200 AND fbRequest.nStatusCode < 300 THEN 71 | bGetJsonResult:= FALSE; 72 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 73 | IF jsonDoc <> 0 THEN 74 | ; // do something with status response 75 | nValidResCount:= nValidResCount+1; 76 | bError:= FALSE; 77 | END_IF 78 | nResCount:= nResCount+1; 79 | END_IF 80 | END_IF 81 | nState:= 0; 82 | bBusy:= FALSE; 83 | IF bError THEN 84 | nErrCount:= nErrCount+1; 85 | END_IF 86 | END_IF 87 | END_CASE]]> 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPhilipsHue/PlcIotHttpSamplesPhilipsHue.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {0aa50616-f2d6-468d-b3ed-7fddce85916f} 6 | True 7 | true 8 | true 9 | false 10 | PlcIotHttpSamplesPhilipsHue 11 | 3.1.4023.0 12 | {ba08fccc-8b15-4de4-9b67-8380826f90c9} 13 | {74362253-d71f-4611-a505-d88d0ff4d3ec} 14 | {2343eeb0-711a-4e94-89d5-d0314194d152} 15 | {15982c8d-2a5a-4afe-907f-67544d3855cd} 16 | {25703a3a-fce8-40c5-b8f8-bde57484e14e} 17 | {657a6325-905a-41f6-8cab-7ad32cce6ed5} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | Tc2_Standard, * (Beckhoff Automation GmbH) 40 | Tc2_Standard 41 | 42 | 43 | Tc2_System, * (Beckhoff Automation GmbH) 44 | Tc2_System 45 | 46 | 47 | Tc2_Utilities, * (Beckhoff Automation GmbH) 48 | Tc2_Utilities 49 | 50 | 51 | Tc3_IotBase, * (Beckhoff Automation GmbH) 52 | Tc3_IotBase 53 | 54 | 55 | Tc3_JsonXml, * (Beckhoff Automation GmbH) 56 | Tc3_JsonXml 57 | 58 | 59 | Tc3_Module, * (Beckhoff Automation GmbH) 60 | Tc3_Module 61 | 62 | 63 | 64 | 65 | Content 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | "<ProjectRoot>" 74 | 75 | {40450F57-0AA3-4216-96F3-5444ECB29763} 76 | 77 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 78 | 79 | 80 | ActiveVisuProfile 81 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 82 | 83 | 84 | {192FAD59-8248-4824-A8DE-9177C94C195A} 85 | 86 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | System.Collections.Hashtable 96 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 97 | System.String 98 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPhilipsHue/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 24 7 | 8 | MAIN 9 | 10 | {320d4a88-e679-45a4-93ca-9cda9aae0113} 11 | {0431b94b-cbcc-4237-ab7a-ea9af9b7c0e6} 12 | {b247b079-6cf8-4cb3-88f9-f8d1343e143e} 13 | {349b47cf-0c29-472c-a812-91fb0e16e4dc} 14 | {234adc04-a239-4b7a-a69e-e0b6da8163e7} 15 | 16 | 17 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPostman/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 19 | 20 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPostman/POUs/Postman/FB_TestHTTP_Get.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 34 | 35 | = 200 AND fbRequest.nStatusCode < 300 THEN 52 | bGetJsonResult:= FALSE; 53 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 54 | IF jsonDoc <> 0 THEN 55 | bGetJsonResult:= TRUE; 56 | IF fbJson.HasMember(jsonDoc, 'args') THEN 57 | jsonVal:= fbJson.FindMember(jsonDoc, 'args'); 58 | IF fbJson.HasMember(jsonVal, 'foo2') THEN 59 | jsonVal:= fbJson.FindMember(jsonVal, 'foo2'); 60 | nValidResCount:= nValidResCount+1; 61 | bError:= FALSE; 62 | IF fbJson.IsString(jsonVal) THEN 63 | sResultValue:= fbJson.GetString(jsonVal); 64 | END_IF 65 | END_IF 66 | END_IF 67 | END_IF 68 | nResCount:= nResCount+1; 69 | END_IF 70 | END_IF 71 | nState:= 0; 72 | bBusy:= FALSE; 73 | IF bError THEN 74 | nErrCount:= nErrCount+1; 75 | END_IF 76 | END_IF 77 | END_CASE 78 | ]]> 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPostman/POUs/Postman/FB_TestHTTP_HeaderAuth.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 39 | 40 | = 200 AND fbRequest.nStatusCode < 300 THEN 62 | bGetJsonResult:= FALSE; 63 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 64 | IF jsonDoc <> 0 THEN 65 | bGetJsonResult:= TRUE; 66 | IF fbJson.HasMember(jsonDoc, 'authenticated') THEN 67 | jsonVal:= fbJson.FindMember(jsonDoc, 'authenticated'); 68 | IF fbJson.IsBool(jsonVal) THEN 69 | bResultValue:= fbJson.GetBool(jsonVal); 70 | nValidResCount:= nValidResCount+1; 71 | bError:= FALSE; 72 | END_IF 73 | END_IF 74 | END_IF 75 | nResCount:= nResCount+1; 76 | END_IF 77 | END_IF 78 | nState:= 0; 79 | bBusy:= FALSE; 80 | IF bError THEN 81 | nErrCount:= nErrCount+1; 82 | END_IF 83 | END_IF 84 | END_CASE 85 | ]]> 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPostman/POUs/Postman/FB_TestHTTP_Post.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 34 | 35 | = 200 AND fbRequest.nStatusCode < 300 THEN 53 | bGetJsonResult:= FALSE; 54 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 55 | IF jsonDoc <> 0 THEN 56 | bGetJsonResult:= TRUE; 57 | IF fbJson.HasMember(jsonDoc, 'data') THEN 58 | jsonVal:= fbJson.FindMember(jsonDoc, 'data'); 59 | sResultValue:= fbJson.GetString(jsonVal); 60 | IF STRING_TO_UDINT(sResultValue) = nReqCount THEN 61 | nValidResCount:= nValidResCount+1; 62 | bError:= FALSE; 63 | END_IF 64 | END_IF 65 | END_IF 66 | nResCount:= nResCount+1; 67 | END_IF 68 | END_IF 69 | nState:= 0; 70 | bBusy:= FALSE; 71 | IF bError THEN 72 | nErrCount:= nErrCount+1; 73 | END_IF 74 | END_IF 75 | END_CASE 76 | 77 | ]]> 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPostman/POUs/Postman/FB_TestHTTP_Put.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 34 | 35 | = 200 AND fbRequest.nStatusCode < 300 THEN 53 | bGetJsonResult:= FALSE; 54 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 55 | IF jsonDoc <> 0 THEN 56 | bGetJsonResult:= TRUE; 57 | IF fbJson.HasMember(jsonDoc, 'data') THEN 58 | jsonVal:= fbJson.FindMember(jsonDoc, 'data'); 59 | sResultValue:= fbJson.GetString(jsonVal); 60 | IF STRING_TO_UDINT(sResultValue) = nReqCount THEN 61 | nValidResCount:= nValidResCount+1; 62 | bError:= FALSE; 63 | END_IF 64 | END_IF 65 | END_IF 66 | nResCount:= nResCount+1; 67 | END_IF 68 | END_IF 69 | nState:= 0; 70 | bBusy:= FALSE; 71 | IF bError THEN 72 | nErrCount:= nErrCount+1; 73 | END_IF 74 | END_IF 75 | END_CASE 76 | ]]> 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPostman/PlcIotHttpSamplesPostman.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {f3908c9e-0116-42fc-9a3b-ef77e5279460} 6 | True 7 | true 8 | true 9 | false 10 | PlcIotHttpSamplesPostman 11 | 3.1.4023.0 12 | {a4668628-a96d-47ac-9ee5-cdf25967fe69} 13 | {8a6189bc-1ccb-4b82-b8a5-25d7cbafc0bf} 14 | {0f14218b-25d0-49ce-b592-6bfd460ed605} 15 | {5bc442ed-c98a-4197-b3f0-b80633044e59} 16 | {152869f8-2c8e-432e-ae07-427506b0a304} 17 | {bb119553-d5da-4a37-83da-9c456a634617} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | Code 31 | 32 | 33 | Code 34 | 35 | 36 | Code 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | Tc2_Standard, * (Beckhoff Automation GmbH) 49 | Tc2_Standard 50 | 51 | 52 | Tc2_System, * (Beckhoff Automation GmbH) 53 | Tc2_System 54 | 55 | 56 | Tc2_Utilities, * (Beckhoff Automation GmbH) 57 | Tc2_Utilities 58 | 59 | 60 | Tc3_IotBase, * (Beckhoff Automation GmbH) 61 | Tc3_IotBase 62 | 63 | 64 | Tc3_JsonXml, * (Beckhoff Automation GmbH) 65 | Tc3_JsonXml 66 | 67 | 68 | Tc3_Module, * (Beckhoff Automation GmbH) 69 | Tc3_Module 70 | 71 | 72 | 73 | 74 | Content 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | "<ProjectRoot>" 83 | 84 | {40450F57-0AA3-4216-96F3-5444ECB29763} 85 | 86 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 87 | 88 | 89 | ActiveVisuProfile 90 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 91 | 92 | 93 | {192FAD59-8248-4824-A8DE-9177C94C195A} 94 | 95 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | System.Collections.Hashtable 105 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 106 | System.String 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesPostman/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 21 7 | 8 | MAIN 9 | 10 | {70eea33b-6224-4175-86b0-9d92db7b50bd} 11 | {ded50643-b977-4708-8094-042e3418aa89} 12 | {002e8543-5f41-4592-941a-568bb9b33e3c} 13 | {9de8694c-4b26-4104-ae38-63caccea631c} 14 | {c300bab9-9861-4e4e-a5d8-f7a43624e0f4} 15 | 16 | 17 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesTelegram/Certificate/TelegramRoot.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Beckhoff/TF6760_Samples/406ec7e9f8e1d74a1bc57679eb62e4984f5d3477/TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesTelegram/Certificate/TelegramRoot.cer -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesTelegram/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 16 | 17 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesTelegram/POUs/Telegram/FB_TestHTTP_Get_Telegram.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 39 | 40 | , 48 | nErrId => , 49 | sOut => sConMessage); 50 | 51 | CASE nState OF 52 | 0: 53 | IF RisingEdge.Q THEN 54 | IF fbRequest.SendRequest(sUri:=sConMessage, fbClient:=fbClient, eRequestType:=ETcIotHttpRequestType.HTTP_Get, 0, 0, 0) THEN 55 | nState:= 1; 56 | nReqCount:= nReqCount+1; 57 | bBusy:= TRUE; 58 | bError:= FALSE; 59 | END_IF 60 | END_IF 61 | 1: 62 | IF NOT fbRequest.bBusy THEN 63 | bError:= TRUE; 64 | IF NOT fbRequest.bError THEN 65 | bGetContentResult:= fbRequest.GetContent(pContent:= ADR(sContent), nContentSize:= SIZEOF(sContent), bSetNullTermination:= TRUE); 66 | IF fbRequest.nStatusCode >= 200 AND fbRequest.nStatusCode < 300 THEN 67 | bGetJsonResult:= FALSE; 68 | jsonDoc:= fbRequest.GetJsonDomContent(fbJson); 69 | IF jsonDoc <> 0 THEN 70 | ; // do something with the response 71 | nValidResCount:= nValidResCount+1; 72 | bError:= FALSE; 73 | END_IF 74 | nResCount:= nResCount+1; 75 | END_IF 76 | END_IF 77 | nState:= 0; 78 | bBusy:= FALSE; 79 | IF bError THEN 80 | nErrCount:= nErrCount+1; 81 | END_IF 82 | END_IF 83 | END_CASE]]> 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesTelegram/PlcIotHttpSamplesTelegram.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {821f4f6a-ad83-4d55-bd5a-93d29f3b6445} 6 | True 7 | true 8 | true 9 | false 10 | PlcIotHttpSamplesTelegram 11 | 3.1.4023.0 12 | {c4ff2498-1772-431f-9617-90a5e99d4433} 13 | {fa7be6b5-0505-4884-abbd-eb1b4d77d5be} 14 | {515d1a22-2669-4b1a-992a-d72d9911d46d} 15 | {40a0a5b1-af1c-4625-9967-a25d84aa551f} 16 | {814c4c14-1d26-4b60-9dfb-79f9c1e18d44} 17 | {825a6990-3a55-4c4c-936e-5a9aa612c0d7} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | Tc2_Standard, * (Beckhoff Automation GmbH) 41 | Tc2_Standard 42 | 43 | 44 | Tc2_System, * (Beckhoff Automation GmbH) 45 | Tc2_System 46 | 47 | 48 | Tc2_Utilities, * (Beckhoff Automation GmbH) 49 | Tc2_Utilities 50 | 51 | 52 | Tc3_IotBase, * (Beckhoff Automation GmbH) 53 | Tc3_IotBase 54 | 55 | 56 | Tc3_JsonXml, * (Beckhoff Automation GmbH) 57 | Tc3_JsonXml 58 | 59 | 60 | Tc3_Module, * (Beckhoff Automation GmbH) 61 | Tc3_Module 62 | 63 | 64 | 65 | 66 | Content 67 | 68 | 69 | 70 | 71 | Content 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | "<ProjectRoot>" 80 | 81 | {40450F57-0AA3-4216-96F3-5444ECB29763} 82 | 83 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 84 | 85 | 86 | ActiveVisuProfile 87 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 88 | 89 | 90 | {192FAD59-8248-4824-A8DE-9177C94C195A} 91 | 92 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | System.Collections.Hashtable 102 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 103 | System.String 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/PlcIotHttpSamplesTelegram/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 25 7 | 8 | MAIN 9 | 10 | {00385d8e-a6bb-4ddb-9699-dbac094466ad} 11 | {df4ae6de-3c0e-4ee9-b336-f81d3def42af} 12 | {e4f76eb2-19d0-45d4-b290-1f8bb4eb1223} 13 | {7803e5e6-e51c-4c5b-86bf-ce872a50562a} 14 | {eea59cdb-7db2-435b-baee-686841499be1} 15 | 16 | 17 | -------------------------------------------------------------------------------- /TF6760_IotHttpSamples/TF6760_IotHttpSamples/TF6760_IotHttpSamples.tsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PlcTask 8 | 9 | 10 | PlcTask1 11 | 12 | 13 | PlcTask2 14 | 15 | 16 | PlcTask3 17 | 18 | 19 | PlcTask4 20 | 21 | 22 | PlcTask5 23 | 24 | 25 | PlcTask6 26 | 27 | 28 | 29 | 30 | 31 | 32 | PlcIotHttpSamplesPostman Instance 33 | {08500001-0000-0000-F000-000000000064} 34 | 35 | 36 | 0 37 | PlcTask 38 | 39 | #x02010040 40 | 41 | 21 42 | 10000000 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | PlcIotHttpSamplesAwsIotCore Instance 53 | {08500001-0000-0000-F000-000000000064} 54 | 55 | 56 | 0 57 | PlcTask 58 | 59 | #x02010050 60 | 61 | 22 62 | 10000000 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | PlcIotHttpSamplesOpenWeatherMap Instance 73 | {08500001-0000-0000-F000-000000000064} 74 | 75 | 76 | 0 77 | PlcTask 78 | 79 | #x02010060 80 | 81 | 23 82 | 10000000 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | PlcIotHttpSamplesPhilipsHue Instance 93 | {08500001-0000-0000-F000-000000000064} 94 | 95 | 96 | 0 97 | PlcTask 98 | 99 | #x02010070 100 | 101 | 24 102 | 10000000 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | PlcIotHttpSamplesTelegram Instance 113 | {08500001-0000-0000-F000-000000000064} 114 | 115 | 116 | 0 117 | PlcTask 118 | 119 | #x02010080 120 | 121 | 25 122 | 10000000 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | PlcIotHttpSamplesAwsSigV4 Instance 133 | {08500001-0000-0000-F000-000000000064} 134 | 135 | 136 | 0 137 | PlcTask 138 | 139 | #x02010090 140 | 141 | 26 142 | 10000000 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | --------------------------------------------------------------------------------