5879 lines
261 KiB
C#
5879 lines
261 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Collections.ObjectModel;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
|
|
using SmartX;
|
|
using INT63DC_2C.DialogForms;
|
|
using INT63DC_2C.SerialManger;
|
|
|
|
namespace INT63DC_2C.Forms
|
|
{
|
|
public partial class FormMain : Form
|
|
{
|
|
#region Field
|
|
private SmartX.SmartSplash SmartSplashProgramLoad;
|
|
private int CommunicationCheckCount;
|
|
public bool IsCommunicationLogOpen;
|
|
public bool IsCom1LogOpen;
|
|
public bool IsCom3LogOpen;
|
|
public bool IsBootingComplete;
|
|
public bool IsAdcLogOpen;
|
|
private bool FlagADCValueWrite;
|
|
public int BufferSmartUart; // Buffer size 정의
|
|
public bool FlagThreadMessage1; // 플레그 쓰레드 메시지 11
|
|
private int ProductChangNumber; // 변경할 품번
|
|
private int FlagTimeoutCount; // 품번 변경 실패 시 재시도 횟수
|
|
public bool IsDeveloperMode; // 장비테스트에서 설정 (관리자 모드)
|
|
public bool IsServoOrigin; // 비상정지 시 false 처리
|
|
|
|
private string ComPortMainToLCD;
|
|
|
|
// 파일 위치
|
|
private string m_PathLaunchFolder;
|
|
private string m_PathSystemFileFolder;
|
|
private string m_PathDataBackupFolder;
|
|
private string m_PathDataStatisticsFolder;
|
|
|
|
// 로그온 색상
|
|
public Color ColorLogOff;
|
|
public Color ColorLogOn;
|
|
|
|
// Form 생성
|
|
public FormMainDisplay ChildFormMainDisplay;
|
|
public FormMenu ChildFormMenu;
|
|
public FormSystemSetting ChildFormSystemSetting;
|
|
public FormCalibration ChildFormCalibration;
|
|
public FormIOTest ChildFormIOTest;
|
|
public FormEquipmentSetting ChildFormEquipmentSetting;
|
|
public FormDataBackup ChildFormDataBackup;
|
|
public FormConfiguration ChildFormConfiguration;
|
|
public FormTimeSetting ChildFormTimeSetting;
|
|
public FormInformation ChildFormInformation;
|
|
public FormFactoryInitialize ChildFormFactoryInitialize;
|
|
public FormProgramUpdate ChildFormProgramUpdate;
|
|
public FormEquipmentTest ChildFormEquipmentTest;
|
|
public FormUserSetting ChildFormUserSetting;
|
|
public FormDataStatistics ChildFormDataStatistics;
|
|
public FormOptionSetting ChildFormOptionSetting;
|
|
public FormMotorSetting ChildFormMotorSetting;
|
|
public FormUserGroupEditor ChildFormUserGroupEditor;
|
|
|
|
// System Configuration
|
|
public SystemConfigurationItem SystemConfig;
|
|
// 현재 선택 된 품목
|
|
public ProductItem CurrentProductItem;
|
|
// 현재 선택 된 판정 설정 값
|
|
public JudgmentSetItem CurrentJudgmentSetItem;
|
|
// 중량 조정 설정값
|
|
public CalibrationItem CurrentCalibrationItem;
|
|
// 제로 파라미터 설정값
|
|
public ZeroParameterItem CurrentZeroParameterItem;
|
|
// 옵션 파라미터 설정값
|
|
public OptionParameterItem CurrentOptionParameterItem;
|
|
// 통신 ABFood
|
|
public CommunicationStatusItem CommunicationABFood;
|
|
// User
|
|
public CollectionUser CurrentCollectionUser;
|
|
// UserPasswordType
|
|
public UserPasswordType CurrentUserPasswordType;
|
|
// UserGroup
|
|
public UserGroup CurrentUserGroup;
|
|
// Communication Respone
|
|
private CommunicationRespone CurrentComRespone;
|
|
|
|
// 열별 중량 데이터
|
|
public Collection<WeightData> CollectionWeightData;
|
|
// 장비테스트모드 열별 중량 데이터
|
|
public Collection<WeightData> CollectionWeightDataTest;
|
|
|
|
// 장비 구동 상태
|
|
private DataStore.EquipmentStatus m_EquipmentStatus;
|
|
private DataStore.EquipmentStatus m_EquipmentStatus1;
|
|
|
|
// 알람
|
|
public AlarmList CurrentAlarmList;
|
|
|
|
// Collection
|
|
private Collection<int> CollectionGraphData; // 판정설정 그래프 데이터
|
|
private Collection<string> CollectionIOTest_InputData; // IO Test Input 데이터 취합
|
|
private Collection<string> CollectionIOTest_InputData1; // IO Test Input1 데이터 취합 확장보드
|
|
private Collection<string> CollectionZeroParameterRange; // 자동영점 - 범위
|
|
private Collection<string> CollectionZeroParameterTime; // 자동영점 - 시간
|
|
private Collection<string> CollectionZeroParameterVariates; // 자동영점 - 변량
|
|
private Collection<string> CollectionBalanceWeight; // 분동중량값
|
|
private Collection<string> CollectionMaxWeight; // 분동중량값
|
|
private Collection<string> CollectionDigit; // 한눈의값
|
|
private Collection<string> CollectionFilter; // 필터
|
|
private Collection<string> CollectionVersion; // 프로그램 버전
|
|
public Collection<string> CollectionProductName; // 품목명 리스트
|
|
#endregion
|
|
|
|
#region Constructor
|
|
public FormMain()
|
|
{
|
|
InitializeComponent();
|
|
|
|
// 프로그램 로딩 이미지
|
|
this.SmartSplashProgramLoad = new SmartX.SmartSplash();
|
|
this.SmartSplashProgramLoad.CenterPosition = true;
|
|
this.SmartSplashProgramLoad.AnimationInterval = 100;
|
|
this.SmartSplashProgramLoad.LoadingImagePathname = "SmartLoading3";
|
|
this.SmartSplashProgramLoad.Start();
|
|
}
|
|
#endregion
|
|
|
|
#region Property
|
|
public string PathLaunchFolder
|
|
{
|
|
get { return this.m_PathLaunchFolder; }
|
|
set { this.m_PathLaunchFolder = value; }
|
|
}
|
|
public string PathSystemFileFolder
|
|
{
|
|
get { return this.m_PathSystemFileFolder; }
|
|
set { this.m_PathSystemFileFolder = value; }
|
|
}
|
|
public string PathDataBackupFolder
|
|
{
|
|
get { return this.m_PathDataBackupFolder; }
|
|
set { this.m_PathDataBackupFolder = value; }
|
|
}
|
|
public string PathDataStatisticsFolder
|
|
{
|
|
get { return this.m_PathDataStatisticsFolder; }
|
|
private set { this.m_PathDataStatisticsFolder = value; }
|
|
}
|
|
|
|
public DataStore.EquipmentStatus EquipmentStatus
|
|
{
|
|
get { return this.m_EquipmentStatus; }
|
|
private set { this.m_EquipmentStatus = value; }
|
|
}
|
|
public DataStore.EquipmentStatus EquipmentStatus1
|
|
{
|
|
get { return this.m_EquipmentStatus1; }
|
|
private set { this.m_EquipmentStatus1 = value; }
|
|
}
|
|
#endregion
|
|
|
|
#region Method
|
|
private void CreateForm()
|
|
{
|
|
this.ChildFormMainDisplay = new FormMainDisplay(this);
|
|
this.ChildFormMenu = new FormMenu(this);
|
|
this.ChildFormSystemSetting = new FormSystemSetting(this);
|
|
this.ChildFormEquipmentSetting = new FormEquipmentSetting(this);
|
|
this.ChildFormConfiguration = new FormConfiguration(this);
|
|
this.ChildFormCalibration = new FormCalibration(this);
|
|
this.ChildFormEquipmentTest = new FormEquipmentTest(this);
|
|
this.ChildFormIOTest = new FormIOTest(this);
|
|
this.ChildFormDataBackup = new FormDataBackup(this);
|
|
this.ChildFormTimeSetting = new FormTimeSetting(this);
|
|
this.ChildFormInformation = new FormInformation(this);
|
|
this.ChildFormFactoryInitialize = new FormFactoryInitialize(this);
|
|
this.ChildFormProgramUpdate = new FormProgramUpdate(this);
|
|
this.ChildFormUserSetting = new FormUserSetting(this);
|
|
this.ChildFormDataStatistics = new FormDataStatistics(this);
|
|
this.ChildFormOptionSetting = new FormOptionSetting(this);
|
|
this.ChildFormMotorSetting = new FormMotorSetting(this);
|
|
this.ChildFormUserGroupEditor = new FormUserGroupEditor(this);
|
|
|
|
this.smartForm.MainForm = this;
|
|
|
|
this.smartForm.AddChildForm(this.ChildFormMainDisplay);
|
|
this.smartForm.AddChildForm(this.ChildFormMenu);
|
|
this.smartForm.AddChildForm(this.ChildFormSystemSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormEquipmentSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormConfiguration);
|
|
this.smartForm.AddChildForm(this.ChildFormCalibration);
|
|
this.smartForm.AddChildForm(this.ChildFormEquipmentTest);
|
|
this.smartForm.AddChildForm(this.ChildFormIOTest);
|
|
this.smartForm.AddChildForm(this.ChildFormDataBackup);
|
|
this.smartForm.AddChildForm(this.ChildFormTimeSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormInformation);
|
|
this.smartForm.AddChildForm(this.ChildFormFactoryInitialize);
|
|
this.smartForm.AddChildForm(this.ChildFormProgramUpdate);
|
|
this.smartForm.AddChildForm(this.ChildFormUserSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormDataStatistics);
|
|
this.smartForm.AddChildForm(this.ChildFormOptionSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormMotorSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormUserGroupEditor);
|
|
}
|
|
private void CreateCollection()
|
|
{
|
|
this.CollectionWeightData = new Collection<WeightData>();
|
|
this.CollectionWeightDataTest = new Collection<WeightData>();
|
|
this.CollectionGraphData = new Collection<int>();
|
|
this.CollectionIOTest_InputData = new Collection<string>();
|
|
this.CollectionIOTest_InputData1 = new Collection<string>();
|
|
this.CollectionZeroParameterRange = new Collection<string>();
|
|
this.CollectionZeroParameterTime = new Collection<string>();
|
|
this.CollectionZeroParameterVariates = new Collection<string>();
|
|
this.CollectionBalanceWeight = new Collection<string>();
|
|
this.CollectionMaxWeight = new Collection<string>();
|
|
this.CollectionDigit = new Collection<string>();
|
|
this.CollectionFilter = new Collection<string>();
|
|
this.CollectionVersion = new Collection<string>();
|
|
this.CollectionProductName = new Collection<string>();
|
|
|
|
this.CollectionWeightData.Clear();
|
|
this.CollectionWeightDataTest.Clear();
|
|
this.CollectionGraphData.Clear();
|
|
this.CollectionIOTest_InputData.Clear();
|
|
this.CollectionIOTest_InputData1.Clear();
|
|
this.CollectionZeroParameterRange.Clear();
|
|
this.CollectionZeroParameterTime.Clear();
|
|
this.CollectionZeroParameterVariates.Clear();
|
|
this.CollectionBalanceWeight.Clear();
|
|
this.CollectionMaxWeight.Clear();
|
|
this.CollectionDigit.Clear();
|
|
this.CollectionFilter.Clear();
|
|
this.CollectionVersion.Clear();
|
|
this.CollectionProductName.Clear();
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightData.Add(new WeightData());
|
|
this.CollectionWeightDataTest.Add(new WeightData());
|
|
this.CollectionZeroParameterRange.Add("");
|
|
this.CollectionZeroParameterTime.Add("");
|
|
this.CollectionZeroParameterVariates.Add("");
|
|
this.CollectionBalanceWeight.Add("");
|
|
this.CollectionMaxWeight.Add("");
|
|
this.CollectionDigit.Add("");
|
|
this.CollectionFilter.Add("");
|
|
}
|
|
|
|
for (int i = 0; i < 17; i++)
|
|
{
|
|
this.CollectionVersion.Add("");
|
|
}
|
|
|
|
for (int i = 0; i < 100; i++)
|
|
{
|
|
this.CollectionGraphData.Add(0);
|
|
}
|
|
|
|
for (int i = 0; i < 16; i++)
|
|
{
|
|
this.CollectionIOTest_InputData.Add("0");
|
|
this.CollectionIOTest_InputData1.Add("0");
|
|
}
|
|
}
|
|
private void DefaultSetting1()
|
|
{
|
|
this.IsDeveloperMode = false;
|
|
|
|
this.timerAdcLog.Interval = 300000;
|
|
this.timerAdcLog.Enabled = false;
|
|
|
|
this.ColorLogOff = Color.Red;
|
|
this.ColorLogOn = Color.Green;
|
|
|
|
this.CommunicationCheckCount = 0;
|
|
this.IsCommunicationLogOpen = false;
|
|
this.IsCom1LogOpen = false;
|
|
this.IsCom3LogOpen = false;
|
|
this.IsBootingComplete = false;
|
|
this.IsAdcLogOpen = false;
|
|
this.FlagADCValueWrite = false;
|
|
this.PathLaunchFolder = "SD Card\\";
|
|
this.PathSystemFileFolder = this.PathLaunchFolder + "SystemFile\\";
|
|
this.PathDataBackupFolder = this.PathLaunchFolder + "DataBackup\\";
|
|
this.PathDataStatisticsFolder = this.PathLaunchFolder + "DataStatistics\\";
|
|
this.EquipmentStatus = DataStore.EquipmentStatus.Stop;
|
|
this.BufferSmartUart = 1000000; // 1MB
|
|
this.FlagThreadMessage1 = false;
|
|
this.ProductChangNumber = 1;
|
|
this.FlagTimeoutCount = 0;
|
|
this.IsServoOrigin = false;
|
|
|
|
this.SystemConfig = new SystemConfigurationItem();
|
|
this.CurrentProductItem = new ProductItem();
|
|
this.CurrentJudgmentSetItem = new JudgmentSetItem();
|
|
this.CurrentCalibrationItem = new CalibrationItem();
|
|
this.CurrentZeroParameterItem = new ZeroParameterItem();
|
|
this.CurrentOptionParameterItem = new OptionParameterItem();
|
|
this.CommunicationABFood = new CommunicationStatusItem();
|
|
this.CurrentAlarmList = new AlarmList();
|
|
this.CurrentCollectionUser = new CollectionUser();
|
|
this.CurrentUserPasswordType = new UserPasswordType();
|
|
this.CurrentUserGroup = new UserGroup();
|
|
this.CurrentComRespone = new CommunicationRespone();
|
|
|
|
// SystemFile 폴더 생성
|
|
if (Directory.Exists(this.PathSystemFileFolder) == false)
|
|
Directory.CreateDirectory(this.PathSystemFileFolder);
|
|
|
|
// DataBackup 폴더 생성
|
|
if (Directory.Exists(this.PathDataBackupFolder) == false)
|
|
Directory.CreateDirectory(this.PathDataBackupFolder);
|
|
|
|
// DataStatistics 폴더 생성
|
|
if (Directory.Exists(this.PathDataStatisticsFolder) == false)
|
|
Directory.CreateDirectory(this.PathDataStatisticsFolder);
|
|
}
|
|
private void DefaultSetting2()
|
|
{
|
|
this.timerSampling.Interval = this.SystemConfig.SamplingTime * 60000;
|
|
this.timerLeakSampling.Interval = this.SystemConfig.LeakSamplingTime * 60000;
|
|
|
|
// COM port 설정
|
|
if (this.SystemConfig.ComPort == "COM2")
|
|
{
|
|
this.smartModbus.PortNo = SmartModbus.COMPORTNO.COM1;
|
|
this.ComPortMainToLCD = "COM2:";
|
|
}
|
|
else
|
|
{
|
|
this.smartModbus.PortNo = SmartModbus.COMPORTNO.COM2;
|
|
this.ComPortMainToLCD = "COM1:";
|
|
}
|
|
|
|
// SerialDll Initialize
|
|
SerialMgrComm.IntializeSerialManager();
|
|
SerialMgrComm.SerialPortMessageReceive += this.SerialPort_MessageReceive;
|
|
SerialMgrComm.SerialPortErrMessageReceive += this.SerialPort_ErrMessageReceive;
|
|
}
|
|
|
|
private bool UI_Invoke(System.Threading.ThreadStart invoker)
|
|
{
|
|
try
|
|
{
|
|
if (this.InvokeRequired)
|
|
{
|
|
if (this.IsDisposed)
|
|
return true;
|
|
|
|
this.Invoke(invoker);
|
|
}
|
|
else
|
|
{
|
|
invoker();
|
|
}
|
|
|
|
return true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
private void SerialPort_MessageReceive(object data)
|
|
{
|
|
this.UI_Invoke(delegate
|
|
{
|
|
this.SerialReceiveData(data.ToString());
|
|
});
|
|
}
|
|
private void SerialPort_ErrMessageReceive(object data)
|
|
{
|
|
this.UI_Invoke(delegate
|
|
{
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1} : Dll(Err MSG)", DateTime.Now, data));
|
|
});
|
|
}
|
|
|
|
private void TrasferSystemParameter(SystemConfigurationItem item)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
// 장비열개수
|
|
sb.Append(Helper.StringZeroFillDigits4(item.EquipmentColumns.ToString()));
|
|
// 개별NG사용유무
|
|
if (item.IsEachNG == false)
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
else
|
|
sb.Append(Helper.StringZeroFillDigits4("1"));
|
|
// 선별기3위치
|
|
sb.Append(Helper.StringZeroFillDigits4(item.Sorter3Location.ToString()));
|
|
// Empty중량설정
|
|
if (item.EmptyWeight == "")
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
else
|
|
sb.Append(Helper.StringZeroFillDigits4(item.EmptyWeight));
|
|
// 모터
|
|
sb.Append(Helper.StringZeroFillDigits4(item.MotorSelect.ToString()));
|
|
// Dummy
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
// Dummy
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
// 인버터 토크
|
|
sb.Append(Helper.StringZeroFillDigits4(item.InverterTorque.ToString()));
|
|
// 외부출력1 지연시간
|
|
sb.Append(Helper.StringZeroFillDigits4(item.EXT1_DelayTime.ToString()));
|
|
// 외부출력1 동작시간
|
|
sb.Append(Helper.StringZeroFillDigits4(item.EXT1_RunTime.ToString()));
|
|
// 선별기1 위치
|
|
sb.Append(Helper.StringZeroFillDigits4(item.Sorter1Location.ToString()));
|
|
// 선별기2 위치
|
|
sb.Append(Helper.StringZeroFillDigits4(item.Sorter2Location.ToString()));
|
|
// 선별기4 위치
|
|
sb.Append(Helper.StringZeroFillDigits4(item.Sorter4Location.ToString()));
|
|
// Dummy
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
|
|
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._9029_ParameterSystem, sb.ToString());
|
|
}
|
|
private void TransferDynamicParameter(int productNumber)
|
|
{
|
|
string value = "";
|
|
StringBuilder sb = new StringBuilder();
|
|
JudgmentSetItem item = new JudgmentSetItem();
|
|
|
|
//this.LoadJudgmentSetFile(ref item, productNumber - 1);
|
|
this.LoadDynamicCorrectionFile(ref item, productNumber - 1);
|
|
|
|
if (this.SystemConfig.EquipmentColumns >= 2)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection1, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
|
|
value = Helper.DoubleToString(item.DynamicCorrection2, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 3)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection3, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 4)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection4, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 5)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection5, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 6)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection6, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 7)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection7, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 8)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection8, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 9)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection9, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 10)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection10, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 11)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection11, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 12)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection12, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 13)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection13, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 14)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection14, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 15)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection15, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
if (this.SystemConfig.EquipmentColumns >= 16)
|
|
{
|
|
value = Helper.DoubleToString(item.DynamicCorrection16, 6);
|
|
value = value.Replace(".", "");
|
|
sb.Append(Helper.StringZeroFillDigits7(value));
|
|
}
|
|
|
|
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.SubBoardAll, CommunicationAddress._9034_ParameterDynamicCorrection, sb.ToString());
|
|
}
|
|
private void TransferProductParameter1(int productNumber)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
ProductItem pItem = new ProductItem();
|
|
JudgmentSetItem jItem = new JudgmentSetItem();
|
|
|
|
this.LoadProductFile(ref pItem, productNumber - 1);
|
|
this.LoadJudgmentSetFile(ref jItem, productNumber - 1);
|
|
this.LoadDynamicCorrectionFile(ref jItem, productNumber - 1);
|
|
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.UnderRange));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.OverRange));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.TareRange));
|
|
sb.Append(Helper.StringZeroFillDigits7(jItem.OriginOffset.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Filter.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.JudgmentCount.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.FeedSpeed.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.TurnDelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter1RunTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.JudgmentDelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter1DelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter2DelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter2RunTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.ForcedZeroDelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter3DelayTime));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter3RunTime));
|
|
sb.Append(Helper.StringZeroFillDigits4(productNumber.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.EntryGateDelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.EntryGateRunTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.DischargeStopperDelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.DischargeStopperRunTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter4DelayTime));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter4RunTime));
|
|
|
|
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._9030_ParameterProduct1, sb.ToString());
|
|
}
|
|
private void TransferProductParameter2(int productNumber)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
ProductItem pItem = new ProductItem();
|
|
JudgmentSetItem jItem = new JudgmentSetItem();
|
|
|
|
this.LoadProductFile(ref pItem, productNumber - 1);
|
|
this.LoadDynamicCorrectionFile(ref jItem, productNumber - 1);
|
|
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.UnderRangeLimit));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.OverRangeLimit));
|
|
sb.Append(Helper.StringZeroFillDigits7("0"));
|
|
sb.Append(Helper.StringZeroFillDigits7("0"));
|
|
sb.Append(Helper.StringZeroFillDigits7("0"));
|
|
sb.Append(Helper.StringZeroFillDigits7("0"));
|
|
|
|
if (this.SystemConfig.IsWeightLimitEnable == false)
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
else
|
|
sb.Append(Helper.StringZeroFillDigits4("1"));
|
|
sb.Append(Helper.StringZeroFillDigits4(this.SystemConfig.WeightLimitIgnoreCount.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Stopper2DelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Stopper2RunTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
sb.Append(Helper.StringZeroFillDigits4("0"));
|
|
|
|
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._9040_ParameterProduct2, sb.ToString());
|
|
}
|
|
public void ProductChange(int productNumber)
|
|
{
|
|
this.ProductChangNumber = productNumber;
|
|
this.TransferDynamicParameter(productNumber);
|
|
|
|
this.FlagTimeoutCount = 0;
|
|
this.timerTimeout.Enabled = true;
|
|
}
|
|
|
|
private void StartThreadMessage1()
|
|
{
|
|
if (this.smartThread.State != SmartThread.ThreadState.Running)
|
|
{
|
|
this.smartThread.Start();
|
|
this.FlagThreadMessage1 = false;
|
|
}
|
|
}
|
|
|
|
// Interlock 중량 체크 후 정지
|
|
private void InterlockCheckWeightStop(Collection<WeightData> datas)
|
|
{
|
|
if (this.SystemConfig.IsWeightLimitEnable == true)
|
|
{
|
|
for (int i = 0; i < datas.Count; i++)
|
|
{
|
|
if (int.Parse(datas[i].WeightString) > int.Parse(this.CurrentProductItem.OverRangeLimit))
|
|
{
|
|
this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
|
|
//this.ChildFormMainDisplay.UpdateDisplayPinchPointAlarm(i + 1);
|
|
this.timerEmergencyStop.Enabled = true;
|
|
return;
|
|
}
|
|
|
|
if (int.Parse(datas[i].WeightString) < int.Parse(this.CurrentProductItem.UnderRangeLimit))
|
|
{
|
|
this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
|
|
//this.ChildFormMainDisplay.UpdateDisplayPinchPointAlarm(i + 1);
|
|
this.timerEmergencyStop.Enabled = true;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#region Uart Communication
|
|
public void OpenSmartUartLink()
|
|
{
|
|
string fullPath = "";
|
|
|
|
try
|
|
{
|
|
// Port : COM1 or COM2
|
|
// Baudrate : 115200
|
|
SerialMgrComm.serialPortOpen(this.ComPortMainToLCD, 115200, 0, 0, 8);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
|
|
#region Test 용 통신 로그
|
|
fullPath = this.PathDataBackupFolder + "Communicationlog.txt";
|
|
this.smartFileCommunicationLog.FilePathName = fullPath;
|
|
//this.smartFileCommunicationLog.Open();
|
|
//this.IsCommunicationLogOpen = true;
|
|
#endregion
|
|
|
|
#region ADC 통신 로그
|
|
fullPath = this.PathDataBackupFolder + this.SystemConfig.UsbID.ToString() + "ADC_log.txt";
|
|
this.smartFileAdcLog.FilePathName = fullPath;
|
|
#endregion
|
|
}
|
|
public void CloseSmartUartLink()
|
|
{
|
|
//this.smartSerialPortLink.Close();
|
|
}
|
|
|
|
private bool SizeCheck(string cmd, string strTemp)
|
|
{
|
|
bool ret = false;
|
|
string dataSize = "";
|
|
int size = 0;
|
|
|
|
if (strTemp == null || strTemp.Length == 0)
|
|
{
|
|
ret = false;
|
|
return ret;
|
|
}
|
|
|
|
try
|
|
{
|
|
if (cmd == "P")
|
|
dataSize = strTemp.Substring(14, strTemp.Length - 16);
|
|
else // "S"
|
|
dataSize = strTemp.Substring(10, strTemp.Length - 12);
|
|
|
|
size = int.Parse(strTemp.Substring(6, 4).Trim());
|
|
}
|
|
catch
|
|
{
|
|
ret = false;
|
|
return ret;
|
|
}
|
|
|
|
if (dataSize.Length == size)
|
|
ret = true;
|
|
else
|
|
ret = false;
|
|
|
|
return ret;
|
|
}
|
|
private bool ChksumCheck(string strTemp)
|
|
{
|
|
bool ret = false;
|
|
string chkSum = "", dataChksum = "";
|
|
|
|
if (strTemp == null || strTemp.Length == 0)
|
|
ret = false;
|
|
else
|
|
{
|
|
chkSum = strTemp.Substring(strTemp.Length - 2, 2);
|
|
dataChksum = this.Checksumcalculator(strTemp.Substring(0, strTemp.Length - 2));
|
|
|
|
if (chkSum == dataChksum)
|
|
ret = true;
|
|
else
|
|
ret = false;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
private string Checksumcalculator(string strTemp)
|
|
{
|
|
string chkSum = "";
|
|
byte[] temp;
|
|
int value = 0, first = 0, second = 0;
|
|
char char1, char2;
|
|
|
|
if (strTemp == null || strTemp.Length == 0)
|
|
chkSum = "cc";
|
|
else
|
|
{
|
|
temp = new UTF8Encoding().GetBytes(strTemp);
|
|
|
|
for (int i = 0; i < temp.Length; i++)
|
|
value += temp[i];
|
|
|
|
first = (value & 0x00f0) >> 4;
|
|
if (first > 9)
|
|
char1 = (char)(first + 0x37);
|
|
else
|
|
char1 = (char)(first + 0x30);
|
|
|
|
second = value & 0x000f;
|
|
if (second > 9)
|
|
char2 = (char)(second + 0x37);
|
|
else
|
|
char2 = (char)(second + 0x30);
|
|
|
|
chkSum = char1.ToString() + char2.ToString();
|
|
}
|
|
|
|
return chkSum;
|
|
}
|
|
|
|
public int TransferData(string command, string id)
|
|
{
|
|
int ret = 0;
|
|
string chkSum = "cc";
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(command);
|
|
sb.Append(id);
|
|
|
|
chkSum = this.Checksumcalculator(sb.ToString());
|
|
|
|
sb.Append(chkSum);
|
|
|
|
SerialMgrComm.serialPortMessage(this.ComPortMainToLCD, sb.ToString());
|
|
|
|
// 통신 확인 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, sb.ToString()));
|
|
|
|
return ret;
|
|
}
|
|
public int TransferDataStream(string command, string id, string address, string data)
|
|
{
|
|
int ret = 0;
|
|
string chkSum = "cc";
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(command);
|
|
sb.Append(id);
|
|
sb.Append(Helper.StringZeroFillDigits4(data.Length.ToString()));
|
|
sb.Append(address);
|
|
sb.Append(data);
|
|
|
|
chkSum = this.Checksumcalculator(sb.ToString());
|
|
|
|
sb.Append(chkSum);
|
|
|
|
SerialMgrComm.serialPortMessage(this.ComPortMainToLCD, sb.ToString());
|
|
|
|
// 통신 확인 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, sb.ToString()));
|
|
|
|
return ret;
|
|
}
|
|
private int TransferDataRespone(string command, string id, string transactionID, string TransferCount, string respone)
|
|
{
|
|
int ret = 0;
|
|
string chkSum = "cc";
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(command);
|
|
sb.Append(transactionID);
|
|
sb.Append(TransferCount);
|
|
sb.Append(respone);
|
|
|
|
chkSum = this.Checksumcalculator(sb.ToString());
|
|
|
|
sb.Append(chkSum);
|
|
|
|
SerialMgrComm.serialPortMessage(this.ComPortMainToLCD, sb.ToString());
|
|
|
|
// 통신 확인 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, sb.ToString()));
|
|
|
|
return ret;
|
|
}
|
|
private void ReceiveData1(string strTemp)
|
|
{
|
|
int ret = 0;
|
|
|
|
switch (strTemp[0])
|
|
{
|
|
case 'C':
|
|
if ((ret = this.ReceiveCommandC(strTemp)) != 0)
|
|
return;
|
|
break;
|
|
case 'P':
|
|
if ((ret = this.ReceiveCommandP(strTemp)) != 0)
|
|
return;
|
|
break;
|
|
case 'S':
|
|
if ((ret = this.ReceiveCommandS(strTemp)) != 0)
|
|
return;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
private int ReceiveCommandC(string strTemp)
|
|
{
|
|
int ret = 0;
|
|
string cmd = "";
|
|
|
|
if (this.ChksumCheck(strTemp) == false)
|
|
{
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1} : Receive Command Data CHKSUM Error", DateTime.Now, strTemp));
|
|
return ret = -1;
|
|
}
|
|
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, strTemp));
|
|
|
|
cmd = strTemp.Substring(0, 3);
|
|
|
|
switch (cmd)
|
|
{
|
|
case "CI0":
|
|
this.IsBootingComplete = false;
|
|
this.TransferDataStream(CommunicationCommand.Read, CommunicationID.MainBoard, CommunicationAddress._6901_ParameterRead6901, "");
|
|
|
|
this.EquipmentStatus = DataStore.EquipmentStatus.Stop;
|
|
// 생산속도 Clear
|
|
foreach (WeightData data in this.CollectionWeightData)
|
|
{
|
|
data.ProductionSpeed = 0;
|
|
data.IsStart = false;
|
|
}
|
|
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
break;
|
|
case "CBS":
|
|
this.EquipmentStatus = DataStore.EquipmentStatus.Start;
|
|
this.timerEquipmentStatus.Enabled = true;
|
|
|
|
// 운전시 중량 0 으로 Clear
|
|
foreach (WeightData data in this.CollectionWeightData)
|
|
{
|
|
data.Weight = 0.0;
|
|
}
|
|
|
|
// 재전송 관련 카운트 표시
|
|
// 관리자모드 설정 시 메인화면 표시됨 (장비 테스트화면에서 설정)
|
|
this.SystemConfig.ComRetryCNT = 0;
|
|
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
|
|
// 비상정지시 장비 정지상태로 변환
|
|
if (this.IsServoOrigin == true)
|
|
{
|
|
this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
|
|
this.ChildFormMainDisplay.UpdateDisplayAlarmMessageServoOrigin();
|
|
}
|
|
break;
|
|
case "CBT":
|
|
this.EquipmentStatus = DataStore.EquipmentStatus.Stop;
|
|
this.timerEquipmentStatus.Enabled = true;
|
|
|
|
// 생산속도 Clear
|
|
foreach (WeightData data in this.CollectionWeightData)
|
|
{
|
|
data.ProductionSpeed = 0;
|
|
data.IsStart = false;
|
|
}
|
|
|
|
// Respone
|
|
this.CurrentComRespone.Initialization();
|
|
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
|
|
break;
|
|
case "CBE":
|
|
break;
|
|
case "CBZ":
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
private int ReceiveCommandP(string strTemp)
|
|
{
|
|
int ret = 0;
|
|
string cmd = "", address = "", lane = "", receiveData = "";
|
|
|
|
// SIZE 확인
|
|
if (this.SizeCheck("P", strTemp) == false)
|
|
{
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1} : Receive Stream Data SIZE Error", DateTime.Now, strTemp));
|
|
return ret = -1;
|
|
}
|
|
// CHKSUM 확인
|
|
if (this.ChksumCheck(strTemp) == false)
|
|
{
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1} : Receive Stream Data CHKSUM Error", DateTime.Now, strTemp));
|
|
return ret = -1;
|
|
}
|
|
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, strTemp));
|
|
|
|
cmd = strTemp.Substring(0, 3);
|
|
lane = strTemp.Substring(5, 1);
|
|
address = strTemp.Substring(10, 4);
|
|
receiveData = strTemp.Substring(14, strTemp.Length - 16);
|
|
|
|
switch (cmd)
|
|
{
|
|
case "PR0":
|
|
if ((ret = this.ReceiveCommandPR0(lane, address, receiveData)) != 0)
|
|
return ret = -1;
|
|
break;
|
|
case "PW0":
|
|
if ((ret = this.ReceiveCommandPW0(lane, address, receiveData)) != 0)
|
|
return ret = -1;
|
|
break;
|
|
case "PB0":
|
|
if ((ret = this.ReceiveCommandPB0(lane, address, receiveData)) != 0)
|
|
return ret = -1;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
private int ReceiveCommandS(string strTemp)
|
|
{
|
|
int ret = 0;
|
|
string cmd = "", lane = "", receiveData = "", dataID = "", transferCNT = "";
|
|
|
|
// SIZE 확인
|
|
if (this.SizeCheck("S", strTemp) == false)
|
|
{
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1} : Receive Stream Data SIZE Error", DateTime.Now, strTemp));
|
|
return ret = -1;
|
|
}
|
|
// CHKSUM 확인
|
|
if (this.ChksumCheck(strTemp) == false)
|
|
{
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1} : Receive Stream Data CHKSUM Error", DateTime.Now, strTemp));
|
|
return ret = -1;
|
|
}
|
|
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Receive ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, strTemp));
|
|
|
|
cmd = strTemp.Substring(0, 3);
|
|
dataID = strTemp.Substring(3, 1);
|
|
transferCNT = strTemp.Substring(4, 1);
|
|
lane = strTemp.Substring(5, 1);
|
|
receiveData = strTemp.Substring(10, strTemp.Length - 12);
|
|
|
|
switch (cmd)
|
|
{
|
|
case "SA0":
|
|
if ((ret = this.ReceiveCommandSA0(lane, receiveData)) != 0)
|
|
return ret;
|
|
break;
|
|
case "SN0":
|
|
if ((ret = this.ReceiveCommandSN0(lane, receiveData)) != 0)
|
|
return ret;
|
|
break;
|
|
case "SR0":
|
|
if ((ret = this.ReceiveCommandSR0(lane, receiveData, dataID, transferCNT)) != 0)
|
|
return ret;
|
|
break;
|
|
case "SC0":
|
|
if ((ret = this.ReceiveCommandSC0(lane, receiveData)) != 0)
|
|
return ret;
|
|
break;
|
|
case "SF0":
|
|
if ((ret = this.ReceiveCommandSF0(lane, receiveData)) != 0)
|
|
return ret;
|
|
break;
|
|
case "SG0":
|
|
if ((ret = this.ReceiveCommandSG0(lane, receiveData)) != 0)
|
|
return ret;
|
|
break;
|
|
case "ST0":
|
|
if ((ret = this.ReceiveCommandST0(lane, receiveData)) != 0)
|
|
return ret;
|
|
break;
|
|
case "ST1":
|
|
if ((ret = this.ReceiveCommandST1(lane, receiveData)) != 0)
|
|
return ret;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
// 파라미터 읽기 응답
|
|
private int ReceiveCommandPR0(string lane, string address, string receiveData)
|
|
{
|
|
int ret = 0, iValue = 0;
|
|
string sValue = "";
|
|
|
|
try
|
|
{
|
|
switch (address)
|
|
{
|
|
case "1500":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns + 1; i++)
|
|
{
|
|
this.CollectionVersion[i] = receiveData.Substring(i * 4, 4);
|
|
}
|
|
|
|
if (this.ChildFormInformation != null)
|
|
this.ChildFormInformation.UpdateProgreamVersionDisplay(this.EquipmentStatus, this.CollectionVersion);
|
|
#endregion
|
|
break;
|
|
case "2001":
|
|
#region Value Assign
|
|
iValue = int.Parse(receiveData);
|
|
if (iValue <= 0 || iValue > 1000)
|
|
return ret = -1;
|
|
|
|
this.SystemConfig.ProductNumber = iValue;
|
|
#endregion
|
|
|
|
// 최초에 부팅이 완료 되었는지 확인
|
|
if (this.IsBootingComplete == false)
|
|
{
|
|
this.IsBootingComplete = true;
|
|
// 부팅 후 영점이안맞아 강제로 영점 잡는 명령 보냄..(V1.0.3)
|
|
this.TransferData(CommunicationCommand.Zero, CommunicationID.SubBoardAll);
|
|
}
|
|
|
|
// Retry Timer stop
|
|
this.timerTimeout.Enabled = false;
|
|
|
|
this.SaveSystemConfigurationFile1(this.SystemConfig);
|
|
|
|
this.LoadProductFile(ref this.CurrentProductItem, this.SystemConfig.ProductNumber - 1);
|
|
this.LoadCounterFile1(ref this.CollectionWeightData, this.SystemConfig.ProductNumber - 1);
|
|
if(this.SystemConfig.EquipmentColumns == 16)
|
|
this.LoadCounterFile2(ref this.CollectionWeightData, this.SystemConfig.ProductNumber - 1);
|
|
this.LoadJudgmentSetFile(ref this.CurrentJudgmentSetItem, this.SystemConfig.ProductNumber - 1);
|
|
this.LoadDynamicCorrectionFile(ref this.CurrentJudgmentSetItem, this.SystemConfig.ProductNumber - 1);
|
|
|
|
// 생산속도 Clear
|
|
foreach (WeightData data in this.CollectionWeightData)
|
|
{
|
|
data.ProductionSpeed = 0;
|
|
data.IsStart = false;
|
|
}
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormMainDisplay)
|
|
{
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.UpdateCurrentProductDisplay(this.EquipmentStatus, this.CurrentProductItem, this.CurrentJudgmentSetItem, this.CollectionWeightData);
|
|
}
|
|
else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormSystemSetting)
|
|
{
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateItemNoDisplay(this.EquipmentStatus, this.CurrentProductItem, this.CurrentJudgmentSetItem);
|
|
}
|
|
break;
|
|
case "3001":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.CollectionMaxWeight[i] = receiveData.Substring(i * 7, 7).Trim();
|
|
#endregion
|
|
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateMaxWeightDisplay(this.EquipmentStatus, this.CollectionMaxWeight);
|
|
break;
|
|
case "3002":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.CollectionBalanceWeight[i] = receiveData.Substring(i * 7, 7).Trim();
|
|
#endregion
|
|
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateBalanceWeightDisplay(this.EquipmentStatus, this.CollectionBalanceWeight);
|
|
break;
|
|
case "3003":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.CollectionDigit[i] = receiveData.Substring(i * 7, 7).Trim();
|
|
#endregion
|
|
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateDigitDisplay(this.EquipmentStatus, this.CollectionDigit);
|
|
break;
|
|
case "3901":
|
|
#region Value Assign
|
|
this.CurrentCalibrationItem.MaxWeight = receiveData.Substring(0, 7).Trim();
|
|
this.CurrentCalibrationItem.BalanceWeight = receiveData.Substring(7, 7).Trim();
|
|
this.CurrentCalibrationItem.Digit = receiveData.Substring(14, 7).Trim();
|
|
|
|
switch (this.SystemConfig.EquipmentColumns)
|
|
{
|
|
case 2:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
break;
|
|
case 3:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
break;
|
|
case 4:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
break;
|
|
case 5:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant5 = receiveData.Substring(49, 7).Trim();
|
|
break;
|
|
case 6:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant5 = receiveData.Substring(49, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant6 = receiveData.Substring(56, 7).Trim();
|
|
break;
|
|
case 7:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant5 = receiveData.Substring(49, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant6 = receiveData.Substring(56, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant7 = receiveData.Substring(63, 7).Trim();
|
|
break;
|
|
case 8:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant5 = receiveData.Substring(49, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant6 = receiveData.Substring(56, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant7 = receiveData.Substring(63, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant8 = receiveData.Substring(70, 7).Trim();
|
|
break;
|
|
case 10:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant5 = receiveData.Substring(49, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant6 = receiveData.Substring(56, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant7 = receiveData.Substring(63, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant8 = receiveData.Substring(70, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant9 = receiveData.Substring(77, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant10 = receiveData.Substring(84, 7).Trim();
|
|
break;
|
|
case 12:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant5 = receiveData.Substring(49, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant6 = receiveData.Substring(56, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant7 = receiveData.Substring(63, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant8 = receiveData.Substring(70, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant9 = receiveData.Substring(77, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant10 = receiveData.Substring(84, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant11 = receiveData.Substring(91, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant12 = receiveData.Substring(98, 7).Trim();
|
|
break;
|
|
case 16:
|
|
this.CurrentCalibrationItem.Constant1 = receiveData.Substring(21, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant2 = receiveData.Substring(28, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant3 = receiveData.Substring(35, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant4 = receiveData.Substring(42, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant5 = receiveData.Substring(49, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant6 = receiveData.Substring(56, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant7 = receiveData.Substring(63, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant8 = receiveData.Substring(70, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant9 = receiveData.Substring(77, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant10 = receiveData.Substring(84, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant11 = receiveData.Substring(91, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant12 = receiveData.Substring(98, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant13 = receiveData.Substring(105, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant14 = receiveData.Substring(112, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant15 = receiveData.Substring(119, 7).Trim();
|
|
this.CurrentCalibrationItem.Constant16 = receiveData.Substring(126, 7).Trim();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormCalibration)
|
|
{
|
|
if (this.ChildFormCalibration != null)
|
|
this.ChildFormCalibration.UpdateCalibrationItemDisplay(this.EquipmentStatus, this.CurrentCalibrationItem);
|
|
}
|
|
else
|
|
{
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateCalibrationItemDisplay(this.EquipmentStatus, this.CurrentCalibrationItem);
|
|
}
|
|
break;
|
|
case "4001":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.CollectionZeroParameterTime[i] = receiveData.Substring(i * 4, 4).Trim();
|
|
#endregion
|
|
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateZeroParameterTimeDisplay(this.EquipmentStatus, this.CollectionZeroParameterTime);
|
|
break;
|
|
case "4002":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.CollectionZeroParameterRange[i] = receiveData.Substring(i * 4, 4).Trim();
|
|
#endregion
|
|
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateZeroParameterRangeDisplay(this.EquipmentStatus, this.CollectionZeroParameterRange);
|
|
break;
|
|
case "4003":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.CollectionZeroParameterVariates[i] = receiveData.Substring(i * 4, 4).Trim();
|
|
#endregion
|
|
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateZeroParameterVariateDisplay(this.EquipmentStatus, this.CollectionZeroParameterVariates);
|
|
break;
|
|
case "4901":
|
|
#region Value Assign
|
|
this.CurrentZeroParameterItem.Time = receiveData.Substring(0, 4).Trim();
|
|
this.CurrentZeroParameterItem.Range = receiveData.Substring(4, 4).Trim();
|
|
this.CurrentZeroParameterItem.Variate = receiveData.Substring(8, 4).Trim();
|
|
this.CurrentZeroParameterItem.Mode = receiveData.Substring(12, 4).Trim();
|
|
#endregion
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormConfiguration)
|
|
{
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateZeroParameterDisplay(this.EquipmentStatus, this.CurrentZeroParameterItem);
|
|
}
|
|
else
|
|
{
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateZeroParameterDisplay(this.EquipmentStatus, this.CurrentZeroParameterItem);
|
|
|
|
this.TransferDataStream(CommunicationCommand.Read, CommunicationID.MainBoard, CommunicationAddress._6901_ParameterRead6901, "");
|
|
}
|
|
break;
|
|
case "5001":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.CollectionFilter[i] = receiveData.Substring(i * 4, 4).Trim();
|
|
#endregion
|
|
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateFilterDisplay(this.EquipmentStatus, this.CollectionFilter);
|
|
break;
|
|
case "6901":
|
|
#region Value Assign
|
|
this.CurrentOptionParameterItem.BuzzerOnTime = receiveData.Substring(0, 4).Trim();
|
|
this.CurrentOptionParameterItem.RelayOnTime = receiveData.Substring(4, 4).Trim();
|
|
this.CurrentOptionParameterItem.PassAlarm = receiveData.Substring(8, 4).Trim();
|
|
this.CurrentOptionParameterItem.PassAlarmCount = receiveData.Substring(12, 4).Trim();
|
|
//this.CurrentOptionParameterItem.DoubleEnter = receiveData.Substring(16, 4).Trim();
|
|
this.CurrentOptionParameterItem.Chattering = receiveData.Substring(20, 4).Trim();
|
|
#endregion
|
|
if (this.IsBootingComplete == false)
|
|
{
|
|
this.TrasferSystemParameter(this.SystemConfig);
|
|
}
|
|
else
|
|
{
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormConfiguration)
|
|
{
|
|
if (this.ChildFormConfiguration != null)
|
|
this.ChildFormConfiguration.UpdateOptionParameterDisplay(this.EquipmentStatus, this.CurrentOptionParameterItem);
|
|
}
|
|
else
|
|
{
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateOptionParameterDisplay(this.EquipmentStatus, this.CurrentOptionParameterItem);
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
ret = -1;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// 파라미터 쓰기 응답
|
|
private int ReceiveCommandPW0(string lane, string address, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
DataStore.ResponseData response = DataStore.ResponseData.NAK;
|
|
|
|
try
|
|
{
|
|
if (receiveData == "0000")
|
|
response = DataStore.ResponseData.NAK;
|
|
else
|
|
response = DataStore.ResponseData.ACK;
|
|
|
|
switch (address)
|
|
{
|
|
case "9029":
|
|
if (response == DataStore.ResponseData.ACK)
|
|
this.ProductChange(this.SystemConfig.ProductNumber);
|
|
break;
|
|
case "9030":
|
|
if (response == DataStore.ResponseData.ACK)
|
|
this.TransferProductParameter2(this.ProductChangNumber);
|
|
break;
|
|
case "9034":
|
|
if (response == DataStore.ResponseData.ACK)
|
|
this.TransferProductParameter1(this.ProductChangNumber);
|
|
break;
|
|
case "9040":
|
|
if(response == DataStore.ResponseData.ACK)
|
|
this.TransferDataStream(CommunicationCommand.Read, CommunicationID.MainBoard, CommunicationAddress._2001_ProductNumber, "");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
ret = -1;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// Bypass to motor
|
|
private int ReceiveCommandPB0(string lane, string address, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
DataStore.ResponseData response = DataStore.ResponseData.NAK;
|
|
|
|
try
|
|
{
|
|
if (receiveData == "0000")
|
|
response = DataStore.ResponseData.NAK;
|
|
else
|
|
response = DataStore.ResponseData.ACK;
|
|
|
|
switch (address)
|
|
{
|
|
case "1101":
|
|
break;
|
|
case "1102":
|
|
break;
|
|
case "1103":
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
ret = -1;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
// 정지시 중량
|
|
private int ReceiveCommandSN0(string lane, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
|
|
try
|
|
{
|
|
switch (lane)
|
|
{
|
|
case "Z":
|
|
#region Value Assign
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormMainDisplay)
|
|
{
|
|
if (this.SystemConfig.IsWeightViewForward == true)
|
|
{
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
{
|
|
this.CollectionWeightData[i].Status = Helper.StringToWeightStatus(receiveData.Substring(i * 12, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[i].ADCValue = receiveData.Substring(i * 12 + 7, 5);
|
|
}
|
|
else
|
|
{
|
|
this.CollectionWeightData[i].Status = Helper.StringToWeightStatus(receiveData.Substring(i * 12, 2));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 1; i <= this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
{
|
|
this.CollectionWeightData[this.SystemConfig.EquipmentColumns - i].Status = Helper.StringToWeightStatus(receiveData.Substring((i-1) * 12, 2));
|
|
this.CollectionWeightData[this.SystemConfig.EquipmentColumns - i].Weight = Helper.StringToWeight(receiveData.Substring((i - 1) * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[this.SystemConfig.EquipmentColumns - i].ADCValue = receiveData.Substring((i - 1) * 12 + 7, 5);
|
|
}
|
|
else
|
|
{
|
|
this.CollectionWeightData[this.SystemConfig.EquipmentColumns - i].Status = Helper.StringToWeightStatus(receiveData.Substring((i - 1) * 12, 2));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormEquipmentTest)
|
|
{
|
|
if (this.SystemConfig.IsWeightViewForward == true)
|
|
{
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightDataTest[i].Status = Helper.StringToWeightStatus(receiveData.Substring(i * 12, 2));
|
|
this.CollectionWeightDataTest[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightDataTest[i].ADCValue = receiveData.Substring(i * 12 + 7, 5);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 1; i <= this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightDataTest[this.SystemConfig.EquipmentColumns - i].Status = Helper.StringToWeightStatus(receiveData.Substring((i - 1) * 12, 2));
|
|
this.CollectionWeightDataTest[this.SystemConfig.EquipmentColumns - i].Weight = Helper.StringToWeight(receiveData.Substring((i - 1) * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightDataTest[this.SystemConfig.EquipmentColumns - i].ADCValue = receiveData.Substring((i - 1) * 12 + 7, 5);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormMainDisplay)
|
|
{
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.UpdateStopWeightDisplay(this.EquipmentStatus, this.CollectionWeightData);
|
|
}
|
|
else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormEquipmentTest)
|
|
{
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateStopWeightDisplay(this.EquipmentStatus, this.CollectionWeightDataTest);
|
|
|
|
if (this.IsAdcLogOpen == true)
|
|
{
|
|
if (this.FlagADCValueWrite == true)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
sb.Append(this.CollectionWeightDataTest[i].ADCValue);
|
|
sb.Append(",");
|
|
}
|
|
|
|
this.smartFileAdcLog.WriteString(string.Format("Receive,{0:yyyy-MM-dd HH:mm:ss},{1}", DateTime.Now, sb.ToString()));
|
|
this.FlagADCValueWrite = false;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
ret = -1;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// 운전시 중량
|
|
private int ReceiveCommandSR0(string lane, string receiveData, string transactionID, string transferCNT)
|
|
{
|
|
int ret = 0;
|
|
string data;
|
|
StringBuilder weightLimit = new StringBuilder();
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
try
|
|
{
|
|
switch (lane)
|
|
{
|
|
case "Z":
|
|
#region Value Assign
|
|
// Respone
|
|
//this.TransferDataRespone(CommunicationCommand.StartDataCMD, lane, transactionID, transferCNT, CommunicationAddress.ACK);
|
|
//Application.DoEvents();
|
|
|
|
if (this.CurrentComRespone.TransactionID != transactionID)
|
|
{
|
|
this.CurrentComRespone.TransactionID = transactionID;
|
|
this.CurrentComRespone.TransferCount = transferCNT;
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormEquipmentTest)
|
|
{
|
|
#region FormEquipmentTest
|
|
if (this.SystemConfig.IsWeightViewForward == true)
|
|
{
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightDataTest[i].JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(i * 12, 2));
|
|
this.CollectionWeightDataTest[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightDataTest[i].ADCValue = receiveData.Substring(i * 12 + 7, 5);
|
|
|
|
// SamplingData Check
|
|
data = receiveData.Substring(i * 12, 2);
|
|
if (data == "sU" || data == "sO" || data == "sP" || data == "sT")
|
|
this.CollectionWeightDataTest[i].IsSamplingData = true;
|
|
else
|
|
this.CollectionWeightDataTest[i].IsSamplingData = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 1; i <= this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightDataTest[this.CollectionWeightDataTest.Count - i].JudgmentStatus =
|
|
Helper.StringToJudgmentStatus(receiveData.Substring((i - 1) * 12, 2));
|
|
this.CollectionWeightDataTest[this.CollectionWeightDataTest.Count - i].Weight =
|
|
Helper.StringToWeight(receiveData.Substring((i - 1) * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightDataTest[this.CollectionWeightDataTest.Count - i].ADCValue = receiveData.Substring((i - 1) * 12 + 7, 5);
|
|
|
|
// SamplingData Check
|
|
data = receiveData.Substring((i - 1) * 12, 2);
|
|
if (data == "sU" || data == "sO" || data == "sP" || data == "sT")
|
|
this.CollectionWeightDataTest[this.CollectionWeightDataTest.Count - i].IsSamplingData = true;
|
|
else
|
|
this.CollectionWeightDataTest[this.CollectionWeightDataTest.Count - i].IsSamplingData = false;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
#region FormMainDisplay
|
|
if (this.SystemConfig.IsWeightViewForward == true)
|
|
{
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightData[i].JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(i * 7, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 7 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[i].WeightString = receiveData.Substring(i * 7 + 2, 5).Trim();
|
|
//this.CollectionWeightData[i].ADCValue = receiveData.Substring(i * 12 + 7, 5);
|
|
|
|
// SamplingData Check
|
|
data = receiveData.Substring(i * 7, 2);
|
|
if (data == "sU" || data == "sO" || data == "sP" || data == "sT")
|
|
this.CollectionWeightData[i].IsSamplingData = true;
|
|
else
|
|
this.CollectionWeightData[i].IsSamplingData = false;
|
|
|
|
// Weight Limit Check
|
|
if (data == "sa" || data == "sj")
|
|
{
|
|
if (weightLimit.ToString().Length == 0)
|
|
weightLimit.Append(string.Format("#{0}", i + 1));
|
|
else
|
|
{
|
|
weightLimit.Append(", ");
|
|
weightLimit.Append(string.Format("#{0}", i + 1));
|
|
}
|
|
}
|
|
if (weightLimit.ToString().Length != 0)
|
|
this.ChildFormMainDisplay.UpdateDisplayPinchPointAlarm(weightLimit.ToString());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 1; i <= this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightData[this.CollectionWeightData.Count - i].JudgmentStatus =
|
|
Helper.StringToJudgmentStatus(receiveData.Substring((i - 1) * 7, 2));
|
|
this.CollectionWeightData[this.CollectionWeightData.Count - i].Weight =
|
|
Helper.StringToWeight(receiveData.Substring((i - 1) * 7 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[this.CollectionWeightData.Count - i].WeightString = receiveData.Substring((i - 1) * 7 + 2, 5).Trim();
|
|
//this.CollectionWeightData[this.CollectionWeightData.Count - i].ADCValue = receiveData.Substring((i - 1) * 7 + 7, 5);
|
|
|
|
// SamplingData Check
|
|
data = receiveData.Substring((i - 1) * 7, 2);
|
|
if (data == "sU" || data == "sO" || data == "sP" || data == "sT")
|
|
this.CollectionWeightData[this.CollectionWeightData.Count - i].IsSamplingData = true;
|
|
else
|
|
this.CollectionWeightData[this.CollectionWeightData.Count - i].IsSamplingData = false;
|
|
|
|
// Weight Limit Check
|
|
if (data == "sa" || data == "sj")
|
|
{
|
|
if (weightLimit.ToString().Length == 0)
|
|
weightLimit.Append(string.Format("#{0}", (this.CollectionWeightData.Count - i) + 1));
|
|
else
|
|
{
|
|
weightLimit.Append(", ");
|
|
weightLimit.Append(string.Format("#{0}", (this.CollectionWeightData.Count - i) + 1));
|
|
}
|
|
}
|
|
if (weightLimit.ToString().Length != 0)
|
|
this.ChildFormMainDisplay.UpdateDisplayPinchPointAlarm(weightLimit.ToString());
|
|
}
|
|
}
|
|
|
|
// 생산속도
|
|
try
|
|
{
|
|
this.CollectionWeightData[0].ProductionSpeed = int.Parse(receiveData.Substring(receiveData.Length - 4, 4).Trim());
|
|
}
|
|
catch
|
|
{
|
|
this.CollectionWeightData[0].ProductionSpeed = 0;
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormMainDisplay)
|
|
{
|
|
#region Serial 3
|
|
if (this.SystemConfig.Serial3Mode == 1) // OPT1 - 중량 데이터 피드백
|
|
{
|
|
// V1.10.0 아남자동기 수정
|
|
// FeedbackEmptyTransfer - 제품 안들어 올때 데이터 전송 여부
|
|
// 중량이 0.3g 이하이면 전송 안함 (제품이 안들어 올때) <- 전체열이 0.3g이하일때 전송안함
|
|
// V3.1.0 HRG 수정 (V1.10.0 기능 삭제)
|
|
// Empty중량설정 추가 - 판정이 Empty이면 데이터 전송 안함
|
|
// V3.3.2
|
|
// Empty판정이 1개라도 있으면 데이터 전송 안함
|
|
// V8.0.0
|
|
// Empty 중량설정 이하면 전송 안하도록 수정(바이패스 시 GRD 'P'로 전송되어, 0g 이여도 전송됨
|
|
int cnt = 0;
|
|
foreach (WeightData weight in this.CollectionWeightData)
|
|
{
|
|
//if (weight.JudgmentStatus == DataStore.JudgmentStatus.Empty)
|
|
// cnt++;
|
|
|
|
if (int.Parse(weight.WeightString) < int.Parse(this.SystemConfig.EmptyWeight))
|
|
cnt++;
|
|
}
|
|
|
|
if (cnt == 0)
|
|
this.SerialCH3STD1(this.CollectionWeightData);
|
|
}
|
|
else if (this.SystemConfig.Serial3Mode == 2)
|
|
this.SerialCH3STD2(this.CollectionWeightData);
|
|
#endregion
|
|
|
|
#region FormMainDisplay
|
|
this.DataBackup(this.CollectionWeightData);
|
|
|
|
if (this.ChildFormMainDisplay != null)
|
|
{
|
|
this.ChildFormMainDisplay.UpdateStartWeightDisplay(this.EquipmentStatus, this.CollectionWeightData);
|
|
}
|
|
#endregion
|
|
}
|
|
else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormEquipmentTest)
|
|
{
|
|
#region FormEquipmentTest
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateStartWeightDisplay(this.EquipmentStatus, this.CollectionWeightDataTest);
|
|
#endregion
|
|
}
|
|
else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormSystemSetting)
|
|
{
|
|
#region FormSystemSetting
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateStartWeightDisplay(this.EquipmentStatus, this.CollectionWeightData);
|
|
#endregion
|
|
}
|
|
|
|
// SamplingData 화면 표시 후 초기화
|
|
//for (int i = 0; i < this.CollectionWeightData.Count; i++)
|
|
//{
|
|
// this.CollectionWeightData[i].IsSamplingData = false;
|
|
// this.CollectionWeightDataTest[i].IsSamplingData = false;
|
|
//}
|
|
// 샘플링 연속 기능 V4.2.0
|
|
if (this.SystemConfig.IsSamplingOnce == false)
|
|
{
|
|
if (this.SystemConfig.IsSamplingRun == true && this.timerSampling.Enabled == false)
|
|
{
|
|
if (this.SystemConfig.SamplingCurrentCount >= this.SystemConfig.SamplingCount)
|
|
{
|
|
this.SystemConfig.SamplingCurrentCount = 0;
|
|
this.timerSampling.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.TransferData(CommunicationCommand.SamplingSignal, CommunicationID.MainBoard);
|
|
this.SystemConfig.SamplingCurrentCount++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Leak Sampling 연속 기능 V8.4.0
|
|
if (this.SystemConfig.IsLeakSamplingOnce == false)
|
|
{
|
|
if (this.SystemConfig.IsLeakSamplingRun == true && this.timerLeakSampling.Enabled == false)
|
|
{
|
|
this.TransferData(CommunicationCommand.LeakSamplingSignal, CommunicationID.MainBoard);
|
|
this.timerLeakSampling.Enabled = true;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 같은 데이터를 전송받으면 재전송 카운트 증가
|
|
this.SystemConfig.ComRetryCNT++;
|
|
this.SaveSystemConfigurationFile2(this.SystemConfig);
|
|
}
|
|
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
ret = -1;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// 중량조정시 중량
|
|
private int ReceiveCommandSC0(string lane, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
|
|
switch (lane)
|
|
{
|
|
case "Z":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightData[i].Status = Helper.StringToWeightStatus(receiveData.Substring(i * 12, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[i].ADCValue = receiveData.Substring(i * 12 + 7, 5);
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormCalibration != null)
|
|
this.ChildFormCalibration.UpdateWeightDisplay(this.EquipmentStatus, this.CollectionWeightData);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// 판정설정시 중량 - 정지
|
|
private int ReceiveCommandSF0(string lane, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
|
|
switch (lane)
|
|
{
|
|
case "Z":
|
|
#region Value Assign
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightData[i].Status = Helper.StringToWeightStatus(receiveData.Substring(i * 12, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 12 + 2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[i].ADCValue = receiveData.Substring(i * 12 + 7, 5);
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateStopWeightDisplay(this.EquipmentStatus, this.CollectionWeightData);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// 판정설정 그래프
|
|
private int ReceiveCommandSG0(string lane, string receiveData)
|
|
{
|
|
int ret = 0, temp = 20;
|
|
string time1 = "";
|
|
|
|
switch (lane)
|
|
{
|
|
case "A":
|
|
#region Value Assign
|
|
this.CollectionWeightData[0].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[0].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[0], this.CollectionGraphData, time1);
|
|
break;
|
|
case "B":
|
|
#region Value Assign
|
|
this.CollectionWeightData[1].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[1].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[1], this.CollectionGraphData, time1);
|
|
break;
|
|
case "C":
|
|
#region Value Assign
|
|
this.CollectionWeightData[2].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[2].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[2], this.CollectionGraphData, time1);
|
|
break;
|
|
case "D":
|
|
#region Value Assign
|
|
this.CollectionWeightData[3].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[3].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[3], this.CollectionGraphData, time1);
|
|
break;
|
|
case "E":
|
|
#region Value Assign
|
|
this.CollectionWeightData[4].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[4].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[4], this.CollectionGraphData, time1);
|
|
break;
|
|
case "F":
|
|
#region Value Assign
|
|
this.CollectionWeightData[5].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[5].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[5], this.CollectionGraphData, time1);
|
|
break;
|
|
case "G":
|
|
#region Value Assign
|
|
this.CollectionWeightData[6].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[6].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[6], this.CollectionGraphData, time1);
|
|
break;
|
|
case "H":
|
|
#region Value Assign
|
|
this.CollectionWeightData[7].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[7].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[7], this.CollectionGraphData, time1);
|
|
break;
|
|
case "I":
|
|
#region Value Assign
|
|
this.CollectionWeightData[8].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[8].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[8], this.CollectionGraphData, time1);
|
|
break;
|
|
case "J":
|
|
#region Value Assign
|
|
this.CollectionWeightData[9].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[9].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[9], this.CollectionGraphData, time1);
|
|
break;
|
|
case "K":
|
|
#region Value Assign
|
|
this.CollectionWeightData[10].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[10].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[10], this.CollectionGraphData, time1);
|
|
break;
|
|
case "L":
|
|
#region Value Assign
|
|
this.CollectionWeightData[11].Weight = Helper.StringToWeight(receiveData.Substring(2, 5), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[11].ADCValue = receiveData.Substring(7, 5);
|
|
time1 = receiveData.Substring(12, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 5));
|
|
temp += 5;
|
|
}
|
|
#endregion
|
|
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateGraphDataDisplay(this.EquipmentStatus, this.CollectionWeightData[11], this.CollectionGraphData, time1);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// IO테스트-IN
|
|
private int ReceiveCommandST0(string lane, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
|
|
switch (lane)
|
|
{
|
|
case "0":
|
|
#region Value Assign
|
|
for (int i = 0; i < 16; i++)
|
|
this.CollectionIOTest_InputData[i] = receiveData.Substring(i, 1);
|
|
#endregion
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormIOTest)
|
|
{
|
|
if (this.ChildFormIOTest != null)
|
|
this.ChildFormIOTest.UpdateInputRead(this.CollectionIOTest_InputData);
|
|
}
|
|
else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormEquipmentTest)
|
|
{
|
|
if (this.ChildFormEquipmentTest != null)
|
|
this.ChildFormEquipmentTest.UpdateInputRead(this.CollectionIOTest_InputData);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// IO테스트1-IN
|
|
private int ReceiveCommandST1(string lane, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
|
|
switch (lane)
|
|
{
|
|
case "0":
|
|
#region Value Assign
|
|
for (int i = 0; i < 16; i++)
|
|
this.CollectionIOTest_InputData1[i] = receiveData.Substring(i, 1);
|
|
#endregion
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormIOTest)
|
|
{
|
|
if (this.ChildFormIOTest != null)
|
|
this.ChildFormIOTest.UpdateInputRead1(this.CollectionIOTest_InputData1);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
// 알람
|
|
private int ReceiveCommandSA0(string lane, string receiveData)
|
|
{
|
|
int ret = 0;
|
|
|
|
switch (lane)
|
|
{
|
|
case "0":
|
|
#region Value Assign
|
|
this.CurrentAlarmList.SetAlarm(receiveData.Substring(0, 8));
|
|
#endregion
|
|
// Servo Origin (Emergency Stop)
|
|
if (this.CurrentAlarmList.IsEmergencyStop == true)
|
|
{
|
|
if (this.EquipmentStatus1 == DataStore.EquipmentStatus.Start)
|
|
{
|
|
if (this.IsServoOrigin == false)
|
|
this.IsServoOrigin = true;
|
|
}
|
|
}
|
|
|
|
// Display
|
|
if (this.ChildFormMainDisplay != null)
|
|
{
|
|
this.ChildFormMainDisplay.UpdateDisplayAlarmView(this.CurrentAlarmList);
|
|
this.ChildFormMainDisplay.UpdateDisplayAlarmMessageServoOrigin();
|
|
}
|
|
|
|
if (this.ChildFormMotorSetting != null)
|
|
this.ChildFormMotorSetting.UpdateDisplayAlarmView(this.CurrentAlarmList);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
#endregion
|
|
|
|
#region SystemConfiguration File1
|
|
private void CreateSystemConfigurationFile1()
|
|
{
|
|
StructSystemConfigurationItem1 structItem;
|
|
|
|
this.SystemConfig.Initialization();
|
|
|
|
structItem.IsDataBackup = this.SystemConfig.IsDataBackup;
|
|
structItem.IsEachNG = this.SystemConfig.IsEachNG;
|
|
structItem.IsLogin = this.SystemConfig.IsLogin;
|
|
structItem.IsWeightViewForward = this.SystemConfig.IsWeightViewForward;
|
|
structItem.IsOptDataStatistics = this.SystemConfig.IsOptDataStatistics;
|
|
structItem.DummyBool5 = false;
|
|
structItem.DummyBool6 = false;
|
|
structItem.DummyBool7 = false;
|
|
|
|
structItem.DecimalPlaces = this.SystemConfig.DecimalPlaces;
|
|
structItem.EquipmentColumns = this.SystemConfig.EquipmentColumns;
|
|
structItem.ProductNumber = this.SystemConfig.ProductNumber;
|
|
structItem.Serial3BaudRate = this.SystemConfig.Serial3BaudRate;
|
|
structItem.Serial3Mode = this.SystemConfig.Serial3Mode;
|
|
structItem.UsbID = this.SystemConfig.UsbID;
|
|
structItem.WeightLimitIgnoreCount = this.SystemConfig.WeightLimitIgnoreCount;
|
|
structItem.MotorSelect = this.SystemConfig.MotorSelect;
|
|
|
|
structItem.Unit = this.SystemConfig.Unit;
|
|
structItem.SerialNumber = this.SystemConfig.SerialNumber;
|
|
|
|
structItem.Language = this.SystemConfig.Language;
|
|
|
|
structItem.DummyBool1 = false;
|
|
structItem.DummyBool2 = false;
|
|
structItem.DummyBool3 = false;
|
|
structItem.DummyBool4 = false;
|
|
structItem.DummyBool8 = false;
|
|
structItem.Sorter1Location = this.SystemConfig.Sorter1Location;
|
|
structItem.Sorter2Location = this.SystemConfig.Sorter2Location;
|
|
structItem.EXT1_DelayTime = this.SystemConfig.EXT1_DelayTime;
|
|
structItem.EXT1_RunTime = this.SystemConfig.EXT1_RunTime;
|
|
structItem.InverterTorque = this.SystemConfig.InverterTorque;
|
|
structItem.EmptyWeight = this.SystemConfig.EmptyWeight;
|
|
structItem.ComPort = this.SystemConfig.ComPort;
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
|
|
this.smartFileIO.WriteStructure(structItem, 0);
|
|
}
|
|
public void SaveSystemConfigurationFile1(SystemConfigurationItem item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructSystemConfigurationItem1 structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "system.cfg";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateSystemConfigurationFile1();
|
|
}
|
|
|
|
structItem.IsDataBackup = item.IsDataBackup;
|
|
structItem.IsEachNG = item.IsEachNG;
|
|
structItem.IsLogin = item.IsLogin;
|
|
structItem.IsWeightViewForward = item.IsWeightViewForward;
|
|
structItem.IsOptDataStatistics = item.IsOptDataStatistics;
|
|
structItem.DummyBool5 = false;
|
|
structItem.DummyBool6 = false;
|
|
structItem.DummyBool7 = false;
|
|
|
|
structItem.DecimalPlaces = item.DecimalPlaces;
|
|
structItem.EquipmentColumns = item.EquipmentColumns;
|
|
structItem.ProductNumber = item.ProductNumber;
|
|
structItem.Serial3BaudRate = item.Serial3BaudRate;
|
|
structItem.Serial3Mode = item.Serial3Mode;
|
|
structItem.UsbID = item.UsbID;
|
|
structItem.WeightLimitIgnoreCount = item.WeightLimitIgnoreCount;
|
|
structItem.MotorSelect = item.MotorSelect;
|
|
|
|
structItem.Unit = item.Unit;
|
|
structItem.SerialNumber = item.SerialNumber;
|
|
|
|
structItem.Language = item.Language;
|
|
|
|
structItem.DummyBool1 = false;
|
|
structItem.DummyBool2 = false;
|
|
structItem.DummyBool3 = false;
|
|
structItem.DummyBool4 = false;
|
|
structItem.DummyBool8 = false;
|
|
structItem.Sorter1Location = item.Sorter1Location;
|
|
structItem.Sorter2Location = item.Sorter2Location;
|
|
structItem.EXT1_DelayTime = item.EXT1_DelayTime;
|
|
structItem.EXT1_RunTime = item.EXT1_RunTime;
|
|
structItem.InverterTorque = item.InverterTorque;
|
|
structItem.EmptyWeight = item.EmptyWeight;
|
|
structItem.ComPort = item.ComPort;
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
|
|
this.smartFileIO.WriteStructure(structItem, 0);
|
|
this.smartFileIO.Close();
|
|
}
|
|
private void LoadSystemConfigurationFile1()
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false, save = false;
|
|
StructSystemConfigurationItem1 structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "system.cfg";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateSystemConfigurationFile1();
|
|
}
|
|
|
|
try
|
|
{
|
|
structItem = (StructSystemConfigurationItem1)this.smartFileIO.ReadStructure(0, typeof(StructSystemConfigurationItem1));
|
|
|
|
this.SystemConfig.IsDataBackup = structItem.IsDataBackup;
|
|
this.SystemConfig.IsEachNG = structItem.IsEachNG;
|
|
this.SystemConfig.IsLogin = structItem.IsLogin;
|
|
this.SystemConfig.IsWeightViewForward = structItem.IsWeightViewForward;
|
|
this.SystemConfig.IsOptDataStatistics = structItem.IsOptDataStatistics;
|
|
|
|
this.SystemConfig.DecimalPlaces = structItem.DecimalPlaces;
|
|
this.SystemConfig.EquipmentColumns = structItem.EquipmentColumns;
|
|
this.SystemConfig.ProductNumber = structItem.ProductNumber;
|
|
this.SystemConfig.Serial3BaudRate = structItem.Serial3BaudRate;
|
|
this.SystemConfig.Serial3Mode = structItem.Serial3Mode;
|
|
this.SystemConfig.UsbID = structItem.UsbID;
|
|
this.SystemConfig.InverterTorque = structItem.InverterTorque;
|
|
this.SystemConfig.EXT1_DelayTime = structItem.EXT1_DelayTime;
|
|
this.SystemConfig.EXT1_RunTime = structItem.EXT1_RunTime;
|
|
this.SystemConfig.Sorter1Location = structItem.Sorter1Location;
|
|
this.SystemConfig.Sorter2Location = structItem.Sorter2Location;
|
|
this.SystemConfig.MotorSelect = structItem.MotorSelect;
|
|
this.SystemConfig.WeightLimitIgnoreCount = structItem.WeightLimitIgnoreCount;
|
|
|
|
this.SystemConfig.Unit = structItem.Unit;
|
|
this.SystemConfig.SerialNumber = structItem.SerialNumber;
|
|
this.SystemConfig.EmptyWeight = structItem.EmptyWeight;
|
|
|
|
this.SystemConfig.Language = structItem.Language;
|
|
|
|
// Com Port
|
|
if (structItem.ComPort == "")
|
|
{
|
|
save = true;
|
|
this.SystemConfig.ComPort = "COM2";
|
|
}
|
|
else
|
|
this.SystemConfig.ComPort = structItem.ComPort;
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
|
|
this.smartFileIO.Close();
|
|
|
|
if (save == true)
|
|
this.SaveSystemConfigurationFile1(this.SystemConfig);
|
|
}
|
|
#endregion
|
|
#region SystemConfiguration File2
|
|
private void CreateSystemConfigurationFile2()
|
|
{
|
|
StructSystemConfigurationItem2 structItem;
|
|
|
|
this.SystemConfig.Initialization();
|
|
|
|
structItem.DummyDouble11 = 0.0;
|
|
structItem.DummyDouble12 = 0.0;
|
|
structItem.DummyDouble13 = 0.0;
|
|
structItem.DummyDouble14 = 0.0;
|
|
structItem.DummyDouble15 = 0.0;
|
|
structItem.DummyDouble16 = 0.0;
|
|
structItem.DummyDouble17 = 0.0;
|
|
structItem.DummyDouble18 = 0.0;
|
|
structItem.DummyDouble19 = 0.0;
|
|
structItem.DummyDouble20 = 0.0;
|
|
structItem.DummyDouble21 = 0.0;
|
|
structItem.DummyDouble22 = 0.0;
|
|
|
|
structItem.DummyBool1 = false;
|
|
structItem.DummyBool2 = false;
|
|
structItem.DummyBool3 = false;
|
|
structItem.DummyBool4 = false;
|
|
structItem.DummyBool5 = false;
|
|
structItem.DummyBool6 = false;
|
|
structItem.DummyBool7 = false;
|
|
structItem.DummyBool8 = false;
|
|
structItem.IsLeakSamplingOnce = this.SystemConfig.IsLeakSamplingOnce;
|
|
structItem.IsSamplingOnce = this.SystemConfig.IsSamplingOnce;
|
|
|
|
structItem.DummyInt1 = 0;
|
|
structItem.DummyInt2 = 0;
|
|
structItem.DummyInt3 = 0;
|
|
structItem.DummyInt4 = 0;
|
|
structItem.LeakSamplingTime = this.SystemConfig.LeakSamplingTime;
|
|
structItem.Sorter4Location = this.SystemConfig.Sorter4Location;
|
|
structItem.ComRetryCNT = this.SystemConfig.ComRetryCNT;
|
|
structItem.SamplingCount = this.SystemConfig.SamplingCount;
|
|
structItem.SamplingTime = this.SystemConfig.SamplingTime;
|
|
structItem.Sorter3Location = this.SystemConfig.Sorter3Location;
|
|
|
|
structItem.DummyDouble1 = 0.0;
|
|
structItem.DummyDouble2 = 0.0;
|
|
structItem.DummyDouble3 = 0.0;
|
|
structItem.DummyDouble4 = 0.0;
|
|
structItem.DummyDouble5 = 0.0;
|
|
structItem.DummyDouble6 = 0.0;
|
|
structItem.DummyDouble7 = 0.0;
|
|
structItem.DummyDouble8 = 0.0;
|
|
structItem.DummyDouble9 = 0.0;
|
|
structItem.DummyDouble10 = 0.0;
|
|
|
|
structItem.DummyString1 = "";
|
|
structItem.DummyString2 = "";
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
structItem.DummyString6 = "";
|
|
structItem.DummyString7 = "";
|
|
structItem.DummyString8 = "";
|
|
structItem.DummyString9 = "";
|
|
structItem.DummyString10 = "";
|
|
|
|
structItem.DummyString11 = "";
|
|
structItem.DummyString12 = "";
|
|
structItem.DummyString13 = "";
|
|
structItem.DummyString14 = "";
|
|
structItem.DummyString15 = "";
|
|
|
|
this.smartFileIO.WriteStructure(structItem, 0);
|
|
}
|
|
public void SaveSystemConfigurationFile2(SystemConfigurationItem item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructSystemConfigurationItem2 structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "system2.cfg";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateSystemConfigurationFile2();
|
|
}
|
|
|
|
structItem.DummyDouble11 = 0.0;
|
|
structItem.DummyDouble12 = 0.0;
|
|
structItem.DummyDouble13 = 0.0;
|
|
structItem.DummyDouble14 = 0.0;
|
|
structItem.DummyDouble15 = 0.0;
|
|
structItem.DummyDouble16 = 0.0;
|
|
structItem.DummyDouble17 = 0.0;
|
|
structItem.DummyDouble18 = 0.0;
|
|
structItem.DummyDouble19 = 0.0;
|
|
structItem.DummyDouble20 = 0.0;
|
|
structItem.DummyDouble21 = 0.0;
|
|
structItem.DummyDouble22 = 0.0;
|
|
|
|
structItem.DummyBool1 = false;
|
|
structItem.DummyBool2 = false;
|
|
structItem.DummyBool3 = false;
|
|
structItem.DummyBool4 = false;
|
|
structItem.DummyBool5 = false;
|
|
structItem.DummyBool6 = false;
|
|
structItem.DummyBool7 = false;
|
|
structItem.DummyBool8 = false;
|
|
structItem.IsLeakSamplingOnce = item.IsLeakSamplingOnce;
|
|
structItem.IsSamplingOnce = item.IsSamplingOnce;
|
|
|
|
structItem.DummyInt1 = 0;
|
|
structItem.DummyInt2 = 0;
|
|
structItem.DummyInt3 = 0;
|
|
structItem.DummyInt4 = 0;
|
|
structItem.LeakSamplingTime = item.LeakSamplingTime;
|
|
structItem.Sorter4Location = item.Sorter4Location;
|
|
structItem.ComRetryCNT = item.ComRetryCNT;
|
|
structItem.SamplingCount = item.SamplingCount;
|
|
structItem.SamplingTime = item.SamplingTime;
|
|
structItem.Sorter3Location = item.Sorter3Location;
|
|
|
|
structItem.DummyDouble1 = 0.0;
|
|
structItem.DummyDouble2 = 0.0;
|
|
structItem.DummyDouble3 = 0.0;
|
|
structItem.DummyDouble4 = 0.0;
|
|
structItem.DummyDouble5 = 0.0;
|
|
structItem.DummyDouble6 = 0.0;
|
|
structItem.DummyDouble7 = 0.0;
|
|
structItem.DummyDouble8 = 0.0;
|
|
structItem.DummyDouble9 = 0.0;
|
|
structItem.DummyDouble10 = 0.0;
|
|
|
|
structItem.DummyString1 = "";
|
|
structItem.DummyString2 = "";
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
structItem.DummyString6 = "";
|
|
structItem.DummyString7 = "";
|
|
structItem.DummyString8 = "";
|
|
structItem.DummyString9 = "";
|
|
structItem.DummyString10 = "";
|
|
|
|
structItem.DummyString11 = "";
|
|
structItem.DummyString12 = "";
|
|
structItem.DummyString13 = "";
|
|
structItem.DummyString14 = "";
|
|
structItem.DummyString15 = "";
|
|
|
|
this.smartFileIO.WriteStructure(structItem, 0);
|
|
this.smartFileIO.Close();
|
|
}
|
|
private void LoadSystemConfigurationFile2()
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructSystemConfigurationItem2 structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "system2.cfg";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateSystemConfigurationFile2();
|
|
}
|
|
|
|
try
|
|
{
|
|
structItem = (StructSystemConfigurationItem2)this.smartFileIO.ReadStructure(0, typeof(StructSystemConfigurationItem2));
|
|
|
|
|
|
this.SystemConfig.Sorter3Location = structItem.Sorter3Location;
|
|
this.SystemConfig.IsSamplingOnce = structItem.IsSamplingOnce;
|
|
|
|
if (structItem.SamplingCount != 0)
|
|
this.SystemConfig.SamplingCount = structItem.SamplingCount;
|
|
else
|
|
this.SystemConfig.SamplingCount = 1;
|
|
|
|
if (structItem.SamplingTime != 0)
|
|
this.SystemConfig.SamplingTime = structItem.SamplingTime;
|
|
else
|
|
this.SystemConfig.SamplingTime = 1;
|
|
|
|
this.SystemConfig.ComRetryCNT = structItem.ComRetryCNT;
|
|
this.SystemConfig.Sorter4Location = structItem.Sorter4Location;
|
|
|
|
this.SystemConfig.IsLeakSamplingOnce = structItem.IsLeakSamplingOnce;
|
|
|
|
if (this.SystemConfig.LeakSamplingTime == 0)
|
|
this.SystemConfig.LeakSamplingTime = 10;
|
|
else
|
|
this.SystemConfig.LeakSamplingTime = structItem.LeakSamplingTime;
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region ProductItem File
|
|
private void CreateProductFile()
|
|
{
|
|
StructProductItem structItem;
|
|
|
|
this.CurrentProductItem.Initialization();
|
|
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
structItem.Number = i + 1;
|
|
structItem.Name = string.Format("Product {0}", i + 1);
|
|
structItem.LotNo = string.Format("Lot {0}", i + 1);
|
|
structItem.OverRange = this.CurrentProductItem.OverRange;
|
|
structItem.PassRange = this.CurrentProductItem.PassRange;
|
|
structItem.UnderRange = this.CurrentProductItem.UnderRange;
|
|
structItem.TareRange = this.CurrentProductItem.TareRange;
|
|
structItem.OverRangeLimit = this.CurrentProductItem.OverRangeLimit;
|
|
structItem.UnderRangeLimit = this.CurrentProductItem.UnderRangeLimit;
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
structItem.DummyString6 = "";
|
|
structItem.DummyString7 = "";
|
|
structItem.DummyString8 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveProductFile(ProductItem item, int index)
|
|
{
|
|
bool fileCheck = false;
|
|
string fullFilePath = "";
|
|
StructProductItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "ProductItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
this.CreateProductFile();
|
|
}
|
|
|
|
structItem.Number = item.Number;
|
|
structItem.Name = item.Name;
|
|
structItem.LotNo = item.LotNo;
|
|
structItem.OverRange = item.OverRange;
|
|
structItem.PassRange = item.PassRange;
|
|
structItem.UnderRange = item.UnderRange;
|
|
structItem.TareRange = item.TareRange;
|
|
structItem.OverRangeLimit = item.OverRangeLimit;
|
|
structItem.UnderRangeLimit = item.UnderRangeLimit;
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
structItem.DummyString6 = "";
|
|
structItem.DummyString7 = "";
|
|
structItem.DummyString8 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, index);
|
|
this.smartFileIO.WriteStructure_End();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadProductFile(ref ProductItem item, int index)
|
|
{
|
|
bool fileCheck = false, save = false;
|
|
string fullFilePath = "";
|
|
StructProductItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "ProductItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateProductFile();
|
|
}
|
|
|
|
try
|
|
{
|
|
if (this.smartFileIO.ReadStructureAllBuffer() == true)
|
|
{
|
|
structItem = (StructProductItem)this.smartFileIO.ReadStructureBuffer(typeof(StructProductItem), index);
|
|
|
|
item.Number = structItem.Number;
|
|
item.Name = structItem.Name;
|
|
item.LotNo = structItem.LotNo;
|
|
item.OverRange = structItem.OverRange;
|
|
item.PassRange = structItem.PassRange;
|
|
item.UnderRange = structItem.UnderRange;
|
|
item.TareRange = structItem.TareRange;
|
|
|
|
// OverRangeLimit
|
|
if (structItem.OverRangeLimit == "")
|
|
{
|
|
item.OverRangeLimit = "99999";
|
|
save = true;
|
|
}
|
|
else
|
|
item.OverRangeLimit = structItem.OverRangeLimit;
|
|
// UnderRangeLimit
|
|
if (structItem.UnderRangeLimit == "")
|
|
item.UnderRangeLimit = "0";
|
|
else
|
|
item.UnderRangeLimit = structItem.UnderRangeLimit;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
|
|
this.smartFileIO.Close();
|
|
|
|
this.SaveProductFile(item, index);
|
|
}
|
|
public void LoadProductName(ref Collection<string> values)
|
|
{
|
|
string fullFilePath = "";
|
|
StructProductItem structItem;
|
|
|
|
values.Clear();
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "ProductItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
if (this.smartFileIO.ReadStructureAllBuffer() == true)
|
|
{
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
structItem = (StructProductItem)this.smartFileIO.ReadStructureBuffer(typeof(StructProductItem), i);
|
|
|
|
values.Add(structItem.Name);
|
|
}
|
|
}
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region JudgmentSetItem File
|
|
private void CreateJudgmentSetFile()
|
|
{
|
|
StructJudgmentSetItem structItem;
|
|
|
|
this.CurrentJudgmentSetItem.Initialization();
|
|
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
structItem.Filter = this.CurrentJudgmentSetItem.Filter;
|
|
structItem.JudgmentDelayTime = this.CurrentJudgmentSetItem.JudgmentDelayTime;
|
|
structItem.JudgmentCount = this.CurrentJudgmentSetItem.JudgmentCount;
|
|
structItem.FeedSpeed = this.CurrentJudgmentSetItem.FeedSpeed;
|
|
structItem.TurnDelayTime = this.CurrentJudgmentSetItem.TurnDelayTime;
|
|
structItem.Sorter1RunTime = this.CurrentJudgmentSetItem.Sorter1RunTime;
|
|
structItem.DynamicCorrection = this.CurrentJudgmentSetItem.DynamicCorrection;
|
|
structItem.OriginOffset = this.CurrentJudgmentSetItem.OriginOffset;
|
|
structItem.ForcedZeroDelayTime = this.CurrentJudgmentSetItem.ForcedZeroDelayTime;
|
|
structItem.Sorter1DelayTime = this.CurrentJudgmentSetItem.Sorter1DelayTime;
|
|
structItem.Sorter2DelayTime = this.CurrentJudgmentSetItem.Sorter2DelayTime;
|
|
structItem.Sorter2RunTime = this.CurrentJudgmentSetItem.Sorter2RunTime;
|
|
structItem.DummyString1 = "";
|
|
structItem.Sorter4DelayTime = this.CurrentJudgmentSetItem.Sorter4DelayTime;
|
|
structItem.Sorter4RunTime = this.CurrentJudgmentSetItem.Sorter4RunTime;
|
|
structItem.Sorter3DelayTime = this.CurrentJudgmentSetItem.Sorter3DelayTime;
|
|
structItem.Sorter3RunTime = this.CurrentJudgmentSetItem.Sorter3RunTime;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveJudgmentSetFile(JudgmentSetItem item, int index)
|
|
{
|
|
bool fileCheck = false;
|
|
string fullFilePath = "";
|
|
StructJudgmentSetItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "JudgmentSetItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
this.CreateJudgmentSetFile();
|
|
}
|
|
|
|
structItem.Filter = item.Filter;
|
|
structItem.JudgmentDelayTime = item.JudgmentDelayTime;
|
|
structItem.JudgmentCount = item.JudgmentCount;
|
|
structItem.FeedSpeed = item.FeedSpeed;
|
|
structItem.TurnDelayTime = item.TurnDelayTime;
|
|
structItem.Sorter1RunTime = item.Sorter1RunTime;
|
|
structItem.DynamicCorrection = item.DynamicCorrection;
|
|
structItem.OriginOffset = item.OriginOffset;
|
|
structItem.ForcedZeroDelayTime = item.ForcedZeroDelayTime;
|
|
structItem.Sorter1DelayTime = item.Sorter1DelayTime;
|
|
structItem.Sorter2DelayTime = item.Sorter2DelayTime;
|
|
structItem.Sorter2RunTime = item.Sorter2RunTime;
|
|
structItem.DummyString1 = "";
|
|
structItem.Sorter4DelayTime = item.Sorter4DelayTime;
|
|
structItem.Sorter4RunTime = item.Sorter4RunTime;
|
|
structItem.Sorter3DelayTime = item.Sorter3DelayTime;
|
|
structItem.Sorter3RunTime = item.Sorter3RunTime;
|
|
|
|
this.smartFileIO.WriteStructure(structItem, index);
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadJudgmentSetFile(ref JudgmentSetItem item, int index)
|
|
{
|
|
bool fileCheck = false;
|
|
string fullFilePath = "";
|
|
StructJudgmentSetItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "JudgmentSetItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
this.CreateJudgmentSetFile();
|
|
}
|
|
|
|
try
|
|
{
|
|
if (this.smartFileIO.ReadStructureAllBuffer() == true)
|
|
{
|
|
structItem = (StructJudgmentSetItem)this.smartFileIO.ReadStructureBuffer(typeof(StructJudgmentSetItem), index);
|
|
|
|
item.Filter = structItem.Filter;
|
|
item.JudgmentDelayTime = structItem.JudgmentDelayTime;
|
|
item.JudgmentCount = structItem.JudgmentCount;
|
|
item.FeedSpeed = structItem.FeedSpeed;
|
|
item.TurnDelayTime = structItem.TurnDelayTime;
|
|
item.DynamicCorrection = structItem.DynamicCorrection;
|
|
item.Sorter1DelayTime = structItem.Sorter1DelayTime;
|
|
item.Sorter1RunTime = structItem.Sorter1RunTime;
|
|
item.Sorter2DelayTime = structItem.Sorter2DelayTime;
|
|
item.Sorter2RunTime = structItem.Sorter2RunTime;
|
|
item.ForcedZeroDelayTime = structItem.ForcedZeroDelayTime;
|
|
item.OriginOffset = structItem.OriginOffset;
|
|
|
|
// Sorter3 Delaytime
|
|
if (structItem.Sorter3DelayTime == "")
|
|
item.Sorter3DelayTime = "500";
|
|
else
|
|
item.Sorter3DelayTime = structItem.Sorter3DelayTime;
|
|
// Sorter3 Runtime
|
|
if (structItem.Sorter3RunTime == "")
|
|
item.Sorter3RunTime = "1000";
|
|
else
|
|
item.Sorter3RunTime = structItem.Sorter3RunTime;
|
|
|
|
// Sorter4 Delaytime
|
|
if (structItem.Sorter4DelayTime == "")
|
|
item.Sorter4DelayTime = "1";
|
|
else
|
|
item.Sorter4DelayTime = structItem.Sorter4DelayTime;
|
|
// Sorter4 Runtime
|
|
if (structItem.Sorter4RunTime == "")
|
|
item.Sorter4RunTime = "600";
|
|
else
|
|
item.Sorter4RunTime = structItem.Sorter4RunTime;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region DynamicCorrectionItem File
|
|
private void CreateDynamicCorrectionFile()
|
|
{
|
|
StructDynamicCorrectionItem structItem;
|
|
|
|
this.CurrentJudgmentSetItem.Initialization();
|
|
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
structItem.DynamicCorrection1 = this.CurrentJudgmentSetItem.DynamicCorrection1;
|
|
structItem.DynamicCorrection2 = this.CurrentJudgmentSetItem.DynamicCorrection2;
|
|
structItem.DynamicCorrection3 = this.CurrentJudgmentSetItem.DynamicCorrection3;
|
|
structItem.DynamicCorrection4 = this.CurrentJudgmentSetItem.DynamicCorrection4;
|
|
structItem.DynamicCorrection5 = this.CurrentJudgmentSetItem.DynamicCorrection5;
|
|
structItem.DynamicCorrection6 = this.CurrentJudgmentSetItem.DynamicCorrection6;
|
|
structItem.DynamicCorrection7 = this.CurrentJudgmentSetItem.DynamicCorrection7;
|
|
structItem.DynamicCorrection8 = this.CurrentJudgmentSetItem.DynamicCorrection8;
|
|
structItem.DynamicCorrection9 = this.CurrentJudgmentSetItem.DynamicCorrection9;
|
|
structItem.DynamicCorrection10 = this.CurrentJudgmentSetItem.DynamicCorrection10;
|
|
structItem.DynamicCorrection11 = this.CurrentJudgmentSetItem.DynamicCorrection11;
|
|
structItem.DynamicCorrection12 = this.CurrentJudgmentSetItem.DynamicCorrection12;
|
|
|
|
structItem.DummyDouble1 = 0.0;
|
|
structItem.DummyDouble2 = 0.0;
|
|
structItem.DummyDouble3 = 0.0;
|
|
structItem.DummyDouble4 = 0.0;
|
|
structItem.DummyDouble5 = 0.0;
|
|
structItem.DummyDouble6 = 0.0;
|
|
structItem.DynamicCorrection13 = this.CurrentJudgmentSetItem.DynamicCorrection13;
|
|
structItem.DynamicCorrection14 = this.CurrentJudgmentSetItem.DynamicCorrection14;
|
|
structItem.DynamicCorrection15 = this.CurrentJudgmentSetItem.DynamicCorrection15;
|
|
structItem.DynamicCorrection16 = this.CurrentJudgmentSetItem.DynamicCorrection16;
|
|
|
|
structItem.DummyInt1 = 0;
|
|
structItem.DummyInt2 = 0;
|
|
structItem.DummyInt3 = 0;
|
|
structItem.DummyInt4 = 0;
|
|
structItem.Stopper2DelayTime = this.CurrentJudgmentSetItem.Stopper2DelayTime;
|
|
structItem.Stopper2RunTime = this.CurrentJudgmentSetItem.Stopper2RunTime;
|
|
structItem.EntryGateDelayTime = this.CurrentJudgmentSetItem.EntryGateDelayTime;
|
|
structItem.EntryGateRunTime = this.CurrentJudgmentSetItem.EntryGateRunTime;
|
|
structItem.DischargeStopperDelayTime = this.CurrentJudgmentSetItem.DischargeStopperDelayTime;
|
|
structItem.DischargeStopperRunTime = this.CurrentJudgmentSetItem.DischargeStopperRunTime;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveDynamicCorrectionFile(JudgmentSetItem item, int index)
|
|
{
|
|
bool fileCheck = false;
|
|
string fullFilePath = "";
|
|
StructDynamicCorrectionItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "DynamicCorrectionItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
this.CreateDynamicCorrectionFile();
|
|
}
|
|
|
|
structItem.DynamicCorrection1 = item.DynamicCorrection1;
|
|
structItem.DynamicCorrection2 = item.DynamicCorrection2;
|
|
structItem.DynamicCorrection3 = item.DynamicCorrection3;
|
|
structItem.DynamicCorrection4 = item.DynamicCorrection4;
|
|
structItem.DynamicCorrection5 = item.DynamicCorrection5;
|
|
structItem.DynamicCorrection6 = item.DynamicCorrection6;
|
|
structItem.DynamicCorrection7 = item.DynamicCorrection7;
|
|
structItem.DynamicCorrection8 = item.DynamicCorrection8;
|
|
structItem.DynamicCorrection9 = item.DynamicCorrection9;
|
|
structItem.DynamicCorrection10 = item.DynamicCorrection10;
|
|
structItem.DynamicCorrection11 = item.DynamicCorrection11;
|
|
structItem.DynamicCorrection12 = item.DynamicCorrection12;
|
|
|
|
structItem.DummyDouble1 = 0.0;
|
|
structItem.DummyDouble2 = 0.0;
|
|
structItem.DummyDouble3 = 0.0;
|
|
structItem.DummyDouble4 = 0.0;
|
|
structItem.DummyDouble5 = 0.0;
|
|
structItem.DummyDouble6 = 0.0;
|
|
structItem.DynamicCorrection13 = item.DynamicCorrection13;
|
|
structItem.DynamicCorrection14 = item.DynamicCorrection14;
|
|
structItem.DynamicCorrection15 = item.DynamicCorrection15;
|
|
structItem.DynamicCorrection16 = item.DynamicCorrection16;
|
|
|
|
structItem.DummyInt1 = 0;
|
|
structItem.DummyInt2 = 0;
|
|
structItem.DummyInt3 = 0;
|
|
structItem.DummyInt4 = 0;
|
|
structItem.Stopper2DelayTime = item.Stopper2DelayTime;
|
|
structItem.Stopper2RunTime = item.Stopper2RunTime;
|
|
structItem.EntryGateDelayTime = item.EntryGateDelayTime;
|
|
structItem.EntryGateRunTime = item.EntryGateRunTime;
|
|
structItem.DischargeStopperDelayTime = item.DischargeStopperDelayTime;
|
|
structItem.DischargeStopperRunTime = item.DischargeStopperRunTime;
|
|
|
|
this.smartFileIO.WriteStructure(structItem, index);
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadDynamicCorrectionFile(ref JudgmentSetItem item, int index)
|
|
{
|
|
bool fileCheck = false;
|
|
string fullFilePath = "";
|
|
StructDynamicCorrectionItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "DynamicCorrectionItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
this.CreateDynamicCorrectionFile();
|
|
}
|
|
|
|
try
|
|
{
|
|
if (this.smartFileIO.ReadStructureAllBuffer() == true)
|
|
{
|
|
structItem = (StructDynamicCorrectionItem)this.smartFileIO.ReadStructureBuffer(typeof(StructDynamicCorrectionItem), index);
|
|
|
|
item.DynamicCorrection1 = structItem.DynamicCorrection1;
|
|
item.DynamicCorrection2 = structItem.DynamicCorrection2;
|
|
item.DynamicCorrection3 = structItem.DynamicCorrection3;
|
|
item.DynamicCorrection4 = structItem.DynamicCorrection4;
|
|
item.DynamicCorrection5 = structItem.DynamicCorrection5;
|
|
item.DynamicCorrection6 = structItem.DynamicCorrection6;
|
|
item.DynamicCorrection7 = structItem.DynamicCorrection7;
|
|
item.DynamicCorrection8 = structItem.DynamicCorrection8;
|
|
item.DynamicCorrection9 = structItem.DynamicCorrection9;
|
|
item.DynamicCorrection10 = structItem.DynamicCorrection10;
|
|
item.DynamicCorrection11 = structItem.DynamicCorrection11;
|
|
item.DynamicCorrection12 = structItem.DynamicCorrection12;
|
|
item.DynamicCorrection13 = structItem.DynamicCorrection13;
|
|
item.DynamicCorrection14 = structItem.DynamicCorrection14;
|
|
item.DynamicCorrection15 = structItem.DynamicCorrection15;
|
|
item.DynamicCorrection16 = structItem.DynamicCorrection16;
|
|
|
|
item.EntryGateDelayTime = structItem.EntryGateDelayTime;
|
|
item.EntryGateRunTime = structItem.EntryGateRunTime;
|
|
item.DischargeStopperDelayTime = structItem.DischargeStopperDelayTime;
|
|
item.DischargeStopperRunTime = structItem.DischargeStopperRunTime;
|
|
item.Stopper2DelayTime = structItem.Stopper2DelayTime;
|
|
item.Stopper2RunTime = structItem.Stopper2RunTime;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region Counter File1
|
|
private void CreateCounterFile1()
|
|
{
|
|
StructCounter1 structItem1;
|
|
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
structItem1.OverCount1 = 0;
|
|
structItem1.PassCount1 = 0;
|
|
structItem1.UnderCount1 = 0;
|
|
structItem1.ExNGCount1 = 0;
|
|
|
|
structItem1.OverCount2 = 0;
|
|
structItem1.PassCount2 = 0;
|
|
structItem1.UnderCount2 = 0;
|
|
structItem1.ExNGCount2 = 0;
|
|
|
|
structItem1.OverCount3 = 0;
|
|
structItem1.PassCount3 = 0;
|
|
structItem1.UnderCount3 = 0;
|
|
structItem1.ExNGCount3 = 0;
|
|
|
|
structItem1.OverCount4 = 0;
|
|
structItem1.PassCount4 = 0;
|
|
structItem1.UnderCount4 = 0;
|
|
structItem1.ExNGCount4 = 0;
|
|
|
|
structItem1.OverCount5 = 0;
|
|
structItem1.PassCount5 = 0;
|
|
structItem1.UnderCount5 = 0;
|
|
structItem1.ExNGCount5 = 0;
|
|
|
|
structItem1.OverCount6 = 0;
|
|
structItem1.PassCount6 = 0;
|
|
structItem1.UnderCount6 = 0;
|
|
structItem1.ExNGCount6 = 0;
|
|
|
|
structItem1.OverCount7 = 0;
|
|
structItem1.PassCount7 = 0;
|
|
structItem1.UnderCount7 = 0;
|
|
structItem1.ExNGCount7 = 0;
|
|
|
|
structItem1.OverCount8 = 0;
|
|
structItem1.PassCount8 = 0;
|
|
structItem1.UnderCount8 = 0;
|
|
structItem1.ExNGCount8 = 0;
|
|
|
|
structItem1.OverCount9 = 0;
|
|
structItem1.PassCount9 = 0;
|
|
structItem1.UnderCount9 = 0;
|
|
structItem1.ExNGCount9 = 0;
|
|
|
|
structItem1.OverCount10 = 0;
|
|
structItem1.PassCount10 = 0;
|
|
structItem1.UnderCount10 = 0;
|
|
structItem1.ExNGCount10 = 0;
|
|
|
|
structItem1.OverCount11 = 0;
|
|
structItem1.PassCount11 = 0;
|
|
structItem1.UnderCount11 = 0;
|
|
structItem1.ExNGCount11 = 0;
|
|
|
|
structItem1.OverCount12 = 0;
|
|
structItem1.PassCount12 = 0;
|
|
structItem1.UnderCount12 = 0;
|
|
structItem1.ExNGCount12 = 0;
|
|
|
|
structItem1.DummyInt1 = 0;
|
|
structItem1.DummyInt2 = 0;
|
|
structItem1.DummyInt3 = 0;
|
|
structItem1.DummyInt4 = 0;
|
|
structItem1.DummyInt5 = 0;
|
|
structItem1.DummyInt6 = 0;
|
|
structItem1.DummyInt7 = 0;
|
|
structItem1.DummyInt8 = 0;
|
|
structItem1.DummyInt9 = 0;
|
|
structItem1.DummyInt10 = 0;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem1, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveCounterFile1(Collection<WeightData> items, int index)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructCounter1 structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "counterItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateCounterFile1();
|
|
}
|
|
|
|
structItem.OverCount1 = items[0].OverCount;
|
|
structItem.PassCount1 = items[0].PassCount;
|
|
structItem.UnderCount1 = items[0].UnderCount;
|
|
structItem.ExNGCount1 = items[0].ExNGCount;
|
|
|
|
structItem.OverCount2 = items[1].OverCount;
|
|
structItem.PassCount2 = items[1].PassCount;
|
|
structItem.UnderCount2 = items[1].UnderCount;
|
|
structItem.ExNGCount2 = items[1].ExNGCount;
|
|
|
|
switch (this.SystemConfig.EquipmentColumns)
|
|
{
|
|
case 2:
|
|
structItem.OverCount3 = 0;
|
|
structItem.PassCount3 = 0;
|
|
structItem.UnderCount3 = 0;
|
|
structItem.ExNGCount3 = 0;
|
|
|
|
structItem.OverCount4 = 0;
|
|
structItem.PassCount4 = 0;
|
|
structItem.UnderCount4 = 0;
|
|
structItem.ExNGCount4 = 0;
|
|
|
|
structItem.OverCount5 = 0;
|
|
structItem.PassCount5 = 0;
|
|
structItem.UnderCount5 = 0;
|
|
structItem.ExNGCount5 = 0;
|
|
|
|
structItem.OverCount6 = 0;
|
|
structItem.PassCount6 = 0;
|
|
structItem.UnderCount6 = 0;
|
|
structItem.ExNGCount6 = 0;
|
|
|
|
structItem.OverCount7 = 0;
|
|
structItem.PassCount7 = 0;
|
|
structItem.UnderCount7 = 0;
|
|
structItem.ExNGCount7 = 0;
|
|
|
|
structItem.OverCount8 = 0;
|
|
structItem.PassCount8 = 0;
|
|
structItem.UnderCount8 = 0;
|
|
structItem.ExNGCount8 = 0;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 3:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = 0;
|
|
structItem.PassCount4 = 0;
|
|
structItem.UnderCount4 = 0;
|
|
structItem.ExNGCount4 = 0;
|
|
|
|
structItem.OverCount5 = 0;
|
|
structItem.PassCount5 = 0;
|
|
structItem.UnderCount5 = 0;
|
|
structItem.ExNGCount5 = 0;
|
|
|
|
structItem.OverCount6 = 0;
|
|
structItem.PassCount6 = 0;
|
|
structItem.UnderCount6 = 0;
|
|
structItem.ExNGCount6 = 0;
|
|
|
|
structItem.OverCount7 = 0;
|
|
structItem.PassCount7 = 0;
|
|
structItem.UnderCount7 = 0;
|
|
structItem.ExNGCount7 = 0;
|
|
|
|
structItem.OverCount8 = 0;
|
|
structItem.PassCount8 = 0;
|
|
structItem.UnderCount8 = 0;
|
|
structItem.ExNGCount8 = 0;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 4:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = items[3].OverCount;
|
|
structItem.PassCount4 = items[3].PassCount;
|
|
structItem.UnderCount4 = items[3].UnderCount;
|
|
structItem.ExNGCount4 = items[3].ExNGCount;
|
|
|
|
structItem.OverCount5 = 0;
|
|
structItem.PassCount5 = 0;
|
|
structItem.UnderCount5 = 0;
|
|
structItem.ExNGCount5 = 0;
|
|
|
|
structItem.OverCount6 = 0;
|
|
structItem.PassCount6 = 0;
|
|
structItem.UnderCount6 = 0;
|
|
structItem.ExNGCount6 = 0;
|
|
|
|
structItem.OverCount7 = 0;
|
|
structItem.PassCount7 = 0;
|
|
structItem.UnderCount7 = 0;
|
|
structItem.ExNGCount7 = 0;
|
|
|
|
structItem.OverCount8 = 0;
|
|
structItem.PassCount8 = 0;
|
|
structItem.UnderCount8 = 0;
|
|
structItem.ExNGCount8 = 0;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 5:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = items[3].OverCount;
|
|
structItem.PassCount4 = items[3].PassCount;
|
|
structItem.UnderCount4 = items[3].UnderCount;
|
|
structItem.ExNGCount4 = items[3].ExNGCount;
|
|
|
|
structItem.OverCount5 = items[4].OverCount;
|
|
structItem.PassCount5 = items[4].PassCount;
|
|
structItem.UnderCount5 = items[4].UnderCount;
|
|
structItem.ExNGCount5 = items[4].ExNGCount;
|
|
|
|
structItem.OverCount6 = 0;
|
|
structItem.PassCount6 = 0;
|
|
structItem.UnderCount6 = 0;
|
|
structItem.ExNGCount6 = 0;
|
|
|
|
structItem.OverCount7 = 0;
|
|
structItem.PassCount7 = 0;
|
|
structItem.UnderCount7 = 0;
|
|
structItem.ExNGCount7 = 0;
|
|
|
|
structItem.OverCount8 = 0;
|
|
structItem.PassCount8 = 0;
|
|
structItem.UnderCount8 = 0;
|
|
structItem.ExNGCount8 = 0;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 6:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = items[3].OverCount;
|
|
structItem.PassCount4 = items[3].PassCount;
|
|
structItem.UnderCount4 = items[3].UnderCount;
|
|
structItem.ExNGCount4 = items[3].ExNGCount;
|
|
|
|
structItem.OverCount5 = items[4].OverCount;
|
|
structItem.PassCount5 = items[4].PassCount;
|
|
structItem.UnderCount5 = items[4].UnderCount;
|
|
structItem.ExNGCount5 = items[4].ExNGCount;
|
|
|
|
structItem.OverCount6 = items[5].OverCount;
|
|
structItem.PassCount6 = items[5].PassCount;
|
|
structItem.UnderCount6 = items[5].UnderCount;
|
|
structItem.ExNGCount6 = items[5].ExNGCount;
|
|
|
|
structItem.OverCount7 = 0;
|
|
structItem.PassCount7 = 0;
|
|
structItem.UnderCount7 = 0;
|
|
structItem.ExNGCount7 = 0;
|
|
|
|
structItem.OverCount8 = 0;
|
|
structItem.PassCount8 = 0;
|
|
structItem.UnderCount8 = 0;
|
|
structItem.ExNGCount8 = 0;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 7:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = items[3].OverCount;
|
|
structItem.PassCount4 = items[3].PassCount;
|
|
structItem.UnderCount4 = items[3].UnderCount;
|
|
structItem.ExNGCount4 = items[3].ExNGCount;
|
|
|
|
structItem.OverCount5 = items[4].OverCount;
|
|
structItem.PassCount5 = items[4].PassCount;
|
|
structItem.UnderCount5 = items[4].UnderCount;
|
|
structItem.ExNGCount5 = items[4].ExNGCount;
|
|
|
|
structItem.OverCount6 = items[5].OverCount;
|
|
structItem.PassCount6 = items[5].PassCount;
|
|
structItem.UnderCount6 = items[5].UnderCount;
|
|
structItem.ExNGCount6 = items[5].ExNGCount;
|
|
|
|
structItem.OverCount7 = items[6].OverCount;
|
|
structItem.PassCount7 = items[6].PassCount;
|
|
structItem.UnderCount7 = items[6].UnderCount;
|
|
structItem.ExNGCount7 = items[6].ExNGCount;
|
|
|
|
structItem.OverCount8 = 0;
|
|
structItem.PassCount8 = 0;
|
|
structItem.UnderCount8 = 0;
|
|
structItem.ExNGCount8 = 0;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 8:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = items[3].OverCount;
|
|
structItem.PassCount4 = items[3].PassCount;
|
|
structItem.UnderCount4 = items[3].UnderCount;
|
|
structItem.ExNGCount4 = items[3].ExNGCount;
|
|
|
|
structItem.OverCount5 = items[4].OverCount;
|
|
structItem.PassCount5 = items[4].PassCount;
|
|
structItem.UnderCount5 = items[4].UnderCount;
|
|
structItem.ExNGCount5 = items[4].ExNGCount;
|
|
|
|
structItem.OverCount6 = items[5].OverCount;
|
|
structItem.PassCount6 = items[5].PassCount;
|
|
structItem.UnderCount6 = items[5].UnderCount;
|
|
structItem.ExNGCount6 = items[5].ExNGCount;
|
|
|
|
structItem.OverCount7 = items[6].OverCount;
|
|
structItem.PassCount7 = items[6].PassCount;
|
|
structItem.UnderCount7 = items[6].UnderCount;
|
|
structItem.ExNGCount7 = items[6].ExNGCount;
|
|
|
|
structItem.OverCount8 = items[7].OverCount;
|
|
structItem.PassCount8 = items[7].PassCount;
|
|
structItem.UnderCount8 = items[7].UnderCount;
|
|
structItem.ExNGCount8 = items[7].ExNGCount;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 10:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = items[3].OverCount;
|
|
structItem.PassCount4 = items[3].PassCount;
|
|
structItem.UnderCount4 = items[3].UnderCount;
|
|
structItem.ExNGCount4 = items[3].ExNGCount;
|
|
|
|
structItem.OverCount5 = items[4].OverCount;
|
|
structItem.PassCount5 = items[4].PassCount;
|
|
structItem.UnderCount5 = items[4].UnderCount;
|
|
structItem.ExNGCount5 = items[4].ExNGCount;
|
|
|
|
structItem.OverCount6 = items[5].OverCount;
|
|
structItem.PassCount6 = items[5].PassCount;
|
|
structItem.UnderCount6 = items[5].UnderCount;
|
|
structItem.ExNGCount6 = items[5].ExNGCount;
|
|
|
|
structItem.OverCount7 = items[6].OverCount;
|
|
structItem.PassCount7 = items[6].PassCount;
|
|
structItem.UnderCount7 = items[6].UnderCount;
|
|
structItem.ExNGCount7 = items[6].ExNGCount;
|
|
|
|
structItem.OverCount8 = items[7].OverCount;
|
|
structItem.PassCount8 = items[7].PassCount;
|
|
structItem.UnderCount8 = items[7].UnderCount;
|
|
structItem.ExNGCount8 = items[7].ExNGCount;
|
|
|
|
structItem.OverCount9 = items[8].OverCount;
|
|
structItem.PassCount9 = items[8].PassCount;
|
|
structItem.UnderCount9 = items[8].UnderCount;
|
|
structItem.ExNGCount9 = items[8].ExNGCount;
|
|
|
|
structItem.OverCount10 = items[9].OverCount;
|
|
structItem.PassCount10 = items[9].PassCount;
|
|
structItem.UnderCount10 = items[9].UnderCount;
|
|
structItem.ExNGCount10 = items[9].ExNGCount;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
case 12:
|
|
case 16:
|
|
structItem.OverCount3 = items[2].OverCount;
|
|
structItem.PassCount3 = items[2].PassCount;
|
|
structItem.UnderCount3 = items[2].UnderCount;
|
|
structItem.ExNGCount3 = items[2].ExNGCount;
|
|
|
|
structItem.OverCount4 = items[3].OverCount;
|
|
structItem.PassCount4 = items[3].PassCount;
|
|
structItem.UnderCount4 = items[3].UnderCount;
|
|
structItem.ExNGCount4 = items[3].ExNGCount;
|
|
|
|
structItem.OverCount5 = items[4].OverCount;
|
|
structItem.PassCount5 = items[4].PassCount;
|
|
structItem.UnderCount5 = items[4].UnderCount;
|
|
structItem.ExNGCount5 = items[4].ExNGCount;
|
|
|
|
structItem.OverCount6 = items[5].OverCount;
|
|
structItem.PassCount6 = items[5].PassCount;
|
|
structItem.UnderCount6 = items[5].UnderCount;
|
|
structItem.ExNGCount6 = items[5].ExNGCount;
|
|
|
|
structItem.OverCount7 = items[6].OverCount;
|
|
structItem.PassCount7 = items[6].PassCount;
|
|
structItem.UnderCount7 = items[6].UnderCount;
|
|
structItem.ExNGCount7 = items[6].ExNGCount;
|
|
|
|
structItem.OverCount8 = items[7].OverCount;
|
|
structItem.PassCount8 = items[7].PassCount;
|
|
structItem.UnderCount8 = items[7].UnderCount;
|
|
structItem.ExNGCount8 = items[7].ExNGCount;
|
|
|
|
structItem.OverCount9 = items[8].OverCount;
|
|
structItem.PassCount9 = items[8].PassCount;
|
|
structItem.UnderCount9 = items[8].UnderCount;
|
|
structItem.ExNGCount9 = items[8].ExNGCount;
|
|
|
|
structItem.OverCount10 = items[9].OverCount;
|
|
structItem.PassCount10 = items[9].PassCount;
|
|
structItem.UnderCount10 = items[9].UnderCount;
|
|
structItem.ExNGCount10 = items[9].ExNGCount;
|
|
|
|
structItem.OverCount11 = items[10].OverCount;
|
|
structItem.PassCount11 = items[10].PassCount;
|
|
structItem.UnderCount11 = items[10].UnderCount;
|
|
structItem.ExNGCount11 = items[10].ExNGCount;
|
|
|
|
structItem.OverCount12 = items[11].OverCount;
|
|
structItem.PassCount12 = items[11].PassCount;
|
|
structItem.UnderCount12 = items[11].UnderCount;
|
|
structItem.ExNGCount12 = items[11].ExNGCount;
|
|
break;
|
|
default:
|
|
structItem.OverCount3 = 0;
|
|
structItem.PassCount3 = 0;
|
|
structItem.UnderCount3 = 0;
|
|
structItem.ExNGCount3 = 0;
|
|
|
|
structItem.OverCount4 = 0;
|
|
structItem.PassCount4 = 0;
|
|
structItem.UnderCount4 = 0;
|
|
structItem.ExNGCount4 = 0;
|
|
|
|
structItem.OverCount5 = 0;
|
|
structItem.PassCount5 = 0;
|
|
structItem.UnderCount5 = 0;
|
|
structItem.ExNGCount5 = 0;
|
|
|
|
structItem.OverCount6 = 0;
|
|
structItem.PassCount6 = 0;
|
|
structItem.UnderCount6 = 0;
|
|
structItem.ExNGCount6 = 0;
|
|
|
|
structItem.OverCount7 = 0;
|
|
structItem.PassCount7 = 0;
|
|
structItem.UnderCount7 = 0;
|
|
structItem.ExNGCount7 = 0;
|
|
|
|
structItem.OverCount8 = 0;
|
|
structItem.PassCount8 = 0;
|
|
structItem.UnderCount8 = 0;
|
|
structItem.ExNGCount8 = 0;
|
|
|
|
structItem.OverCount9 = 0;
|
|
structItem.PassCount9 = 0;
|
|
structItem.UnderCount9 = 0;
|
|
structItem.ExNGCount9 = 0;
|
|
|
|
structItem.OverCount10 = 0;
|
|
structItem.PassCount10 = 0;
|
|
structItem.UnderCount10 = 0;
|
|
structItem.ExNGCount10 = 0;
|
|
|
|
structItem.OverCount11 = 0;
|
|
structItem.PassCount11 = 0;
|
|
structItem.UnderCount11 = 0;
|
|
structItem.ExNGCount11 = 0;
|
|
|
|
structItem.OverCount12 = 0;
|
|
structItem.PassCount12 = 0;
|
|
structItem.UnderCount12 = 0;
|
|
structItem.ExNGCount12 = 0;
|
|
break;
|
|
}
|
|
|
|
structItem.DummyInt1 = 0;
|
|
structItem.DummyInt2 = 0;
|
|
structItem.DummyInt3 = 0;
|
|
structItem.DummyInt4 = 0;
|
|
structItem.DummyInt5 = 0;
|
|
structItem.DummyInt6 = 0;
|
|
structItem.DummyInt7 = 0;
|
|
structItem.DummyInt8 = 0;
|
|
structItem.DummyInt9 = 0;
|
|
structItem.DummyInt10 = 0;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, index);
|
|
this.smartFileIO.WriteStructure_End();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadCounterFile1(ref Collection<WeightData> items, int index)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructCounter1 structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "counterItem.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateCounterFile1();
|
|
}
|
|
|
|
try
|
|
{
|
|
if (this.smartFileIO.ReadStructureAllBuffer() == true)
|
|
{
|
|
structItem = (StructCounter1)this.smartFileIO.ReadStructureBuffer(typeof(StructCounter1), index);
|
|
|
|
items[0].UnderCount = structItem.UnderCount1;
|
|
items[0].PassCount = structItem.PassCount1;
|
|
items[0].OverCount = structItem.OverCount1;
|
|
items[0].ExNGCount = structItem.ExNGCount1;
|
|
|
|
switch (this.SystemConfig.EquipmentColumns)
|
|
{
|
|
case 2:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
break;
|
|
case 3:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
break;
|
|
case 4:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
|
|
items[3].UnderCount = structItem.UnderCount4;
|
|
items[3].PassCount = structItem.PassCount4;
|
|
items[3].OverCount = structItem.OverCount4;
|
|
items[3].ExNGCount = structItem.ExNGCount4;
|
|
break;
|
|
case 5:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
|
|
items[3].UnderCount = structItem.UnderCount4;
|
|
items[3].PassCount = structItem.PassCount4;
|
|
items[3].OverCount = structItem.OverCount4;
|
|
items[3].ExNGCount = structItem.ExNGCount4;
|
|
|
|
items[4].UnderCount = structItem.UnderCount5;
|
|
items[4].PassCount = structItem.PassCount5;
|
|
items[4].OverCount = structItem.OverCount5;
|
|
items[4].ExNGCount = structItem.ExNGCount5;
|
|
break;
|
|
case 6:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
|
|
items[3].UnderCount = structItem.UnderCount4;
|
|
items[3].PassCount = structItem.PassCount4;
|
|
items[3].OverCount = structItem.OverCount4;
|
|
items[3].ExNGCount = structItem.ExNGCount4;
|
|
|
|
items[4].UnderCount = structItem.UnderCount5;
|
|
items[4].PassCount = structItem.PassCount5;
|
|
items[4].OverCount = structItem.OverCount5;
|
|
items[4].ExNGCount = structItem.ExNGCount5;
|
|
|
|
items[5].UnderCount = structItem.UnderCount6;
|
|
items[5].PassCount = structItem.PassCount6;
|
|
items[5].OverCount = structItem.OverCount6;
|
|
items[5].ExNGCount = structItem.ExNGCount6;
|
|
break;
|
|
case 7:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
|
|
items[3].UnderCount = structItem.UnderCount4;
|
|
items[3].PassCount = structItem.PassCount4;
|
|
items[3].OverCount = structItem.OverCount4;
|
|
items[3].ExNGCount = structItem.ExNGCount4;
|
|
|
|
items[4].UnderCount = structItem.UnderCount5;
|
|
items[4].PassCount = structItem.PassCount5;
|
|
items[4].OverCount = structItem.OverCount5;
|
|
items[4].ExNGCount = structItem.ExNGCount5;
|
|
|
|
items[5].UnderCount = structItem.UnderCount6;
|
|
items[5].PassCount = structItem.PassCount6;
|
|
items[5].OverCount = structItem.OverCount6;
|
|
items[5].ExNGCount = structItem.ExNGCount6;
|
|
|
|
items[6].UnderCount = structItem.UnderCount7;
|
|
items[6].PassCount = structItem.PassCount7;
|
|
items[6].OverCount = structItem.OverCount7;
|
|
items[6].ExNGCount = structItem.ExNGCount7;
|
|
break;
|
|
case 8:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
|
|
items[3].UnderCount = structItem.UnderCount4;
|
|
items[3].PassCount = structItem.PassCount4;
|
|
items[3].OverCount = structItem.OverCount4;
|
|
items[3].ExNGCount = structItem.ExNGCount4;
|
|
|
|
items[4].UnderCount = structItem.UnderCount5;
|
|
items[4].PassCount = structItem.PassCount5;
|
|
items[4].OverCount = structItem.OverCount5;
|
|
items[4].ExNGCount = structItem.ExNGCount5;
|
|
|
|
items[5].UnderCount = structItem.UnderCount6;
|
|
items[5].PassCount = structItem.PassCount6;
|
|
items[5].OverCount = structItem.OverCount6;
|
|
items[5].ExNGCount = structItem.ExNGCount6;
|
|
|
|
items[6].UnderCount = structItem.UnderCount7;
|
|
items[6].PassCount = structItem.PassCount7;
|
|
items[6].OverCount = structItem.OverCount7;
|
|
items[6].ExNGCount = structItem.ExNGCount7;
|
|
|
|
items[7].UnderCount = structItem.UnderCount8;
|
|
items[7].PassCount = structItem.PassCount8;
|
|
items[7].OverCount = structItem.OverCount8;
|
|
items[7].ExNGCount = structItem.ExNGCount8;
|
|
break;
|
|
case 10:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
|
|
items[3].UnderCount = structItem.UnderCount4;
|
|
items[3].PassCount = structItem.PassCount4;
|
|
items[3].OverCount = structItem.OverCount4;
|
|
items[3].ExNGCount = structItem.ExNGCount4;
|
|
|
|
items[4].UnderCount = structItem.UnderCount5;
|
|
items[4].PassCount = structItem.PassCount5;
|
|
items[4].OverCount = structItem.OverCount5;
|
|
items[4].ExNGCount = structItem.ExNGCount5;
|
|
|
|
items[5].UnderCount = structItem.UnderCount6;
|
|
items[5].PassCount = structItem.PassCount6;
|
|
items[5].OverCount = structItem.OverCount6;
|
|
items[5].ExNGCount = structItem.ExNGCount6;
|
|
|
|
items[6].UnderCount = structItem.UnderCount7;
|
|
items[6].PassCount = structItem.PassCount7;
|
|
items[6].OverCount = structItem.OverCount7;
|
|
items[6].ExNGCount = structItem.ExNGCount7;
|
|
|
|
items[7].UnderCount = structItem.UnderCount8;
|
|
items[7].PassCount = structItem.PassCount8;
|
|
items[7].OverCount = structItem.OverCount8;
|
|
items[7].ExNGCount = structItem.ExNGCount8;
|
|
|
|
items[8].UnderCount = structItem.UnderCount9;
|
|
items[8].PassCount = structItem.PassCount9;
|
|
items[8].OverCount = structItem.OverCount9;
|
|
items[8].ExNGCount = structItem.ExNGCount9;
|
|
|
|
items[9].UnderCount = structItem.UnderCount10;
|
|
items[9].PassCount = structItem.PassCount10;
|
|
items[9].OverCount = structItem.OverCount10;
|
|
items[9].ExNGCount = structItem.ExNGCount10;
|
|
break;
|
|
case 12:
|
|
case 16:
|
|
items[1].UnderCount = structItem.UnderCount2;
|
|
items[1].PassCount = structItem.PassCount2;
|
|
items[1].OverCount = structItem.OverCount2;
|
|
items[1].ExNGCount = structItem.ExNGCount2;
|
|
|
|
items[2].UnderCount = structItem.UnderCount3;
|
|
items[2].PassCount = structItem.PassCount3;
|
|
items[2].OverCount = structItem.OverCount3;
|
|
items[2].ExNGCount = structItem.ExNGCount3;
|
|
|
|
items[3].UnderCount = structItem.UnderCount4;
|
|
items[3].PassCount = structItem.PassCount4;
|
|
items[3].OverCount = structItem.OverCount4;
|
|
items[3].ExNGCount = structItem.ExNGCount4;
|
|
|
|
items[4].UnderCount = structItem.UnderCount5;
|
|
items[4].PassCount = structItem.PassCount5;
|
|
items[4].OverCount = structItem.OverCount5;
|
|
items[4].ExNGCount = structItem.ExNGCount5;
|
|
|
|
items[5].UnderCount = structItem.UnderCount6;
|
|
items[5].PassCount = structItem.PassCount6;
|
|
items[5].OverCount = structItem.OverCount6;
|
|
items[5].ExNGCount = structItem.ExNGCount6;
|
|
|
|
items[6].UnderCount = structItem.UnderCount7;
|
|
items[6].PassCount = structItem.PassCount7;
|
|
items[6].OverCount = structItem.OverCount7;
|
|
items[6].ExNGCount = structItem.ExNGCount7;
|
|
|
|
items[7].UnderCount = structItem.UnderCount8;
|
|
items[7].PassCount = structItem.PassCount8;
|
|
items[7].OverCount = structItem.OverCount8;
|
|
items[7].ExNGCount = structItem.ExNGCount8;
|
|
|
|
items[8].UnderCount = structItem.UnderCount9;
|
|
items[8].PassCount = structItem.PassCount9;
|
|
items[8].OverCount = structItem.OverCount9;
|
|
items[8].ExNGCount = structItem.ExNGCount9;
|
|
|
|
items[9].UnderCount = structItem.UnderCount10;
|
|
items[9].PassCount = structItem.PassCount10;
|
|
items[9].OverCount = structItem.OverCount10;
|
|
items[9].ExNGCount = structItem.ExNGCount10;
|
|
|
|
items[10].UnderCount = structItem.UnderCount11;
|
|
items[10].PassCount = structItem.PassCount11;
|
|
items[10].OverCount = structItem.OverCount11;
|
|
items[10].ExNGCount = structItem.ExNGCount11;
|
|
|
|
items[11].UnderCount = structItem.UnderCount12;
|
|
items[11].PassCount = structItem.PassCount12;
|
|
items[11].OverCount = structItem.OverCount12;
|
|
items[11].ExNGCount = structItem.ExNGCount12;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
#region Counter File2
|
|
private void CreateCounterFile2()
|
|
{
|
|
StructCounter2 structItem;
|
|
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
structItem.OverCount13 = 0;
|
|
structItem.PassCount13 = 0;
|
|
structItem.UnderCount13 = 0;
|
|
structItem.ExNGCount13 = 0;
|
|
|
|
structItem.OverCount14 = 0;
|
|
structItem.PassCount14 = 0;
|
|
structItem.UnderCount14 = 0;
|
|
structItem.ExNGCount14 = 0;
|
|
|
|
structItem.OverCount15 = 0;
|
|
structItem.PassCount15 = 0;
|
|
structItem.UnderCount15 = 0;
|
|
structItem.ExNGCount15 = 0;
|
|
|
|
structItem.OverCount16 = 0;
|
|
structItem.PassCount16 = 0;
|
|
structItem.UnderCount16 = 0;
|
|
structItem.ExNGCount16 = 0;
|
|
|
|
structItem.DummyInt1 = 0;
|
|
structItem.DummyInt2 = 0;
|
|
structItem.DummyInt3 = 0;
|
|
structItem.DummyInt4 = 0;
|
|
structItem.DummyInt5 = 0;
|
|
structItem.DummyInt6 = 0;
|
|
structItem.DummyInt7 = 0;
|
|
structItem.DummyInt8 = 0;
|
|
structItem.DummyInt9 = 0;
|
|
structItem.DummyInt10 = 0;
|
|
|
|
structItem.DummyInt11 = 0;
|
|
structItem.DummyInt12 = 0;
|
|
structItem.DummyInt13 = 0;
|
|
structItem.DummyInt14 = 0;
|
|
structItem.DummyInt15 = 0;
|
|
structItem.DummyInt16 = 0;
|
|
structItem.DummyInt17 = 0;
|
|
structItem.DummyInt18 = 0;
|
|
structItem.DummyInt19 = 0;
|
|
structItem.DummyInt20 = 0;
|
|
|
|
structItem.DummyInt21 = 0;
|
|
structItem.DummyInt22 = 0;
|
|
structItem.DummyInt23 = 0;
|
|
structItem.DummyInt24 = 0;
|
|
structItem.DummyInt25 = 0;
|
|
structItem.DummyInt26 = 0;
|
|
structItem.DummyInt27 = 0;
|
|
structItem.DummyInt28 = 0;
|
|
structItem.DummyInt29 = 0;
|
|
structItem.DummyInt30 = 0;
|
|
|
|
structItem.DummyInt31 = 0;
|
|
structItem.DummyInt32 = 0;
|
|
structItem.DummyInt33 = 0;
|
|
structItem.DummyInt34 = 0;
|
|
structItem.DummyInt35 = 0;
|
|
structItem.DummyInt36 = 0;
|
|
structItem.DummyInt37 = 0;
|
|
structItem.DummyInt38 = 0;
|
|
structItem.DummyInt39 = 0;
|
|
structItem.DummyInt40 = 0;
|
|
|
|
structItem.DummyInt41 = 0;
|
|
structItem.DummyInt42 = 0;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveCounterFile2(Collection<WeightData> items, int index)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructCounter2 structItem;
|
|
|
|
if (items.Count < 12)
|
|
return;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "counterItem2.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateCounterFile2();
|
|
}
|
|
|
|
structItem.OverCount13 = items[12].OverCount;
|
|
structItem.PassCount13 = items[12].PassCount;
|
|
structItem.UnderCount13 = items[12].UnderCount;
|
|
structItem.ExNGCount13 = items[12].ExNGCount;
|
|
|
|
structItem.OverCount14 = items[13].OverCount;
|
|
structItem.PassCount14 = items[13].PassCount;
|
|
structItem.UnderCount14 = items[13].UnderCount;
|
|
structItem.ExNGCount14 = items[13].ExNGCount;
|
|
|
|
structItem.OverCount15 = items[14].OverCount;
|
|
structItem.PassCount15 = items[14].PassCount;
|
|
structItem.UnderCount15 = items[14].UnderCount;
|
|
structItem.ExNGCount15 = items[14].ExNGCount;
|
|
|
|
structItem.OverCount16 = items[15].OverCount;
|
|
structItem.PassCount16 = items[15].PassCount;
|
|
structItem.UnderCount16 = items[15].UnderCount;
|
|
structItem.ExNGCount16 = items[15].ExNGCount;
|
|
|
|
structItem.DummyInt1 = 0;
|
|
structItem.DummyInt2 = 0;
|
|
structItem.DummyInt3 = 0;
|
|
structItem.DummyInt4 = 0;
|
|
structItem.DummyInt5 = 0;
|
|
structItem.DummyInt6 = 0;
|
|
structItem.DummyInt7 = 0;
|
|
structItem.DummyInt8 = 0;
|
|
structItem.DummyInt9 = 0;
|
|
structItem.DummyInt10 = 0;
|
|
|
|
structItem.DummyInt11 = 0;
|
|
structItem.DummyInt12 = 0;
|
|
structItem.DummyInt13 = 0;
|
|
structItem.DummyInt14 = 0;
|
|
structItem.DummyInt15 = 0;
|
|
structItem.DummyInt16 = 0;
|
|
structItem.DummyInt17 = 0;
|
|
structItem.DummyInt18 = 0;
|
|
structItem.DummyInt19 = 0;
|
|
structItem.DummyInt20 = 0;
|
|
|
|
structItem.DummyInt21 = 0;
|
|
structItem.DummyInt22 = 0;
|
|
structItem.DummyInt23 = 0;
|
|
structItem.DummyInt24 = 0;
|
|
structItem.DummyInt25 = 0;
|
|
structItem.DummyInt26 = 0;
|
|
structItem.DummyInt27 = 0;
|
|
structItem.DummyInt28 = 0;
|
|
structItem.DummyInt29 = 0;
|
|
structItem.DummyInt30 = 0;
|
|
|
|
structItem.DummyInt31 = 0;
|
|
structItem.DummyInt32 = 0;
|
|
structItem.DummyInt33 = 0;
|
|
structItem.DummyInt34 = 0;
|
|
structItem.DummyInt35 = 0;
|
|
structItem.DummyInt36 = 0;
|
|
structItem.DummyInt37 = 0;
|
|
structItem.DummyInt38 = 0;
|
|
structItem.DummyInt39 = 0;
|
|
structItem.DummyInt40 = 0;
|
|
|
|
structItem.DummyInt41 = 0;
|
|
structItem.DummyInt42 = 0;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, index);
|
|
this.smartFileIO.WriteStructure_End();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadCounterFile2(ref Collection<WeightData> items, int index)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructCounter2 structItem;
|
|
|
|
if (items.Count < 12)
|
|
return;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "counterItem2.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateCounterFile2();
|
|
}
|
|
|
|
try
|
|
{
|
|
if (this.smartFileIO.ReadStructureAllBuffer() == true)
|
|
{
|
|
structItem = (StructCounter2)this.smartFileIO.ReadStructureBuffer(typeof(StructCounter2), index);
|
|
|
|
items[12].UnderCount = structItem.UnderCount13;
|
|
items[12].PassCount = structItem.PassCount13;
|
|
items[12].OverCount = structItem.OverCount13;
|
|
items[12].ExNGCount = structItem.ExNGCount13;
|
|
|
|
items[13].UnderCount = structItem.UnderCount14;
|
|
items[13].PassCount = structItem.PassCount14;
|
|
items[13].OverCount = structItem.OverCount14;
|
|
items[13].ExNGCount = structItem.ExNGCount14;
|
|
|
|
items[14].UnderCount = structItem.UnderCount15;
|
|
items[14].PassCount = structItem.PassCount15;
|
|
items[14].OverCount = structItem.OverCount15;
|
|
items[14].ExNGCount = structItem.ExNGCount15;
|
|
|
|
items[15].UnderCount = structItem.UnderCount16;
|
|
items[15].PassCount = structItem.PassCount16;
|
|
items[15].OverCount = structItem.OverCount16;
|
|
items[15].ExNGCount = structItem.ExNGCount16;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region UserLevel1File
|
|
private void CreateUserLevel1File()
|
|
{
|
|
StructUserItem structItem;
|
|
User item = new User();
|
|
|
|
structItem.ID = "L1";
|
|
structItem.Password = "1111";
|
|
structItem.Group = DataStore.UserGroup.Level1Operator;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, 0);
|
|
|
|
for (int i = 1; i < 5; i++)
|
|
{
|
|
structItem.ID = item.ID;
|
|
structItem.Password = item.Password;
|
|
structItem.Group = item.Group;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveUserLevel1File(Collection<User> item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserLevel1.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserLevel1File();
|
|
}
|
|
|
|
if (item.Count == 0)
|
|
return;
|
|
|
|
for (int i = 0; i < item.Count; i++)
|
|
{
|
|
structItem.ID = item[i].ID;
|
|
structItem.Password = item[i].Password;
|
|
structItem.Group = item[i].Group;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadUserLevel1File(Collection<User> item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserLevel1.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserLevel1File();
|
|
}
|
|
|
|
try
|
|
{
|
|
for (int i = 0; i < item.Count; i++)
|
|
{
|
|
structItem = (StructUserItem)this.smartFileIO.ReadStructure(i, typeof(StructUserItem));
|
|
|
|
item[i].ID = structItem.ID;
|
|
item[i].Password = structItem.Password;
|
|
item[i].Group = structItem.Group;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(23, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
#region UserLevel2File
|
|
private void CreateUserLevel2File()
|
|
{
|
|
StructUserItem structItem;
|
|
User item = new User();
|
|
|
|
structItem.ID = "L2";
|
|
structItem.Password = "2222";
|
|
structItem.Group = DataStore.UserGroup.Level2Engineer;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, 0);
|
|
|
|
for (int i = 1; i < 5; i++)
|
|
{
|
|
structItem.ID = item.ID;
|
|
structItem.Password = item.Password;
|
|
structItem.Group = item.Group;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveUserLevel2File(Collection<User> item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserLevel2.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserLevel2File();
|
|
}
|
|
|
|
if (item.Count == 0)
|
|
return;
|
|
|
|
for (int i = 0; i < item.Count; i++)
|
|
{
|
|
structItem.ID = item[i].ID;
|
|
structItem.Password = item[i].Password;
|
|
structItem.Group = item[i].Group;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadUserLevel2File(Collection<User> item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserLevel2.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserLevel2File();
|
|
}
|
|
|
|
try
|
|
{
|
|
for (int i = 0; i < item.Count; i++)
|
|
{
|
|
structItem = (StructUserItem)this.smartFileIO.ReadStructure(i, typeof(StructUserItem));
|
|
|
|
item[i].ID = structItem.ID;
|
|
item[i].Password = structItem.Password;
|
|
item[i].Group = structItem.Group;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(23, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
#region UserLevel3File
|
|
private void CreateUserLevel3File()
|
|
{
|
|
StructUserItem structItem;
|
|
User item = new User();
|
|
|
|
structItem.ID = "L3";
|
|
structItem.Password = "3333";
|
|
structItem.Group = DataStore.UserGroup.Level3Manager;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, 0);
|
|
|
|
for (int i = 1; i < 5; i++)
|
|
{
|
|
structItem.ID = item.ID;
|
|
structItem.Password = item.Password;
|
|
structItem.Group = item.Group;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveUserLevel3File(Collection<User> item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserLevel3.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserLevel3File();
|
|
}
|
|
|
|
if (item.Count == 0)
|
|
return;
|
|
|
|
for (int i = 0; i < item.Count; i++)
|
|
{
|
|
structItem.ID = item[i].ID;
|
|
structItem.Password = item[i].Password;
|
|
structItem.Group = item[i].Group;
|
|
|
|
structItem.Dummy1 = "";
|
|
structItem.Dummy2 = "";
|
|
structItem.Dummy3 = "";
|
|
structItem.Dummy4 = "";
|
|
structItem.Dummy5 = "";
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void LoadUserLevel3File(Collection<User> item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserLevel3.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserLevel3File();
|
|
}
|
|
|
|
try
|
|
{
|
|
for (int i = 0; i < item.Count; i++)
|
|
{
|
|
structItem = (StructUserItem)this.smartFileIO.ReadStructure(i, typeof(StructUserItem));
|
|
|
|
item[i].ID = structItem.ID;
|
|
item[i].Password = structItem.Password;
|
|
item[i].Group = structItem.Group;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(23, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region UserGroupFile
|
|
private void CreateUserGroupFile()
|
|
{
|
|
StructUserGroupItem structItem;
|
|
UserGroupItem item = new UserGroupItem();
|
|
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
#region StructItem
|
|
structItem.IsMainDisplayProductNo = item.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
#endregion
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
for (int i = 2; i < 4; i++)
|
|
{
|
|
#region StructItem
|
|
structItem.IsMainDisplayProductNo = true;
|
|
structItem.IsMainDisplayWeightSetting = true;
|
|
structItem.IsMainDisplayClear = true;
|
|
structItem.IsMainDisplaySubMenu = true;
|
|
|
|
structItem.IsMenuTimeSetting = true;
|
|
structItem.IsMenuInformation = true;
|
|
structItem.IsMenuDataBackup = true;
|
|
structItem.IsMenuConfiguration = true;
|
|
structItem.IsMenuCalibration = true;
|
|
structItem.IsMenuSystemSetting = true;
|
|
structItem.IsMenuMotorSetting = true;
|
|
structItem.IsMenuIOTest = true;
|
|
structItem.IsMenuUpdate = true;
|
|
structItem.IsMenuFactoryReset = true;
|
|
structItem.IsMenuUserSetting = true;
|
|
structItem.IsMenuUserGroupSetting = true;
|
|
structItem.IsMenuEquipmentSetting = true;
|
|
structItem.IsMenuDataStatistics = false;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
#endregion
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, i);
|
|
}
|
|
this.smartFileIO.WriteStructure_End();
|
|
}
|
|
public void SaveUserGroupFile(UserGroup item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserGroupItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserGroup.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserGroupFile();
|
|
}
|
|
|
|
#region Level1
|
|
structItem.IsMainDisplayProductNo = item.Level1.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.Level1.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.Level1.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.Level1.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.Level1.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.Level1.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.Level1.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.Level1.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.Level1.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.Level1.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.Level1.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.Level1.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.Level1.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.Level1.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.Level1.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.Level1.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.Level1.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.Level1.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f0_Level1);
|
|
#endregion
|
|
|
|
#region Level2
|
|
structItem.IsMainDisplayProductNo = item.Level2.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.Level2.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.Level2.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.Level2.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.Level2.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.Level2.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.Level2.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.Level2.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.Level2.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.Level2.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.Level2.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.Level2.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.Level2.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.Level2.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.Level2.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.Level2.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.Level2.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.Level2.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f1_Level2);
|
|
#endregion
|
|
|
|
#region Level3
|
|
structItem.IsMainDisplayProductNo = item.Level3.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.Level3.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.Level3.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.Level3.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.Level3.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.Level3.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.Level3.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.Level3.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.Level3.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.Level3.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.Level3.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.Level3.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.Level3.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.Level3.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.Level3.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.Level3.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.Level3.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.Level3.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f2_Level3);
|
|
#endregion
|
|
|
|
#region NotLogin
|
|
structItem.IsMainDisplayProductNo = item.NotLogin.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.NotLogin.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.NotLogin.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.NotLogin.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.NotLogin.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.NotLogin.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.NotLogin.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.NotLogin.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.NotLogin.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.NotLogin.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.NotLogin.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.NotLogin.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.NotLogin.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.NotLogin.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.NotLogin.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.NotLogin.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.NotLogin.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.NotLogin.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f3_NotLogin);
|
|
#endregion
|
|
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void SaveUserGroupFile_Level1(UserGroupItem item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserGroupItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserGroup.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserGroupFile();
|
|
}
|
|
|
|
#region Level1
|
|
structItem.IsMainDisplayProductNo = item.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f0_Level1);
|
|
#endregion
|
|
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void SaveUserGroupFile_Level2(UserGroupItem item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserGroupItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserGroup.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserGroupFile();
|
|
}
|
|
|
|
#region Level2
|
|
structItem.IsMainDisplayProductNo = item.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f1_Level2);
|
|
#endregion
|
|
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void SaveUserGroupFile_Level3(UserGroupItem item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserGroupItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserGroup.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserGroupFile();
|
|
}
|
|
|
|
#region Level3
|
|
structItem.IsMainDisplayProductNo = item.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f2_Level3);
|
|
#endregion
|
|
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
public void SaveUserGroupFile_NotLogin(UserGroupItem item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserGroupItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserGroup.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserGroupFile();
|
|
}
|
|
|
|
#region Level4
|
|
structItem.IsMainDisplayProductNo = item.IsMainDisplayProductNo;
|
|
structItem.IsMainDisplayWeightSetting = item.IsMainDisplayWeightSetting;
|
|
structItem.IsMainDisplayClear = item.IsMainDisplayClear;
|
|
structItem.IsMainDisplaySubMenu = item.IsMainDisplaySubMenu;
|
|
|
|
structItem.IsMenuTimeSetting = item.IsMenuTimeSetting;
|
|
structItem.IsMenuInformation = item.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.IsMenuDataBackup;
|
|
structItem.IsMenuConfiguration = item.IsMenuConfiguration;
|
|
structItem.IsMenuCalibration = item.IsMenuCalibration;
|
|
structItem.IsMenuSystemSetting = item.IsMenuSystemSetting;
|
|
structItem.IsMenuMotorSetting = item.IsMenuMotorSetting;
|
|
structItem.IsMenuIOTest = item.IsMenuIOTest;
|
|
structItem.IsMenuUpdate = item.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.IsMenuFactoryReset;
|
|
structItem.IsMenuUserSetting = item.IsMenuUserSetting;
|
|
structItem.IsMenuUserGroupSetting = item.IsMenuUserGroupSetting;
|
|
structItem.IsMenuEquipmentSetting = item.IsMenuEquipmentSetting;
|
|
structItem.IsMenuDataStatistics = item.IsMenuDataStatistics;
|
|
|
|
structItem.Dummy1 = false;
|
|
structItem.Dummy2 = false;
|
|
structItem.Dummy3 = false;
|
|
structItem.Dummy4 = false;
|
|
structItem.Dummy5 = false;
|
|
structItem.Dummy6 = false;
|
|
structItem.Dummy7 = false;
|
|
structItem.Dummy8 = false;
|
|
structItem.Dummy9 = false;
|
|
structItem.Dummy10 = false;
|
|
structItem.Dummy11 = false;
|
|
structItem.Dummy12 = false;
|
|
structItem.Dummy13 = false;
|
|
structItem.Dummy14 = false;
|
|
structItem.Dummy15 = false;
|
|
structItem.Dummy16 = false;
|
|
structItem.Dummy17 = false;
|
|
structItem.Dummy18 = false;
|
|
structItem.Dummy19 = false;
|
|
structItem.Dummy20 = false;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, (int)DataStore.EnumFileUserGroup.f3_NotLogin);
|
|
#endregion
|
|
|
|
this.smartFileIO.WriteStructure_End();
|
|
this.smartFileIO.Close();
|
|
}
|
|
private void LoadUserGroupFile(ref UserGroup item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructUserGroupItem structItem;
|
|
|
|
fullFilePath = this.PathSystemFileFolder + "UserGroup.int";
|
|
this.smartFileIO.FilePathName = fullFilePath;
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
if (fileCheck == true)
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
else
|
|
{
|
|
this.smartFileIO.Open(this.BufferSmartUart);
|
|
|
|
this.CreateUserGroupFile();
|
|
}
|
|
|
|
try
|
|
{
|
|
if (this.smartFileIO.ReadStructureAllBuffer() == true)
|
|
{
|
|
#region Level1
|
|
structItem = (StructUserGroupItem)this.smartFileIO.ReadStructureBuffer(typeof(StructUserGroupItem), (int)DataStore.EnumFileUserGroup.f0_Level1);
|
|
|
|
item.Level1.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.Level1.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.Level1.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.Level1.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.Level1.IsMenuTimeSetting = structItem.IsMenuTimeSetting;
|
|
item.Level1.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.Level1.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.Level1.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.Level1.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.Level1.IsMenuSystemSetting = structItem.IsMenuSystemSetting;
|
|
item.Level1.IsMenuMotorSetting = structItem.IsMenuMotorSetting;
|
|
item.Level1.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.Level1.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.Level1.IsMenuFactoryReset = structItem.IsMenuFactoryReset;
|
|
item.Level1.IsMenuUserSetting = structItem.IsMenuUserSetting;
|
|
item.Level1.IsMenuUserGroupSetting = structItem.IsMenuUserGroupSetting;
|
|
item.Level1.IsMenuEquipmentSetting = structItem.IsMenuEquipmentSetting;
|
|
item.Level1.IsMenuDataStatistics = structItem.IsMenuDataStatistics;
|
|
#endregion
|
|
|
|
#region Level2
|
|
structItem = (StructUserGroupItem)this.smartFileIO.ReadStructureBuffer(typeof(StructUserGroupItem), (int)DataStore.EnumFileUserGroup.f1_Level2);
|
|
|
|
item.Level2.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.Level2.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.Level2.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.Level2.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.Level2.IsMenuTimeSetting = structItem.IsMenuTimeSetting;
|
|
item.Level2.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.Level2.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.Level2.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.Level2.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.Level2.IsMenuSystemSetting = structItem.IsMenuSystemSetting;
|
|
item.Level2.IsMenuMotorSetting = structItem.IsMenuMotorSetting;
|
|
item.Level2.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.Level2.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.Level2.IsMenuFactoryReset = structItem.IsMenuFactoryReset;
|
|
item.Level2.IsMenuUserSetting = structItem.IsMenuUserSetting;
|
|
item.Level2.IsMenuUserGroupSetting = structItem.IsMenuUserGroupSetting;
|
|
item.Level2.IsMenuEquipmentSetting = structItem.IsMenuEquipmentSetting;
|
|
item.Level2.IsMenuDataStatistics = structItem.IsMenuDataStatistics;
|
|
#endregion
|
|
|
|
#region Level3
|
|
structItem = (StructUserGroupItem)this.smartFileIO.ReadStructureBuffer(typeof(StructUserGroupItem), (int)DataStore.EnumFileUserGroup.f2_Level3);
|
|
|
|
item.Level3.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.Level3.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.Level3.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.Level3.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.Level3.IsMenuTimeSetting = structItem.IsMenuTimeSetting;
|
|
item.Level3.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.Level3.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.Level3.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.Level3.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.Level3.IsMenuSystemSetting = structItem.IsMenuSystemSetting;
|
|
item.Level3.IsMenuMotorSetting = structItem.IsMenuMotorSetting;
|
|
item.Level3.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.Level3.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.Level3.IsMenuFactoryReset = structItem.IsMenuFactoryReset;
|
|
item.Level3.IsMenuUserSetting = structItem.IsMenuUserSetting;
|
|
item.Level3.IsMenuUserGroupSetting = structItem.IsMenuUserGroupSetting;
|
|
item.Level3.IsMenuEquipmentSetting = structItem.IsMenuEquipmentSetting;
|
|
item.Level3.IsMenuDataStatistics = structItem.IsMenuDataStatistics;
|
|
#endregion
|
|
|
|
#region NotLogin
|
|
structItem = (StructUserGroupItem)this.smartFileIO.ReadStructureBuffer(typeof(StructUserGroupItem), (int)DataStore.EnumFileUserGroup.f3_NotLogin);
|
|
|
|
item.NotLogin.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.NotLogin.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.NotLogin.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.NotLogin.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.NotLogin.IsMenuTimeSetting = structItem.IsMenuTimeSetting;
|
|
item.NotLogin.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.NotLogin.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.NotLogin.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.NotLogin.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.NotLogin.IsMenuSystemSetting = structItem.IsMenuSystemSetting;
|
|
item.NotLogin.IsMenuMotorSetting = structItem.IsMenuMotorSetting;
|
|
item.NotLogin.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.NotLogin.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.NotLogin.IsMenuFactoryReset = structItem.IsMenuFactoryReset;
|
|
item.NotLogin.IsMenuUserSetting = structItem.IsMenuUserSetting;
|
|
item.NotLogin.IsMenuUserGroupSetting = structItem.IsMenuUserGroupSetting;
|
|
item.NotLogin.IsMenuEquipmentSetting = structItem.IsMenuEquipmentSetting;
|
|
item.NotLogin.IsMenuDataStatistics = structItem.IsMenuDataStatistics;
|
|
#endregion
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region Data Backup
|
|
private void DataBackup(Collection<WeightData> items)
|
|
{
|
|
bool fileCheck = false, directoryCheck = false;
|
|
string fullFilePath = "";
|
|
StreamWriter sw;
|
|
|
|
this.RemoveUsbBackupFile();
|
|
|
|
if (this.SystemConfig.IsDataBackup == true)
|
|
{
|
|
if (this.SystemConfig.IsAdcValueAdd == false)
|
|
{
|
|
fullFilePath = string.Format("{0}{1:yyyyMMdd}-{2}_{3}.csv", this.PathDataBackupFolder, DateTime.Now, this.SystemConfig.ProductNumber, this.SystemConfig.UsbID);
|
|
|
|
DirectoryInfo di = new DirectoryInfo(this.PathDataBackupFolder);
|
|
directoryCheck = di.Exists;
|
|
// 폴더 체크
|
|
if (directoryCheck == false)
|
|
di.Create();
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
|
|
|
|
if (fileCheck == false)
|
|
{
|
|
sw.Write("Date");
|
|
sw.Write(",");
|
|
sw.Write("Time");
|
|
sw.Write(",");
|
|
sw.Write("P_No");
|
|
sw.Write(",");
|
|
sw.Write("Name");
|
|
sw.Write(",");
|
|
sw.Write("Lot");
|
|
sw.Write(",");
|
|
sw.Write("UnderRange");
|
|
sw.Write(",");
|
|
sw.Write("PassRange");
|
|
sw.Write(",");
|
|
sw.Write("OverRange");
|
|
sw.Write(",");
|
|
sw.Write("TareRange");
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
sw.Write(",");
|
|
sw.Write(string.Format("#{0}_Weight", i + 1));
|
|
sw.Write(",");
|
|
sw.Write("Grade");
|
|
}
|
|
|
|
sw.WriteLine();
|
|
}
|
|
|
|
sw.Write(string.Format("{0:yyyy-MM-dd}", DateTime.Now));
|
|
sw.Write(",");
|
|
sw.Write(string.Format("{0:HH:mm:ss}", DateTime.Now));
|
|
sw.Write(",");
|
|
sw.Write(this.CurrentProductItem.Number);
|
|
sw.Write(",");
|
|
sw.Write(this.CurrentProductItem.Name);
|
|
sw.Write(",");
|
|
sw.Write(this.CurrentProductItem.LotNo);
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.UnderRange, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.PassRange, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.OverRange, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.TareRange, this.SystemConfig.DecimalPlaces));
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
sw.Write(",");
|
|
sw.Write(Helper.DoubleToString(items[i].Weight, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(items[i].JudgmentStatus);
|
|
}
|
|
sw.WriteLine();
|
|
sw.Close();
|
|
}
|
|
else
|
|
this.DataBackupADC(items);
|
|
}
|
|
}
|
|
private void DataBackupADC(Collection<WeightData> items)
|
|
{
|
|
bool fileCheck = false, directoryCheck = false;
|
|
string fullFilePath = "";
|
|
StreamWriter sw;
|
|
|
|
this.RemoveUsbBackupFile();
|
|
|
|
|
|
fullFilePath = string.Format("{0}{1:yyyyMMdd}-{2}_{3}_ADC.csv", this.PathDataBackupFolder, DateTime.Now, this.SystemConfig.ProductNumber, this.SystemConfig.UsbID);
|
|
|
|
DirectoryInfo di = new DirectoryInfo(this.PathDataBackupFolder);
|
|
directoryCheck = di.Exists;
|
|
// 폴더 체크
|
|
if (directoryCheck == false)
|
|
di.Create();
|
|
|
|
FileInfo fileInfo = new FileInfo(fullFilePath);
|
|
fileCheck = fileInfo.Exists;
|
|
|
|
sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
|
|
|
|
if (fileCheck == false)
|
|
{
|
|
sw.Write("Date");
|
|
sw.Write(",");
|
|
sw.Write("Time");
|
|
sw.Write(",");
|
|
sw.Write("P_No");
|
|
sw.Write(",");
|
|
sw.Write("Name");
|
|
sw.Write(",");
|
|
sw.Write("Lot");
|
|
sw.Write(",");
|
|
sw.Write("UnderRange");
|
|
sw.Write(",");
|
|
sw.Write("PassRange");
|
|
sw.Write(",");
|
|
sw.Write("OverRange");
|
|
sw.Write(",");
|
|
sw.Write("TareRange");
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
sw.Write(",");
|
|
sw.Write(string.Format("#{0}_Weight", i + 1));
|
|
sw.Write(",");
|
|
sw.Write("Grade");
|
|
sw.Write(",");
|
|
sw.Write("ADC");
|
|
}
|
|
|
|
sw.WriteLine();
|
|
}
|
|
|
|
sw.Write(string.Format("{0:yyyy-MM-dd}", DateTime.Now));
|
|
sw.Write(",");
|
|
sw.Write(string.Format("{0:HH:mm:ss}", DateTime.Now));
|
|
sw.Write(",");
|
|
sw.Write(this.CurrentProductItem.Number);
|
|
sw.Write(",");
|
|
sw.Write(this.CurrentProductItem.Name);
|
|
sw.Write(",");
|
|
sw.Write(this.CurrentProductItem.LotNo);
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.UnderRange, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.PassRange, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.OverRange, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(Helper.StringToDecimalPlaces(this.CurrentProductItem.TareRange, this.SystemConfig.DecimalPlaces));
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
sw.Write(",");
|
|
sw.Write(Helper.DoubleToString(items[i].Weight, this.SystemConfig.DecimalPlaces));
|
|
sw.Write(",");
|
|
sw.Write(items[i].JudgmentStatus);
|
|
sw.Write(",");
|
|
sw.Write(items[i].ADCValue);
|
|
}
|
|
sw.WriteLine();
|
|
sw.Close();
|
|
}
|
|
|
|
private void RemoveUsbBackupFile()
|
|
{
|
|
bool directoryCheck = false;
|
|
|
|
try
|
|
{
|
|
string dday = string.Format("{0:yyyyMMdd}", DateTime.Now.AddDays(-180)) + ".csv";
|
|
|
|
DirectoryInfo dir = new DirectoryInfo(this.PathDataBackupFolder);
|
|
|
|
directoryCheck = dir.Exists;
|
|
// 폴더 체크
|
|
if (directoryCheck == false)
|
|
dir.Create();
|
|
|
|
FileInfo[] files = dir.GetFiles();
|
|
foreach (FileInfo subfile in files)
|
|
{
|
|
if (subfile.Name.StartsWith("20")) // 날짜 비교하여 10일 지난화일은 삭제함
|
|
{
|
|
if (subfile.Name.CompareTo(dday) < 0)
|
|
{
|
|
subfile.Delete();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region Uart Com3
|
|
public void UartCom3Open()
|
|
{
|
|
string fullPath = "";
|
|
int baudrate = 9600;
|
|
|
|
if (this.SystemConfig.Serial3Mode != 0)
|
|
{
|
|
try
|
|
{
|
|
switch (this.SystemConfig.Serial3BaudRate)
|
|
{
|
|
case 0:
|
|
baudrate = 9600;
|
|
break;
|
|
case 1:
|
|
baudrate = 19200;
|
|
break;
|
|
case 2:
|
|
baudrate = 38400;
|
|
break;
|
|
case 3:
|
|
baudrate = 115200;
|
|
break;
|
|
default:
|
|
baudrate = 9600;
|
|
break;
|
|
}
|
|
|
|
// Port : COM3
|
|
SerialMgrComm.serialPortOpen("COM3:", baudrate, 0, 0, 8);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
|
|
#region Test 용 통신 로그
|
|
fullPath = this.PathDataBackupFolder + "COM3log.txt";
|
|
this.smartFileCom3Log.FilePathName = fullPath;
|
|
//this.smartUARTCom3.Open();
|
|
//this.IsCom3LogOpen = true;
|
|
#endregion
|
|
}
|
|
|
|
public string PadLeft(int length, string sValue)
|
|
{
|
|
string temp;
|
|
|
|
temp = sValue.PadLeft(length, ' ');
|
|
|
|
return temp;
|
|
}
|
|
|
|
public void SerialCH3STD1(Collection<WeightData> datas)
|
|
{
|
|
string value = "";
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(string.Format("IN{0:D3}", this.SystemConfig.UsbID));
|
|
sb.Append(string.Format("{0:D4}", this.SystemConfig.ProductNumber));
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Empty)
|
|
sb.Append("T");
|
|
else
|
|
sb.Append("E");
|
|
|
|
if (this.SystemConfig.EquipmentColumns == 16)
|
|
sb.Append(" ");
|
|
|
|
value = Helper.DoubleToString(datas[i].Weight, this.SystemConfig.DecimalPlaces);
|
|
sb.Append(value.PadLeft(6, ' '));
|
|
}
|
|
|
|
SerialMgrComm.serialPortMessage("COM3:", sb.ToString());
|
|
|
|
if (this.IsCom3LogOpen == true)
|
|
this.smartFileCom3Log.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, sb.ToString()));
|
|
}
|
|
public void SerialCH3STD2(Collection<WeightData> datas)
|
|
{
|
|
string value = "";
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(string.Format("IN{0:D3}", this.SystemConfig.UsbID));
|
|
sb.Append(string.Format("{0:D4}", this.SystemConfig.ProductNumber));
|
|
sb.Append(this.PadLeft(6, Helper.StringToDecimalPlaces(this.CurrentProductItem.UnderRange, this.SystemConfig.DecimalPlaces)));
|
|
sb.Append(this.PadLeft(6, Helper.StringToDecimalPlaces(this.CurrentProductItem.PassRange, this.SystemConfig.DecimalPlaces)));
|
|
sb.Append(this.PadLeft(6, Helper.StringToDecimalPlaces(this.CurrentProductItem.OverRange, this.SystemConfig.DecimalPlaces)));
|
|
sb.Append(this.PadLeft(6, Helper.StringToDecimalPlaces(this.CurrentProductItem.TareRange, this.SystemConfig.DecimalPlaces)));
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Empty)
|
|
sb.Append("T");
|
|
else
|
|
sb.Append("E");
|
|
|
|
if (this.SystemConfig.EquipmentColumns == 16)
|
|
sb.Append(" ");
|
|
|
|
value = Helper.DoubleToString(datas[i].Weight, this.SystemConfig.DecimalPlaces);
|
|
sb.Append(value.PadLeft(6, ' '));
|
|
}
|
|
|
|
SerialMgrComm.serialPortMessage("COM3:", sb.ToString());
|
|
|
|
if (this.IsCom3LogOpen == true)
|
|
this.smartFileCom3Log.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, sb.ToString()));
|
|
}
|
|
#endregion
|
|
|
|
#region Modbus
|
|
public void ModbusOpen()
|
|
{
|
|
if (this.smartModbus.IsOpen == true)
|
|
this.smartModbus.PortClose();
|
|
|
|
this.smartModbus.PortOpen();
|
|
}
|
|
public void ModbusClose()
|
|
{
|
|
this.smartModbus.PortClose();
|
|
}
|
|
|
|
public string ServoMotorRead1(int slaveAddress, int parameterAddress)
|
|
{
|
|
int value = 0;
|
|
byte[] readData = new byte[2];
|
|
|
|
this.smartModbus.SlaveAddress = slaveAddress;
|
|
this.smartModbus.ReadHoldingRegister(parameterAddress, 1, ref readData);
|
|
|
|
Array.Reverse(readData);
|
|
value = BitConverter.ToInt16(readData, 0);
|
|
|
|
return string.Format("{0}", value);
|
|
}
|
|
public string ServoMotorRead2(int slaveAddress, int parameterAddress)
|
|
{
|
|
int value = 0;
|
|
byte[] readData = new byte[4];
|
|
|
|
this.smartModbus.SlaveAddress = slaveAddress;
|
|
this.smartModbus.ReadHoldingRegister(parameterAddress, 2, ref readData);
|
|
|
|
byte[] readData1 = new byte[4];
|
|
readData1[0] = readData[1];
|
|
readData1[1] = readData[0];
|
|
readData1[2] = readData[3];
|
|
readData1[3] = readData[2];
|
|
|
|
value = BitConverter.ToInt32(readData1, 0);
|
|
|
|
return string.Format("{0}", value);
|
|
}
|
|
public void ServoMotorWrite1(int slaveAddress, int parameterAddress, int value, SmartLabel label)
|
|
{
|
|
this.smartModbus.SlaveAddress = slaveAddress;
|
|
if (this.smartModbus.WriteSingleRegister(parameterAddress, value) == SmartX.SmartModbus.EXCEPTIONCODE.SUCCESS)
|
|
{
|
|
//MessageBox.Show("쓰기완료");
|
|
}
|
|
label.Text = this.ServoMotorRead1(slaveAddress, parameterAddress);
|
|
}
|
|
public void ServoMotorWrite1(int slaveAddress, int parameterAddress, int value)
|
|
{
|
|
this.smartModbus.SlaveAddress = slaveAddress;
|
|
if (this.smartModbus.WriteSingleRegister(parameterAddress, value) == SmartX.SmartModbus.EXCEPTIONCODE.SUCCESS)
|
|
{
|
|
//MessageBox.Show("쓰기완료");
|
|
}
|
|
}
|
|
public void ServoMotorWrite2(int slaveAddress, int parameterAddress, int value, SmartLabel label)
|
|
{
|
|
byte[] data = BitConverter.GetBytes(value);
|
|
|
|
byte[] readData1 = new byte[4];
|
|
readData1[0] = data[1];
|
|
readData1[1] = data[0];
|
|
readData1[2] = data[3];
|
|
readData1[3] = data[2];
|
|
|
|
this.smartModbus.SlaveAddress = slaveAddress;
|
|
if (this.smartModbus.WriteMultipleRegister(parameterAddress, 4, readData1) == SmartX.SmartModbus.EXCEPTIONCODE.SUCCESS)
|
|
{
|
|
//MessageBox.Show("쓰기완료");
|
|
}
|
|
label.Text = this.ServoMotorRead2(slaveAddress, parameterAddress);
|
|
}
|
|
public void ServoMotorWrite(int slaveAddress, int parameterAddress, int value)
|
|
{
|
|
this.smartModbus.SlaveAddress = slaveAddress;
|
|
if (this.smartModbus.WriteSingleRegister(parameterAddress, value) == SmartX.SmartModbus.EXCEPTIONCODE.SUCCESS)
|
|
{
|
|
//MessageBox.Show("쓰기완료");
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region Override Member
|
|
protected override void OnLoad(EventArgs e)
|
|
{
|
|
base.OnLoad(e);
|
|
|
|
// 변수 초기 셋팅1
|
|
this.DefaultSetting1();
|
|
// SystemConfiguration 1 읽기
|
|
this.LoadSystemConfigurationFile1();
|
|
// SystemConfiguration 2 읽기
|
|
this.LoadSystemConfigurationFile2();
|
|
// Collection 생성
|
|
this.CreateCollection();
|
|
// Count 읽기
|
|
this.LoadCounterFile1(ref this.CollectionWeightData, this.SystemConfig.ProductNumber - 1);
|
|
if(this.SystemConfig.EquipmentColumns == 16)
|
|
this.LoadCounterFile2(ref this.CollectionWeightData, this.SystemConfig.ProductNumber - 1);
|
|
// 품목 파일 읽기
|
|
this.LoadProductFile(ref this.CurrentProductItem, this.SystemConfig.ProductNumber - 1);
|
|
// 판정설정 파일 읽기
|
|
this.LoadJudgmentSetFile(ref this.CurrentJudgmentSetItem, this.SystemConfig.ProductNumber - 1);
|
|
// 동보정 파일 읽기
|
|
this.LoadDynamicCorrectionFile(ref this.CurrentJudgmentSetItem, this.SystemConfig.ProductNumber - 1);
|
|
// 품목명 읽기
|
|
this.LoadProductName(ref this.CollectionProductName);
|
|
// User 파일 읽기
|
|
this.LoadUserLevel1File(this.CurrentCollectionUser.Level1Users);
|
|
this.LoadUserLevel2File(this.CurrentCollectionUser.Level2Users);
|
|
this.LoadUserLevel3File(this.CurrentCollectionUser.Level3Users);
|
|
// UserGroup File Load
|
|
this.LoadUserGroupFile(ref this.CurrentUserGroup);
|
|
|
|
// 변수 초기 셋팅2
|
|
// 시스템설정 값 로딩 후 셋팅
|
|
this.DefaultSetting2();
|
|
|
|
// 폼생성
|
|
this.CreateForm();
|
|
|
|
this.SmartSplashProgramLoad.Finish();
|
|
|
|
this.smartForm.Show((int)DataStore.FormStore.FormMainDisplay);
|
|
|
|
// 통신 OPEN
|
|
this.OpenSmartUartLink();
|
|
|
|
// Serial3 통신 Open
|
|
this.UartCom3Open();
|
|
|
|
// Modbus Open
|
|
if (this.SystemConfig.MotorSelect == 1)
|
|
this.ModbusOpen();
|
|
|
|
// 초기 파라미터 전송
|
|
this.TransferDataStream(CommunicationCommand.Read, CommunicationID.MainBoard, CommunicationAddress._6901_ParameterRead6901, "");
|
|
}
|
|
#endregion
|
|
|
|
#region Event Handler
|
|
private void SerialReceiveData(string data)
|
|
{
|
|
try
|
|
{
|
|
this.ReceiveData1(data);
|
|
|
|
// 통신 확인
|
|
if (this.CommunicationCheckCount / 3 == 1)
|
|
{
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.pictureBoxCommunicationStatus.Visible = true;
|
|
|
|
this.CommunicationCheckCount = 0;
|
|
}
|
|
else
|
|
{
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.pictureBoxCommunicationStatus.Visible = false;
|
|
|
|
this.CommunicationCheckCount += 1;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
private void timerAdcLog_Tick(object sender, EventArgs e)
|
|
{
|
|
this.FlagADCValueWrite = true;
|
|
}
|
|
|
|
private void smartThread_UIThreadFunction(ThreadArgs args)
|
|
{
|
|
// 메시지 11. 입력센서 에러에 의해 정지하였습니다.
|
|
if (this.FlagThreadMessage1 == false)
|
|
{
|
|
DialogFormMessage msg = new DialogFormMessage(11, this.SystemConfig.Language, this);
|
|
msg.ShowDialog();
|
|
|
|
this.FlagThreadMessage1 = true;
|
|
}
|
|
}
|
|
private void smartTimerSampling_Tick(object sender, EventArgs e)
|
|
{
|
|
this.timerSampling.Enabled = false;
|
|
this.TransferData(CommunicationCommand.SamplingSignal, CommunicationID.MainBoard);
|
|
this.SystemConfig.SamplingCurrentCount++;
|
|
}
|
|
private void timerSampling_Tick(object sender, EventArgs e)
|
|
{
|
|
this.timerSampling.Enabled = false;
|
|
this.TransferData(CommunicationCommand.SamplingSignal, CommunicationID.MainBoard);
|
|
this.SystemConfig.SamplingCurrentCount++;
|
|
}
|
|
private void timerTimeout_Tick(object sender, EventArgs e)
|
|
{
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormMainDisplay)
|
|
{
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.UpdateDisplayProductChangeInfo(this.FlagTimeoutCount);
|
|
}
|
|
else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormSystemSetting)
|
|
{
|
|
if (this.ChildFormSystemSetting != null)
|
|
this.ChildFormSystemSetting.UpdateDisplayProductChangeInfo(this.FlagTimeoutCount);
|
|
}
|
|
|
|
this.TransferDynamicParameter(this.ProductChangNumber);
|
|
|
|
this.FlagTimeoutCount++;
|
|
}
|
|
private void timerEmergencyStop_Tick(object sender, EventArgs e)
|
|
{
|
|
this.timerEmergencyStop.Enabled = false;
|
|
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Start)
|
|
{
|
|
this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
|
|
this.timerEmergencyStop.Enabled = true;
|
|
}
|
|
}
|
|
private void timerLeakSampling_Tick(object sender, EventArgs e)
|
|
{
|
|
this.timerLeakSampling.Enabled = false;
|
|
this.TransferData(CommunicationCommand.LeakSamplingSignal, CommunicationID.MainBoard);
|
|
}
|
|
#endregion
|
|
|
|
private void timerEquipmentStatus_Tick(object sender, EventArgs e)
|
|
{
|
|
this.timerEquipmentStatus.Enabled = false;
|
|
|
|
this.EquipmentStatus1 = this.EquipmentStatus;
|
|
}
|
|
}
|
|
} |