mirror of
https://gitee.com/ThingsGateway/ThingsGateway.git
synced 2025-10-21 19:14:30 +08:00
Compare commits
125 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
81fab2be08 | ||
![]() |
165b742782 | ||
![]() |
76fef9c807 | ||
![]() |
e69ea0b9dc | ||
![]() |
98d3183f2b | ||
![]() |
a29390a951 | ||
![]() |
6291ce8617 | ||
![]() |
c76b1b50a0 | ||
![]() |
cc45e2aec0 | ||
![]() |
17efebb8e8 | ||
![]() |
5c94c733ee | ||
![]() |
156b89dd9c | ||
![]() |
34ba9f67e7 | ||
![]() |
5ddaa6b872 | ||
![]() |
9043fa7f56 | ||
![]() |
4c8e487dc9 | ||
![]() |
d3b87179aa | ||
![]() |
2166de8331 | ||
![]() |
f0bc3f001f | ||
![]() |
50448e7085 | ||
![]() |
cd1d42353e | ||
![]() |
5e588bf737 | ||
![]() |
7ff777d178 | ||
![]() |
861621189a | ||
![]() |
dcc00e08fd | ||
![]() |
a1b8a47d4b | ||
![]() |
1fd6b5e239 | ||
![]() |
f91e45bf44 | ||
![]() |
0675a45592 | ||
![]() |
0c7c6ae451 | ||
![]() |
cf089e8c4c | ||
![]() |
90928ac679 | ||
![]() |
3bbcf71784 | ||
![]() |
222734775d | ||
![]() |
f23ee7a6e0 | ||
![]() |
5b075aa6d5 | ||
![]() |
80cd6b693e | ||
![]() |
04721a12b1 | ||
![]() |
64e22c0e46 | ||
![]() |
d5a70c5b08 | ||
![]() |
eaac7b6bcf | ||
![]() |
b062a491cd | ||
![]() |
1e868517bb | ||
![]() |
7b2a93a2d7 | ||
![]() |
f57f0447c6 | ||
![]() |
7126ff881e | ||
![]() |
e28da4b165 | ||
![]() |
92d9b91f7c | ||
![]() |
149c4a30c0 | ||
![]() |
84e62062ec | ||
![]() |
dc1fb74850 | ||
![]() |
00c6010789 | ||
![]() |
5d35c058e0 | ||
![]() |
1522a521f6 | ||
![]() |
6e11b885f9 | ||
![]() |
442ae6e0e8 | ||
![]() |
6b49e83464 | ||
![]() |
f1ecf13fe1 | ||
![]() |
83d1c8582b | ||
![]() |
179f6cd454 | ||
![]() |
91b1474ff0 | ||
![]() |
15aabc88a1 | ||
![]() |
afc0d3017d | ||
![]() |
9e0b1dc8aa | ||
![]() |
55b482fd26 | ||
![]() |
4f9c9a6566 | ||
![]() |
4725120ee9 | ||
![]() |
a288f50fbb | ||
![]() |
09cf2560a4 | ||
![]() |
16353de7b1 | ||
![]() |
eb5834cb5c | ||
![]() |
3ef5736aed | ||
![]() |
d2e7b77d16 | ||
![]() |
8f794bce75 | ||
![]() |
c33196a50a | ||
![]() |
6e8b5b431f | ||
![]() |
8ca3ecf17f | ||
![]() |
91f7db59ea | ||
![]() |
a0b4501352 | ||
![]() |
345047820a | ||
![]() |
ac3525a953 | ||
![]() |
c8c3f5b134 | ||
![]() |
51319c0718 | ||
![]() |
43399b8b47 | ||
![]() |
a6596042b7 | ||
![]() |
23ae85fc9c | ||
![]() |
2da54862f1 | ||
![]() |
f272fb0559 | ||
![]() |
bd04e33586 | ||
![]() |
b09b9752ca | ||
![]() |
a810a48158 | ||
![]() |
b4f5792aa8 | ||
![]() |
fdf0330b4f | ||
![]() |
ca73743082 | ||
![]() |
df0cde2cfd | ||
![]() |
5a8421e807 | ||
![]() |
025ac95d81 | ||
![]() |
71b5824fdc | ||
![]() |
1a907c0be7 | ||
![]() |
1635cabd32 | ||
![]() |
27946a5b0f | ||
![]() |
e141822fd0 | ||
![]() |
6326828a02 | ||
![]() |
96b5362491 | ||
![]() |
8ab91a51bc | ||
![]() |
35e7e7af18 | ||
![]() |
0e248a7302 | ||
![]() |
d5ce4d6600 | ||
![]() |
2365bb5e87 | ||
![]() |
2230216a7e | ||
![]() |
54f896d25f | ||
![]() |
e47d239caf | ||
![]() |
ac259958d7 | ||
![]() |
0505ad88a6 | ||
![]() |
b323de3383 | ||
![]() |
c0e023324b | ||
![]() |
495806d5e3 | ||
![]() |
3a9f745a2d | ||
![]() |
7b15d114a3 | ||
![]() |
6ac0f72169 | ||
![]() |
ff68030231 | ||
![]() |
d34361b6dd | ||
![]() |
56c6ebe523 | ||
![]() |
2c6d2e0eb4 | ||
![]() |
8e64196a8f |
35
README.md
35
README.md
@@ -14,9 +14,34 @@
|
||||
|
||||
[ThingsGateway](https://diego2098.gitee.io/thingsgateway-docs/) 文档。
|
||||
|
||||
### 插件列表
|
||||
|
||||
#### 采集插件
|
||||
| 插件名称 | 备注 |
|
||||
|-------|-------|
|
||||
| ModbusMaster | Rtu/Tcp报文格式,支持串口/Tcp/Udp链路 |
|
||||
| S7 | 西门子PLC S7系列 |
|
||||
| Dlt6452007 | Master,支持串口/Tcp/Udp链路 |
|
||||
| OpcDaClient | 64位编译 |
|
||||
| OpcUaClient | 支持证书登录,扩展对象Json读写 |
|
||||
|
||||
#### 业务插件
|
||||
| 插件名称 | 备注 |
|
||||
|-------|-------|
|
||||
| ModbusSlave | Rtu/Tcp报文格式,支持串口/Tcp/Udp链路,支持Rpc反写 |
|
||||
| OpcUaServer | OpcUa服务端,支持Rpc反写 |
|
||||
| Mqtt Client | Mqtt客户端,支持Rpc反写,脚本自定义上传内容 |
|
||||
| Mqtt Server | Mqtt服务端,支持WebSocket,支持Rpc反写,脚本自定义上传内容 |
|
||||
| Kafka Client | 数据生产,脚本自定义上传内容 |
|
||||
| RabbitMQ Client | 数据生产,脚本自定义上传内容 |
|
||||
| SqlDB | 关系数据库存储,支持历史存储和实时数据更新 |
|
||||
| SqlHisAlarm | 报警历史数据关系数据库存储 |
|
||||
| TDengineDB | 时序数据库存储 |
|
||||
| QuestDB | 时序数据库存储 |
|
||||
|
||||
## 协议
|
||||
|
||||
[ThingsGateway](https://gitee.com/diego2098/ThingsGateway) 采用 [Apache-2.0](https://gitee.com/diego2098/ThingsGateway/blob/master/LICENSE.zh) 开源协议。
|
||||
[ThingsGateway](https://gitee.com/diego2098/ThingsGateway) 采用 [Apache-2.0](https://gitee.com/diego2098/ThingsGateway/blob/master/LICENSE) 开源协议。
|
||||
|
||||
## 演示
|
||||
|
||||
@@ -28,11 +53,15 @@
|
||||
|
||||
## 赞助
|
||||
|
||||
[ThingsGateway赞助途径](https://diego2098.gitee.io/thingsgateway-docs/docs/donate)
|
||||
[ThingsGateway赞助途径](https://diego2098.gitee.io/thingsgateway-docs/docs/1000)
|
||||
|
||||
## 社区
|
||||
|
||||
QQ群:605534569
|
||||
QQ群:605534569 [跳转](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=NnBjPO-8kcNFzo_RzSbdICflb97u2O1i&authKey=V1MI3iJtpDMHc08myszP262kDykbx2Yev6ebE4Me0elTe0P0IFAmtU5l7Sy5w0jx&noverify=0&group_code=605534569)
|
||||
|
||||
## Pro插件
|
||||
|
||||
[插件列表](https://diego2098.gitee.io/thingsgateway-docs/docs/1001)
|
||||
|
||||
|
||||
|
||||
|
10
doc/build/404.html
vendored
10
doc/build/404.html
vendored
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/151b844f.36a86744.js
vendored
Normal file
1
doc/build/assets/js/151b844f.36a86744.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/151b844f.e187f6e8.js
vendored
1
doc/build/assets/js/151b844f.e187f6e8.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/81eecd89.9597c29c.js
vendored
Normal file
1
doc/build/assets/js/81eecd89.9597c29c.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/81eecd89.a0fb557e.js
vendored
1
doc/build/assets/js/81eecd89.a0fb557e.js
vendored
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/8bd707e2.2ab2561a.js
vendored
Normal file
1
doc/build/assets/js/8bd707e2.2ab2561a.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/8bd707e2.dba00460.js
vendored
1
doc/build/assets/js/8bd707e2.dba00460.js
vendored
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[]).push([[9626],{1166:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>r,contentTitle:()=>o,default:()=>p,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var s=a(7462),d=(a(7294),a(3905));a(4996),a(510),a(2969);const n={id:501,title:"\u5e38\u89c1\u95ee\u9898"},o=void 0,i={unversionedId:"501",id:"501",title:"\u5e38\u89c1\u95ee\u9898",description:"1\u3001Modbus\u5730\u5740\u53ef\u4ee5\u53ea\u5199\u5730\u57400\u5417\uff0c\u4e00\u5b9a\u8981\u5199\u6210\u7c7b\u4f3c400001?",source:"@site/docs/501.mdx",sourceDirName:".",slug:"/501",permalink:"/thingsgateway-docs/docs/501",draft:!1,editUrl:"https://gitee.com/diego2098/ThingsGateway/tree/master/doc/docs/501.mdx",tags:[],version:"current",lastUpdatedBy:"Kimdiego2098",lastUpdatedAt:1706078809,formattedLastUpdatedAt:"Jan 24, 2024",frontMatter:{id:"501",title:"\u5e38\u89c1\u95ee\u9898"},sidebar:"docs",previous:{title:"Linux\u670d\u52a1\u90e8\u7f72",permalink:"/thingsgateway-docs/docs/404"},next:{title:"\u811a\u672c\u5e38\u89c1\u95ee\u9898",permalink:"/thingsgateway-docs/docs/502"}},r={},l=[{value:"1\u3001Modbus\u5730\u5740\u53ef\u4ee5\u53ea\u5199\u5730\u57400\u5417\uff0c\u4e00\u5b9a\u8981\u5199\u6210\u7c7b\u4f3c400001?",id:"1modbus\u5730\u5740\u53ef\u4ee5\u53ea\u5199\u5730\u57400\u5417\u4e00\u5b9a\u8981\u5199\u6210\u7c7b\u4f3c400001",level:4},{value:"2\u3001\u6570\u636e\u5982\u4f55\u8bbe\u7f6e\u5c0f\u6570\u4f4d",id:"2\u6570\u636e\u5982\u4f55\u8bbe\u7f6e\u5c0f\u6570\u4f4d",level:4},{value:"3\u3001\u6e90\u7801\u6253\u5f00razor\u6587\u4ef6\u65f6\uff0c\u4e0d\u51fa\u73b0\u667a\u80fd\u63d0\u793a\uff0c\u6709waring\u8b66\u544a(\u6ce2\u6d6a\u7ebf)",id:"3\u6e90\u7801\u6253\u5f00razor\u6587\u4ef6\u65f6\u4e0d\u51fa\u73b0\u667a\u80fd\u63d0\u793a\u6709waring\u8b66\u544a\u6ce2\u6d6a\u7ebf",level:4}],u={toc:l},c="wrapper";function p(t){let{components:e,...a}=t;return(0,d.kt)(c,(0,s.Z)({},u,a,{components:e,mdxType:"MDXLayout"}),(0,d.kt)("h4",{id:"1modbus\u5730\u5740\u53ef\u4ee5\u53ea\u5199\u5730\u57400\u5417\u4e00\u5b9a\u8981\u5199\u6210\u7c7b\u4f3c400001"},"1\u3001Modbus\u5730\u5740\u53ef\u4ee5\u53ea\u5199\u5730\u57400\u5417\uff0c\u4e00\u5b9a\u8981\u5199\u6210\u7c7b\u4f3c400001?"),(0,d.kt)("p",null,"\u6309\u7167PLC Modbus\u5bc4\u5b58\u5668\u7684\u683c\u5f0f\uff0c\u4ee5\u533a\u57df\u53f7\u4e3a\u8d77\u59cb\u5b57\u7b26\uff0c\u540e\u7eed\u52a0\u4e0a\uff08\u5bc4\u5b58\u5668\u5730\u5740+1\uff09",(0,d.kt)("br",{parentName:"p"}),"\n","\u6240\u4ee5\u4e00\u5b9a\u8981\u5199\u6210400001"),(0,d.kt)("h4",{id:"2\u6570\u636e\u5982\u4f55\u8bbe\u7f6e\u5c0f\u6570\u4f4d"},"2\u3001\u6570\u636e\u5982\u4f55\u8bbe\u7f6e\u5c0f\u6570\u4f4d"),(0,d.kt)("p",null,"\u7f51\u5173\u63d0\u4f9b\u7075\u6d3b\u7684\u811a\u672c\u5f0f\u914d\u7f6e\u8f6c\u6362\uff0c\u53ef\u4ee5\u5728\u53d8\u91cf\u7684\u8bfb\u53d6\u8868\u8fbe\u5f0f\u4e2d\u8fdb\u884c\u914d\u7f6e\u8f6c\u6362\n\u5982\u679c\u8981\u8bbe\u7f6e\u5c0f\u6570\u4f4d\u4e3a2\uff0c\u53ef\u4ee5\u586b\u5165 "),(0,d.kt)("pre",null,(0,d.kt)("code",{parentName:"pre"},"Math.Round(raw, 2)\n")),(0,d.kt)("h4",{id:"3\u6e90\u7801\u6253\u5f00razor\u6587\u4ef6\u65f6\u4e0d\u51fa\u73b0\u667a\u80fd\u63d0\u793a\u6709waring\u8b66\u544a\u6ce2\u6d6a\u7ebf"},"3\u3001\u6e90\u7801\u6253\u5f00razor\u6587\u4ef6\u65f6\uff0c\u4e0d\u51fa\u73b0\u667a\u80fd\u63d0\u793a\uff0c\u6709waring\u8b66\u544a(\u6ce2\u6d6a\u7ebf)"),(0,d.kt)("p",null,"VS\u7684bug\u5bfc\u81f4\u7684\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u5347\u7ea7vs\uff0c\u628a\u5de5\u7a0b\u76ee\u5f55\u4e0b\u7684.vs\u6587\u4ef6\u5939\u5df2\u7ecf\u5168\u90e8\u7684bin OR obj \u5220\u9664\u540e\uff0c\u91cd\u65b0\u6253\u5f00\u89e3\u51b3\u65b9\u6848"))}p.isMDXComponent=!0}}]);
|
1
doc/build/assets/js/8d8968ad.0ae4c5c9.js
vendored
Normal file
1
doc/build/assets/js/8d8968ad.0ae4c5c9.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/8d8968ad.9b5283ec.js
vendored
1
doc/build/assets/js/8d8968ad.9b5283ec.js
vendored
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[]).push([[8976],{137:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>r,contentTitle:()=>o,default:()=>g,frontMatter:()=>i,metadata:()=>n,toc:()=>c});var a=s(7462),d=(s(7294),s(3905));s(4996),s(510),s(2969);const i={id:20005,title:"Dlt645"},o=void 0,n={unversionedId:"20005",id:"20005",title:"Dlt645",description:"",source:"@site/docs/20005.mdx",sourceDirName:".",slug:"/20005",permalink:"/thingsgateway-docs/docs/20005",draft:!1,editUrl:"https://gitee.com/diego2098/ThingsGateway/tree/master/doc/docs/20005.mdx",tags:[],version:"current",lastUpdatedBy:"Kimdiego2098",lastUpdatedAt:1705826523,formattedLastUpdatedAt:"Jan 21, 2024",frontMatter:{id:"20005",title:"Dlt645"},sidebar:"docs",previous:{title:"OpcUa",permalink:"/thingsgateway-docs/docs/20004"},next:{title:"\u8054\u7cfb\u6211\u4eec",permalink:"/thingsgateway-docs/docs/1002"}},r={},c=[],l={toc:c},p="wrapper";function g(t){let{components:e,...s}=t;return(0,d.kt)(p,(0,a.Z)({},l,s,{components:e,mdxType:"MDXLayout"}))}g.isMDXComponent=!0}}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
doc/build/assets/js/be30e93d.3dda046a.js
vendored
1
doc/build/assets/js/be30e93d.3dda046a.js
vendored
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[]).push([[7285],{6067:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>r,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>c});var a=s(7462),d=(s(7294),s(3905));s(4996),s(510),s(2969);const o={id:20001,title:"Modbus"},i=void 0,n={unversionedId:"20001",id:"20001",title:"Modbus",description:"",source:"@site/docs/20001.mdx",sourceDirName:".",slug:"/20001",permalink:"/thingsgateway-docs/docs/20001",draft:!1,editUrl:"https://gitee.com/diego2098/ThingsGateway/tree/master/doc/docs/20001.mdx",tags:[],version:"current",lastUpdatedBy:"Kimdiego2098",lastUpdatedAt:1705826523,formattedLastUpdatedAt:"Jan 21, 2024",frontMatter:{id:"20001",title:"Modbus"},sidebar:"docs",previous:{title:"\u4e1a\u52a1\u63d2\u4ef6\u5f00\u53d1",permalink:"/thingsgateway-docs/docs/602"},next:{title:"SiemensS7",permalink:"/thingsgateway-docs/docs/20002"}},r={},c=[],p={toc:c},l="wrapper";function u(t){let{components:e,...s}=t;return(0,d.kt)(l,(0,a.Z)({},p,s,{components:e,mdxType:"MDXLayout"}))}u.isMDXComponent=!0}}]);
|
1
doc/build/assets/js/be30e93d.932062b7.js
vendored
Normal file
1
doc/build/assets/js/be30e93d.932062b7.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10
doc/build/docs/1/index.html
vendored
10
doc/build/docs/1/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/100/index.html
vendored
10
doc/build/docs/100/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/1000/index.html
vendored
10
doc/build/docs/1000/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/10001/index.html
vendored
10
doc/build/docs/10001/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/1001/index.html
vendored
10
doc/build/docs/1001/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/1002/index.html
vendored
10
doc/build/docs/1002/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/101/index.html
vendored
10
doc/build/docs/101/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/102/index.html
vendored
10
doc/build/docs/102/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/103/index.html
vendored
10
doc/build/docs/103/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/104/index.html
vendored
10
doc/build/docs/104/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/105/index.html
vendored
10
doc/build/docs/105/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/106/index.html
vendored
10
doc/build/docs/106/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/2/index.html
vendored
10
doc/build/docs/2/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/200/index.html
vendored
10
doc/build/docs/200/index.html
vendored
File diff suppressed because one or more lines are too long
12
doc/build/docs/20001/index.html
vendored
12
doc/build/docs/20001/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/20002/index.html
vendored
10
doc/build/docs/20002/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/20003/index.html
vendored
10
doc/build/docs/20003/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/20004/index.html
vendored
10
doc/build/docs/20004/index.html
vendored
File diff suppressed because one or more lines are too long
12
doc/build/docs/20005/index.html
vendored
12
doc/build/docs/20005/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/201/index.html
vendored
10
doc/build/docs/201/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/202/index.html
vendored
10
doc/build/docs/202/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/203/index.html
vendored
10
doc/build/docs/203/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/204/index.html
vendored
10
doc/build/docs/204/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/205/index.html
vendored
10
doc/build/docs/205/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/206/index.html
vendored
10
doc/build/docs/206/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/301/index.html
vendored
10
doc/build/docs/301/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/302/index.html
vendored
10
doc/build/docs/302/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/303/index.html
vendored
10
doc/build/docs/303/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/304/index.html
vendored
10
doc/build/docs/304/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/305/index.html
vendored
10
doc/build/docs/305/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/306/index.html
vendored
10
doc/build/docs/306/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/307/index.html
vendored
10
doc/build/docs/307/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/308/index.html
vendored
10
doc/build/docs/308/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/309/index.html
vendored
10
doc/build/docs/309/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/400/index.html
vendored
10
doc/build/docs/400/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/401/index.html
vendored
10
doc/build/docs/401/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/402/index.html
vendored
10
doc/build/docs/402/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/403/index.html
vendored
10
doc/build/docs/403/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/404/index.html
vendored
10
doc/build/docs/404/index.html
vendored
File diff suppressed because one or more lines are too long
12
doc/build/docs/501/index.html
vendored
12
doc/build/docs/501/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/502/index.html
vendored
10
doc/build/docs/502/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/601/index.html
vendored
10
doc/build/docs/601/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/602/index.html
vendored
10
doc/build/docs/602/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/index.html
vendored
10
doc/build/docs/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/docs/upgrade/index.html
vendored
10
doc/build/docs/upgrade/index.html
vendored
File diff suppressed because one or more lines are too long
10
doc/build/index.html
vendored
10
doc/build/index.html
vendored
File diff suppressed because one or more lines are too long
2
doc/build/search-index.json
vendored
2
doc/build/search-index.json
vendored
File diff suppressed because one or more lines are too long
10
doc/build/search/index.html
vendored
10
doc/build/search/index.html
vendored
File diff suppressed because one or more lines are too long
@@ -26,6 +26,7 @@ ModbusMatser作为主站,主动采集Modbus从站协议的设备
|
||||
| Modbus协议类型 | modbusTcp/modbusRtu格式报文 | |
|
||||
| 默认站号 | 默认的mudbus站号id | **变量可单独配置站号** |
|
||||
| 无交互2min时断开连接 | 没有发送/收到消息 ,2分钟后断开连接 | 仅适用于TcpService链路(DTU模式)|
|
||||
| 心跳检测 | 大写16进制字符串,符合心跳内容会自动回应 | 仅适用于TcpService链路(DTU模式)|
|
||||
| 读写超时时间 | 读写超时时间 | 3000|
|
||||
| 连接超时时间 | 建立通讯链路的超时时间 | 3000|
|
||||
| 发送延时时间 | 在发送请求前的延时时间 | 0|
|
||||
@@ -67,3 +68,11 @@ Modbus PLC寄存器
|
||||
| w=15;10001 | 读取02功能码 ,写入15功能码 |
|
||||
| w=16;40001 | 读取03功能码 ,写入16功能码 |
|
||||
|
||||
- 3、Dtu注册(可选)
|
||||
|
||||
当需要指定Dtu客户端可使用,举例:
|
||||
|
||||
| 地址 | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| id=12;40001 | 读取03功能码 ,设备地址为默认,Dtu注册包为"12",注意是UTF8格式 |
|
||||
|
||||
|
@@ -7,3 +7,90 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import Tag from "@site/src/components/Tag.js";
|
||||
import Highlight from '@site/src/components/Highlight.js';
|
||||
|
||||
|
||||
|
||||
## 定义
|
||||
|
||||
程序集:[ThingsGateway.Foundation.Modbus](https://www.nuget.org/packages/ThingsGateway.Foundation.Modbus)
|
||||
|
||||
## 一、说明
|
||||
|
||||
**ThingsGateway.Foundation.Modbus**是对于Modbus协议的封装类库
|
||||
|
||||
支持Tcp/Rtu格式
|
||||
|
||||
支持多个通讯链路:Tcp/Udp/SerialPort
|
||||
|
||||
支持Dtu
|
||||
|
||||
## 二、Modbus主站
|
||||
|
||||
1、创建ModbusMaster
|
||||
|
||||
```
|
||||
/// <summary>
|
||||
/// 新建链路
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IChannel GetChannel()
|
||||
{
|
||||
TouchSocketConfig touchSocketConfig = new TouchSocketConfig();
|
||||
return touchSocketConfig.GetSerialPortWithOption(new("COM1")); //直接获取串口对象
|
||||
//return touchSocketConfig.GetChannel(ChannelTypeEnum.SerialPortClient, null, null, new("COM1"));//通过链路枚举获取对象
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新建协议对象
|
||||
/// </summary>
|
||||
/// <param name="channel"></param>
|
||||
/// <returns></returns>
|
||||
public IProtocol GetProtocol(IChannel channel)
|
||||
{
|
||||
var client = new ModbusMaster(channel);
|
||||
return client;
|
||||
}
|
||||
```
|
||||
2、读写操作
|
||||
|
||||
|
||||
```
|
||||
ModbusMaster modbusMasterTest = new ModbusMaster();
|
||||
var channel = modbusMasterTest.GetChannel();
|
||||
var protocol = modbusMasterTest.GetProtocol(channel);
|
||||
var data = await protocol.ReadDoubleAsync("400001"); //读取保持寄存器地址0
|
||||
|
||||
```
|
||||
|
||||
`400001`是PLC Modbus的地址表示方式,代表保持寄存器地址0
|
||||
|
||||
- 基本地址
|
||||
|
||||
Modbus PLC寄存器
|
||||
|
||||
| 地址 | 功能码 | 说明 |
|
||||
| ---------------| --------------|--------------------------|
|
||||
| 4xxxxx | 03 | 读取03功能码 |
|
||||
| 3xxxxx | 04 | 读取04功能码 |
|
||||
| 1xxxxx | 02 | 读取02功能码 |
|
||||
| 0xxxxx | 01 | 读取01功能码 |
|
||||
|
||||
- 站号(可选)
|
||||
|
||||
当需要指定站号地址时可使用,举例:
|
||||
|
||||
| 地址 | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| s=2;10001 | 读取02功能码 ,设备地址为2 |
|
||||
| s=11;40001 | 读取03功能码 ,设备地址为11 |
|
||||
|
||||
- Dtu注册(可选)
|
||||
|
||||
当需要指定Dtu客户端可使用,举例:
|
||||
|
||||
| 地址 | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| id=12;40001 | 读取03功能码 ,设备地址为默认,Dtu注册包为"12",注意是UTF8格式 |
|
||||
|
||||
|
||||
## 三、Modbus从站
|
||||
|
||||
|
@@ -7,3 +7,106 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import Tag from "@site/src/components/Tag.js";
|
||||
import Highlight from '@site/src/components/Highlight.js';
|
||||
|
||||
|
||||
## 定义
|
||||
|
||||
程序集:[ThingsGateway.Foundation.Dlt645](https://www.nuget.org/packages/ThingsGateway.Foundation.Dlt645)
|
||||
|
||||
## 一、说明
|
||||
|
||||
**ThingsGateway.Foundation.Dlt645**是对于Dlt645-2007协议的封装类库
|
||||
|
||||
支持多个通讯链路:Tcp/Udp/SerialPort
|
||||
|
||||
## 二、Dlt645-2007主站
|
||||
|
||||
1、创建Dlt645Master
|
||||
|
||||
```
|
||||
/// <summary>
|
||||
/// 新建链路
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IChannel GetChannel()
|
||||
{
|
||||
TouchSocketConfig touchSocketConfig = new TouchSocketConfig();
|
||||
return touchSocketConfig.GetSerialPortWithOption(new("COM1")); //直接获取串口对象
|
||||
//return touchSocketConfig.GetChannel(ChannelTypeEnum.SerialPortClient, null, null, new("COM1"));//通过链路枚举获取对象
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新建协议对象
|
||||
/// </summary>
|
||||
/// <param name="channel"></param>
|
||||
/// <returns></returns>
|
||||
public IProtocol GetProtocol(IChannel channel)
|
||||
{
|
||||
var client = new Dlt645_2007Master(channel);
|
||||
client.Station = "311111111114";//表号
|
||||
return client;
|
||||
}
|
||||
```
|
||||
2、读写操作
|
||||
|
||||
|
||||
```
|
||||
Dlt645MasterTest dlt645MasterTest = new Dlt645MasterTest();
|
||||
var channel = dlt645MasterTest.GetChannel();
|
||||
var protocol = dlt645MasterTest.GetProtocol(channel);
|
||||
var data = await protocol.ReadDoubleAsync("02010100"); //读取A相电压
|
||||
|
||||
```
|
||||
|
||||
`02010100`是Dlt645中的地址表示方式,代表A相电压,请查看相关协议文档,可在源码附件中找到文档
|
||||
|
||||
- 基本地址
|
||||
|
||||
|
||||
| 地址 | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| 02010100 | 读取02010100(A相电压) |
|
||||
|
||||
参考DLT2007协议文档数据标识,可在插件源码中找到附件
|
||||
|
||||
- 站号(可选)
|
||||
|
||||
当需要指定站号地址时可使用,举例:
|
||||
|
||||
| 地址 | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| s=111111111111;02010100 | 读取02010100 ,设备地址为111111111111 |
|
||||
|
||||
- Dtu注册(可选)
|
||||
|
||||
当需要指定Dtu客户端可使用,举例:
|
||||
|
||||
| 地址 | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| id=12;40001 | 读取03功能码 ,设备地址为默认,Dtu注册包为"12",注意是UTF8格式 |
|
||||
|
||||
|
||||
3、其他方法
|
||||
|
||||
修改密码
|
||||
|
||||
```
|
||||
var result = await protocol.WritePasswordAsync(level, oldPassword, newPassword);
|
||||
```
|
||||
|
||||
更改表号
|
||||
|
||||
```
|
||||
var result = await protocol.WriteDeviceStationAsync(station);
|
||||
```
|
||||
|
||||
修改波特率
|
||||
|
||||
```
|
||||
var result = await protocol.WriteBaudRateAsync(baudRate);
|
||||
```
|
||||
|
||||
读取表号
|
||||
|
||||
```
|
||||
var result = await protocol.ReadDeviceStationAsync;
|
||||
```
|
||||
|
@@ -22,6 +22,7 @@ Dlt645Master作为主站,主动采集Dlt645协议的设备
|
||||
| 属性 | 说明 | 备注|
|
||||
| ---------------| --------------------------| ---|
|
||||
| 无交互2min时断开连接 | 没有发送/收到消息 ,2分钟后断开连接 | 仅适用于TcpService链路(DTU模式)|
|
||||
| 心跳检测 | 大写16进制字符串,符合心跳内容会自动回应 | 仅适用于TcpService链路(DTU模式)|
|
||||
| 读写超时时间 | 读写超时时间 | 3000|
|
||||
| 连接超时时间 | 建立通讯链路的超时时间 | 3000|
|
||||
| 发送延时时间 | 在发送请求前的延时时间 | 0|
|
||||
@@ -54,6 +55,15 @@ Dlt645Master作为主站,主动采集Dlt645协议的设备
|
||||
| ---------------| --------------------------|
|
||||
| s=111111111111;02010100 | 读取02010100 ,设备地址为111111111111 |
|
||||
|
||||
- 3、Dtu注册(可选)
|
||||
|
||||
当需要指定Dtu客户端可使用,举例:
|
||||
|
||||
| 地址 | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| id=12;02010100 | 读取02010100 ,设备地址为默认,Dtu注册包为"12",注意是UTF8格式 |
|
||||
|
||||
|
||||
:::tip `说明`
|
||||
|
||||
注意DLT645协议中,所有的变量都支持String!
|
||||
|
31
doc/docs/30001.mdx
Normal file
31
doc/docs/30001.mdx
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
id: 30001
|
||||
title: 串口
|
||||
---
|
||||
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import Tag from "@site/src/components/Tag.js";
|
||||
import Highlight from '@site/src/components/Highlight.js';
|
||||
|
||||
### 前言
|
||||
|
||||
串口使用一个称为串行通信协议的协议来管理数据传输。串行通信协议在数据传输期间控制数据流,包括起始位、数据位、波特率、校验位和停止位等。
|
||||
下面每个名称做一个简单的解释。
|
||||
|
||||
``波特率``是指串口通信中每秒传输的二进制位数
|
||||
``起始位``是1位时间、值为0的位。
|
||||
``数据位``通常可能为1位、1.5位、2位时间。
|
||||
``校验位``是1位时间,根据校验方式确定验证值,比如奇校验时,计算数据位中的值为1的个数,如果是奇数,则为1,否则应为0
|
||||
``停止位``通常可能为1位、1.5位、2位时间。停止位是值为1的位。停止位代表着数据传输结束。
|
||||
|
||||
线路路空闲或者数据传输结束时,值总是1。
|
||||
对于正逻辑的TTL电平,值为1是高电平,对于负逻辑(如RS-232电平)则相反。
|
||||
|
||||
单看文字很难理解具体含义,所以我们看图说话,下面这张串口示波器图清晰的表现出二进制的传输原理
|
||||
|
||||
<img src={require("@site/static/img/docs/串口1.png").default} />
|
||||
|
||||
|
||||
如上图,可以看出2进制是 起始``1``、数据(右到左)``01010101``、停止``0`` ,那么解析出来的数据就是``0x55``
|
||||
|
||||
看到这里,相信大家都对串口知识有了一定的理解,这些基础知识对于c#工程师看似没有必要,但可以让你的实际调试开发工作更加得心应手
|
@@ -25,3 +25,23 @@ Math.Round(raw, 2)
|
||||
|
||||
VS的bug导致的,可以尝试升级vs,把工程目录下的.vs文件夹已经全部的bin OR obj 删除后,重新打开解决方案
|
||||
|
||||
#### 4、报警属性中的报警约束如何定义
|
||||
|
||||
报警约束和变量表达式类似,填入脚本,返回值为true时,报警生效
|
||||
|
||||
|
||||
```csharp
|
||||
|
||||
//新建testInt1,testInt2两个变量
|
||||
|
||||
//在testInt1的高高报警值为1,开启使能
|
||||
//在testInt1的高高报警约束中定义testInt2>10
|
||||
|
||||
|
||||
//testInt1为8,testInt2为11时,产生testInt1报警
|
||||
//testInt1为8,testInt2为10时,不会产生testInt1报警
|
||||
```
|
||||
|
||||
#### 5、启动项目之后,驱动调试页面没有任何信息,设备选择插件时也不出现任何选择项
|
||||
|
||||
网关插件未编译,需要编译解决方案,查看入门指南;或者插件未能成功拷贝到插件目录(Plugins)
|
@@ -7,3 +7,32 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import Tag from "@site/src/components/Tag.js";
|
||||
import Highlight from '@site/src/components/Highlight.js';
|
||||
|
||||
## 说明
|
||||
|
||||
ThingsGateway封装了丰富的协议解析方法,方便开发多种PLC通讯插件
|
||||
下面我们以Omron FinsTcp/Udp为例,讲解如何基于ThingsGateway开发一个**通用驱动**以及ThingsGateway插件
|
||||
|
||||
## 一、协议解析
|
||||
|
||||
`Fins` 协议是OSI模型第7层上的应用层报文传输协议,我们画一个简单的应用层协议报文解析图
|
||||
|
||||
| Fins over TCP | Fins over UDP |
|
||||
| ---------------| --------------------------|
|
||||
| FinsTCP Header | None |
|
||||
| FinsUDP Header | FinsUDP Header |
|
||||
| Command Data |Command Data |
|
||||
|
||||
|
||||
可以看出,基于Tcp的Fins和基于Udp的Fins协议,差别只是Tcp连接时会加一个FinsTcp报文头。
|
||||
下面我们进行每个部分的说明
|
||||
|
||||
|
||||
### 1、FinsTCP Header
|
||||
|
||||
FinsTcp头部固定为16个字节
|
||||
|
||||
| FinsTCP Header | 说明 |
|
||||
| ---------------| --------------------------|
|
||||
| Magic | 固定0x46494E53,也就是FINS字符串的ASCII码 |
|
||||
| Length | 后续全部字节的长度 |
|
||||
| Command | 0是客户端请求握手,1是服务端返回握手信息,除0,1外是其他方法 |
|
||||
|
@@ -42,7 +42,11 @@ module.exports = {
|
||||
position: "left",
|
||||
to: "docs/upgrade"
|
||||
},
|
||||
|
||||
{
|
||||
label: "演示",
|
||||
position: "right",
|
||||
href: "http://120.24.62.140:5000",
|
||||
},
|
||||
{
|
||||
label: "源码",
|
||||
position: "right",
|
||||
|
@@ -274,6 +274,20 @@ module.exports = {
|
||||
},
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
type: "category",
|
||||
label: "协议开发教程",
|
||||
items: [
|
||||
{
|
||||
type: "doc",
|
||||
label: "基础知识",
|
||||
id: "30001",
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
type: "category",
|
||||
label: "技术支持/合作",
|
||||
|
BIN
doc/static/img/docs/串口1.png
vendored
Normal file
BIN
doc/static/img/docs/串口1.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 430 KiB |
@@ -2,11 +2,10 @@
|
||||
<PropertyGroup>
|
||||
<NoWarn>CS8618;CS8625;CS8600;CS8601;CS8604;CS8714;CS8602;CS8603;CS8619;CS8621</NoWarn>
|
||||
<TargetFrameworks>net6.0;</TargetFrameworks>
|
||||
<!--<TargetFrameworks>net6.0;</TargetFrameworks>-->
|
||||
<LangVersion>11.0</LangVersion>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version>5.0.0.6</Version>
|
||||
<Version>5.0.2.0</Version>
|
||||
<Authors>Diego</Authors>
|
||||
<Company>Diego</Company>
|
||||
<Product>Diego</Product>
|
||||
|
@@ -14,7 +14,11 @@
|
||||
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
||||
<OutputPath></OutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
||||
<DebugSymbols>True</DebugSymbols>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<EmbedAllSources>True</EmbedAllSources>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(SolutionDir)Foundation.props" Pack="true" PackagePath="\" />
|
||||
</ItemGroup>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0;net7.0;net8.0;</TargetFrameworks>
|
||||
<TargetFrameworks>net6.0;</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
extensions: .cs
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
@@ -11,4 +10,3 @@ extensions: .cs
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ThingsGateway.Admin.ApiController;
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
global using Furion.DynamicApiController;
|
||||
|
||||
global using System;
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
using Furion.Reflection;
|
||||
using Furion.Reflection.Extensions;
|
||||
|
||||
|
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"Demo": {
|
||||
"IsDemo": false,
|
||||
"UpPWEnable": false //是否允许修改密码
|
||||
}
|
||||
}
|
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"Demo": {
|
||||
"IsDemo": false,
|
||||
"UpPWEnable": false //是否允许修改密码
|
||||
}
|
||||
}
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,5 +1,3 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
public class SimpleAdminConst
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
||||
/// <summary>
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#region copyright
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||||
@@ -10,8 +8,6 @@
|
||||
// QQ群:605534569
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace ThingsGateway.Admin.Application;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user