Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
PastureGateway
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
steven.sha
PastureGateway
Commits
38a1531c
Commit
38a1531c
authored
Jun 17, 2019
by
shaxuezheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add AutoControl
parent
c60c7f7f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
360 additions
and
121 deletions
+360
-121
OperIni.cs
ModbusDemo/Common/OperIni.cs
+67
-0
ModbusDemo.csproj
ModbusDemo/ModbusDemo.csproj
+23
-20
ModualPoll.cs
ModbusDemo/Modular/ModualPoll.cs
+2
-2
AutoControl.cs
ModbusDemo/application/AutoControl.cs
+110
-0
InIHelper.cs
ModbusDemo/application/InIHelper.cs
+61
-0
Form1.Designer.cs
ModbusDemo/windows/Form1.Designer.cs
+63
-89
Form1.cs
ModbusDemo/windows/Form1.cs
+34
-10
No files found.
ModbusDemo/Common/OperIni.cs
0 → 100644
View file @
38a1531c
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Runtime.InteropServices
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
ModbusDemo.Common
{
public
class
OperIni
{
public
string
Path
;
public
OperIni
(
string
path
)
{
this
.
Path
=
path
;
}
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="section">节点名称[如[TypeName]]</param>
/// <param name="key">键</param>
/// <param name="val">值</param>
/// <param name="filepath">文件路径</param>
/// <returns></returns>
[
DllImport
(
"kernel32"
)]
private
static
extern
long
WritePrivateProfileString
(
string
section
,
string
key
,
string
val
,
string
filepath
);
/// <summary>
/// 读取INI文件
/// </summary>
/// <param name="section">节点名称</param>
/// <param name="key">键</param>
/// <param name="def">值</param>
/// <param name="retval">stringbulider对象</param>
/// <param name="size">字节大小</param>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
[
DllImport
(
"kernel32"
)]
private
static
extern
int
GetPrivateProfileString
(
string
section
,
string
key
,
string
def
,
StringBuilder
retval
,
int
size
,
string
filePath
);
/// <summary>
/// 写入
/// </summary>
/// <param name="section"></param>
/// <param name="key"></param>
/// <param name="iValue"></param>
public
void
WriteContentValue
(
string
section
,
string
key
,
string
iValue
)
{
WritePrivateProfileString
(
section
,
key
,
iValue
,
this
.
Path
);
}
/// <summary>
/// 读取INI文件中的内容方法
/// </summary>
/// <param name="Section">键</param>
/// <param name="key">值</param>
/// <returns></returns>
public
string
ReadContentValue
(
string
Section
,
string
key
)
{
StringBuilder
temp
=
new
StringBuilder
(
1024
);
GetPrivateProfileString
(
Section
,
key
,
""
,
temp
,
1024
,
this
.
Path
);
return
temp
.
ToString
();
}
}
}
ModbusDemo/ModbusDemo.csproj
View file @
38a1531c
...
@@ -2,20 +2,6 @@
...
@@ -2,20 +2,6 @@
<Project
ToolsVersion=
"12.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<Project
ToolsVersion=
"12.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<PropertyGroup>
<PropertyGroup>
<SSDTUnitTestPath
Condition=
"'$(SSDTUnitTestPath)' == ''"
>
$(VsInstallRoot)\Common7\IDE\Extensions\Microsoft\SQLDB
</SSDTUnitTestPath>
<SSDTUnitTestPath
Condition=
"'$(SSDTUnitTestPath)' == ''"
>
$(VsInstallRoot)\Common7\IDE\Extensions\Microsoft\SQLDB
</SSDTUnitTestPath>
<PublishUrl>
publish\
</PublishUrl>
<Install>
true
</Install>
<InstallFrom>
Disk
</InstallFrom>
<UpdateEnabled>
false
</UpdateEnabled>
<UpdateMode>
Foreground
</UpdateMode>
<UpdateInterval>
7
</UpdateInterval>
<UpdateIntervalUnits>
Days
</UpdateIntervalUnits>
<UpdatePeriodically>
false
</UpdatePeriodically>
<UpdateRequired>
false
</UpdateRequired>
<MapFileExtensions>
true
</MapFileExtensions>
<ApplicationRevision>
0
</ApplicationRevision>
<ApplicationVersion>
1.0.0.%2a
</ApplicationVersion>
<UseApplicationTrust>
false
</UseApplicationTrust>
<BootstrapperEnabled>
true
</BootstrapperEnabled>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup>
<PropertyGroup>
<SSDTPath
Condition=
"'$(SSDTPath)' == ''"
>
$(VsInstallRoot)\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130
</SSDTPath>
<SSDTPath
Condition=
"'$(SSDTPath)' == ''"
>
$(VsInstallRoot)\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130
</SSDTPath>
...
@@ -36,6 +22,20 @@
...
@@ -36,6 +22,20 @@
<FileAlignment>
512
</FileAlignment>
<FileAlignment>
512
</FileAlignment>
<IsWebBootstrapper>
false
</IsWebBootstrapper>
<IsWebBootstrapper>
false
</IsWebBootstrapper>
<TargetFrameworkProfile
/>
<TargetFrameworkProfile
/>
<PublishUrl>
publish\
</PublishUrl>
<Install>
true
</Install>
<InstallFrom>
Disk
</InstallFrom>
<UpdateEnabled>
false
</UpdateEnabled>
<UpdateMode>
Foreground
</UpdateMode>
<UpdateInterval>
7
</UpdateInterval>
<UpdateIntervalUnits>
Days
</UpdateIntervalUnits>
<UpdatePeriodically>
false
</UpdatePeriodically>
<UpdateRequired>
false
</UpdateRequired>
<MapFileExtensions>
true
</MapFileExtensions>
<ApplicationRevision>
0
</ApplicationRevision>
<ApplicationVersion>
1.0.0.%2a
</ApplicationVersion>
<UseApplicationTrust>
false
</UseApplicationTrust>
<BootstrapperEnabled>
true
</BootstrapperEnabled>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "
>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "
>
<PlatformTarget>
x86
</PlatformTarget>
<PlatformTarget>
x86
</PlatformTarget>
...
@@ -78,6 +78,7 @@
...
@@ -78,6 +78,7 @@
<HintPath>
..\packages\NModbus4.2.1.0\lib\net40\NModbus4.dll
</HintPath>
<HintPath>
..\packages\NModbus4.2.1.0\lib\net40\NModbus4.dll
</HintPath>
</Reference>
</Reference>
<Reference
Include=
"System"
/>
<Reference
Include=
"System"
/>
<Reference
Include=
"System.Core"
/>
<Reference
Include=
"System.Xml.Linq"
/>
<Reference
Include=
"System.Xml.Linq"
/>
<Reference
Include=
"System.Data.DataSetExtensions"
/>
<Reference
Include=
"System.Data.DataSetExtensions"
/>
<Reference
Include=
"Microsoft.CSharp"
/>
<Reference
Include=
"Microsoft.CSharp"
/>
...
@@ -88,12 +89,14 @@
...
@@ -88,12 +89,14 @@
<Reference
Include=
"System.Xml"
/>
<Reference
Include=
"System.Xml"
/>
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<Compile
Include=
"application\AutoControl.cs"
/>
<Compile
Include=
"application\InIHelper.cs"
/>
<Compile
Include=
"application\PoolModbusSet.cs"
/>
<Compile
Include=
"application\PoolModbusSet.cs"
/>
<Compile
Include=
"application\ModbusToPool.cs"
/>
<Compile
Include=
"application\ModbusToPool.cs"
/>
<Compile
Include=
"application\Pond.cs"
/>
<Compile
Include=
"application\Pond.cs"
/>
<Compile
Include=
"application\UsThread.cs"
/>
<Compile
Include=
"application\UsThread.cs"
/>
<Compile
Include=
"Common\ModualAlarm.cs"
/>
<Compile
Include=
"Common\ModualAlarm.cs"
/>
<Compile
Include=
"
MessageFormat\ModualControl
.cs"
/>
<Compile
Include=
"
Common\OperIni
.cs"
/>
<Compile
Include=
"MessageFormat\ModbusComm.cs"
/>
<Compile
Include=
"MessageFormat\ModbusComm.cs"
/>
<Compile
Include=
"Modular\414P.cs"
/>
<Compile
Include=
"Modular\414P.cs"
/>
<Compile
Include=
"Modular\478C.cs"
/>
<Compile
Include=
"Modular\478C.cs"
/>
...
@@ -167,11 +170,11 @@
...
@@ -167,11 +170,11 @@
<ItemGroup
/>
<ItemGroup
/>
<Import
Project=
"$(MSBuildToolsPath)\Microsoft.CSharp.targets"
/>
<Import
Project=
"$(MSBuildToolsPath)\Microsoft.CSharp.targets"
/>
<PropertyGroup>
<PropertyGroup>
<
!-- <SsdtUnitTestVersion>3.1</SsdtUnitTestVersion> --
>
<
SsdtUnitTestVersion>
3.1
</SsdtUnitTestVersion
>
<!-- </PropertyGroup> --
>
</PropertyGroup
>
<!-- <Import Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets" Condition="$(VisualStudioVersion) != '15.0' And '$(SQLDBExtensionsRefPath)' != ''" /> --
>
<Import
Project=
"$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets"
Condition=
"$(VisualStudioVersion) != '15.0' And '$(SQLDBExtensionsRefPath)' != ''"
/
>
<!-- <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets" Condition="$(VisualStudioVersion) != '15.0' And '$(SQLDBExtensionsRefPath)' == ''" /> --
>
<Import
Project=
"$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets"
Condition=
"$(VisualStudioVersion) != '15.0' And '$(SQLDBExtensionsRefPath)' == ''"
/
>
<!-- <PropertyGroup> --
>
<PropertyGroup
>
<SsdtUnitTestVersion>
3.1
</SsdtUnitTestVersion>
<SsdtUnitTestVersion>
3.1
</SsdtUnitTestVersion>
</PropertyGroup>
</PropertyGroup>
<Import
Project=
"$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets"
Condition=
"$(VisualStudioVersion) != '15.0' And '$(SQLDBExtensionsRefPath)' != ''"
/>
<Import
Project=
"$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets"
Condition=
"$(VisualStudioVersion) != '15.0' And '$(SQLDBExtensionsRefPath)' != ''"
/>
...
...
ModbusDemo/Modular/ModualPoll.cs
View file @
38a1531c
...
@@ -70,8 +70,8 @@ namespace ModbusDemo.Modular
...
@@ -70,8 +70,8 @@ namespace ModbusDemo.Modular
public
static
modual
.
pcx78C
cx78c
=
new
modual
.
pcx78C
(
byX78cIdlist
);
public
static
modual
.
pcx78C
cx78c
=
new
modual
.
pcx78C
(
byX78cIdlist
);
#if DEBUG_TEST
#if DEBUG_TEST
public
const
byte
byX66cNumber
=
2
;
public
const
byte
byX66cNumber
=
3
;
public
static
byte
[]
byX66cIdlist
=
{
16
,
31
};
public
static
byte
[]
byX66cIdlist
=
{
16
,
31
,
35
};
#else
#else
public
const
byte
byX66cNumber
=
32
;
public
const
byte
byX66cNumber
=
32
;
public
static
byte
[]
byX66cIdlist
=
{
4
,
5
,
7
,
8
,
9
,
10
,
14
,
15
,
19
,
22
,
23
,
24
,
26
,
30
,
32
,
36
,
37
,
38
,
40
,
41
,
42
,
43
,
44
,
46
,
47
,
48
,
49
,
50
,
51
,
52
,
54
,
57
};
public
static
byte
[]
byX66cIdlist
=
{
4
,
5
,
7
,
8
,
9
,
10
,
14
,
15
,
19
,
22
,
23
,
24
,
26
,
30
,
32
,
36
,
37
,
38
,
40
,
41
,
42
,
43
,
44
,
46
,
47
,
48
,
49
,
50
,
51
,
52
,
54
,
57
};
...
...
ModbusDemo/application/AutoControl.cs
0 → 100644
View file @
38a1531c
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
ModbusDemo.windows
;
using
ModbusDemo.Modular
;
namespace
ModbusDemo.application
{
public
class
AutoControl
{
//Automatic Control Enablation
//Startcontrol MAX
//stopcontrol Min
//modbuspolling ——water level
//工作状态
public
class
Status
{
public
bool
Beyond_the_limit
;
//超出极限值
public
bool
normal
;
//正常·工作中
public
bool
Minimum_Early_Warning
;
//低值预警
}
public
class
Control
:
Status
{
public
bool
Enablation
;
public
float
maxLevel
;
public
float
minLevel
;
public
float
DifferenceValue
;
public
double
realTimeLevel
;
public
bool
status
;
public
string
Name
;
public
double
StatusTime
;
}
public
static
void
CriticalValueMonitoring
(
bool
Enabl
,
double
MaxLevel
,
double
MinLevel
,
double
ActualValue
,
string
Affiliation
,
out
Control
control
)
{
System
.
Diagnostics
.
Stopwatch
stopwatch
=
new
System
.
Diagnostics
.
Stopwatch
();
Control
usControl
=
new
Control
{
Enablation
=
Enabl
,
realTimeLevel
=
ActualValue
,
Name
=
Affiliation
};
if
(
usControl
.
Enablation
==
true
)
{
if
(
MaxLevel
!=
0.0
&&
MinLevel
!=
0.0
)
{
InIHelper
.
WriteConfig
(
"MaxLevel"
,
Affiliation
,
MaxLevel
.
ToString
());
InIHelper
.
WriteConfig
(
"MinLevel"
,
Affiliation
,
MinLevel
.
ToString
());
usControl
.
maxLevel
=
InIHelper
.
ReadConfig
<
float
>(
"MaxLevel"
,
Affiliation
);
usControl
.
minLevel
=
InIHelper
.
ReadConfig
<
float
>(
"MinLevel"
,
Affiliation
);
}
else
{
usControl
.
maxLevel
=
InIHelper
.
ReadConfig
<
float
>(
"MaxLevel"
,
Affiliation
);
usControl
.
minLevel
=
InIHelper
.
ReadConfig
<
float
>(
"MinLevel"
,
Affiliation
);
}
usControl
.
realTimeLevel
=
Meanfilter
(
usControl
.
realTimeLevel
);
//实时值
usControl
.
DifferenceValue
=
usControl
.
maxLevel
-
usControl
.
minLevel
;
//极值差
if
(
usControl
.
realTimeLevel
>
usControl
.
maxLevel
)
{
usControl
.
status
=
true
;
usControl
.
Beyond_the_limit
=
true
;
}
else
if
(
usControl
.
realTimeLevel
<
usControl
.
maxLevel
&&
usControl
.
realTimeLevel
>
(
usControl
.
minLevel
+
usControl
.
minLevel
*
0.15
))
{
usControl
.
status
=
true
;
usControl
.
normal
=
true
;
}
if
(
usControl
.
realTimeLevel
<
(
usControl
.
minLevel
-
usControl
.
minLevel
*
0.1
))
{
usControl
.
status
=
false
;
usControl
.
Minimum_Early_Warning
=
true
;
}
if
(
usControl
.
status
==
true
)
{
stopwatch
.
Start
();
// 开始监视运行时间
}
else
{
stopwatch
.
Stop
();
// 停止监视
}
TimeSpan
timespan
=
stopwatch
.
Elapsed
;
// 获取当前实例测量得出的总时间
//double hours = timespan.TotalHours; // 总小时
usControl
.
StatusTime
=
timespan
.
TotalMinutes
;
// 总分钟
//usControl.StatusTime = timespan.TotalSeconds; // 总秒数
usControl
.
StatusTime
=
timespan
.
TotalMilliseconds
;
// 总毫秒数
}
control
=
usControl
;
}
public
static
double
Meanfilter
(
double
Value
)
{
double
[]
MeanValue
=
new
double
[
10
];
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
MeanValue
[
i
]
=
Value
;
}
Value
=
MeanValue
[
0
]
*
0.1
+
MeanValue
[
5
]
*
0.3
+
MeanValue
[
9
]
*
0.6
;
return
Value
;
}
}
}
ModbusDemo/application/InIHelper.cs
0 → 100644
View file @
38a1531c
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows.Forms
;
using
ModbusDemo.Common
;
namespace
ModbusDemo.application
{
public
class
InIHelper
{
private
static
string
FileName
=
Application
.
StartupPath
+
"\\AppConfig.ini"
;
/// <summary>
/// 读取配置文件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="section"></param>
/// <param name="key"></param>
/// <returns></returns>
public
static
T
ReadConfig
<
T
>(
string
section
,
string
key
)
{
if
(
File
.
Exists
(
FileName
))
{
OperIni
f
=
new
OperIni
(
FileName
);
string
value
=
f
.
ReadContentValue
(
section
,
key
);
if
(
String
.
IsNullOrWhiteSpace
(
value
))
return
default
(
T
);
if
(
typeof
(
T
).
IsEnum
)
return
(
T
)
Enum
.
Parse
(
typeof
(
T
),
value
,
true
);
return
(
T
)
Convert
.
ChangeType
(
value
,
typeof
(
T
));
}
else
{
return
default
(
T
);
}
}
/// <summary>
/// 写配置文件
/// </summary>
/// <param name="section"></param>
/// <param name="key"></param>
/// <param name="value"></param>
public
static
void
WriteConfig
(
string
section
,
string
key
,
string
value
)
{
//如果文件不存在,则创建
if
(!
File
.
Exists
(
FileName
))
{
using
(
FileStream
myFs
=
new
FileStream
(
FileName
,
FileMode
.
Create
))
{
}
}
OperIni
f
=
new
OperIni
(
FileName
);
f
.
WriteContentValue
(
section
,
key
,
value
);
}
}
}
ModbusDemo/windows/Form1.Designer.cs
View file @
38a1531c
This diff is collapsed.
Click to expand it.
ModbusDemo/windows/Form1.cs
View file @
38a1531c
...
@@ -63,6 +63,9 @@ namespace ModbusDemo
...
@@ -63,6 +63,9 @@ namespace ModbusDemo
t_UpgradeConn
=
new
Thread
(
UpgradeProc
);
t_UpgradeConn
=
new
Thread
(
UpgradeProc
);
t_UpgradeConn
.
IsBackground
=
true
;
t_UpgradeConn
.
IsBackground
=
true
;
t_UpgradeConn
.
Start
();
t_UpgradeConn
.
Start
();
Thread
AutoControl
=
new
Thread
(
Auto_Control
);
AutoControl
.
Start
();
}
}
private
void
Form1_FormClosed
(
object
sender
,
FormClosedEventArgs
e
)
private
void
Form1_FormClosed
(
object
sender
,
FormClosedEventArgs
e
)
{
{
...
@@ -412,7 +415,7 @@ namespace ModbusDemo
...
@@ -412,7 +415,7 @@ namespace ModbusDemo
totxt
.
Log
(
$">> Payload =
{
Encoding
.
UTF8
.
GetString
(
e
.
ApplicationMessage
.
Payload
)}{
Environment
.
NewLine
}
"
);
totxt
.
Log
(
$">> Payload =
{
Encoding
.
UTF8
.
GetString
(
e
.
ApplicationMessage
.
Payload
)}{
Environment
.
NewLine
}
"
);
stConvertString
=
Encoding
.
UTF8
.
GetString
(
e
.
ApplicationMessage
.
Payload
);
stConvertString
=
Encoding
.
UTF8
.
GetString
(
e
.
ApplicationMessage
.
Payload
);
Console
.
WriteLine
(
stConvertString
);
Console
.
WriteLine
(
stConvertString
);
ModualControl
.
vGetaWay_Receive_Control
(
stConvertString
);
//
ModualControl.vGetaWay_Receive_Control(stConvertString);
Ctrl
ctrl
=
JsonConvert
.
DeserializeObject
<
Ctrl
>(
Encoding
.
UTF8
.
GetString
(
e
.
ApplicationMessage
.
Payload
));
Ctrl
ctrl
=
JsonConvert
.
DeserializeObject
<
Ctrl
>(
Encoding
.
UTF8
.
GetString
(
e
.
ApplicationMessage
.
Payload
));
Ctrl
ctrl_Back
=
new
Ctrl
();
Ctrl
ctrl_Back
=
new
Ctrl
();
Ctrl2
ctrl2
=
new
Ctrl2
();
Ctrl2
ctrl2
=
new
Ctrl2
();
...
@@ -530,6 +533,14 @@ namespace ModbusDemo
...
@@ -530,6 +533,14 @@ namespace ModbusDemo
#endregion
#endregion
#region modbus线程
#region modbus线程
//自动控制
private
void
Auto_Control
()
{
AutoControl
.
Control
control_new
=
new
AutoControl
.
Control
();
//东中转池的数据
AutoControl
.
CriticalValueMonitoring
(
true
,
6.5
,
2
,
ModualPoll
.
cx18x
.
sX18xDataStruct
[
0
].
dNowConvertData
[
0
],
"东中转池"
,
out
control_new
);
}
private
static
bool
bSetDataIsRunning
=
false
;
private
static
bool
bSetDataIsRunning
=
false
;
private
Thread
ModbusPollThread
;
private
Thread
ModbusPollThread
;
private
bool
bModbusPollThreadStart
=
false
;
private
bool
bModbusPollThreadStart
=
false
;
...
@@ -603,14 +614,8 @@ namespace ModbusDemo
...
@@ -603,14 +614,8 @@ namespace ModbusDemo
bSetDataIsRunning
=
false
;
bSetDataIsRunning
=
false
;
}
}
}
}
<<<<<<<
HEAD
}
}
#
region
PoolTest
#
region
PoolTest
=======
}
#region PoolTest
>>>>>>>
ae9d62a8c8c10f8339da24024e6330c7ac4ff704
#endregion
#endregion
//声明委托
//声明委托
...
@@ -1167,6 +1172,7 @@ namespace ModbusDemo
...
@@ -1167,6 +1172,7 @@ namespace ModbusDemo
private
void
txtReceiveMessage_TextChanged
(
object
sender
,
EventArgs
e
)
private
void
txtReceiveMessage_TextChanged
(
object
sender
,
EventArgs
e
)
{
{
if
(
txtReceiveMessage
.
TextLength
>
3000
)
if
(
txtReceiveMessage
.
TextLength
>
3000
)
{
{
txtReceiveMessage
.
Text
=
"0"
;
txtReceiveMessage
.
Text
=
"0"
;
...
@@ -1175,8 +1181,26 @@ namespace ModbusDemo
...
@@ -1175,8 +1181,26 @@ namespace ModbusDemo
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
{
{
ModualPoll
.
vAllNodePoll
();
AutoControl
.
Control
control
=
new
AutoControl
.
Control
();
mqttData
=
ModualPoll
.
stAll_Poll_Package
();
for
(
double
i
=
0
;
i
<
7
;
i
++)
{
AutoControl
.
CriticalValueMonitoring
(
true
,
6.5
,
2
,
i
,
"东中转池"
,
out
control
);
Console
.
WriteLine
(
control
.
Name
);
Console
.
WriteLine
(
control
.
maxLevel
);
Console
.
WriteLine
(
control
.
minLevel
);
Console
.
WriteLine
(
control
.
Enablation
);
Console
.
WriteLine
(
control
.
realTimeLevel
);
Console
.
WriteLine
(
control
.
status
);
Console
.
WriteLine
(
control
.
Beyond_the_limit
);
Console
.
WriteLine
(
control
.
Minimum_Early_Warning
);
Console
.
WriteLine
(
control
.
normal
);
Console
.
WriteLine
(
control
.
StatusTime
);
}
//ModualPoll.cx18x.sX18xDataStruct[0].dNowConvertData[0]
//返回状态
//调用modbus读写线圈
//调用modbus异常报警
}
}
private
async
void
SubscribeBut_Click
(
object
sender
,
EventArgs
e
)
private
async
void
SubscribeBut_Click
(
object
sender
,
EventArgs
e
)
...
@@ -1241,7 +1265,7 @@ namespace ModbusDemo
...
@@ -1241,7 +1265,7 @@ namespace ModbusDemo
ModbusPollThread
.
Start
();
ModbusPollThread
.
Start
();
}
}
else
else
ModbusPollThread
.
Resume
();
ModbusPollThread
.
Resume
();
bModbusPollThreadStart
=
true
;
bModbusPollThreadStart
=
true
;
//simpleDelegate1 = new MethodInvoker(GetData);
//simpleDelegate1 = new MethodInvoker(GetData);
//simpleDelegate1.BeginInvoke(null, null);
//simpleDelegate1.BeginInvoke(null, null);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment