75729a27cd
Added new magazine action to demo
292 lines
11 KiB
C#
292 lines
11 KiB
C#
using CMS_CORE_Library;
|
|
using CMS_CORE_Library.Demo;
|
|
using CMS_CORE_Library.Fanuc;
|
|
using CMS_CORE_Library.Models;
|
|
using CMS_CORE_Library.Osai;
|
|
using CMS_CORE_Library.Siemens;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
using static CMS_CORE_Library.Models.DataStructures;
|
|
|
|
namespace CMS_CORE_Application
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
private static Nc N;
|
|
private static string NCType;
|
|
private static string NCIp;
|
|
private static ushort NCPort;
|
|
private Thread t;
|
|
|
|
public Form1()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
}
|
|
|
|
private void connectDemo_Click(object sender, EventArgs e)
|
|
{
|
|
t = new Thread(new ThreadStart(ReadBasicData));
|
|
|
|
if (NcCombo.SelectedItem == null)
|
|
return;
|
|
|
|
NCType = NcCombo.SelectedItem.ToString().Trim();
|
|
NCIp = TXTip.Text.Trim();
|
|
NCPort = ushort.Parse(TXTport.Text.Trim());
|
|
|
|
if (NCType != "")
|
|
{
|
|
Connect.Enabled = false;
|
|
Disconnect.Enabled = true;
|
|
t.Start();
|
|
}
|
|
}
|
|
|
|
private void ReadBasicData()
|
|
{
|
|
PROC_MODE mode = PROC_MODE.AUTO;
|
|
PROC_STATUS status = PROC_STATUS.ERROR;
|
|
ushort procnum = 0;
|
|
string MachNumber = "";
|
|
string ModelName = "";
|
|
string SFTVersion = "";
|
|
string PPName = "";
|
|
DateTime NcTime = new DateTime();
|
|
Dictionary<string, double> Axes = new Dictionary<string, double>();
|
|
Dictionary<int, string> messages = new Dictionary<int, string>();
|
|
Stopwatch sw = new Stopwatch();
|
|
List<AlarmModel> procAlarms = new List<AlarmModel>();
|
|
List<PlcAlarmModel> plcMsg = new List<PlcAlarmModel>();
|
|
PreAndPostPowerOnModel powerOn = new PreAndPostPowerOnModel();
|
|
List<AlarmModel> ncAlarms = new List<AlarmModel>();
|
|
List<string> Lines = new List<string>();
|
|
List < HeadDataModel> Heads = new List<HeadDataModel>();
|
|
|
|
N = SetNcByType();
|
|
|
|
CmsError cmsError = N.NC_Connect();
|
|
MessageBox.Show(cmsError.localizationKey);
|
|
cmsError = N.NC_RModelName(ref ModelName);
|
|
List<uint> val = new List<uint>();
|
|
N.MEM_RWDWordList(false, 0, Nc.MEMORY_TYPE.Demo, 1, 2, ref val);
|
|
cmsError = N.NC_WLanguage(new System.Globalization.CultureInfo("it"));
|
|
PROGRAM_TYPE_ENUM enuma = PROGRAM_TYPE_ENUM.JOB;
|
|
cmsError = N.FILES_RGetProgramType(ref enuma);
|
|
|
|
SelectedProcessData dt = new SelectedProcessData();
|
|
cmsError = N.PROC_RSelectedProcessData(1, ref dt);
|
|
bool error = false;
|
|
string serial = "";
|
|
|
|
while (true)
|
|
{
|
|
/////////////////////////////////// Load basic data
|
|
cmsError = N.PROC_RMode(1, ref mode);
|
|
if (cmsError.IsError()) { error = true; SetError(Lines, cmsError); }
|
|
|
|
cmsError = N.PROC_RStatus(1, ref status);
|
|
if (cmsError.IsError()) { error = true; SetError(Lines, cmsError); }
|
|
|
|
cmsError = N.PROC_RActiveAlarms(1, ref procAlarms);
|
|
if (cmsError.IsError()) { error = true; SetError(Lines, cmsError); }
|
|
|
|
cmsError = N.NC_RActiveAlarms(ref ncAlarms);
|
|
if (cmsError.IsError()) { error = true; SetError(Lines, cmsError); }
|
|
|
|
cmsError = N.PLC_RActiveMessages(ref plcMsg);
|
|
if (cmsError.IsError()) { error = true; SetError(Lines, cmsError); }
|
|
|
|
cmsError = N.NC_RDateTime(ref NcTime);
|
|
if (cmsError.IsError()) { error = true; SetError(Lines, cmsError); }
|
|
|
|
cmsError = N.PLC_RHeadsData(Heads,3);
|
|
if (cmsError.IsError()) { error = true; SetError(Lines, cmsError); }
|
|
|
|
|
|
cmsError = N.NC_RSerialNumber(ref serial);
|
|
if (cmsError.IsError()){ error = true; SetError(Lines, cmsError); }
|
|
Dictionary<int, string> dictionary = new Dictionary<int, string>();
|
|
cmsError = N.NC_GetTranslatedPlcMessages("it", ref dictionary);
|
|
List<M155InputIsNeededModel> b = new List<M155InputIsNeededModel>();
|
|
|
|
N.PLC_ROperatorInputIsNeeded(ref b);
|
|
|
|
////////////////////////////////////////////////////////////// TEST
|
|
Stopwatch st = new Stopwatch();
|
|
sw.Restart();
|
|
|
|
SelectedProcessData selected = new SelectedProcessData();
|
|
double d = 0;
|
|
//cmsError = N.PROC_RSelectedProcessData(1, ref selected);
|
|
List<M155InputIsNeededModel> m155 = new List<M155InputIsNeededModel>();
|
|
N.PLC_ROperatorInputIsNeeded(ref m155);
|
|
//cmsError = N.PLC_WAssistedToolingCmd(1, 1, 1, 1, 1, ASSISTED_TOOLING_ACTION.UNLOAD);
|
|
//AssistedToolingModel ass = new AssistedToolingModel();
|
|
//cmsError = N.PLC_RAssistedToolingData(ref ass);
|
|
N.TOOLS_WStartEditData();
|
|
|
|
List<NcToolModel> tools = new List<NcToolModel>();
|
|
List<NcFamilyModel> families = new List<NcFamilyModel>(); ;
|
|
List<NcShankModel> shanks = new List<NcShankModel>();
|
|
N.TOOLS_RStoredData(ref tools, ref families, ref shanks);
|
|
cmsError = N.PROC_RSelectedProcessData(1, ref selected);
|
|
|
|
ProcessDataModel procData = new ProcessDataModel();
|
|
cmsError = N.PROC_RStatusAndData(1, ref procData);
|
|
|
|
sw.Stop();
|
|
Console.WriteLine(sw.ElapsedMilliseconds);
|
|
|
|
////////////////////////////////////////////////////////////// END TEST
|
|
if (!this.IsDisposed && this.InvokeRequired)
|
|
{
|
|
this.Invoke((ThreadStart)delegate ()
|
|
{
|
|
TXTPath1.Text = mode.ToString();
|
|
TXTStat1.Text = status.ToString();
|
|
TXTNProcess.Text = procnum.ToString();
|
|
TXTName.Text = ModelName;
|
|
TXTMachNum.Text = MachNumber;
|
|
TXTSft.Text = SFTVersion;
|
|
TXTTime.Text = sw.ElapsedMilliseconds.ToString() + " mS";
|
|
TXTAlm.Text = string.Join(Environment.NewLine, procAlarms.Select(x => x.Message));
|
|
TXTAlmNc.Text = string.Join(Environment.NewLine, ncAlarms.Select(x => x.Message));
|
|
TXTMsg.Text = string.Join(Environment.NewLine, plcMsg.Select(x => x.Id));
|
|
TXTPPName.Text = PPName;
|
|
TXTNow.Text = NcTime.ToString();
|
|
|
|
if (error == false)
|
|
Error.Text = "";
|
|
|
|
TXTPPLines.Text = string.Join(Environment.NewLine, Lines);
|
|
Connect.Enabled = false;
|
|
Disconnect.Enabled = true;
|
|
});
|
|
}
|
|
error = false;
|
|
|
|
if ((200 - (int)sw.ElapsedMilliseconds) < 0)
|
|
Debug.WriteLine("Ritardo " + sw.ElapsedMilliseconds);
|
|
|
|
Thread.Sleep(50);
|
|
}
|
|
}
|
|
|
|
private void SetError(List<string> Lines, CmsError cmsError)
|
|
{
|
|
if (!this.IsDisposed && this.InvokeRequired)
|
|
{
|
|
this.Invoke((ThreadStart)delegate ()
|
|
{
|
|
Error.Text = cmsError.localizationKey;
|
|
|
|
TXTPPLines.Text = string.Join(Environment.NewLine, Lines);
|
|
Connect.Enabled = true;
|
|
Disconnect.Enabled = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
private Nc SetNcByType()
|
|
{
|
|
if (NCType == "Siemens")
|
|
return new Nc_Siemens(500);
|
|
if (NCType == "Demo")
|
|
return new Nc_Demo(NCIp, NCPort);
|
|
if (NCType == "Osai")
|
|
return new Nc_Osai(NCIp, NCPort, 500);
|
|
if (NCType == "Fanuc")
|
|
return new Nc_Fanuc(NCIp, NCPort, 500);
|
|
|
|
return null;
|
|
}
|
|
|
|
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (NcCombo.SelectedItem.ToString().Equals("Siemens"))
|
|
{
|
|
TXTip.Enabled = false;
|
|
TXTport.Enabled = false;
|
|
}
|
|
else if (NcCombo.SelectedItem.ToString().Equals("Fanuc"))
|
|
{
|
|
TXTip.Enabled = true;
|
|
TXTport.Enabled = true;
|
|
TXTip.Text = "192.168.139.1";
|
|
//TXTip.Text = "10.69.36.33";
|
|
TXTport.Text = "8193";
|
|
}
|
|
else if (NcCombo.SelectedItem.ToString().Equals("Osai"))
|
|
{
|
|
TXTip.Enabled = true;
|
|
TXTport.Enabled = true;
|
|
// TXTip.Text = "192.168.139.1";
|
|
TXTip.Text = "192.168.157.2";
|
|
TXTport.Text = "8080";
|
|
}
|
|
else if (NcCombo.SelectedItem.ToString().Equals("Demo"))
|
|
{
|
|
TXTip.Enabled = true;
|
|
TXTport.Enabled = true;
|
|
TXTip.Text = "localhost";
|
|
TXTport.Text = "8080";
|
|
}
|
|
}
|
|
|
|
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
if (t != null)
|
|
t.Abort();
|
|
|
|
if(N != null)
|
|
N.NC_Disconnect();
|
|
}
|
|
|
|
private void Disconnect_Click(object sender, EventArgs e)
|
|
{
|
|
N.NC_Disconnect();
|
|
if (t != null)
|
|
t.Abort();
|
|
|
|
TXTPath1.Text = "";
|
|
TXTStat1.Text = "";
|
|
TXTNProcess.Text = "";
|
|
TXTName.Text = "";
|
|
TXTMachNum.Text = "";
|
|
TXTSft.Text = "";
|
|
TXTTime.Text = "";
|
|
TXTAlm.Text = "";
|
|
TXTAlmNc.Text = "";
|
|
TXTMsg.Text = "";
|
|
TXTPPName.Text = "";
|
|
TXTNow.Text = "";
|
|
TXTPPLines.Text = "";
|
|
Connect.Enabled = true;
|
|
Disconnect.Enabled = false;
|
|
}
|
|
|
|
private void NetworkReadButton_Click(object sender, EventArgs e)
|
|
{
|
|
List<NcToolModel> obj = new List<NcToolModel>()
|
|
{
|
|
new NcToolModel() { ToolId = 22, FamilyId = 1, OffsetId1 = 1, OffsetId2 = 2, OffsetId3 = 3, OffsetLength = 4, ResidualLife = 5, ResidualRevive = 6, ShankId = 7 },
|
|
new NcToolModel() { ToolId = 22, FamilyId = 1, OffsetId1 = 1, OffsetId2 = 2, OffsetId3 = 3, OffsetLength = 4, ResidualLife = 5, ResidualRevive = 6, ShankId = 7 }
|
|
};
|
|
N.TOOLS_WUpdateTools(obj);
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
N.NC_SetScreenVisible(Nc.SCREEN_PAGE.Siemens_Machine);
|
|
}
|
|
}
|
|
} |