You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lj_plc/DataBlockHelper/DBHelpers/DB2105WriteHelper.cs

723 lines
18 KiB
C#

using System;
using System.Collections.Generic;
namespace DataBlockHelper.DBHelpers
{
public class DB2105WriteHelper
{
private static readonly string DbName = "DB2105";
public static void WriteStartJob1()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.0",true);
}
public static void WriteStopJob1()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.0",false);
}
public static void WriteStartJob2()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.1",true);
}
public static void WriteStopJob2()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.1",false);
}
public static void WriteStartJob3()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.2",true);
}
public static void WriteStopJob3()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.2",false);
}
public static void WriteStartJob4()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.3",true);
}
public static void WriteStopJob4()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.3",false);
}
public static void WriteStartJob5()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.4",true);
}
public static void WriteStopJob5()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.4",false);
}
public static void WriteStartJob6()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.5",true);
}
public static void WriteStopJob6()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.5",false);
}
public static void WriteStartJob7()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.6",true);
}
public static void WriteStopJob7()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.6",false);
}
public static void WriteStartJob8()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.7",true);
}
public static void WriteStopJob8()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.52.7",false);
}
public static void WriteManScrewH1()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.0",true);
}
public static void WriteManScrewH2()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.1",true);
}
public static void WriteManScrewH3()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.2",true);
}
public static void WriteManScrewH4()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.3",true);
}
public static void WriteManScrewH5()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.4",true);
}
public static void WriteManScrewH6()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.5",true);
}
public static void WriteManScrewH7()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.6",true);
}
public static void WriteManScrewH8()
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.53.7",true);
}
/// <summary>
/// 换一个数据区 134
/// </summary>
/// <param name="setValue"></param>
public static void WriteSetValueL1(SetValue setValue)
{
WriteL(1, setValue.Value,setValue.Toterance);
}
public static void WriteSetValueR1(SetValue setValue)
{
WriteR(1, setValue.Value, setValue.Toterance);
}
public static void WriteSetValueL2(SetValue setValue)
{
WriteL(2, setValue.Value, setValue.Toterance);
}
public static void WriteSetValueR2(SetValue setValue)
{
WriteR(2, setValue.Value, setValue.Toterance);
}
public static void WriteSetValueL3(SetValue setValue)
{
WriteL(3, setValue.Value, setValue.Toterance);
}
public static void WriteSetValueR3(SetValue setValue)
{
WriteR(3, setValue.Value, setValue.Toterance);
}
public static void WriteSetValueL4(SetValue setValue)
{
WriteL(4, setValue.Value, setValue.Toterance);
}
public static void WriteSetValueR4(SetValue setValue)
{
WriteR(4, setValue.Value, setValue.Toterance);
}
private static void WriteSetValue(int start,SetValue setValue)
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{start}.0", setValue.Value);
siemensS7Net.Write($"{DbName}.{start+4}.0", setValue.Toterance);
}
/// <summary>
/// 点击下粉料按钮 如果返回true 就是成功 如果返回失败 就是准备信号么有准备好
/// </summary>
/// <returns></returns>
public static bool WriteG1Pd()
{
return WriteG(94,3);
}
public static bool WriteG1Cw()
{
return WriteG(94,4);
}
public static bool WriteG1Hw()
{
return WriteG(94,5);
}
public static bool WriteG2Pd()
{
return WriteG(96,3);
}
public static bool WriteG2Cw()
{
return WriteG(96,4);
}
public static bool WriteG2Hw()
{
return WriteG(96,5);
}
public static bool WriteG3Pd()
{
return WriteG(98,3);
}
public static bool WriteG3Cw()
{
return WriteG(98,4);
}
public static bool WriteG3Hw()
{
return WriteG(98,5);
}
public static bool WriteG4Pd()
{
return WriteG(100,3);
}
public static bool WriteG4Cw()
{
return WriteG(100,4);
}
public static bool WriteG4Hw()
{
return WriteG(100,5);
}
public static bool WriteG5Pd()
{
return WriteG(102,3);
}
public static bool WriteG5Cw()
{
return WriteG(102,4);
}
public static bool WriteG5Hw()
{
return WriteG(102,5);
}
public static bool WriteG6Pd()
{
return WriteG(104,3);
}
public static bool WriteG6Cw()
{
return WriteG(104,4);
}
public static bool WriteG6Hw()
{
return WriteG(104,5);
}
public static bool WriteG7Pd()
{
return WriteG(106,3);
}
public static bool WriteG7Cw()
{
return WriteG(106,4);
}
public static bool WriteG7Hw()
{
return WriteG(106,5);
}
public static bool WriteG8Pd()
{
return WriteG(108,3);
}
public static bool WriteG8Cw()
{
return WriteG(108,4);
}
public static bool WriteG8Hw()
{
return WriteG(108,5);
}
/// <summary>
/// 点击下糊化料按钮 湿混机 如果返回true 就是成功 如果返回失败 就是准备信号么有准备好
/// </summary>
/// <returns></returns>
public static bool WriteM1()
{
return WriteM(110);
}
public static bool WriteM2()
{
return WriteM(112);
}
public static bool WriteM3()
{
return WriteM(114);
}
public static bool WriteM4()
{
return WriteM(116);
}
public static bool WriteM5()
{
return WriteM(118);
}
public static bool WriteM6()
{
return WriteM(120);
}
public static bool WriteM7()
{
return WriteM(122);
}
public static bool WriteM8()
{
return WriteM(124);
}
private static bool WriteG(int start,int dian)
{
var siemensS7Net = PlcConnect.Instance;
var operateResult = siemensS7Net.ReadBool($"{DbName}.{start}.{dian}");
if (!operateResult.Content)
{
return false;
}
var operate= siemensS7Net.Write($"{DbName}.{start}.{dian-3}", true);
return operate.IsSuccess;
}
private static bool WriteM(int start)
{
var siemensS7Net = PlcConnect.Instance;
//var operateResult = siemensS7Net.ReadBool($"{DbName}.{start}.1");
//if (!operateResult.Content)
//{
// return false;
//}
var operate= siemensS7Net.Write($"{DbName}.{start}.0", true);
return operate.IsSuccess;
}
/// <summary>
/// 传入机台1~8 自动清零
/// </summary>
/// <param name="no"></param>
/// <returns></returns>
public static bool WriteFalseFeededDry(int no)
{
int start = 110;
int n = start+((no - 1)*2);
var siemensS7Net = PlcConnect.Instance;
var operate = siemensS7Net.Write($"{DbName}.{n}.4", false);
return operate.IsSuccess;
}
public static bool WriteHNo(int no,string t, bool b)
{
var siemensS7Net = PlcConnect.Instance;
int start = 134;
int db=start+((no - 1)*14);
int dian = 0;
if (t == "L")
{
dian = 0;
}
else
{
if(t== "R")
{
dian = 1;
}
else
{
if (t== "S")
{
dian = 2;
}
}
}
var operate = siemensS7Net.Write($"{DbName}.{db}.{dian}", b);
return operate.IsSuccess;
}
public static bool WriteL(int no, float value, float tolerance)
{
var siemensS7Net = PlcConnect.Instance;
int start = 134;
int db = start + ((no - 1) * 14);
var operate = siemensS7Net.Write($"{DbName}.{db + 2}.0", value);
operate = siemensS7Net.Write($"{DbName}.{db + 10}.0", tolerance);
return operate.IsSuccess;
}
public static bool WriteR(int no, float value, float tolerance)
{
var siemensS7Net = PlcConnect.Instance;
int start = 134;
int db = start + ((no - 1) * 14);
var operate = siemensS7Net.Write($"{DbName}.{db + 6}.0", value);
operate = siemensS7Net.Write($"{DbName}.{db + 10}.0", tolerance);
return operate.IsSuccess;
}
private static readonly int HaNo = 190;
public static readonly int HbNo = 198;
private static readonly int CaNo = 206;
private static readonly int CbNo = 214;
#region 添加方法Ha
public static void AddHaAddValue(short value)
{
AddValue(value, HaNo);
}
public static void AddHaAddRemainValue(short value)
{
AddRemainValue(value, HaNo);
}
public static void AddHaAddForceBin(short value)
{
AddForceBin(value, HaNo);
}
public static void AddHaAddForceOn(bool value)
{
AddForceOn(value, HaNo);
}
public static void AddHaAddStartIn(bool value)
{
AddStartIn(value, HaNo);
}
public static void AddHaAddStartOut(bool value)
{
AddStartOut(value, HaNo);
}
#endregion
#region Hb 添加方法
public static void AddHbAddValue(short value)
{
AddValue(value, HbNo);
}
public static void AddHbAddRemainValue(short value)
{
AddRemainValue(value, HbNo);
}
public static void AddHbAddForceBin(short value)
{
AddForceBin(value, HbNo);
}
public static void AddHbAddForceOn(bool value)
{
AddForceOn(value, HbNo);
}
public static void AddHbAddStartIn(bool value)
{
AddStartIn(value, HbNo);
}
public static void AddHbAddStartOut(bool value)
{
AddStartOut(value, HbNo);
}
#endregion
#region Ca 添加方法
public static void AddCaAddValue(short value)
{
AddValue(value, CaNo);
}
public static void AddCaAddRemainValue(short value)
{
AddRemainValue(value, CaNo);
}
public static void AddCaAddForceBin(short value)
{
AddForceBin(value, CaNo);
}
public static void AddCaAddForceOn(bool value)
{
AddForceOn(value, CaNo);
}
public static void AddCaAddStartIn(bool value)
{
AddStartIn(value, CaNo);
}
public static void AddCaAddStartOut(bool value)
{
AddStartOut(value, CaNo);
}
#endregion
#region Cb 添加方法
public static void AddCbAddValue(short value)
{
AddValue(value, CbNo);
}
public static void AddCbAddRemainValue(short value)
{
AddRemainValue(value, CbNo);
}
public static void AddCbAddForceBin(short value)
{
AddForceBin(value, CbNo);
}
public static void AddCbAddForceOn(bool value)
{
AddForceOn(value, CbNo);
}
public static void AddCbAddStartIn(bool value)
{
AddStartIn(value, CbNo);
}
public static void AddCbAddStartOut(bool value)
{
AddStartOut(value, CbNo);
}
#endregion
private static void AddValue(short value, int start)
{
//106
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{start}.0", value);
}
private static void AddRemainValue(short value, int start)
{
int nu = start + 2;
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{nu}.0", value);
}
private static void AddForceBin(short value, int start)
{
int nu = start + 4;
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{nu}.0", value);
}
private static void AddForceOn(bool value, int start)
{
int nu = start + 6;
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{nu}.0", value);
}
private static void AddStartIn(bool value, int start)
{
int nu = start + 6;
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{nu}.1", value);
}
private static void AddStartOut(bool value, int start)
{
int nu = start + 6;
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{nu}.2", value);
}
/// <summary>
/// 0 冷水A 1 热水A 2 冷水B 3 热水B
/// </summary>
/// <param name="no"></param>
public static void StopWater(int no)
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{53}.{no}",true);
}
/// <summary>
/// 0 冷水A 1 热水A 2 冷水B 3 热水B
/// </summary>
/// <param name="no"></param>
public static void StartWater(int no)
{
var siemensS7Net = PlcConnect.Instance;
siemensS7Net.Write($"{DbName}.{53}.{no}", false);
}
/// <summary>
/// true 状态是停止
/// </summary>
/// <returns></returns>
public static List<bool> GetWaterStatus()
{
var siemensS7Net = PlcConnect.Instance;
List<bool> status = new List<bool>();
for (int i = 0; i < 4; i++)
{
var b= siemensS7Net.ReadBool($"{DbName}.{53}.{i}");
status.Add(b.Content);
}
return status;
}
}
}