INT63DC_2C/INT63DC_2C/Forms/FormMain.cs

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;
}
}
}