在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 基于.NET6的跨平台物联网网关(IoTGateway)源码

基于.NET6的跨平台物联网网关(IoTGateway)源码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:34.00M
  • 下载次数:18
  • 浏览次数:99
  • 发布时间:2024-05-13
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

IoTGateway是一个基于.NET6的跨平台物联网网关,采用B/S架构和可视化配置,可连接各种设备和系统,包括PLC、扫码枪、CNC、数据库、串口设备、上位机、非标设备、OPC Server、OPC UA Server、Mqtt Server等。通过北向连接,可与IoTSharp、ThingsCloud、ThingsBoard、华为云或自己的物联网平台(MES、SCADA)进行双向数据通讯。此外,还支持边缘计算。

IoTGateway支持西门子PLC、三菱PLC、Modbus、欧姆龙PLC、OPCUA、OPCDA、ABPLC、MT机床、Fanuc CNC等设备,驱动支持扩展,支持设备数据写入、计算表达式、变化上传和定时归档。

北向连接支持第三方平台,如iotsharp、thingscloud、thingsboard、华为云等,可进行遥测、属性上传和RPC反向控制。

IoTGateway内置了Mqtt服务(1888、1888/mqtt),支持websocker-mqtt,可直连MES、SCADA等系统。同时还内置了OpcUA(opc.tcp://localhost:62541/Quickstarts/ReferenceServer),使设备可以通过OPCUA与其他设备通讯。此外,还有内置的ModbusSlave(模拟设备),端口503。


【实例截图】
【核心代码】
文件清单
└── iotgateway-dfb56687d7a7541a242fdc4ddae74f7300297657
    ├── 3d
    │   ├── 3d.html
    │   ├── css
    │   │   └── main.css
    │   ├── image
    │   │   ├── 10.png
    │   │   ├── info.png
    │   │   ├── line.png
    │   │   └── traffic_01.png
    │   ├── lib
    │   │   ├── CSS3DRenderer.js
    │   │   ├── dat.gui.min.js
    │   │   ├── DRACOLoader.js
    │   │   ├── gltf
    │   │   │   ├── draco_decoder.js
    │   │   │   ├── draco_decoder.wasm
    │   │   │   ├── draco_encoder.js
    │   │   │   └── draco_wasm_wrapper.js
    │   │   ├── GLTFLoader.js
    │   │   ├── OrbitControls.js
    │   │   ├── RoomEnvironment.js
    │   │   ├── ShaderPass.js
    │   │   ├── stats.module.js
    │   │   └── three.module.js
    │   └── model
    │       └── LittlestTokyo.glb
    ├── Dockerfile
    ├── drivers
    │   └── net6.0
    │       ├── CNC.Fanuc.deps.json
    │       ├── CNC.Fanuc.dll
    │       ├── CNC.Fanuc.H.deps.json
    │       ├── CNC.Fanuc.H.dll
    │       ├── CNC.Fanuc.H.pdb
    │       ├── CNC.Fanuc.pdb
    │       ├── CNC.MTConnect.deps.json
    │       ├── CNC.MTConnect.dll
    │       ├── CNC.MTConnect.pdb
    │       ├── HslCommunication.dll
    │       ├── Interop.OPCAutomation.dll
    │       ├── IoTClient.dll
    │       ├── Microsoft.Extensions.Logging.Abstractions.dll
    │       ├── Mock.TcpClient.deps.json
    │       ├── Mock.TcpClient.dll
    │       ├── Mock.TcpClient.pdb
    │       ├── Newtonsoft.Json.dll
    │       ├── OPC.DaClient.deps.json
    │       ├── OPC.DaClient.dll
    │       ├── OPC.DaClient.pdb
    │       ├── OPC.UaClient.deps.json
    │       ├── Opc.Ua.Client.dll
    │       ├── OPC.UaClient.dll
    │       ├── OPC.UaClient.pdb
    │       ├── Opc.Ua.Configuration.dll
    │       ├── Opc.Ua.Core.dll
    │       ├── Opc.Ua.Security.Certificates.dll
    │       ├── OpenNETCF.Extensions.dll
    │       ├── OpenNETCF.MTConnect.Client.dll
    │       ├── OpenNETCF.MTConnect.Common.dll
    │       ├── OpenNETCF.RestConnector.dll
    │       ├── Other.Toledo.deps.json
    │       ├── Other.Toledo.dll
    │       ├── Other.Toledo.pdb
    │       ├── PLC.AllenBradley.deps.json
    │       ├── PLC.AllenBradley.dll
    │       ├── PLC.AllenBradley.pdb
    │       ├── PLC.MelsecMc.deps.json
    │       ├── PLC.MelsecMc.dll
    │       ├── PLC.MelsecMc.pdb
    │       ├── PLC.ModBusMaster.deps.json
    │       ├── PLC.ModBusMaster.dll
    │       ├── PLC.ModBusMaster.pdb
    │       ├── PLC.OmronFins.deps.json
    │       ├── PLC.OmronFins.dll
    │       ├── PLC.OmronFins.pdb
    │       ├── PLC.SiemensS7.deps.json
    │       ├── PLC.SiemensS7.dll
    │       ├── PLC.SiemensS7.pdb
    │       ├── PluginInterface.dll
    │       ├── PluginInterface.pdb
    │       ├── SimpleTCP.Core.dll
    │       └── System.IO.Ports.dll
    ├── Export_DeviceSettings_本地.xlsx
    ├── Export_DeviceSettings_线上.xlsx
    ├── images
    │   ├── 3d.gif
    │   ├── ali-pay.png
    │   ├── change-upload.png
    │   ├── express.png
    │   ├── gitee.png
    │   ├── github.png
    │   ├── gvp.png
    │   ├── mqtt.png
    │   ├── official.png
    │   ├── online.png
    │   ├── opcua.png
    │   ├── qq.png
    │   ├── rpc.gif
    │   ├── scada-config.png
    │   ├── scada.gif
    │   ├── set-variable.png
    │   ├── variables.gif
    │   ├── wxgroup.png
    │   ├── wx.jpg
    │   └── wx-pay.jpg
    ├── IoTGateway
    │   ├── appsettings.json
    │   ├── Areas
    │   │   ├── _Admin
    │   │   │   ├── ApiControllers
    │   │   │   │   ├── AccountController.cs
    │   │   │   │   ├── ActionLogController.cs
    │   │   │   │   ├── DataPrivilegeController.cs
    │   │   │   │   ├── FileApiController.cs
    │   │   │   │   ├── FrameworkGroupController.cs
    │   │   │   │   ├── FrameworkMenuController.cs
    │   │   │   │   ├── FrameworkRoleController.cs
    │   │   │   │   └── FrameworkUserController.cs
    │   │   │   ├── Controllers
    │   │   │   │   ├── ActionLogController.cs
    │   │   │   │   ├── DataPrivilegeController.cs
    │   │   │   │   ├── FrameworkGroupController.cs
    │   │   │   │   ├── FrameworkMenuController.cs
    │   │   │   │   ├── FrameworkRoleController.cs
    │   │   │   │   └── FrameworkUserController.cs
    │   │   │   └── Views
    │   │   │       ├── ActionLog
    │   │   │       │   ├── BatchDelete.cshtml
    │   │   │       │   ├── Details.cshtml
    │   │   │       │   └── Index.cshtml
    │   │   │       ├── DataPrivilege
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   └── Index.cshtml
    │   │   │       ├── FrameworkGroup
    │   │   │       │   ├── BatchDelete.cshtml
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── DataFunction.cshtml
    │   │   │       │   ├── Delete.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   ├── Import.cshtml
    │   │   │       │   └── Index.cshtml
    │   │   │       ├── FrameworkMenu
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── Delete.cshtml
    │   │   │       │   ├── Details.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   ├── Index.cshtml
    │   │   │       │   └── UnsetPages.cshtml
    │   │   │       ├── FrameworkRole
    │   │   │       │   ├── BatchDelete.cshtml
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── Delete.cshtml
    │   │   │       │   ├── Details.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   ├── Import.cshtml
    │   │   │       │   ├── Index.cshtml
    │   │   │       │   └── PageFunction.cshtml
    │   │   │       ├── FrameworkUser
    │   │   │       │   ├── BatchDelete.cshtml
    │   │   │       │   ├── BatchEdit.cshtml
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── Delete.cshtml
    │   │   │       │   ├── Details.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   ├── Import.cshtml
    │   │   │       │   ├── Index.cshtml
    │   │   │       │   └── Password.cshtml
    │   │   │       └── _ViewImports.cshtml
    │   │   ├── API
    │   │   │   └── DeviceController.cs
    │   │   ├── BasicData
    │   │   │   ├── Controllers
    │   │   │   │   ├── DeviceConfigController.cs
    │   │   │   │   ├── DeviceController.cs
    │   │   │   │   ├── DeviceVariableController.cs
    │   │   │   │   └── DriverController.cs
    │   │   │   └── Views
    │   │   │       ├── Device
    │   │   │       │   ├── Attribute.cshtml
    │   │   │       │   ├── BatchDelete.cshtml
    │   │   │       │   ├── BatchEdit.cshtml
    │   │   │       │   ├── Copy.cshtml
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── CreateGroup.cshtml
    │   │   │       │   ├── Delete.cshtml
    │   │   │       │   ├── Details.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   ├── Import.cshtml
    │   │   │       │   ├── ImportExcel.cshtml
    │   │   │       │   └── Index.cshtml
    │   │   │       ├── DeviceConfig
    │   │   │       │   ├── BatchDelete.cshtml
    │   │   │       │   ├── BatchEdit.cshtml
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── Delete.cshtml
    │   │   │       │   ├── Details.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   ├── Import.cshtml
    │   │   │       │   └── Index.cshtml
    │   │   │       ├── DeviceVariable
    │   │   │       │   ├── BatchDelete.cshtml
    │   │   │       │   ├── BatchEdit.cshtml
    │   │   │       │   ├── Create.cshtml
    │   │   │       │   ├── Delete.cshtml
    │   │   │       │   ├── Details.cshtml
    │   │   │       │   ├── Edit.cshtml
    │   │   │       │   ├── Import.cshtml
    │   │   │       │   ├── Index.cshtml
    │   │   │       │   └── SetValue.cshtml
    │   │   │       └── Driver
    │   │   │           ├── BatchDelete.cshtml
    │   │   │           ├── BatchEdit.cshtml
    │   │   │           ├── Create.cshtml
    │   │   │           ├── Delete.cshtml
    │   │   │           ├── Details.cshtml
    │   │   │           ├── Edit.cshtml
    │   │   │           ├── Import.cshtml
    │   │   │           └── Index.cshtml
    │   │   ├── Config
    │   │   │   ├── Controllers
    │   │   │   │   └── SystemConfigController.cs
    │   │   │   └── Views
    │   │   │       └── SystemConfig
    │   │   │           ├── BatchDelete.cshtml
    │   │   │           ├── BatchEdit.cshtml
    │   │   │           ├── Create.cshtml
    │   │   │           ├── Delete.cshtml
    │   │   │           ├── Details.cshtml
    │   │   │           ├── Edit.cshtml
    │   │   │           ├── Import.cshtml
    │   │   │           └── Index.cshtml
    │   │   ├── MqttServer
    │   │   │   ├── Controllers
    │   │   │   │   └── MqttClientController.cs
    │   │   │   └── Views
    │   │   │       └── MqttClient
    │   │   │           └── Index.cshtml
    │   │   ├── Rpc
    │   │   │   ├── Controllers
    │   │   │   │   └── RpcLogController.cs
    │   │   │   └── Views
    │   │   │       └── RpcLog
    │   │   │           ├── BatchDelete.cshtml
    │   │   │           ├── BatchEdit.cshtml
    │   │   │           ├── Create.cshtml
    │   │   │           ├── Delete.cshtml
    │   │   │           ├── Details.cshtml
    │   │   │           ├── Edit.cshtml
    │   │   │           ├── Import.cshtml
    │   │   │           └── Index.cshtml
    │   │   └── _ViewImports.cshtml
    │   ├── Controllers
    │   │   ├── HomeController.cs
    │   │   └── LoginController.cs
    │   ├── Dll
    │   │   ├── fwlib30i64.dll
    │   │   ├── fwlib30i.dll
    │   │   ├── Fwlib32.dll
    │   │   ├── Fwlib64.dll
    │   │   ├── fwlibe1.dll
    │   │   └── fwlibe64.dll
    │   ├── IoTGateway.csproj
    │   ├── IoTGateway.csproj.user
    │   ├── iotgateway.db
    │   ├── nlog.config
    │   ├── Program.cs
    │   ├── Properties
    │   │   ├── launchSettings.json
    │   │   └── PublishProfiles
    │   │       ├── FolderProfile.pubxml
    │   │       └── FolderProfile.pubxml.user
    │   ├── Quickstarts.ReferenceServer.Config.xml
    │   ├── Resources
    │   │   ├── Program.en.resx
    │   │   └── Program.zh.resx
    │   ├── Startup.cs
    │   ├── Views
    │   │   ├── Home
    │   │   │   ├── FrontPage.cshtml
    │   │   │   ├── Index.cshtml
    │   │   │   ├── Layout.cshtml
    │   │   │   └── PIndex.cshtml
    │   │   ├── Login
    │   │   │   ├── ChangePassword.cshtml
    │   │   │   ├── Login.cshtml
    │   │   │   └── Reg.cshtml
    │   │   ├── Shared
    │   │   │   └── _Layout.cshtml
    │   │   ├── _ViewImports.cshtml
    │   │   └── _ViewStart.cshtml
    │   └── wwwroot
    │       ├── 3d.zip
    │       ├── echarts
    │       │   ├── chalk.js
    │       │   ├── echarts.min.js
    │       │   ├── essos.js
    │       │   ├── json-fns.js
    │       │   ├── macarons.js
    │       │   ├── roma.js
    │       │   ├── vintage.js
    │       │   ├── walden.js
    │       │   ├── westeros.js
    │       │   └── wonderland.js
    │       ├── favicon.ico
    │       ├── font
    │       │   ├── iconfont.css
    │       │   ├── iconfont.eot
    │       │   ├── iconfont.svg
    │       │   ├── iconfont.ttf
    │       │   ├── iconfont.woff
    │       │   └── iconfont.woff2
    │       ├── font-awesome
    │       │   └── font-awesome.css
    │       ├── images
    │       │   ├── 10.png
    │       │   ├── code.png
    │       │   ├── connectdevice.png
    │       │   ├── disconnectdevice.png
    │       │   ├── icon-login01.png
    │       │   ├── icon-login02.png
    │       │   ├── icon-login03.png
    │       │   ├── icon-login04.png
    │       │   ├── login-bj.png
    │       │   ├── logo.png
    │       │   ├── wangguan_1.png
    │       │   ├── wangguan.png
    │       │   ├── wxgroup.png
    │       │   ├── wx.png
    │       │   ├── 公众号.jpg
    │       │   └── 小程序.jpg
    │       ├── jquery.cookie.js
    │       ├── jquery.min.js
    │       ├── layui
    │       │   ├── china.json
    │       │   ├── css
    │       │   │   ├── layui.css
    │       │   │   ├── layui.mobile.css
    │       │   │   └── modules
    │       │   │       ├── code.css
    │       │   │       ├── laydate
    │       │   │       │   └── default
    │       │   │       │       └── laydate.css
    │       │   │       ├── layer
    │       │   │       │   └── default
    │       │   │       │       ├── icon-ext.png
    │       │   │       │       ├── icon.png
    │       │   │       │       ├── layer.css
    │       │   │       │       ├── loading-0.gif
    │       │   │       │       ├── loading-1.gif
    │       │   │       │       └── loading-2.gif
    │       │   │       └── layim
    │       │   │           ├── html
    │       │   │           │   ├── chatlog.html
    │       │   │           │   ├── find.html
    │       │   │           │   ├── getmsg.json
    │       │   │           │   └── msgbox.html
    │       │   │           ├── layim.css
    │       │   │           ├── mobile
    │       │   │           │   └── layim.css
    │       │   │           ├── skin
    │       │   │           │   ├── 1.jpg
    │       │   │           │   ├── 2.jpg
    │       │   │           │   ├── 3.jpg
    │       │   │           │   ├── 4.jpg
    │       │   │           │   ├── 5.jpg
    │       │   │           │   └── logo.jpg
    │       │   │           └── voice
    │       │   │               └── default.mp3
    │       │   ├── font
    │       │   │   ├── iconfont.eot
    │       │   │   ├── iconfont.svg
    │       │   │   ├── iconfont.ttf
    │       │   │   ├── iconfont.woff
    │       │   │   └── iconfont.woff2
    │       │   ├── images
    │       │   │   └── face
    │       │   │       ├── 0.gif
    │       │   │       ├── 10.gif
    │       │   │       ├── 11.gif
    │       │   │       ├── 12.gif
    │       │   │       ├── 13.gif
    │       │   │       ├── 14.gif
    │       │   │       ├── 15.gif
    │       │   │       ├── 16.gif
    │       │   │       ├── 17.gif
    │       │   │       ├── 18.gif
    │       │   │       ├── 19.gif
    │       │   │       ├── 1.gif
    │       │   │       ├── 20.gif
    │       │   │       ├── 21.gif
    │       │   │       ├── 22.gif
    │       │   │       ├── 23.gif
    │       │   │       ├── 24.gif
    │       │   │       ├── 25.gif
    │       │   │       ├── 26.gif
    │       │   │       ├── 27.gif
    │       │   │       ├── 28.gif
    │       │   │       ├── 29.gif
    │       │   │       ├── 2.gif
    │       │   │       ├── 30.gif
    │       │   │       ├── 31.gif
    │       │   │       ├── 32.gif
    │       │   │       ├── 33.gif
    │       │   │       ├── 34.gif
    │       │   │       ├── 35.gif
    │       │   │       ├── 36.gif
    │       │   │       ├── 37.gif
    │       │   │       ├── 38.gif
    │       │   │       ├── 39.gif
    │       │   │       ├── 3.gif
    │       │   │       ├── 40.gif
    │       │   │       ├── 41.gif
    │       │   │       ├── 42.gif
    │       │   │       ├── 43.gif
    │       │   │       ├── 44.gif
    │       │   │       ├── 45.gif
    │       │   │       ├── 46.gif
    │       │   │       ├── 47.gif
    │       │   │       ├── 48.gif
    │       │   │       ├── 49.gif
    │       │   │       ├── 4.gif
    │       │   │       ├── 50.gif
    │       │   │       ├── 51.gif
    │       │   │       ├── 52.gif
    │       │   │       ├── 53.gif
    │       │   │       ├── 54.gif
    │       │   │       ├── 55.gif
    │       │   │       ├── 56.gif
    │       │   │       ├── 57.gif
    │       │   │       ├── 58.gif
    │       │   │       ├── 59.gif
    │       │   │       ├── 5.gif
    │       │   │       ├── 60.gif
    │       │   │       ├── 61.gif
    │       │   │       ├── 62.gif
    │       │   │       ├── 63.gif
    │       │   │       ├── 64.gif
    │       │   │       ├── 65.gif
    │       │   │       ├── 66.gif
    │       │   │       ├── 67.gif
    │       │   │       ├── 68.gif
    │       │   │       ├── 69.gif
    │       │   │       ├── 6.gif
    │       │   │       ├── 70.gif
    │       │   │       ├── 71.gif
    │       │   │       ├── 7.gif
    │       │   │       ├── 8.gif
    │       │   │       └── 9.gif
    │       │   ├── lay
    │       │   │   └── modules
    │       │   │       ├── all.js
    │       │   │       ├── carousel.js
    │       │   │       ├── code.js
    │       │   │       ├── colorpicker.js
    │       │   │       ├── demo.js
    │       │   │       ├── dropdown.js
    │       │   │       ├── element.js
    │       │   │       ├── flow.js
    │       │   │       ├── form.js
    │       │   │       ├── jquery.js
    │       │   │       ├── laydate.js
    │       │   │       ├── layedit.js
    │       │   │       ├── layer.js
    │       │   │       ├── layim.js
    │       │   │       ├── lay.js
    │       │   │       ├── laypage.js
    │       │   │       ├── laytpl.js
    │       │   │       ├── layui.all.js
    │       │   │       ├── mobile.js
    │       │   │       ├── rate.js
    │       │   │       ├── slider.js
    │       │   │       ├── table.js
    │       │   │       ├── transfer.js
    │       │   │       ├── tree.js
    │       │   │       ├── upload.js
    │       │   │       └── util.js
    │       │   ├── layui.js
    │       │   └── xm-select.js
    │       ├── layuiadmin
    │       │   ├── component
    │       │   │   ├── autocomplete.js
    │       │   │   ├── common.js
    │       │   │   ├── formSelects.js
    │       │   │   ├── ueditorconfig.js
    │       │   │   └── ueditor.js
    │       │   ├── config.js
    │       │   ├── css
    │       │   │   └── autocomplete.css
    │       │   ├── index.js
    │       │   ├── lib
    │       │   │   ├── admin.js
    │       │   │   ├── extend
    │       │   │   │   ├── echarts.js
    │       │   │   │   └── echartsTheme.js
    │       │   │   └── view.js
    │       │   ├── pindex.js
    │       │   ├── style
    │       │   │   ├── admin.css
    │       │   │   └── res
    │       │   │       ├── bg-none.jpg
    │       │   │       ├── logo.png
    │       │   │       ├── wangguan_1.png
    │       │   │       └── wangguan.png
    │       │   ├── ueditor
    │       │   │   ├── config.json
    │       │   │   ├── dialogs
    │       │   │   │   ├── anchor
    │       │   │   │   │   └── anchor.html
    │       │   │   │   ├── attachment
    │       │   │   │   │   ├── attachment.css
    │       │   │   │   │   ├── attachment.html
    │       │   │   │   │   ├── attachment.js
    │       │   │   │   │   ├── fileTypeImages
    │       │   │   │   │   │   ├── icon_chm.gif
    │       │   │   │   │   │   ├── icon_default.png
    │       │   │   │   │   │   ├── icon_doc.gif
    │       │   │   │   │   │   ├── icon_exe.gif
    │       │   │   │   │   │   ├── icon_jpg.gif
    │       │   │   │   │   │   ├── icon_mp3.gif
    │       │   │   │   │   │   ├── icon_mv.gif
    │       │   │   │   │   │   ├── icon_pdf.gif
    │       │   │   │   │   │   ├── icon_ppt.gif
    │       │   │   │   │   │   ├── icon_psd.gif
    │       │   │   │   │   │   ├── icon_rar.gif
    │       │   │   │   │   │   ├── icon_txt.gif
    │       │   │   │   │   │   └── icon_xls.gif
    │       │   │   │   │   └── images
    │       │   │   │   │       ├── alignicon.gif
    │       │   │   │   │       ├── alignicon.png
    │       │   │   │   │       ├── bg.png
    │       │   │   │   │       ├── file-icons.gif
    │       │   │   │   │       ├── file-icons.png
    │       │   │   │   │       ├── icons.gif
    │       │   │   │   │       ├── icons.png
    │       │   │   │   │       ├── image.png
    │       │   │   │   │       ├── progress.png
    │       │   │   │   │       ├── success.gif
    │       │   │   │   │       └── success.png
    │       │   │   │   ├── background
    │       │   │   │   │   ├── background.css
    │       │   │   │   │   ├── background.html
    │       │   │   │   │   ├── background.js
    │       │   │   │   │   └── images
    │       │   │   │   │       ├── bg.png
    │       │   │   │   │       └── success.png
    │       │   │   │   ├── charts
    │       │   │   │   │   ├── chart.config.js
    │       │   │   │   │   ├── charts.css
    │       │   │   │   │   ├── charts.html
    │       │   │   │   │   ├── charts.js
    │       │   │   │   │   └── images
    │       │   │   │   │       ├── charts0.png
    │       │   │   │   │       ├── charts1.png
    │       │   │   │   │       ├── charts2.png
    │       │   │   │   │       ├── charts3.png
    │       │   │   │   │       ├── charts4.png
    │       │   │   │   │       └── charts5.png
    │       │   │   │   ├── emotion
    │       │   │   │   │   ├── emotion.css
    │       │   │   │   │   ├── emotion.html
    │       │   │   │   │   ├── emotion.js
    │       │   │   │   │   └── images
    │       │   │   │   │       ├── 0.gif
    │       │   │   │   │       ├── bface.gif
    │       │   │   │   │       ├── cface.gif
    │       │   │   │   │       ├── fface.gif
    │       │   │   │   │       ├── jxface2.gif
    │       │   │   │   │       ├── neweditor-tab-bg.png
    │       │   │   │   │       ├── tface.gif
    │       │   │   │   │       ├── wface.gif
    │       │   │   │   │       └── yface.gif
    │       │   │   │   ├── help
    │       │   │   │   │   ├── help.css
    │       │   │   │   │   ├── help.html
    │       │   │   │   │   └── help.js
    │       │   │   │   ├── image
    │       │   │   │   │   ├── image.css
    │       │   │   │   │   ├── image.html
    │       │   │   │   │   ├── image.js
    │       │   │   │   │   └── images
    │       │   │   │   │       ├── alignicon.jpg
    │       │   │   │   │       ├── bg.png
    │       │   │   │   │       ├── icons.gif
    │       │   │   │   │       ├── icons.png
    │       │   │   │   │       ├── image.png
    │       │   │   │   │       ├── progress.png
    │       │   │   │   │       ├── success.gif
    │       │   │   │   │       └── success.png
    │       │   │   │   ├── internal.js
    │       │   │   │   ├── link
    │       │   │   │   │   └── link.html
    │       │   │   │   ├── map
    │       │   │   │   │   ├── map.html
    │       │   │   │   │   └── show.html
    │       │   │   │   ├── preview
    │       │   │   │   │   └── preview.html
    │       │   │   │   ├── scrawl
    │       │   │   │   │   ├── images
    │       │   │   │   │   │   ├── addimg.png
    │       │   │   │   │   │   ├── brush.png
    │       │   │   │   │   │   ├── delimgH.png
    │       │   │   │   │   │   ├── delimg.png
    │       │   │   │   │   │   ├── emptyH.png
    │       │   │   │   │   │   ├── empty.png
    │       │   │   │   │   │   ├── eraser.png
    │       │   │   │   │   │   ├── redoH.png
    │       │   │   │   │   │   ├── redo.png
    │       │   │   │   │   │   ├── scaleH.png
    │       │   │   │   │   │   ├── scale.png
    │       │   │   │   │   │   ├── size.png
    │       │   │   │   │   │   ├── undoH.png
    │       │   │   │   │   │   └── undo.png
    │       │   │   │   │   ├── scrawl.css
    │       │   │   │   │   ├── scrawl.html
    │       │   │   │   │   └── scrawl.js
    │       │   │   │   ├── searchreplace
    │       │   │   │   │   ├── searchreplace.html
    │       │   │   │   │   └── searchreplace.js
    │       │   │   │   ├── spechars
    │       │   │   │   │   ├── spechars.html
    │       │   │   │   │   └── spechars.js
    │       │   │   │   ├── table
    │       │   │   │   │   ├── dragicon.png
    │       │   │   │   │   ├── edittable.css
    │       │   │   │   │   ├── edittable.html
    │       │   │   │   │   ├── edittable.js
    │       │   │   │   │   ├── edittd.html
    │       │   │   │   │   └── edittip.html
    │       │   │   │   └── template
    │       │   │   │       ├── config.js
    │       │   │   │       ├── images
    │       │   │   │       │   ├── bg.gif
    │       │   │   │       │   ├── pre0.png
    │       │   │   │       │   ├── pre1.png
    │       │   │   │       │   ├── pre2.png
    │       │   │   │       │   ├── pre3.png
    │       │   │   │       │   └── pre4.png
    │       │   │   │       ├── template.css
    │       │   │   │       ├── template.html
    │       │   │   │       └── template.js
    │       │   │   ├── lang
    │       │   │   │   ├── en
    │       │   │   │   │   ├── en.js
    │       │   │   │   │   └── images
    │       │   │   │   │       ├── addimage.png
    │       │   │   │   │       ├── alldeletebtnhoverskin.png
    │       │   │   │   │       ├── alldeletebtnupskin.png
    │       │   │   │   │       ├── background.png
    │       │   │   │   │       ├── button.png
    │       │   │   │   │       ├── copy.png
    │       │   │   │   │       ├── deletedisable.png
    │       │   │   │   │       ├── deleteenable.png
    │       │   │   │   │       ├── listbackground.png
    │       │   │   │   │       ├── localimage.png
    │       │   │   │   │       ├── music.png
    │       │   │   │   │       ├── rotateleftdisable.png
    │       │   │   │   │       ├── rotateleftenable.png
    │       │   │   │   │       ├── rotaterightdisable.png
    │       │   │   │   │       ├── rotaterightenable.png
    │       │   │   │   │       └── upload.png
    │       │   │   │   └── zh-cn
    │       │   │   │       ├── images
    │       │   │   │       │   ├── copy.png
    │       │   │   │       │   ├── localimage.png
    │       │   │   │       │   ├── music.png
    │       │   │   │       │   └── upload.png
    │       │   │   │       └── zh-cn.js
    │       │   │   ├── themes
    │       │   │   │   ├── default
    │       │   │   │   │   ├── css
    │       │   │   │   │   │   ├── ueditor.css
    │       │   │   │   │   │   └── ueditor.min.css
    │       │   │   │   │   ├── dialogbase.css
    │       │   │   │   │   └── images
    │       │   │   │   │       ├── anchor.gif
    │       │   │   │   │       ├── arrow_down.png
    │       │   │   │   │       ├── arrow.png
    │       │   │   │   │       ├── arrow_up.png
    │       │   │   │   │       ├── button-bg.gif
    │       │   │   │   │       ├── cancelbutton.gif
    │       │   │   │   │       ├── charts.png
    │       │   │   │   │       ├── cursor_h.gif
    │       │   │   │   │       ├── cursor_h.png
    │       │   │   │   │       ├── cursor_v.gif
    │       │   │   │   │       ├── cursor_v.png
    │       │   │   │   │       ├── dialog-title-bg.png
    │       │   │   │   │       ├── filescan.png
    │       │   │   │   │       ├── highlighted.gif
    │       │   │   │   │       ├── icons-all.gif
    │       │   │   │   │       ├── icons.gif
    │       │   │   │   │       ├── icons.png
    │       │   │   │   │       ├── loaderror.png
    │       │   │   │   │       ├── loading.gif
    │       │   │   │   │       ├── lock.gif
    │       │   │   │   │       ├── neweditor-tab-bg.png
    │       │   │   │   │       ├── pagebreak.gif
    │       │   │   │   │       ├── scale.png
    │       │   │   │   │       ├── sortable.png
    │       │   │   │   │       ├── spacer.gif
    │       │   │   │   │       ├── sparator_v.png
    │       │   │   │   │       ├── table-cell-align.png
    │       │   │   │   │       ├── tangram-colorpicker.png
    │       │   │   │   │       ├── toolbar_bg.png
    │       │   │   │   │       ├── unhighlighted.gif
    │       │   │   │   │       ├── upload.png
    │       │   │   │   │       ├── videologo.gif
    │       │   │   │   │       ├── word.gif
    │       │   │   │   │       └── wordpaste.png
    │       │   │   │   └── iframe.css
    │       │   │   ├── third-party
    │       │   │   │   ├── codemirror
    │       │   │   │   │   ├── codemirror.css
    │       │   │   │   │   └── codemirror.js
    │       │   │   │   ├── highcharts
    │       │   │   │   │   ├── adapters
    │       │   │   │   │   │   ├── mootools-adapter.js
    │       │   │   │   │   │   ├── mootools-adapter.src.js
    │       │   │   │   │   │   ├── prototype-adapter.js
    │       │   │   │   │   │   ├── prototype-adapter.src.js
    │       │   │   │   │   │   ├── standalone-framework.js
    │       │   │   │   │   │   └── standalone-framework.src.js
    │       │   │   │   │   ├── highcharts.js
    │       │   │   │   │   ├── highcharts-more.js
    │       │   │   │   │   ├── highcharts-more.src.js
    │       │   │   │   │   ├── highcharts.src.js
    │       │   │   │   │   ├── modules
    │       │   │   │   │   │   ├── annotations.js
    │       │   │   │   │   │   ├── annotations.src.js
    │       │   │   │   │   │   ├── canvas-tools.js
    │       │   │   │   │   │   ├── canvas-tools.src.js
    │       │   │   │   │   │   ├── data.js
    │       │   │   │   │   │   ├── data.src.js
    │       │   │   │   │   │   ├── drilldown.js
    │       │   │   │   │   │   ├── drilldown.src.js
    │       │   │   │   │   │   ├── exporting.js
    │       │   │   │   │   │   ├── exporting.src.js
    │       │   │   │   │   │   ├── funnel.js
    │       │   │   │   │   │   ├── funnel.src.js
    │       │   │   │   │   │   ├── heatmap.js
    │       │   │   │   │   │   ├── heatmap.src.js
    │       │   │   │   │   │   ├── map.js
    │       │   │   │   │   │   ├── map.src.js
    │       │   │   │   │   │   ├── no-data-to-display.js
    │       │   │   │   │   │   └── no-data-to-display.src.js
    │       │   │   │   │   └── themes
    │       │   │   │   │       ├── dark-blue.js
    │       │   │   │   │       ├── dark-green.js
    │       │   │   │   │       ├── gray.js
    │       │   │   │   │       ├── grid.js
    │       │   │   │   │       └── skies.js
    │       │   │   │   ├── jquery-1.10.2.js
    │       │   │   │   ├── jquery-1.10.2.min.js
    │       │   │   │   ├── jquery-1.10.2.min.map
    │       │   │   │   ├── snapscreen
    │       │   │   │   │   └── UEditorSnapscreen.exe
    │       │   │   │   ├── SyntaxHighlighter
    │       │   │   │   │   ├── shCoreDefault.css
    │       │   │   │   │   └── shCore.js
    │       │   │   │   ├── video-js
    │       │   │   │   │   ├── font
    │       │   │   │   │   │   ├── vjs.eot
    │       │   │   │   │   │   ├── vjs.svg
    │       │   │   │   │   │   ├── vjs.ttf
    │       │   │   │   │   │   └── vjs.woff
    │       │   │   │   │   ├── video.dev.js
    │       │   │   │   │   ├── video.js
    │       │   │   │   │   ├── video-js.css
    │       │   │   │   │   └── video-js.min.css
    │       │   │   │   ├── webuploader
    │       │   │   │   │   ├── webuploader.css
    │       │   │   │   │   ├── webuploader.custom.js
    │       │   │   │   │   ├── webuploader.custom.min.js
    │       │   │   │   │   ├── webuploader.flashonly.js
    │       │   │   │   │   ├── webuploader.flashonly.min.js
    │       │   │   │   │   ├── webuploader.html5only.js
    │       │   │   │   │   ├── webuploader.html5only.min.js
    │       │   │   │   │   ├── webuploader.js
    │       │   │   │   │   ├── webuploader.min.js
    │       │   │   │   │   ├── webuploader.withoutimage.js
    │       │   │   │   │   └── webuploader.withoutimage.min.js
    │       │   │   │   ├── xss.min.js
    │       │   │   │   └── zeroclipboard
    │       │   │   │       ├── ZeroClipboard.js
    │       │   │   │       └── ZeroClipboard.min.js
    │       │   │   ├── ueditor.parse.js
    │       │   │   └── ueditor.parse.min.js
    │       │   └── views
    │       │       ├── system
    │       │       │   └── theme.html
    │       │       └── template
    │       │           └── tips
    │       │               ├── 404.html
    │       │               └── error.html
    │       ├── logo.png
    │       ├── mqtt.min.js
    │       └── sitecss
    │           ├── animate.min.css
    │           ├── logincss.css
    │           └── wtm.css
    ├── IoTGateway.DataAccess
    │   ├── DataContext.cs
    │   ├── IoTGateway.DataAccess.csproj
    │   └── Migrations
    │       ├── 20211209085327_ini.cs
    │       ├── 20211209085327_ini.Designer.cs
    │       ├── 20211217052811_expression.cs
    │       ├── 20211217052811_expression.Designer.cs
    │       ├── 20211220151947_disperse.cs
    │       ├── 20211220151947_disperse.Designer.cs
    │       ├── 20220124063657_platforms.cs
    │       ├── 20220124063657_platforms.Designer.cs
    │       ├── 20220323063908_attribut.cs
    │       ├── 20220323063908_attribut.Designer.cs
    │       ├── 20220413084526_rpclog.cs
    │       ├── 20220413084526_rpclog.Designer.cs
    │       ├── 20220517053158_changepublish.cs
    │       ├── 20220517053158_changepublish.Designer.cs
    │       ├── 20220810063014_mqttClientId.cs
    │       ├── 20220810063014_mqttClientId.Designer.cs
    │       ├── 20220825004835_variableindex.cs
    │       ├── 20220825004835_variableindex.Designer.cs
    │       ├── 20221012063127_CmdPeriod.cs
    │       ├── 20221012063127_CmdPeriod.Designer.cs
    │       ├── 20221206143332_EndianType.cs
    │       ├── 20221206143332_EndianType.Designer.cs
    │       ├── 20230412061736_IsUpload.cs
    │       ├── 20230412061736_IsUpload.Designer.cs
    │       └── DataContextModelSnapshot.cs
    ├── IoTGateway.Model
    │   ├── Common.cs
    │   ├── DeviceConfig.cs
    │   ├── Device.cs
    │   ├── DeviceVariable.cs
    │   ├── Driver.cs
    │   ├── FrameworkUser.cs
    │   ├── IoTGateway.Model.csproj
    │   ├── IVariable.cs
    │   ├── RpcLog.cs
    │   └── SystemConfig.cs
    ├── IoTGateway.sln
    ├── IoTGateway.ViewModel
    │   ├── _Admin
    │   │   ├── ActionLogVMs
    │   │   │   ├── ActionLogBatchVM.cs
    │   │   │   ├── ActionLogListVM.cs
    │   │   │   ├── ActionLogSearcher.cs
    │   │   │   └── ActionLogVM.cs
    │   │   ├── DataPrivilegeVMs
    │   │   │   ├── DataPrivilegeBatchVM.cs
    │   │   │   ├── DataPrivilegeListVM.cs
    │   │   │   ├── DataPrivilegeSearcher.cs
    │   │   │   ├── DataPrivilegeVM.cs
    │   │   │   └── DpListVM.cs
    │   │   ├── FrameworkGroupVMs
    │   │   │   ├── FrameworkGroupBatchVM.cs
    │   │   │   ├── FrameworkGroupImportVM.cs
    │   │   │   ├── FrameworkGroupListVM.cs
    │   │   │   ├── FrameworkGroupMDVM.cs
    │   │   │   ├── FrameworkGroupSearcher.cs
    │   │   │   └── FrameworkGroupVM.cs
    │   │   ├── FrameworkMenuVMs
    │   │   │   ├── FrameworkActionListVM.cs
    │   │   │   ├── FrameworkMenuBatchVM.cs
    │   │   │   ├── FrameworkMenuListVM2.cs
    │   │   │   ├── FrameworkMenuListVM.cs
    │   │   │   ├── FrameworkMenuSearcher.cs
    │   │   │   ├── FrameworkMenuVM2.cs
    │   │   │   └── FrameworkMenuVM.cs
    │   │   ├── FrameworkRoleVMs
    │   │   │   ├── FrameworkRoleBatchVM.cs
    │   │   │   ├── FrameworkRoleImportVM.cs
    │   │   │   ├── FrameworkRoleListVM.cs
    │   │   │   ├── FrameworkRoleMDVM2.cs
    │   │   │   ├── FrameworkRoleMDVM.cs
    │   │   │   ├── FrameworkRoleSearcher.cs
    │   │   │   └── FrameworkRoleVM.cs
    │   │   └── FrameworkUserVms
    │   │       ├── ChangePasswordVM.cs
    │   │       ├── FrameworkUserBatchVM.cs
    │   │       ├── FrameworkUserImportVM.cs
    │   │       ├── FrameworkUserListVM.cs
    │   │       ├── FrameworkUserSearcher.cs
    │   │       └── FrameworkUserVM.cs
    │   ├── BasicData
    │   │   ├── DeviceConfigVMs
    │   │   │   ├── DeviceConfigBatchVM.cs
    │   │   │   ├── DeviceConfigImportVM.cs
    │   │   │   ├── DeviceConfigListVM.cs
    │   │   │   ├── DeviceConfigSearcher.cs
    │   │   │   └── DeviceConfigVM.cs
    │   │   ├── DeviceVariableVMs
    │   │   │   ├── DeviceVariableBatchVM.cs
    │   │   │   ├── DeviceVariableImportVM.cs
    │   │   │   ├── DeviceVariableListVM.cs
    │   │   │   ├── DeviceVariableSearcher.cs
    │   │   │   ├── DeviceVariableVM.cs
    │   │   │   └── SetValueVM.cs
    │   │   ├── DeviceVMs
    │   │   │   ├── AttributeVM.cs
    │   │   │   ├── CopyVM.cs
    │   │   │   ├── DeleteDevices.cs
    │   │   │   ├── DeviceBatchVM.cs
    │   │   │   ├── DeviceImportVM.cs
    │   │   │   ├── DeviceListVM.cs
    │   │   │   ├── DeviceSearcher.cs
    │   │   │   └── DeviceVM.cs
    │   │   ├── DriverVMs
    │   │   │   ├── DriverBatchVM.cs
    │   │   │   ├── DriverImportVM.cs
    │   │   │   ├── DriverListVM.cs
    │   │   │   ├── DriverSearcher.cs
    │   │   │   └── DriverVM.cs
    │   │   ├── ExportDevicesSetting.cs
    │   │   ├── ImportExcelVM.cs
    │   │   └── UpdateDevices.cs
    │   ├── Config
    │   │   └── SystemConfigVMs
    │   │       ├── SystemConfigBatchVM.cs
    │   │       ├── SystemConfigImportVM.cs
    │   │       ├── SystemConfigListVM.cs
    │   │       ├── SystemConfigSearcher.cs
    │   │       └── SystemConfigVM.cs
    │   ├── HomeVMs
    │   │   ├── LoginVM.cs
    │   │   └── RegVM.cs
    │   ├── IoTGateway.ViewModel.csproj
    │   ├── MqttServer
    │   │   └── MqttClientVMs
    │   │       ├── MqttClientListVM.cs
    │   │       └── MqttClientSearcher.cs
    │   └── Rpc
    │       └── RpcLogVMs
    │           ├── RpcLogBatchVM.cs
    │           ├── RpcLogImportVM.cs
    │           ├── RpcLogListVM.cs
    │           ├── RpcLogSearcher.cs
    │           └── RpcLogVM.cs
    ├── LICENSE
    ├── Plugins
    │   ├── Drivers
    │   │   ├── CNC.Fanuc
    │   │   │   ├── CNC.Fanuc.csproj
    │   │   │   ├── DeviceFanuc.cs
    │   │   │   ├── FanucFocas.cs
    │   │   │   └── fwlib32.cs
    │   │   ├── CNC.Fanuc.H
    │   │   │   ├── CNC.Fanuc.H.csproj
    │   │   │   └── DeviceFanuc.cs
    │   │   ├── CNC.MTConnect
    │   │   │   ├── CNC.MTConnect.csproj
    │   │   │   └── DeviceMTClient.cs
    │   │   ├── Mock.TcpClient
    │   │   │   ├── DeviceTcpClient.cs
    │   │   │   └── Mock.TcpClient.csproj
    │   │   ├── OPC.DaClient
    │   │   │   ├── DeviceDaClient.cs
    │   │   │   ├── OPCClient
    │   │   │   │   ├── Interop.OPCAutomation.dll
    │   │   │   │   ├── OPCChangeModel.cs
    │   │   │   │   ├── OPCClientWrapper.cs
    │   │   │   │   ├── OPCDataChangedHandler.cs
    │   │   │   │   ├── TagItem.cs
    │   │   │   │   ├── TagQuality.cs
    │   │   │   │   └── TagTreeNode.cs
    │   │   │   └── OPC.DaClient.csproj
    │   │   ├── OPC.UaClient
    │   │   │   ├── DeviceUaClient.cs
    │   │   │   ├── OPC.UaClient.csproj
    │   │   │   └── OpcUaHelper
    │   │   │       ├── FormUtils.cs
    │   │   │       ├── OpcUaClientHelper.cs
    │   │   │       └── OpcUaStatusEventArgs.cs
    │   │   ├── Other.Toledo
    │   │   │   ├── DeviceToledo.cs
    │   │   │   └── Other.Toledo.csproj
    │   │   ├── PLC.AllenBradley
    │   │   │   ├── DeviceAllenBradley.cs
    │   │   │   └── PLC.AllenBradley.csproj
    │   │   ├── PLC.LS
    │   │   │   ├── DeviceXGB.cs
    │   │   │   ├── DeviceXGK.cs
    │   │   │   └── PLC.LSIS.csproj
    │   │   ├── PLC.MelsecMc
    │   │   │   ├── DeviceMelsecMc.cs
    │   │   │   └── PLC.MelsecMc.csproj
    │   │   ├── PLC.ModBusMaster
    │   │   │   ├── DeviceModBusMaster.cs
    │   │   │   ├── MasterType.cs
    │   │   │   ├── ModbusDataConver.cs
    │   │   │   ├── NModbus4
    │   │   │   │   ├── Data
    │   │   │   │   │   ├── DataStore.cs
    │   │   │   │   │   ├── DataStoreEventArgs.cs
    │   │   │   │   │   ├── DataStoreFactory.cs
    │   │   │   │   │   ├── DiscreteCollection.cs
    │   │   │   │   │   ├── IModbusMessageDataCollection.cs
    │   │   │   │   │   ├── ModbusDataCollection.cs
    │   │   │   │   │   ├── ModbusDataType.cs
    │   │   │   │   │   └── RegisterCollection.cs
    │   │   │   │   ├── Device
    │   │   │   │   │   ├── IModbusMaster.cs
    │   │   │   │   │   ├── IModbusSerialMaster.cs
    │   │   │   │   │   ├── ModbusDevice.cs
    │   │   │   │   │   ├── ModbusIpMaster.cs
    │   │   │   │   │   ├── ModbusMaster.cs
    │   │   │   │   │   ├── ModbusMasterTcpConnection.cs
    │   │   │   │   │   ├── ModbusSerialMaster.cs
    │   │   │   │   │   ├── ModbusSerialSlave.cs
    │   │   │   │   │   ├── ModbusSlave.cs
    │   │   │   │   │   ├── ModbusSlaveRequestEventArgs.cs
    │   │   │   │   │   ├── ModbusTcpSlave.cs
    │   │   │   │   │   ├── ModbusUdpSlave.cs
    │   │   │   │   │   └── TcpConnectionEventArgs.cs
    │   │   │   │   ├── Extensions
    │   │   │   │   │   └── Enron
    │   │   │   │   │       └── EnronModbus.cs
    │   │   │   │   ├── GlobalSuppressions.cs
    │   │   │   │   ├── InvalidModbusRequestException.cs
    │   │   │   │   ├── IO
    │   │   │   │   │   ├── EmptyTransport.cs
    │   │   │   │   │   ├── IStreamResource.cs
    │   │   │   │   │   ├── ModbusAsciiTransport.cs
    │   │   │   │   │   ├── ModbusIpTransport.cs
    │   │   │   │   │   ├── ModbusRtuTransport.cs
    │   │   │   │   │   ├── ModbusSerialTransport.cs
    │   │   │   │   │   ├── ModbusTransport.cs
    │   │   │   │   │   ├── StreamResourceUtility.cs
    │   │   │   │   │   ├── TcpClientAdapter.cs
    │   │   │   │   │   └── UdpClientAdapter.cs
    │   │   │   │   ├── Message
    │   │   │   │   │   ├── AbstractModbusMessage.cs
    │   │   │   │   │   ├── AbstractModbusMessageWithData.cs
    │   │   │   │   │   ├── DiagnosticsRequestResponse.cs
    │   │   │   │   │   ├── IModbusMessage.cs
    │   │   │   │   │   ├── IModbusRequest.cs
    │   │   │   │   │   ├── ModbusMessageFactory.cs
    │   │   │   │   │   ├── ModbusMessageImpl.cs
    │   │   │   │   │   ├── ReadCoilsInputsRequest.cs
    │   │   │   │   │   ├── ReadCoilsInputsResponse.cs
    │   │   │   │   │   ├── ReadHoldingInputRegistersRequest.cs
    │   │   │   │   │   ├── ReadHoldingInputRegistersResponse.cs
    │   │   │   │   │   ├── ReadWriteMultipleRegistersRequest.cs
    │   │   │   │   │   ├── SlaveExceptionResponse.cs
    │   │   │   │   │   ├── WriteMultipleCoilsRequest.cs
    │   │   │   │   │   ├── WriteMultipleCoilsResponse.cs
    │   │   │   │   │   ├── WriteMultipleRegistersRequest.cs
    │   │   │   │   │   ├── WriteMultipleRegistersResponse.cs
    │   │   │   │   │   ├── WriteSingleCoilRequestResponse.cs
    │   │   │   │   │   └── WriteSingleRegisterRequestResponse.cs
    │   │   │   │   ├── Modbus.cs
    │   │   │   │   ├── Resources.cs
    │   │   │   │   ├── SerialPortAdapter.cs
    │   │   │   │   ├── SlaveException.cs
    │   │   │   │   ├── Unme.Common
    │   │   │   │   │   ├── DisposableUtility.cs
    │   │   │   │   │   └── SequenceUtility.cs
    │   │   │   │   └── Utility
    │   │   │   │       ├── DiscriminatedUnion.cs
    │   │   │   │       └── ModbusUtility.cs
    │   │   │   └── PLC.ModBusMaster.csproj
    │   │   ├── PLC.OmronFins
    │   │   │   ├── DeviceOmronFins.cs
    │   │   │   └── PLC.OmronFins.csproj
    │   │   └── PLC.SiemensS7
    │   │       ├── DeviceSiemensS7.cs
    │   │       ├── PLC.SiemensS7.csproj
    │   │       └── S7.Net
    │   │           ├── Compat
    │   │           │   └── TcpClientMixins.cs
    │   │           ├── Conversion.cs
    │   │           ├── COTP.cs
    │   │           ├── Enums.cs
    │   │           ├── Helper
    │   │           │   └── MemoryStreamExtension.cs
    │   │           ├── Internal
    │   │           │   └── TaskQueue.cs
    │   │           ├── InvalidDataException.cs
    │   │           ├── PLCAddress.cs
    │   │           ├── PlcAsynchronous.cs
    │   │           ├── PLC.cs
    │   │           ├── PlcException.cs
    │   │           ├── PLCExceptions.cs
    │   │           ├── PLCHelpers.cs
    │   │           ├── PlcSynchronous.cs
    │   │           ├── Properties
    │   │           │   ├── AssemblyInfo.cs
    │   │           │   └── S7.Net.snk
    │   │           ├── Protocol
    │   │           │   ├── ConnectionRequest.cs
    │   │           │   ├── ReadWriteErrorCode.cs
    │   │           │   ├── S7
    │   │           │   │   └── DataItemAddress.cs
    │   │           │   ├── S7WriteMultiple.cs
    │   │           │   ├── Serialization.cs
    │   │           │   ├── Tsap.cs
    │   │           │   └── TsapPair.cs
    │   │           ├── StreamExtensions.cs
    │   │           ├── TPKT.cs
    │   │           └── Types
    │   │               ├── Bit.cs
    │   │               ├── Boolean.cs
    │   │               ├── ByteArray.cs
    │   │               ├── Byte.cs
    │   │               ├── Class.cs
    │   │               ├── Counter.cs
    │   │               ├── DataItem.cs
    │   │               ├── DateTime.cs
    │   │               ├── DateTimeLong.cs
    │   │               ├── DInt.cs
    │   │               ├── Double.cs
    │   │               ├── DWord.cs
    │   │               ├── Int.cs
    │   │               ├── LReal.cs
    │   │               ├── Real.cs
    │   │               ├── S7StringAttribute.cs
    │   │               ├── S7String.cs
    │   │               ├── S7WString.cs
    │   │               ├── Single.cs
    │   │               ├── String.cs
    │   │               ├── StringEx.cs
    │   │               ├── Struct.cs
    │   │               ├── Timer.cs
    │   │               ├── TypeHelper.cs
    │   │               └── Word.cs
    │   ├── Plugin
    │   │   ├── ConnnectSettingsMode.cs
    │   │   ├── DeviceService.cs
    │   │   ├── DeviceThread.cs
    │   │   ├── DriverInfo.cs
    │   │   ├── DrvierService.cs
    │   │   ├── IoTBackgroundService.cs
    │   │   ├── JsonUtility.cs
    │   │   ├── ModbusSlaveService.cs
    │   │   ├── MyMqttClient.cs
    │   │   ├── Plugin.csproj
    │   │   ├── UA.Server
    │   │   │   ├── ConsoleUtils.cs
    │   │   │   ├── Namespaces.cs
    │   │   │   ├── ReferenceNodeManager.cs
    │   │   │   ├── ReferenceServerConfiguration.cs
    │   │   │   ├── ReferenceServer.cs
    │   │   │   └── UAServer.cs
    │   │   └── UAService.cs
    │   └── PluginInterface
    │       ├── ConfigParameterAttribute.cs
    │       ├── DataTypeEnum.cs
    │       ├── DriverAddressIoArgModel.cs
    │       ├── DriverInfoAttribute.cs
    │       ├── DriverReturnValueModel.cs
    │       ├── DriverSupportedAttribute.cs
    │       ├── EndianEnum.cs
    │       ├── HuaWeiRoma
    │       │   ├── HwAddDeviceDto.cs
    │       │   ├── HwDeleteDeviceDto.cs
    │       │   ├── HwDeviceOnOffLine.cs
    │       │   └── HwTelemetry.cs
    │       ├── IDependency.cs
    │       ├── IDriver.cs
    │       ├── IotDB
    │       │   └── IotTsData.cs
    │       ├── IoTSharp
    │       │   ├── ISAttributeResponse.cs
    │       │   └── ISRpcResponse.cs
    │       ├── MethodAttribute.cs
    │       ├── PluginInterface.csproj
    │       ├── ProtectTypeEnum.cs
    │       ├── RpcRequest.cs
    │       ├── RpcResponse.cs
    │       ├── SendModel.cs
    │       ├── ThingsBoard
    │       │   ├── TBRpcRequest.cs
    │       │   └── TBRpcResponse.cs
    │       ├── ThingsCloud
    │       │   └── TCRpcRequest.cs
    │       └── VaribaleStatusTypeEnum.cs
    ├── README.md
    ├── WalkingTec.Mvvm
    │   ├── WalkingTec.Mvvm.Core
    │   │   ├── Attributes
    │   │   │   ├── ActionDescriptionAttribute.cs
    │   │   │   ├── AllRightsAttribute.cs
    │   │   │   ├── DebugOnlyAttribute.cs
    │   │   │   ├── FixConnectionAttribute.cs
    │   │   │   ├── MiddleTableAttribute.cs
    │   │   │   ├── NoLogAttribute.cs
    │   │   │   ├── PublicAttribute.cs
    │   │   │   ├── ReInitAttribute.cs
    │   │   │   └── ValidateFormItemOnlyAttribute.cs
    │   │   ├── BaseBatchVM.cs
    │   │   ├── BaseCRUDVM.cs
    │   │   ├── BaseImportVM.cs
    │   │   ├── BasePagedListVM.cs
    │   │   ├── BaseSearcher.cs
    │   │   ├── BaseTemplateVM.cs
    │   │   ├── BaseVM.cs
    │   │   ├── ConfigOptions
    │   │   │   ├── Configs.cs
    │   │   │   ├── CookieOptions.cs
    │   │   │   ├── Cors.cs
    │   │   │   ├── CS.cs
    │   │   │   ├── DefaultConfigConsts.cs
    │   │   │   ├── DFS.cs
    │   │   │   ├── DFSTracker.cs
    │   │   │   ├── Domain.cs
    │   │   │   ├── FileUploadOptions.cs
    │   │   │   ├── JwtOptions.cs
    │   │   │   ├── KV.cs
    │   │   │   ├── UEditorOptions.cs
    │   │   │   └── UIOptions.cs
    │   │   ├── CoreProgram.cs
    │   │   ├── DataContext.cs
    │   │   ├── Enums.cs
    │   │   ├── Exceptions
    │   │   │   └── NullOrEmptyStringException.cs
    │   │   ├── Extensions
    │   │   │   ├── ConfigExtension.cs
    │   │   │   ├── DCExtension.cs
    │   │   │   ├── DistinctExtension.cs
    │   │   │   ├── ITreeDataExtension.cs
    │   │   │   ├── ListExtension.cs
    │   │   │   ├── ListVMExtension.cs
    │   │   │   ├── LoginUserInfoExtension.cs
    │   │   │   ├── PagedListExtension.cs
    │   │   │   ├── RequestExtension.cs
    │   │   │   └── SystemExtensions
    │   │   │       ├── DateTimeHelper.cs
    │   │   │       ├── DistributedCacheExtensions.cs
    │   │   │       ├── EnumExtension.cs
    │   │   │       ├── StringExtension.cs
    │   │   │       ├── SystemExtension.cs
    │   │   │       └── TypeExtension.cs
    │   │   ├── GlobalConstants.cs
    │   │   ├── GlobalData.cs
    │   │   ├── GlobalServices.cs
    │   │   ├── Grid
    │   │   │   ├── GridAction.cs
    │   │   │   ├── GridActionExtension.cs
    │   │   │   ├── GridActionExtension`Old.cs
    │   │   │   ├── GridColumn.cs
    │   │   │   ├── GridColumnExtension`Old.cs
    │   │   │   ├── GridHeaderExtension.cs
    │   │   │   └── IGridColumn.cs
    │   │   ├── Helper
    │   │   │   ├── EntityHelper.cs
    │   │   │   ├── IServiceExtension.cs
    │   │   │   ├── LogDebug.cs
    │   │   │   ├── LogTrace.cs
    │   │   │   └── PropertyHelper.cs
    │   │   ├── IBasePagedListVM.cs
    │   │   ├── IBaseVM.cs
    │   │   ├── IDataContext.cs
    │   │   ├── Implement
    │   │   │   └── DefaultUIService.cs
    │   │   ├── ISessionService.cs
    │   │   ├── IUIService.cs
    │   │   ├── Json
    │   │   │   ├── BodyConverter.cs
    │   │   │   ├── BoolStringConverter.cs
    │   │   │   ├── DateRangeConverter.cs
    │   │   │   ├── DateTimeConverter.cs
    │   │   │   ├── DynamicDataConverter.cs
    │   │   │   ├── PocoConverter.cs
    │   │   │   ├── RawStringConverter.cs
    │   │   │   ├── StringConverter.cs
    │   │   │   ├── StringIgnoreLTGTConverter.cs
    │   │   │   └── TypeConverter.cs
    │   │   ├── JsonResultModel.cs
    │   │   ├── Lib
    │   │   │   ├── DmProvider.dll
    │   │   │   └── Microsoft.EntityFrameworkCore.Dm.dll
    │   │   ├── LoginUserInfo.cs
    │   │   ├── Models
    │   │   │   ├── ActionLog.cs
    │   │   │   ├── BasePoco.cs
    │   │   │   ├── DataPrivilege.cs
    │   │   │   ├── FileAttachment.cs
    │   │   │   ├── FrameworkGroup.cs
    │   │   │   ├── FrameworkMenu.cs
    │   │   │   ├── FrameworkRole.cs
    │   │   │   ├── FrameworkUser.cs
    │   │   │   ├── FrameworkUserGroup.cs
    │   │   │   ├── FrameworkUserRole.cs
    │   │   │   ├── FunctionPrivilege.cs
    │   │   │   ├── ISearcher.cs
    │   │   │   ├── ISubFile.cs
    │   │   │   ├── IWtmFile.cs
    │   │   │   ├── PersistedGrant.cs
    │   │   │   ├── PersistPoco.cs
    │   │   │   ├── TopBasePoco.cs
    │   │   │   ├── TrackingObj.cs
    │   │   │   └── TreePoco.cs
    │   │   ├── MSD.cs
    │   │   ├── Support
    │   │   │   ├── AuthConstants.cs
    │   │   │   ├── ChartData.cs
    │   │   │   ├── ClaimComparer.cs
    │   │   │   ├── ColumnFormatInfo.cs
    │   │   │   ├── CommonEqualityComparer.cs
    │   │   │   ├── DataPrivilegeInfo.cs
    │   │   │   ├── DateRange.cs
    │   │   │   ├── DuplicateInfo.cs
    │   │   │   ├── DynamicData.cs
    │   │   │   ├── ExcelPropety.cs
    │   │   │   ├── ExpressionVisitors.cs
    │   │   │   ├── ExtraClass.cs
    │   │   │   ├── FileHandlers
    │   │   │   │   ├── IWtmFileHandler.cs
    │   │   │   │   ├── WtmDataBaseFileHandler.cs
    │   │   │   │   ├── WtmFileHandlerBase.cs
    │   │   │   │   ├── WtmFileProvider.cs
    │   │   │   │   ├── WtmLocalFileHandler.cs
    │   │   │   │   └── WtmOssFileHandler.cs
    │   │   │   ├── Json
    │   │   │   │   ├── SimpleAction.cs
    │   │   │   │   ├── SimpleArea.cs
    │   │   │   │   ├── SimpleDataPri.cs
    │   │   │   │   ├── SimpleFunctionPri.cs
    │   │   │   │   ├── SimpleGroup.cs
    │   │   │   │   ├── SimpleLog.cs
    │   │   │   │   ├── SimpleMenu.cs
    │   │   │   │   ├── SimpleModule.cs
    │   │   │   │   ├── SimpleRole.cs
    │   │   │   │   └── SimpleUserInfo.cs
    │   │   │   ├── ListItem.cs
    │   │   │   ├── NugetInfo.cs
    │   │   │   ├── Quartz
    │   │   │   │   ├── QuartzAttributes.cs
    │   │   │   │   ├── QuartzHostService.cs
    │   │   │   │   ├── WtmJob.cs
    │   │   │   │   └── WtmJobFactory.cs
    │   │   │   ├── SupportedGroupMapping.cs
    │   │   │   ├── TypeComparer.cs
    │   │   │   ├── WebProxy.cs
    │   │   │   ├── WtmLocalizationOption.cs
    │   │   │   └── WTMLogger.cs
    │   │   ├── Utils.cs
    │   │   ├── WalkingTec.Mvvm.Core.csproj
    │   │   └── WTMContext.cs
    │   ├── WalkingTec.Mvvm.Mvc
    │   │   ├── Auth
    │   │   │   ├── Attribute
    │   │   │   │   ├── AuthorizeCookieAttribute.cs
    │   │   │   │   ├── AuthorizeJwtAttribute.cs
    │   │   │   │   └── AuthorizeJwtWithCookieAttribute.cs
    │   │   │   └── JwtAuth
    │   │   │       ├── ITokenService.cs
    │   │   │       ├── Token.cs
    │   │   │       └── TokenService.cs
    │   │   ├── BaseApiController.cs
    │   │   ├── BaseController.cs
    │   │   ├── Binders
    │   │   │   ├── DateRangeBinder.cs
    │   │   │   ├── EnumBinder.cs
    │   │   │   ├── StringBinderProvider.cs
    │   │   │   ├── StringIgnoreLTGTBinder.cs
    │   │   │   └── StringNeedLTGTAttribute.cs
    │   │   ├── _CodeGenController.cs
    │   │   ├── CodeGenListVM.cs
    │   │   ├── CodeGenVM.cs
    │   │   ├── echarts.common.min.js
    │   │   ├── Filters
    │   │   │   ├── DataContextFilter.cs
    │   │   │   ├── FrameworkFilter.cs
    │   │   │   ├── PrivilegeFilter.cs
    │   │   │   └── SwaggerFilter.cs
    │   │   ├── _FrameworkController.cs
    │   │   ├── framework_layui.js
    │   │   ├── GeneratorFiles
    │   │   │   ├── ApiTestTopPoco.txt
    │   │   │   ├── ApiTest.txt
    │   │   │   ├── BatchVM.txt
    │   │   │   ├── ControllerTestTopPoco.txt
    │   │   │   ├── ControllerTest.txt
    │   │   │   ├── CrudVM.txt
    │   │   │   ├── HeaderFormat.txt
    │   │   │   ├── ImportVM.txt
    │   │   │   ├── ListVM.txt
    │   │   │   ├── Mvc
    │   │   │   │   ├── BatchDeleteView.txt
    │   │   │   │   ├── BatchEditView.txt
    │   │   │   │   ├── Controller.txt
    │   │   │   │   ├── CreateView.txt
    │   │   │   │   ├── DeleteView.txt
    │   │   │   │   ├── DetailsView.txt
    │   │   │   │   ├── EditView.txt
    │   │   │   │   ├── ImportView.txt
    │   │   │   │   └── ListView.txt
    │   │   │   ├── Searcher.txt
    │   │   │   └── Spa
    │   │   │       ├── Blazor
    │   │   │       │   ├── Controller.txt
    │   │   │       │   ├── Create.txt
    │   │   │       │   ├── Details.txt
    │   │   │       │   ├── Edit.txt
    │   │   │       │   ├── Import.txt
    │   │   │       │   └── Index.txt
    │   │   │       ├── Controller.txt
    │   │   │       ├── React
    │   │   │       │   ├── index.txt
    │   │   │       │   ├── store
    │   │   │       │   │   └── index.txt
    │   │   │       │   ├── style.txt
    │   │   │       │   └── views
    │   │   │       │       ├── action.txt
    │   │   │       │       ├── forms.txt
    │   │   │       │       ├── models.txt
    │   │   │       │       ├── other.txt
    │   │   │       │       ├── search.txt
    │   │   │       │       └── table.txt
    │   │   │       └── Vue
    │   │   │           ├── config.txt
    │   │   │           ├── index.txt
    │   │   │           ├── store
    │   │   │           │   ├── api.txt
    │   │   │           │   └── index.txt
    │   │   │           └── views
    │   │   │               └── dialog-form.txt
    │   │   ├── Helper
    │   │   │   ├── ActionDescriptionExtension.cs
    │   │   │   ├── ActionExecutingContextExtension.cs
    │   │   │   ├── FileExtension.cs
    │   │   │   ├── FrameworkServiceExtension.cs
    │   │   │   ├── FResult.cs
    │   │   │   ├── FResultExtension.cs
    │   │   │   ├── HttpContextExtention.cs
    │   │   │   ├── IconFontsHelper.cs
    │   │   │   ├── JwtRefreshJob.cs
    │   │   │   ├── ModelStateExtension.cs
    │   │   │   ├── ModelStateServiceProvider.cs
    │   │   │   ├── MvcOptionExtension.cs
    │   │   │   ├── SessionExtension.cs
    │   │   │   ├── SessionServiceProvider.cs
    │   │   │   ├── WtmContextOption.cs
    │   │   │   └── WtmMiddleware.cs
    │   │   ├── IBaseController.cs
    │   │   ├── Model
    │   │   │   └── Menu.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── _SetupController.cs
    │   │   ├── UEditor
    │   │   │   └── UEditorConfigJson.cs
    │   │   ├── Views
    │   │   │   ├── _CodeGen
    │   │   │   │   ├── Gen.cshtml
    │   │   │   │   ├── Index.cshtml
    │   │   │   │   ├── Preview.cshtml
    │   │   │   │   └── SetField.cshtml
    │   │   │   ├── _Framework
    │   │   │   │   └── Selector.cshtml
    │   │   │   └── _ViewImports.cshtml
    │   │   └── WalkingTec.Mvvm.Mvc.csproj
    │   └── WalkingTec.Mvvm.TagHelpers.LayUI
    │       ├── Abstraction
    │       │   ├── BaseButton.cs
    │       │   ├── BaseElementTag.cs
    │       │   └── BaseFieldTag.cs
    │       ├── ButtonTagHelper.cs
    │       ├── CardTagHelper.cs
    │       ├── Chart
    │       │   └── ChartTagHelper.cs
    │       ├── CodeTagHelper.cs
    │       ├── Common
    │       │   └── LayuiUIService.cs
    │       ├── ContainerTagHelper.cs
    │       ├── DataTableTagHelper.cs
    │       ├── Enums
    │       │   ├── DataTableSizeEnum.cs
    │       │   ├── DataTableSkinEnum.cs
    │       │   └── HttpMethodEnum.cs
    │       ├── Form
    │       │   ├── CheckBoxTagHelper.cs
    │       │   ├── CloseButtonTagHelper.cs
    │       │   ├── ColorPicker.cs
    │       │   ├── ComboBoxTagHelper.cs
    │       │   ├── DateTimeTagHelper.cs
    │       │   ├── DisplayTagHelper.cs
    │       │   ├── DownloadTemplateButtonTagHelper.cs
    │       │   ├── FieldSetTagHelper.cs
    │       │   ├── FormTagHelper.cs
    │       │   ├── HiddenTagHelper.cs
    │       │   ├── MultiUploadTagHelper.cs
    │       │   ├── RadioTagHelper.cs
    │       │   ├── ResetButtonTagHelper.cs
    │       │   ├── RichTextBox.cs
    │       │   ├── SearchPanelTagHelper.cs
    │       │   ├── SelectorTagHelper.cs
    │       │   ├── SliderTagHelper.cs
    │       │   ├── SubmitButtonTagHelper.cs
    │       │   ├── SwitchTagHelper.cs
    │       │   ├── TextAreaTagHelper.cs
    │       │   ├── TextBoxTagHelper.cs
    │       │   ├── TransferTagHelper.cs
    │       │   ├── UEditorTagHelper.cs
    │       │   └── UploadTagHelper.cs
    │       ├── ImageTagHelper.cs
    │       ├── LayuiServiceCollectionExtensions.cs
    │       ├── LinkButtonTagHelper.cs
    │       ├── Models
    │       │   ├── LayuiColumn.cs
    │       │   └── LayuiTreeItem.cs
    │       ├── PanelTagHelper.cs
    │       ├── Program.cs
    │       ├── QuoteTagHelper.cs
    │       ├── RowTagHelper.cs
    │       ├── TabTagHelper.cs
    │       ├── TreeContainerTagHelper.cs
    │       ├── TreeTagHelper.cs
    │       └── WalkingTec.Mvvm.TagHelpers.LayUI.csproj
    └── webscada-project.json

243 directories, 1270 files

标签:

实例下载地址

基于.NET6的跨平台物联网网关(IoTGateway)源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警