Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3de5bfd339 | |||
| 0d47c1c9f5 | |||
| f0f2d415f6 | |||
| f4f0c95ad4 | |||
| 0a718cd38d | |||
| a5ada18ced | |||
| d43f8752f3 | |||
| 47a36ebd5d |
@@ -103,8 +103,8 @@
|
|||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>libs\CndexLinkDotNet.dll</HintPath>
|
<HintPath>libs\CndexLinkDotNet.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="S7.Net, Version=0.8.1.0, Culture=neutral, PublicKeyToken=d5812d469e84c693, processorArchitecture=MSIL">
|
<Reference Include="S7.Net, Version=0.4.0.0, Culture=neutral, PublicKeyToken=d5812d469e84c693, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\S7netplus.0.8.1\lib\net452\S7.Net.dll</HintPath>
|
<HintPath>..\..\cms_thermo_active\packages\S7netplus.0.4.0\lib\net452\S7.Net.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Siemens.Sinumerik.Operate.Services, Version=4.7.3.2, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee, processorArchitecture=x86">
|
<Reference Include="Siemens.Sinumerik.Operate.Services, Version=4.7.3.2, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee, processorArchitecture=x86">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
|||||||
@@ -379,7 +379,7 @@ namespace CMS_CORE_Library.Models
|
|||||||
DateTime answ = DateTime.Now;
|
DateTime answ = DateTime.Now;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
new DateTime(year, month, day);
|
answ = new DateTime(year, month, day);
|
||||||
answ = answ.AddHours(hour).AddMinutes(min).AddMilliseconds(msec);
|
answ = answ.AddHours(hour).AddMinutes(min).AddMilliseconds(msec);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@@ -556,12 +556,12 @@ namespace CMS_CORE_Library.Models
|
|||||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeVacuum), 0, answ, 14, 4);
|
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeVacuum), 0, answ, 14, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleGross), 0, answ, 18, 4);
|
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleGross), 0, answ, 18, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleNet), 0, answ, 22, 4);
|
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleNet), 0, answ, 22, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MaterialTempEndWarm), 0, answ, 26, 4);
|
Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MaterialTempEndWarm), 0, answ, 26, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MaterialTempEndVent), 0, answ, 30, 4);
|
Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MaterialTempEndVent), 0, answ, 30, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MoldTemp), 0, answ, 34, 4);
|
Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MoldTemp), 0, answ, 34, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(VacuumReadVal), 0, answ, 38, 4);
|
Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(VacuumReadVal), 0, answ, 38, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MouldEnergyOUT), 0, answ, 42, 4);
|
Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MouldEnergyOUT), 0, answ, 42, 4);
|
||||||
Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MouldEnergyIN), 0, answ, 46, 4);
|
Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MouldEnergyIN), 0, answ, 46, 4);
|
||||||
return answ;
|
return answ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -817,6 +817,29 @@ namespace CMS_CORE_Library.Models
|
|||||||
|
|
||||||
#endregion Public Methods
|
#endregion Public Methods
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Recipe Parameters
|
||||||
|
/// </summary>
|
||||||
|
public class HistorySheet
|
||||||
|
{
|
||||||
|
#region Public Properties
|
||||||
|
|
||||||
|
public bool newData { get; set; } = false;
|
||||||
|
public double Value1 { get; set; } = 0;
|
||||||
|
public double Value2 { get; set; } = 0;
|
||||||
|
public double Value3 { get; set; } = 0;
|
||||||
|
public ushort TypeVal { get; set; } = 0;
|
||||||
|
public short IdPiece { get; set; } = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endregion Public Properties
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
}
|
||||||
|
|
||||||
#endregion Public Classes
|
#endregion Public Classes
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -823,6 +823,17 @@ namespace CMS_CORE_Library
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public abstract CmsError PLC_RProdCycle(ref ThermoModels.ProdCycleModel currProdCycle);
|
public abstract CmsError PLC_RProdCycle(ref ThermoModels.ProdCycleModel currProdCycle);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Get current HistorySheets
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="historySheet"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public abstract CmsError PLC_RHistorySheets(ref ThermoModels.HistorySheet historySheet);
|
||||||
|
/// <summary>
|
||||||
|
/// Write ack
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public abstract CmsError PLC_WAckHistorySheets();
|
||||||
|
/// <summary>
|
||||||
/// Request for mode selection via strobe
|
/// Request for mode selection via strobe
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="mode">1: MAN, 2: AUTO, 3: SETUP</param>
|
/// <param name="mode">1: MAN, 2: AUTO, 3: SETUP</param>
|
||||||
|
|||||||
@@ -183,6 +183,9 @@ namespace CMS_CORE_Library.S7Net
|
|||||||
|
|
||||||
internal static MEMORY_CELL PROCESS_STATUS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 605, 0, 2);
|
internal static MEMORY_CELL PROCESS_STATUS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 605, 0, 2);
|
||||||
|
|
||||||
|
internal static MEMORY_CELL HISTORY_SHEETS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 143, 2, 18);
|
||||||
|
internal static MEMORY_CELL HISTORY_ACK_SHEETS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 143, 0, 2);
|
||||||
|
|
||||||
// Prod strobe/ack
|
// Prod strobe/ack
|
||||||
internal static MEMORY_CELL PROD_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 0, 2);
|
internal static MEMORY_CELL PROD_ACK = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, TABLE, 0, 2);
|
||||||
|
|
||||||
@@ -3731,18 +3734,65 @@ namespace CMS_CORE_Library.S7Net
|
|||||||
TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()),
|
TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()),
|
||||||
TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()),
|
TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()),
|
||||||
TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()),
|
TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()),
|
||||||
MaterialTempEndWarm = S7.Net.Types.Real.FromByteArray(currMem.Skip(26).Take(4).ToArray()),
|
MaterialTempEndWarm = S7.Net.Types.Single.FromByteArray(currMem.Skip(26).Take(4).ToArray()),
|
||||||
MaterialTempEndVent = S7.Net.Types.Real.FromByteArray(currMem.Skip(30).Take(4).ToArray()),
|
MaterialTempEndVent = S7.Net.Types.Single.FromByteArray(currMem.Skip(30).Take(4).ToArray()),
|
||||||
MoldTemp = S7.Net.Types.Real.FromByteArray(currMem.Skip(34).Take(4).ToArray()),
|
MoldTemp = S7.Net.Types.Single.FromByteArray(currMem.Skip(34).Take(4).ToArray()),
|
||||||
VacuumReadVal = S7.Net.Types.Real.FromByteArray(currMem.Skip(38).Take(4).ToArray()),
|
VacuumReadVal = S7.Net.Types.Single.FromByteArray(currMem.Skip(38).Take(4).ToArray()),
|
||||||
MouldEnergyOUT = S7.Net.Types.Real.FromByteArray(currMem.Skip(42).Take(4).ToArray()),
|
MouldEnergyOUT = S7.Net.Types.Single.FromByteArray(currMem.Skip(42).Take(4).ToArray()),
|
||||||
MouldEnergyIN = S7.Net.Types.Real.FromByteArray(currMem.Skip(46).Take(4).ToArray()),
|
MouldEnergyIN = S7.Net.Types.Single.FromByteArray(currMem.Skip(46).Take(4).ToArray()),
|
||||||
NumPreHot = S7.Net.Types.Int.FromByteArray(currMem.Skip(50).Take(2).ToArray())
|
NumPreHot = S7.Net.Types.Int.FromByteArray(currMem.Skip(50).Take(2).ToArray())
|
||||||
};
|
};
|
||||||
|
|
||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get current HistorySheets
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="historySheet"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
///
|
||||||
|
public override CmsError PLC_RHistorySheets(ref ThermoModels.HistorySheet historySheet)
|
||||||
|
{
|
||||||
|
List<byte> currMem = new List<byte>();
|
||||||
|
CmsError libraryError = MEM_RWByteList(R, 0, HISTORY_SHEETS.MemType, HISTORY_SHEETS.Address, HISTORY_SHEETS.SubAddress, 0, HISTORY_SHEETS.Size, ref currMem);
|
||||||
|
if (libraryError.IsError())
|
||||||
|
return libraryError;
|
||||||
|
|
||||||
|
// converto!
|
||||||
|
historySheet = new ThermoModels.HistorySheet()
|
||||||
|
{
|
||||||
|
newData = (S7.Net.Types.Int.FromByteArray(currMem.Skip(0).Take(2).ToArray()) & 1) == 1,
|
||||||
|
Value1 = S7.Net.Types.Single.FromByteArray(currMem.Skip(2).Take(4).ToArray()),
|
||||||
|
Value2 = S7.Net.Types.Single.FromByteArray(currMem.Skip(6).Take(4).ToArray()),
|
||||||
|
Value3 = S7.Net.Types.Single.FromByteArray(currMem.Skip(10).Take(4).ToArray()),
|
||||||
|
TypeVal = S7.Net.Types.Word.FromByteArray(currMem.Skip(14).Take(2).ToArray()),
|
||||||
|
IdPiece = S7.Net.Types.Int.FromByteArray(currMem.Skip(16).Take(2).ToArray()),
|
||||||
|
};
|
||||||
|
|
||||||
|
return NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// WriteAck HistorySheets
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
///
|
||||||
|
|
||||||
|
public override CmsError PLC_WAckHistorySheets()
|
||||||
|
{
|
||||||
|
|
||||||
|
CmsError libraryError = NO_ERROR;
|
||||||
|
|
||||||
|
// Call ack for config request RISK
|
||||||
|
libraryError = PLC_WAck(true,HISTORY_ACK_SHEETS, HISTORY_SHEETS, 1);
|
||||||
|
if (libraryError.IsError())
|
||||||
|
return libraryError;
|
||||||
|
|
||||||
|
return libraryError;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// read current recipe parameter list
|
/// read current recipe parameter list
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -4493,12 +4543,12 @@ namespace CMS_CORE_Library.S7Net
|
|||||||
TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()),
|
TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()),
|
||||||
TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()),
|
TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()),
|
||||||
TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()),
|
TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()),
|
||||||
MaterialTempEndWarm = S7.Net.Types.Real.FromByteArray(currMem.Skip(26).Take(4).ToArray()),
|
MaterialTempEndWarm = S7.Net.Types.Single.FromByteArray(currMem.Skip(26).Take(4).ToArray()),
|
||||||
MaterialTempEndVent = S7.Net.Types.Real.FromByteArray(currMem.Skip(30).Take(4).ToArray()),
|
MaterialTempEndVent = S7.Net.Types.Single.FromByteArray(currMem.Skip(30).Take(4).ToArray()),
|
||||||
MoldTemp = S7.Net.Types.Real.FromByteArray(currMem.Skip(34).Take(4).ToArray()),
|
MoldTemp = S7.Net.Types.Single.FromByteArray(currMem.Skip(34).Take(4).ToArray()),
|
||||||
VacuumReadVal = S7.Net.Types.Real.FromByteArray(currMem.Skip(38).Take(4).ToArray()),
|
VacuumReadVal = S7.Net.Types.Single.FromByteArray(currMem.Skip(38).Take(4).ToArray()),
|
||||||
MouldEnergyOUT = S7.Net.Types.Real.FromByteArray(currMem.Skip(42).Take(4).ToArray()),
|
MouldEnergyOUT = S7.Net.Types.Single.FromByteArray(currMem.Skip(42).Take(4).ToArray()),
|
||||||
MouldEnergyIN = S7.Net.Types.Real.FromByteArray(currMem.Skip(46).Take(4).ToArray()),
|
MouldEnergyIN = S7.Net.Types.Single.FromByteArray(currMem.Skip(46).Take(4).ToArray()),
|
||||||
NumPreHot = S7.Net.Types.Int.FromByteArray(currMem.Skip(50).Take(2).ToArray())
|
NumPreHot = S7.Net.Types.Int.FromByteArray(currMem.Skip(50).Take(2).ToArray())
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -4566,7 +4616,7 @@ namespace CMS_CORE_Library.S7Net
|
|||||||
int memIndex = 0;
|
int memIndex = 0;
|
||||||
int packSize = 20;
|
int packSize = 20;
|
||||||
|
|
||||||
// 2020.09.03: ricevuto da chiamata, dovrebbe essere 5 parametri x scrivere tutto (era 30 prima di 2008.08.07)
|
// 2020.09.03: ricevuto da chiamata, dovrebbe essere 5 parametri x scrivere tutto (era 30 prima di 2018.08.07)
|
||||||
bool writeSingle = newParameters.Count < nMaxParamWrite;
|
bool writeSingle = newParameters.Count < nMaxParamWrite;
|
||||||
|
|
||||||
// leggo da PLC a array di byte di appoggio...
|
// leggo da PLC a array di byte di appoggio...
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="S7netplus" version="0.8.1" targetFramework="net462" />
|
<package id="S7netplus" version="0.4.0" targetFramework="net462" />
|
||||||
</packages>
|
</packages>
|
||||||
Reference in New Issue
Block a user