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
918658a8
Commit
918658a8
authored
Jun 20, 2019
by
leon.huang
Browse files
Options
Browse Files
Download
Plain Diff
merge origin
parents
4a5bdbd8
fc5bbaa0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
267 additions
and
75 deletions
+267
-75
AutoControl.cs
ModbusDemo/application/AutoControl.cs
+122
-18
Form1.cs
ModbusDemo/windows/Form1.cs
+145
-57
No files found.
ModbusDemo/application/AutoControl.cs
View file @
918658a8
This diff is collapsed.
Click to expand it.
ModbusDemo/windows/Form1.cs
View file @
918658a8
...
...
@@ -32,6 +32,7 @@ namespace ModbusDemo
private
int
waitTime
;
private
Thread
t_UpgradeConn
;
private
Thread
t_AutoControl
;
public
delegate
void
invokeDelegate
();
System
.
Timers
.
Timer
MQTTTimer
=
new
System
.
Timers
.
Timer
();
BackgroundWorker
m_bgw0
=
new
BackgroundWorker
();
...
...
@@ -60,7 +61,9 @@ namespace ModbusDemo
t_UpgradeConn
=
new
Thread
(
UpgradeProc
);
t_UpgradeConn
.
IsBackground
=
true
;
t_UpgradeConn
.
Start
();
run
();
}
private
void
Form1_FormClosed
(
object
sender
,
FormClosedEventArgs
e
)
{
System
.
Environment
.
Exit
(
0
);
...
...
@@ -76,8 +79,8 @@ namespace ModbusDemo
int
mqttPort
;
string
mqttUsername
;
string
mqttPwd
;
byte
[]
LevelmodbusID
=
{
6
,
13
};
public
const
string
mqttSn
=
"
66666666
"
;
public
const
string
mqttSn
=
"
256333344
"
;
public
const
string
mqttSubscribeControlTopic
=
"Witium/WTDS78X/"
+
mqttSn
+
"/Ctrl"
;
public
const
string
mqttBackTopic
=
"Witium/WTDS78X/"
+
mqttSn
+
"/Back"
;
public
const
string
mqttCfgTopic
=
"Witium/WTDS78X/"
+
mqttSn
+
"/Config"
;
...
...
@@ -160,8 +163,12 @@ namespace ModbusDemo
.
WithAtLeastOnceQoS
()
.
WithRetainFlag
(
false
)
.
Build
();
<<<<<<<
HEAD
mqttClient
.
PublishAsync
(
message
);
totxt
.
Log
(
"我在247,执行了Back"
);
=======
await
mqttClient
.
PublishAsync
(
message
);
>>>>>>>
refs
/
remotes
/
origin
/
master
}
private
async
Task
vCfgResponseBack
(
string
data
)
...
...
@@ -200,9 +207,6 @@ namespace ModbusDemo
txtReceiveMessage
.
AppendText
(
$"已订阅[
{
mqttSubscribeControlTopic
}
]主题
{
Environment
.
NewLine
}
"
);
txtReceiveMessage
.
AppendText
(
$"已订阅[
{
mqttCfgTopic
}
]主题
{
Environment
.
NewLine
}
"
);
//totxt.Log($"已订阅[{mqttSubscribeTopic}]主题{Environment.NewLine}");
//txtReceiveMessage.AppendText($"已订阅[{Data}]主题{Environment.NewLine}");
})));
}
//private async Task ConnectMqttServerAsync()
...
...
@@ -374,6 +378,7 @@ namespace ModbusDemo
#
region
modbus
线程
private
static
bool
bSetDataIsRunning
=
false
;
<<<<<<<
HEAD
private
Thread
ModbusPollThread
;
private
void
T_AutoControl
()
...
...
@@ -473,16 +478,27 @@ namespace ModbusDemo
}
}
}
=======
private
Thread
ModbusPollThread
;
>>>>>>>
refs
/
remotes
/
origin
/
master
private
void
vModbusPoll
()
{
while
(
true
)
{
Parallel
.
Invoke
(
()
=>
{
bSetDataIsRunning
=
true
;
ModualPoll
.
vAllNodePoll
();
mqttData
=
ModualPoll
.
stAll_Poll_Package
();
ModualPoll
.
vCheckAlarm_And_Send
(
mqttClient
);
label5
.
Text
=
ModbusComm
.
usCommunFailTimes
.
ToString
();
Thread
.
Sleep
(
100
);
},
()
=>
{
AutoControl
.
T_AutoControl
();
})
;
}
}
private
void
Sendout
()
...
...
@@ -542,8 +558,7 @@ namespace ModbusDemo
}
else
{
//txtbox.Text = message;
//totxt.Log(message);
totxt
.
Log
(
message
);
}
}
#
endregion
...
...
@@ -999,7 +1014,7 @@ namespace ModbusDemo
errCnt
++;
Console
.
WriteLine
(
DateTime
.
Now
.
ToString
()
+
" "
+
exception
.
Message
);
MessageBox
.
Show
(
DateTime
.
Now
.
ToString
()
+
" "
+
exception
.
Message
);
//
MessageBox.Show(DateTime.Now.ToString() + " " + exception.Message);
this
.
UpdateBar
.
Value
=
this
.
UpdateBar
.
Minimum
;
//this.StartTest.Enabled = false;
//this.reset.Enabled = false;
...
...
@@ -1089,13 +1104,18 @@ namespace ModbusDemo
{
}
<<<<<<<
HEAD
private
async
void
SubscribeBut_Click
(
object
sender
,
EventArgs
e
)
=======
private
void
SubscribeBut_Click
(
object
sender
,
EventArgs
e
)
>>>>>>>
refs
/
remotes
/
origin
/
master
{
await
Subscribe
();
}
[
Obsolete
]
private
void
btOpenCOM_Click
(
object
sender
,
EventArgs
e
)
private
async
void
btOpenCOM_Click
(
object
sender
,
EventArgs
e
)
{
if
(
LOCALDEBUG
==
true
)
{
...
...
@@ -1143,22 +1163,36 @@ namespace ModbusDemo
SetMqtt
();
MQTT_thread
=
new
MethodInvoker
(
Sendout
);
MQTT_thread
.
BeginInvoke
(
null
,
null
);
<<<<<<<
HEAD
Task
.
Run
(
async
()
=>
{
await
ConnectMqttServerAsync
();
});
=======
await
Task
.
Run
(
async
()
=>
{
await
ConnectMqttServerAsync
();
});
>>>>>>>
refs
/
remotes
/
origin
/
master
ModbusComm
.
Modbus
=
ModbusSerialMaster
.
CreateRtu
(
comPort
);
ModbusComm
.
Modbus
.
Transport
.
Retries
=
0
;
ModbusComm
.
Modbus
.
Transport
.
ReadTimeout
=
1000
;
ModbusComm
.
Modbus
.
Transport
.
WriteTimeout
=
1000
;
ModbusComm
.
Modbus
.
Transport
.
WaitToRetryMilliseconds
=
0
;
<<<<<<<
HEAD
//t_AutoControl = new Thread(T_AutoControl);
//t_AutoControl.IsBackground = true;
//t_AutoControl.Start();
=======
//t_AutoControl = new Thread(T_AutoControl)
//{
// IsBackground = true
//};
//t_AutoControl.Start();
>>>>>>>
refs
/
remotes
/
origin
/
master
modbus_Timer
.
Enabled
=
true
;
btOpenCOM
.
Enabled
=
false
;
btCloseCOM
.
Enabled
=
true
;
if
(
bCretaThead
==
false
)
{
bCretaThead
=
true
;
ModbusPollThread
=
new
Thread
(
vModbusPoll
);
ModbusPollThread
=
new
Thread
(
vModbusPoll
);
ModbusPollThread
.
Start
();
ModbusPollThread
.
Priority
=
ThreadPriority
.
Normal
;
...
...
@@ -1178,6 +1212,7 @@ namespace ModbusDemo
ModbusPollThread
.
Resume
();
}
totxt
.
Log
(
DateTime
.
Now
.
ToString
()
+
" =>Open "
+
comPort
.
PortName
+
" sucessfully!"
);
await
Subscribe
();
}
catch
(
Exception
ex
)
{
...
...
@@ -1185,7 +1220,60 @@ namespace ModbusDemo
MessageBox
.
Show
(
"Error: "
+
ex
.
Message
);
return
;
}
}
private
async
void
run
()
{
comPort
.
PortName
=
"COM1"
;
comPort
.
BaudRate
=
9600
;
comPort
.
Parity
=
Parity
.
None
;
comPort
.
StopBits
=
StopBits
.
One
;
comPort
.
DataBits
=
8
;
try
{
comPort
.
Open
();
isReconnect
=
true
;
SetMqtt
();
MQTT_thread
=
new
MethodInvoker
(
Sendout
);
MQTT_thread
.
BeginInvoke
(
null
,
null
);
await
Task
.
Run
(
async
()
=>
{
await
ConnectMqttServerAsync
();
});
ModbusComm
.
Modbus
=
ModbusSerialMaster
.
CreateRtu
(
comPort
);
ModbusComm
.
Modbus
.
Transport
.
Retries
=
0
;
ModbusComm
.
Modbus
.
Transport
.
ReadTimeout
=
1000
;
ModbusComm
.
Modbus
.
Transport
.
WriteTimeout
=
1000
;
ModbusComm
.
Modbus
.
Transport
.
WaitToRetryMilliseconds
=
0
;
//t_AutoControl = new Thread(T_AutoControl)
//{
// IsBackground = true
//};
//t_AutoControl.Start();
modbus_Timer
.
Enabled
=
true
;
btOpenCOM
.
Enabled
=
false
;
btCloseCOM
.
Enabled
=
true
;
if
(
bCretaThead
==
false
)
{
bCretaThead
=
true
;
ModbusPollThread
=
new
Thread
(
vModbusPoll
);
ModbusPollThread
.
Start
();
ModbusControlThread
=
new
Thread
(
ModualControl
.
vControl_Poll
);
ModbusControlThread
.
Start
();
}
else
{
ModbusPollThread
.
Resume
();
}
totxt
.
Log
(
DateTime
.
Now
.
ToString
()
+
" =>Open "
+
comPort
.
PortName
+
" sucessfully!"
);
await
Subscribe
();
}
catch
(
Exception
ex
)
{
totxt
.
Log
(
"Error: "
+
ex
.
Message
);
MessageBox
.
Show
(
"Error: "
+
ex
.
Message
);
return
;
}
}
[
Obsolete
]
private
void
btCloseCOM_Click
(
object
sender
,
EventArgs
e
)
...
...
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