|
@@ -34,28 +34,35 @@ namespace PLCTool.Common
|
|
|
return instance;
|
|
|
}
|
|
|
}
|
|
|
- public bool ConnectPLC()
|
|
|
+ public async Task<bool> ConnectPLC()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ OperateResult operResult=null;
|
|
|
melsec_net = new MelsecMcNet(plcIp, Convert.ToInt32(plcPort));
|
|
|
- Func<OperateResult> func = (() =>
|
|
|
- {
|
|
|
- return melsec_net.ConnectServer();
|
|
|
- });
|
|
|
- var connect = Task.Run(() => func.Invoke());
|
|
|
-
|
|
|
- if (connect.Result.IsSuccess)
|
|
|
- {
|
|
|
- isConnect = true;
|
|
|
- return true;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
-
|
|
|
- isConnect = false;
|
|
|
- return false;
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+ var result = await Task.Run(() =>
|
|
|
+
|
|
|
+ melsec_net.ConnectServer()
|
|
|
+ // 耗时操作
|
|
|
+ ) ;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (result.IsSuccess)
|
|
|
+ {
|
|
|
+ isConnect = true;
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ isConnect = false;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
catch (Exception e)
|
|
@@ -66,27 +73,46 @@ namespace PLCTool.Common
|
|
|
}
|
|
|
|
|
|
|
|
|
- public bool IsConnectPLC()
|
|
|
+ public async Task<bool> IsConnectPLC()
|
|
|
{
|
|
|
- short rb;
|
|
|
- short reSuc = -1;
|
|
|
- Func<OperateResult<bool>> func = () =>
|
|
|
- {
|
|
|
- return melsec_net.ReadBool("X100");
|
|
|
- };
|
|
|
- var workTask = Task.Run(() => func.Invoke());
|
|
|
-
|
|
|
-
|
|
|
- //读取成功
|
|
|
- if (workTask.Result.IsSuccess)
|
|
|
+ //short rb;
|
|
|
+ //short reSuc = -1;
|
|
|
+ //Func<OperateResult<bool>> func = () =>
|
|
|
+ //{
|
|
|
+ // return melsec_net.ReadBool("X100");
|
|
|
+ //};
|
|
|
+ //var workTask = Task.Run(() => func.Invoke());
|
|
|
+
|
|
|
+
|
|
|
+ ////读取成功
|
|
|
+ //if (workTask.Result.IsSuccess)
|
|
|
+ //{
|
|
|
+ // return true;
|
|
|
+ //}
|
|
|
+ //else
|
|
|
+ //{
|
|
|
+ // return false;
|
|
|
+ //}
|
|
|
+
|
|
|
+ var result = await Task.Run(() =>
|
|
|
+
|
|
|
+ melsec_net.ReadBool("X100")
|
|
|
+ // 耗时操作
|
|
|
+ );
|
|
|
+
|
|
|
+ if (result.IsSuccess)
|
|
|
{
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+
|
|
|
+
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public string ReadPlcObject(string address, VarType valueType)
|