|
|
using HslCommunication;
|
|
|
using Module.Common;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace Module.Plc.Profinet.Tool
|
|
|
{
|
|
|
public class T2GlueControlFunc
|
|
|
{
|
|
|
static OperateResult connect = null;
|
|
|
|
|
|
public static bool Enable(int number, bool value)
|
|
|
{
|
|
|
var address = String.Format("D{0}.0", 3510 + (number - 1) * 100);
|
|
|
return changeStatus(address, value);
|
|
|
}
|
|
|
|
|
|
public static bool setNumberLocationValue(int number, int location, bool v)
|
|
|
{
|
|
|
var address = String.Format("D{0}", 3510 + (number - 1) * 100);
|
|
|
short resultValue = 0;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
int value = PlcCommon.DeltaTcpNetClient02.ReadInt16(address).Content;
|
|
|
|
|
|
//var t = Convert.ToString(value, 2);
|
|
|
|
|
|
//string result = "";
|
|
|
|
|
|
|
|
|
//for (int i = 0; i < t.Length; i++)
|
|
|
//{
|
|
|
// var temp = t[i];
|
|
|
|
|
|
// if (location == 15 - i)
|
|
|
// {
|
|
|
// if (v)
|
|
|
// {
|
|
|
// result += "1";
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result += "0";
|
|
|
// }
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result += temp;
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
if (v)
|
|
|
{
|
|
|
if (location == 0)
|
|
|
{
|
|
|
resultValue = Convert.ToInt16(value | 1);
|
|
|
}
|
|
|
else if (location == 1)
|
|
|
{
|
|
|
resultValue = Convert.ToInt16(value | 2);
|
|
|
}
|
|
|
else if (location == 3)
|
|
|
{
|
|
|
resultValue = Convert.ToInt16(value | 8);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (location == 0)
|
|
|
{
|
|
|
resultValue = Convert.ToInt16(value & 0xFFFE);
|
|
|
}
|
|
|
else if (location == 1)
|
|
|
{
|
|
|
resultValue = Convert.ToInt16(value & 0xFFFD);
|
|
|
}
|
|
|
else if (location == 3)
|
|
|
{
|
|
|
resultValue = Convert.ToInt16(value & 0xFFF7);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return PlcCommon.DeltaTcpNetClient02.Write(address, resultValue).IsSuccess;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// <20><>ȡ<EFBFBD><EFBFBD>ť<EFBFBD>·<EFBFBD><C2B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>PLC<4C><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
/// </summary>
|
|
|
/// <param name="number"></param>
|
|
|
/// <returns></returns>
|
|
|
public static int GetGlueControlResult(int number)
|
|
|
{
|
|
|
int iRet = 99;
|
|
|
var address = String.Format("D{0}", 3510 + (number - 1) * 100);
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
int value = PlcCommon.DeltaTcpNetClient02.ReadInt16(address).Content;
|
|
|
char[] results = BitConvert.ToFullBinaryChars(Convert.ToInt16(value));
|
|
|
if (results[13] == '1')
|
|
|
{
|
|
|
iRet = 1;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
iRet = 0;
|
|
|
}
|
|
|
}
|
|
|
return iRet;
|
|
|
}
|
|
|
|
|
|
public static bool setNumberLocationValueOpposite(int number, int location)
|
|
|
{
|
|
|
var address = String.Format("D{0}", 3510 + (number - 1) * 100);
|
|
|
short resultValue = 0;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
int value = PlcCommon.DeltaTcpNetClient02.ReadInt16(address).Content;
|
|
|
|
|
|
//var t = Convert.ToString(value, 2);
|
|
|
|
|
|
//string result = "";
|
|
|
|
|
|
|
|
|
//for (int i = 0; i < t.Length; i++)
|
|
|
//{
|
|
|
// var temp = t[i];
|
|
|
|
|
|
// if (location == 15 - i)
|
|
|
// {
|
|
|
// if (temp.Equals('1'))
|
|
|
// {
|
|
|
// result += "0";
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result += "1";
|
|
|
// }
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result += temp;
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
resultValue = Convert.ToInt16(value | 4);
|
|
|
}
|
|
|
return PlcCommon.DeltaTcpNetClient02.Write(address, resultValue).IsSuccess;
|
|
|
}
|
|
|
|
|
|
public static bool setNumberLocationValueOppositeClose(int number, int location)
|
|
|
{
|
|
|
var address = String.Format("D{0}", 3510 + (number - 1) * 100);
|
|
|
|
|
|
short resultValue = 0;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
int value = PlcCommon.DeltaTcpNetClient02.ReadInt16(address).Content;
|
|
|
|
|
|
//var t = Convert.ToString(value, 2);
|
|
|
|
|
|
//string result = "";
|
|
|
|
|
|
|
|
|
//for (int i = 0; i < t.Length; i++)
|
|
|
//{
|
|
|
// var temp = t[i];
|
|
|
|
|
|
// if (location == 15 - i)
|
|
|
// {
|
|
|
// if (temp.Equals('1'))
|
|
|
// {
|
|
|
// result += "0";
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result += "1";
|
|
|
// }
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result += temp;
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
resultValue = Convert.ToInt16(value & 0xFFFB);
|
|
|
}
|
|
|
return PlcCommon.DeltaTcpNetClient02.Write(address, resultValue).IsSuccess;
|
|
|
}
|
|
|
|
|
|
|
|
|
public static int C2t10(string value)
|
|
|
{
|
|
|
|
|
|
int len = value.Length;
|
|
|
|
|
|
int sum = 0;
|
|
|
|
|
|
for (int i = 0; i < len; i++)
|
|
|
{
|
|
|
|
|
|
char c = value[len - 1 - i];
|
|
|
|
|
|
if (c == '1')
|
|
|
{
|
|
|
|
|
|
int k = 1;
|
|
|
|
|
|
for (int x = 0; x < i; x++) { k = k * 2; }
|
|
|
|
|
|
sum += k;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return Convert.ToInt16(sum.ToString());
|
|
|
}
|
|
|
|
|
|
//public static bool Empty(int number, bool value)
|
|
|
//{
|
|
|
// var address = String.Format("D{0}.1", 3510 + (number - 1) * 100);
|
|
|
// return changeStatus(address, value);
|
|
|
//}
|
|
|
|
|
|
//public static bool Execute(int number)
|
|
|
//{
|
|
|
// var address = String.Format("D{0}.2", 3510 + (number - 1) * 100);
|
|
|
// return exChangeStatus(address);
|
|
|
//}
|
|
|
|
|
|
public static bool SetYy(int number, short value)
|
|
|
{
|
|
|
var address = String.Format("D{0}", 3540 + (number - 1) * 100);
|
|
|
return setValue(address, value);
|
|
|
}
|
|
|
|
|
|
public static bool SetDj(int number, short value)
|
|
|
{
|
|
|
var address = String.Format("D{0}", 3542 + (number - 1) * 100);
|
|
|
return setValue(address, value);
|
|
|
}
|
|
|
public static bool SetHx(int number, short value)
|
|
|
{
|
|
|
var address = String.Format("D{0}", 3544 + (number - 1) * 100);
|
|
|
return setValue(address, value);
|
|
|
}
|
|
|
|
|
|
public static bool SetXj(int number, short value)
|
|
|
{
|
|
|
var address = String.Format("D{0}", 3546 + (number - 1) * 100);
|
|
|
return setValue(address, value);
|
|
|
}
|
|
|
|
|
|
private static bool setValue(string address, short value)
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write(address, value);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
public static bool changeStatus(string address, bool value)
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write(address, value);
|
|
|
|
|
|
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool exChangeStatus(string address)
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
int value = PlcCommon.DeltaTcpNetClient02.ReadInt16(address).Content;
|
|
|
if (value == 1)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write(address, (short)0);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write(address, (short)1);
|
|
|
}
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool ManualGlue()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
bool value = PlcCommon.DeltaTcpNetClient02.ReadBool("M95").Content;
|
|
|
if (value)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M95", false);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M95", true);
|
|
|
}
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool ManualGlueClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M95", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool AlarmReset()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M99", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool AlarmResetClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M99", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool InitReset()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M98", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool InitResetClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M98", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool SendOut()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M100", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool SendOutClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M100", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool Start()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M101", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool StartClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M101", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool Stop()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M102", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool StopClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M102", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool ReceiveOut()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M103", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool ReceiveOutClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M103", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool Clean()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M6004", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool CleanClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M6004", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool GlueNums(int value)
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("D2826", value);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
public static bool Encryption()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M6100", true);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
public static bool EncryptionClose()
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("M6100", false);
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool Password(int value)
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("D3818", value);
|
|
|
|
|
|
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static bool CurrDays(int value)
|
|
|
{
|
|
|
bool result = false;
|
|
|
if (PublicParams.T2ConnectPlc)
|
|
|
{
|
|
|
connect = PlcCommon.DeltaTcpNetClient02.Write("D3816", value);
|
|
|
|
|
|
|
|
|
if (connect.IsSuccess)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = false;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
}
|