7401 lines
349 KiB
C#
7401 lines
349 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.Net.Sockets;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
|
|
using SmartX;
|
|
using InModbus;
|
|
using INT63DC_6CH.In_SerialManger;
|
|
using INT63DC_6CH.In_UserManager;
|
|
using INT63DC_6CH.In_Encryption;
|
|
using INT63DC_6CH.DialogForms;
|
|
|
|
namespace INT63DC_6CH.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 int BufferSmartUart; // Buffer size 정의
|
|
public bool FlagThreadMessage1; // 플레그 쓰레드 메시지 11
|
|
private int ProductChangNumber; // 변경할 품번
|
|
private int FlagTimeoutCount; // 품번 변경 실패 시 재시도 횟수
|
|
public bool IsDeveloperMode; // 장비테스트에서 설정 (관리자 모드)
|
|
public bool IsServoOrigin; // 비상정지 시 false 처리
|
|
public string BalanceWeight; // 중량 조정 - 분동중량
|
|
private bool IsModbusCommonDataSend; // Modbus 공통 데이터 Start 시 한번 전송용
|
|
public int FlagAutomaticLogoutWarningTime; //Part11 Auto Logout
|
|
|
|
public bool FlagDllSerial; // DllSerial 사용 유무
|
|
|
|
private string ComPortMainToLCD;
|
|
|
|
// 파일 위치
|
|
private string m_PathLaunchFolder;
|
|
private string m_PathSystemFileFolder;
|
|
private string m_PathDataBackupFolder;
|
|
private string m_PathDataStatisticsFolder;
|
|
private string m_PathDataFolder;
|
|
private string m_PathDataHistoryFolder;
|
|
private string m_PathDataInspectionFolder;
|
|
private string m_PathDataOthersFolder;
|
|
private string m_PathEncryptionFolder;
|
|
private string m_PathHeaderFolder;
|
|
private static string m_PathBinFolder;
|
|
|
|
// 로그온 색상
|
|
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 FormDataStatistics ChildFormDataStatistics;
|
|
public FormOptionSetting ChildFormOptionSetting;
|
|
public FormMotorSetting ChildFormMotorSetting;
|
|
public FormUserGroupEditor ChildFormUserGroupEditor;
|
|
public FormUserEditor ChildFormUserEditor;
|
|
public FormCommunication ChildFormCommunication;
|
|
public FormDataViewer ChildFormDataViewer;
|
|
public FormDataBackup_Part11 ChildFormDataBackup_Part11;
|
|
|
|
// System Configuration
|
|
public SystemConfigurationItem SystemConfig;
|
|
// 현재 선택 된 품목
|
|
public ProductItem CurrentProductItem;
|
|
// 현재 선택 된 판정 설정 값
|
|
public JudgmentSetItem CurrentJudgmentSetItem;
|
|
// 옵션 파라미터 설정값
|
|
public OptionParameterItem CurrentOptionParameterItem;
|
|
// 통신 ABFood
|
|
public CommunicationStatusItem CommunicationABFood;
|
|
// UserPasswordType
|
|
public UserPasswordType CurrentUserPasswordType;
|
|
// UserGroup
|
|
public UserGroup CurrentUserGroup;
|
|
// Dll User_Name List
|
|
public List<string> ListDllUserName;
|
|
// Communication Respone
|
|
private CommunicationRespone CurrentComRespone;
|
|
// Dataviewer Filter
|
|
public DataViewerFilter CurrentDataViewerFilter;
|
|
// 장비 구동 상태
|
|
private DataStore.EquipmentStatus m_EquipmentStatus;
|
|
private DataStore.EquipmentStatus m_EquipmentStatus1;
|
|
// 알람
|
|
public AlarmList CurrentAlarmList;
|
|
|
|
// Collection
|
|
public Collection<WeightData> CollectionWeightData; // 열별 중량 데이터
|
|
public Collection<WeightData> CollectionWeightDataTest; // 장비테스트모드 열별 중량 데이터
|
|
private Collection<int> CollectionGraphData; // 판정설정 그래프 데이터
|
|
private Collection<string> CollectionIOTest_InputData; // IO Test Input 데이터 취합
|
|
private Collection<string> CollectionIOTest_InputData1; // IO Test Input1 데이터 취합 확장보드
|
|
public Collection<string> CollectionProductName; // 품목명 리스트
|
|
|
|
// Modbus Data
|
|
public _30000_ModbusData Current30000ModbusData;
|
|
public _40000_ModbusData Current40000ModbusData;
|
|
// Modbus
|
|
public Modbus Modbus;
|
|
// Ethernet
|
|
public bool IsEthernetThreadStop;
|
|
private bool IsEthernetTransferData;
|
|
public object EthernetTransferData;
|
|
private TcpClient EthernetTcpClient;
|
|
private NetworkStream EthernetNetStream;
|
|
private StreamReader EthernetStmReader;
|
|
private StreamWriter EthernetStmWriter;
|
|
private delegate void TransferDataByteArrayCallback(byte[] byteArray);
|
|
private delegate void TransferDataStringCallback(string strtext);
|
|
private delegate void TextStatusCallback(string strtext);
|
|
private delegate void UIControlCallback(bool bEnable);
|
|
private delegate void UIServerStatusCallback(bool bEnable);
|
|
#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 string PathDataFolder
|
|
{
|
|
get { return this.m_PathDataFolder; }
|
|
private set { this.m_PathDataFolder = value; }
|
|
}
|
|
public string PathDataHistoryFolder
|
|
{
|
|
get { return this.m_PathDataHistoryFolder; }
|
|
private set { this.m_PathDataHistoryFolder = value; }
|
|
}
|
|
public string PathDataInspectionFolder
|
|
{
|
|
get { return this.m_PathDataInspectionFolder; }
|
|
private set { this.m_PathDataInspectionFolder = value; }
|
|
}
|
|
public string PathDataOthersFolder
|
|
{
|
|
get { return this.m_PathDataOthersFolder; }
|
|
private set { this.m_PathDataOthersFolder = value; }
|
|
}
|
|
public string PathEncryptionFolder
|
|
{
|
|
get { return this.m_PathEncryptionFolder; }
|
|
set { this.m_PathEncryptionFolder = value; }
|
|
}
|
|
public string PathHeaderFolder
|
|
{
|
|
get { return this.m_PathHeaderFolder; }
|
|
private set { this.m_PathHeaderFolder = value; }
|
|
}
|
|
public static string PathBinFolder
|
|
{
|
|
get { return m_PathBinFolder; }
|
|
private set { m_PathBinFolder = 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.ChildFormCommunication = new FormCommunication(this);
|
|
this.ChildFormEquipmentTest = new FormEquipmentTest(this);
|
|
this.ChildFormIOTest = new FormIOTest(this);
|
|
this.ChildFormTimeSetting = new FormTimeSetting(this);
|
|
this.ChildFormInformation = new FormInformation(this);
|
|
this.ChildFormFactoryInitialize = new FormFactoryInitialize(this);
|
|
this.ChildFormProgramUpdate = new FormProgramUpdate(this);
|
|
this.ChildFormUserEditor = new FormUserEditor(this);
|
|
this.ChildFormDataStatistics = new FormDataStatistics(this);
|
|
this.ChildFormOptionSetting = new FormOptionSetting(this);
|
|
this.ChildFormMotorSetting = new FormMotorSetting(this);
|
|
this.ChildFormUserGroupEditor = new FormUserGroupEditor(this);
|
|
this.ChildFormDataViewer = new FormDataViewer(this);
|
|
if (this.SystemConfig.IsOptPart11 == true)
|
|
this.ChildFormDataBackup_Part11 = new FormDataBackup_Part11(this);
|
|
else
|
|
this.ChildFormDataBackup = new FormDataBackup(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.ChildFormCommunication);
|
|
this.smartForm.AddChildForm(this.ChildFormEquipmentTest);
|
|
this.smartForm.AddChildForm(this.ChildFormIOTest);
|
|
this.smartForm.AddChildForm(this.ChildFormTimeSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormInformation);
|
|
this.smartForm.AddChildForm(this.ChildFormFactoryInitialize);
|
|
this.smartForm.AddChildForm(this.ChildFormProgramUpdate);
|
|
this.smartForm.AddChildForm(this.ChildFormUserEditor);
|
|
this.smartForm.AddChildForm(this.ChildFormDataStatistics);
|
|
this.smartForm.AddChildForm(this.ChildFormOptionSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormMotorSetting);
|
|
this.smartForm.AddChildForm(this.ChildFormUserGroupEditor);
|
|
this.smartForm.AddChildForm(this.ChildFormDataViewer);
|
|
if (this.SystemConfig.IsOptPart11 == true)
|
|
this.smartForm.AddChildForm(this.ChildFormDataBackup_Part11);
|
|
else
|
|
this.smartForm.AddChildForm(this.ChildFormDataBackup);
|
|
}
|
|
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.CollectionProductName = new Collection<string>();
|
|
|
|
this.CollectionWeightData.Clear();
|
|
this.CollectionWeightDataTest.Clear();
|
|
this.CollectionGraphData.Clear();
|
|
this.CollectionIOTest_InputData.Clear();
|
|
this.CollectionIOTest_InputData1.Clear();
|
|
this.CollectionProductName.Clear();
|
|
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightData.Add(new WeightData());
|
|
this.CollectionWeightDataTest.Add(new WeightData());
|
|
}
|
|
|
|
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.ColorLogOff = Color.Red;
|
|
this.ColorLogOn = Color.Green;
|
|
|
|
this.CommunicationCheckCount = 0;
|
|
this.IsCommunicationLogOpen = false;
|
|
this.IsCom1LogOpen = false;
|
|
this.IsCom3LogOpen = false;
|
|
this.IsBootingComplete = false;
|
|
this.EquipmentStatus = DataStore.EquipmentStatus.Stop;
|
|
this.BufferSmartUart = 1000000; // 1MB
|
|
this.FlagThreadMessage1 = false;
|
|
this.ProductChangNumber = 1;
|
|
this.FlagTimeoutCount = 0;
|
|
this.IsServoOrigin = false;
|
|
this.BalanceWeight = "100.000";
|
|
|
|
// Path
|
|
this.PathLaunchFolder = "SD Card\\";
|
|
this.PathSystemFileFolder = this.PathLaunchFolder + "SystemFile\\";
|
|
this.PathDataBackupFolder = this.PathLaunchFolder + "DataBackup\\";
|
|
this.PathDataStatisticsFolder = this.PathLaunchFolder + "DataStatistics\\";
|
|
this.PathDataFolder = this.PathLaunchFolder + "Data\\";
|
|
this.PathDataHistoryFolder = this.PathDataFolder + "History\\";
|
|
this.PathDataInspectionFolder = this.PathDataFolder + "Inspection\\";
|
|
this.PathDataOthersFolder = this.PathDataFolder + "Others\\";
|
|
this.PathEncryptionFolder = this.PathLaunchFolder + "Encryption\\";
|
|
this.PathHeaderFolder = this.PathLaunchFolder + "Header\\";
|
|
PathBinFolder = this.PathLaunchFolder + "Bin\\";
|
|
|
|
this.SystemConfig = new SystemConfigurationItem();
|
|
this.CurrentProductItem = new ProductItem();
|
|
this.CurrentJudgmentSetItem = new JudgmentSetItem();
|
|
this.CurrentOptionParameterItem = new OptionParameterItem();
|
|
this.CommunicationABFood = new CommunicationStatusItem();
|
|
this.CurrentAlarmList = new AlarmList();
|
|
this.CurrentUserPasswordType = new UserPasswordType();
|
|
this.CurrentUserGroup = new UserGroup();
|
|
this.CurrentComRespone = new CommunicationRespone();
|
|
this.CurrentDataViewerFilter = new DataViewerFilter();
|
|
|
|
this.ListDllUserName = new List<string>();
|
|
this.ListDllUserName.Clear();
|
|
|
|
// 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);
|
|
|
|
// Data 폴더 생성
|
|
if (Directory.Exists(this.PathDataFolder) == false)
|
|
Directory.CreateDirectory(this.PathDataFolder);
|
|
|
|
// History 폴더 생성
|
|
if (Directory.Exists(this.PathDataHistoryFolder) == false)
|
|
Directory.CreateDirectory(this.PathDataHistoryFolder);
|
|
|
|
// Inspection 폴더 생성
|
|
if (Directory.Exists(this.PathDataInspectionFolder) == false)
|
|
Directory.CreateDirectory(this.PathDataInspectionFolder);
|
|
|
|
// Others 폴더 생성
|
|
if (Directory.Exists(this.PathDataOthersFolder) == false)
|
|
Directory.CreateDirectory(this.PathDataOthersFolder);
|
|
|
|
// Encryption 폴더 생성
|
|
if (Directory.Exists(this.PathEncryptionFolder) == false)
|
|
Directory.CreateDirectory(this.PathEncryptionFolder);
|
|
|
|
// Header 폴더 생성
|
|
if (Directory.Exists(this.PathHeaderFolder) == false)
|
|
Directory.CreateDirectory(this.PathHeaderFolder);
|
|
|
|
// Bin 폴더 생성
|
|
if (Directory.Exists(PathBinFolder) == false)
|
|
Directory.CreateDirectory(PathBinFolder);
|
|
}
|
|
private void DefaultSetting2()
|
|
{
|
|
// DllSerial 사용유무
|
|
this.FlagDllSerial = false;
|
|
// COM port 설정
|
|
this.ComPortMainToLCD = "COM2:";
|
|
|
|
// 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.Serialport_ReceiveDataEvent(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 InitializeUserManager()
|
|
{
|
|
UserManager.UserListNewDataEvent += this.UserManager_UserListNewDataEvent;
|
|
UserManager.UserListAddDataEvent += this.UserManager_UserListAddDataEvent;
|
|
UserManager.UserListModifyUserDataEvent += this.UserManager_UserListModifyUserDataEvent;
|
|
UserManager.UserListModifyInfoDataEvent += this.UserManager_UserListModifyInfoDataEvent;
|
|
UserManager.UserListDeleteDataEvent += this.UserManager_UserListDeleteDataEvent;
|
|
UserManager.UserListLockDataEvent += this.UserManager_UserListLockDataEvent;
|
|
UserManager.UserListDefautSettingDataEvent += this.UserManager_UserListDefaultSettingDataEvent;
|
|
UserManager.UserListLoginTimeoutDataEvent += this.UserManager_UserListLoginTimeoutDataEvent;
|
|
UserManager.UserListGetListDataEvent += this.UserManager_UserListGetListDataEvent;
|
|
UserManager.UserListLoginDataEvent += this.UserManager_UserListLoginDataEvent;
|
|
UserManager.UserListLogoutDataEvent += this.UserManager_UserListLogoutDataEvent;
|
|
UserManager.UserListGetListNameDataEvent += this.UserManager_UserListGetListNameDataEvent;
|
|
UserManager.UserListGetVersionDataEvent += this.UserManager_UserListGetVersionDataEvent;
|
|
|
|
UserManager.IntializeUserManager(this.PathSystemFileFolder);
|
|
|
|
if (this.SystemConfig.AutoLogoutTime == 1)
|
|
this.FlagAutomaticLogoutWarningTime = 30;
|
|
else
|
|
this.FlagAutomaticLogoutWarningTime = 60;
|
|
|
|
UserManager.UserManager_AutoLogoutSetTimeout(this.SystemConfig.AutoLogoutTime, this.FlagAutomaticLogoutWarningTime);
|
|
}
|
|
private void InitializeAES()
|
|
{
|
|
Encryption.DllAesEncryption_Event += AesEncryption_Event;
|
|
Encryption.DllAesEncryption_GetVersionDataEvent += AesEncryption_GetVersionDataEvent;
|
|
|
|
Encryption.InitializeEncryption();
|
|
}
|
|
|
|
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"));
|
|
// 선별기1 위치
|
|
sb.Append(Helper.StringZeroFillDigits4(item.Sorter1Location.ToString()));
|
|
// 선별기2 위치
|
|
sb.Append(Helper.StringZeroFillDigits4(item.Sorter2Location.ToString()));
|
|
// Empty중량설정
|
|
sb.Append(Helper.StringZeroFillDigits7(item.EmptyWeight));
|
|
// 부저동작시간
|
|
sb.Append(Helper.StringZeroFillDigits4(item.BuzzerRunTime.ToString()));
|
|
// 릴레이동작시간
|
|
sb.Append(Helper.StringZeroFillDigits4(item.RelayRunTime.ToString()));
|
|
// 채터링
|
|
sb.Append(Helper.StringZeroFillDigits4(item.Chattering.ToString()));
|
|
|
|
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._9054_ParameterSystem, 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);
|
|
|
|
sb.Append(Helper.StringZeroFillDigits4(productNumber.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.UnderRange));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.OverRange));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.TareRange));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.UnderRangeLimit));
|
|
sb.Append(Helper.StringZeroFillDigits7(pItem.OverRangeLimit));
|
|
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.JudgmentDelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.JudgmentCount.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.TurnDelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter1DelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter1RunTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter2DelayTime.ToString()));
|
|
sb.Append(Helper.StringZeroFillDigits4(jItem.Sorter2RunTime.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()));
|
|
|
|
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._9055_ParameterRecipe, sb.ToString());
|
|
}
|
|
public void ProductChange(int productNumber)
|
|
{
|
|
this.ProductChangNumber = 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
|
|
|
|
if (this.FlagDllSerial == true)
|
|
SerialMgrComm.serialPortOpen(this.ComPortMainToLCD, 115200, 0, 0, 8);
|
|
else
|
|
{
|
|
if (this.smartSerialPortLink.IsOpen == false)
|
|
this.smartSerialPortLink.Open();
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
|
|
#region Test 용 통신 로그
|
|
fullPath = this.PathDataBackupFolder + "Communicationlog.txt";
|
|
this.smartFileCommunicationLog.FilePathName = fullPath;
|
|
//this.smartFileCommunicationLog.Open();
|
|
//this.IsCommunicationLogOpen = true;
|
|
#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);
|
|
|
|
// Serial Write
|
|
if (this.FlagDllSerial == true)
|
|
SerialMgrComm.serialPortMessage(this.ComPortMainToLCD, sb.ToString());
|
|
else
|
|
{
|
|
if (this.smartSerialPortLink.IsOpen == true)
|
|
this.smartSerialPortLink.WriteFrame(sb.ToString(), SmartSerialPort.CODETYPES.ASCIICODE);
|
|
}
|
|
|
|
// 통신 확인 로그
|
|
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);
|
|
|
|
// Serial Write
|
|
if (this.FlagDllSerial == true)
|
|
SerialMgrComm.serialPortMessage(this.ComPortMainToLCD, sb.ToString());
|
|
else
|
|
{
|
|
if (this.smartSerialPortLink.IsOpen == true)
|
|
this.smartSerialPortLink.WriteFrame(sb.ToString(), SmartSerialPort.CODETYPES.ASCIICODE);
|
|
}
|
|
|
|
// 통신 확인 로그
|
|
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);
|
|
|
|
// Serial Write
|
|
if (this.FlagDllSerial == true)
|
|
SerialMgrComm.serialPortMessage(this.ComPortMainToLCD, sb.ToString());
|
|
else
|
|
{
|
|
if (this.smartSerialPortLink.IsOpen == true)
|
|
this.smartSerialPortLink.WriteFrame(sb.ToString(), SmartSerialPort.CODETYPES.ASCIICODE);
|
|
}
|
|
|
|
// 통신 확인 로그
|
|
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 ReceiveData(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 void ReceiveData()
|
|
{
|
|
int ret = 0;
|
|
string strTemp = "";
|
|
byte[] readByte;
|
|
|
|
SmartSerialPort.FRAMEDATAREADSTATUS receiveDataState = SmartSerialPort.FRAMEDATAREADSTATUS.EMPTY;
|
|
|
|
try
|
|
{
|
|
receiveDataState = this.smartSerialPortLink.ReadQueue(out readByte);
|
|
strTemp = Encoding.Default.GetString(readByte, 0, readByte.Length);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if ((receiveDataState == SmartSerialPort.FRAMEDATAREADSTATUS.EMPTY) || (receiveDataState == SmartSerialPort.FRAMEDATAREADSTATUS.FAILDATA))
|
|
{
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
|
|
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.TrasferSystemParameter(this.SystemConfig);
|
|
|
|
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;
|
|
}
|
|
|
|
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
|
|
sValue = receiveData.Substring(0, 4);
|
|
|
|
if (this.ChildFormInformation != null)
|
|
this.ChildFormInformation.UpdateProgreamVersionDisplay(this.EquipmentStatus, sValue);
|
|
#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.SaveSystemConfigurationFile(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);
|
|
|
|
// 생산속도 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;
|
|
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 "9054":
|
|
if (response == DataStore.ResponseData.ACK)
|
|
this.ProductChange(this.SystemConfig.ProductNumber);
|
|
break;
|
|
case "9055":
|
|
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 * 9, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
}
|
|
else
|
|
{
|
|
this.CollectionWeightData[i].Status = Helper.StringToWeightStatus(receiveData.Substring(i * 9, 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) * 9, 2));
|
|
this.CollectionWeightData[this.SystemConfig.EquipmentColumns - i].Weight = Helper.StringToWeight(receiveData.Substring((i - 1) * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
}
|
|
else
|
|
{
|
|
this.CollectionWeightData[this.SystemConfig.EquipmentColumns - i].Status = Helper.StringToWeightStatus(receiveData.Substring((i - 1) * 9, 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 * 9, 2));
|
|
this.CollectionWeightDataTest[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 1; i <= this.SystemConfig.EquipmentColumns; i++)
|
|
{
|
|
this.CollectionWeightDataTest[this.SystemConfig.EquipmentColumns - i].Status = Helper.StringToWeightStatus(receiveData.Substring((i - 1) * 9, 2));
|
|
this.CollectionWeightDataTest[this.SystemConfig.EquipmentColumns - i].Weight = Helper.StringToWeight(receiveData.Substring((i - 1) * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
}
|
|
}
|
|
}
|
|
#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);
|
|
}
|
|
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
|
|
{
|
|
// Modbus
|
|
if (this.SystemConfig.EthernetMode == 4)
|
|
{
|
|
if (this.IsModbusCommonDataSend == false)
|
|
{
|
|
this.ModbusCommonDataSend();
|
|
this.IsModbusCommonDataSend = true;
|
|
}
|
|
}
|
|
|
|
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 * 9, 2));
|
|
this.CollectionWeightDataTest[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
|
|
// 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) * 9, 2));
|
|
this.CollectionWeightDataTest[this.CollectionWeightDataTest.Count - i].Weight =
|
|
Helper.StringToWeight(receiveData.Substring((i - 1) * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
|
|
// SamplingData Check
|
|
data = receiveData.Substring((i - 1) * 9, 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 * 9, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[i].WeightString = receiveData.Substring(i * 9 + 2, 7).Trim();
|
|
|
|
// SamplingData Check
|
|
data = receiveData.Substring(i * 9, 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) * 9, 2));
|
|
this.CollectionWeightData[this.CollectionWeightData.Count - i].Weight =
|
|
Helper.StringToWeight(receiveData.Substring((i - 1) * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
this.CollectionWeightData[this.CollectionWeightData.Count - i].WeightString = receiveData.Substring((i - 1) * 9 + 2, 7).Trim();
|
|
|
|
// SamplingData Check
|
|
data = receiveData.Substring((i - 1) * 9, 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
|
|
}
|
|
}
|
|
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 * 9, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
}
|
|
#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 * 9, 2));
|
|
this.CollectionWeightData[i].Weight = Helper.StringToWeight(receiveData.Substring(i * 9 + 2, 7), this.SystemConfig.DecimalPlaces);
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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, 7), this.SystemConfig.DecimalPlaces);
|
|
time1 = receiveData.Substring(9, 4);
|
|
|
|
for (int i = 0; i < this.CollectionGraphData.Count; i++)
|
|
{
|
|
this.CollectionGraphData[i] = int.Parse(receiveData.Substring(temp, 7));
|
|
temp += 7;
|
|
}
|
|
#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 CreateSystemConfigurationFile()
|
|
{
|
|
StructSystemConfigurationItem structItem;
|
|
|
|
this.SystemConfig.Initialization();
|
|
|
|
// bool
|
|
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.IsOptPart11 = this.SystemConfig.IsOptPart11;
|
|
// int
|
|
structItem.AutoLogoutTime = this.SystemConfig.AutoLogoutTime;
|
|
structItem.UsbID = this.SystemConfig.UsbID;
|
|
structItem.ProductNumber = this.SystemConfig.ProductNumber;
|
|
structItem.DataStoragePeriod = this.SystemConfig.DataStoragePeriod;
|
|
structItem.EquipmentColumns = this.SystemConfig.EquipmentColumns;
|
|
structItem.EquipmentID = this.SystemConfig.EquipmentID;
|
|
structItem.Chattering = this.SystemConfig.Chattering;
|
|
structItem.BuzzerRunTime = this.SystemConfig.BuzzerRunTime;
|
|
structItem.RelayRunTime = this.SystemConfig.RelayRunTime;
|
|
structItem.Sorter1Location = this.SystemConfig.Sorter1Location;
|
|
structItem.Sorter2Location = this.SystemConfig.Sorter2Location;
|
|
structItem.WeightLimitIgnoreCount = this.SystemConfig.WeightLimitIgnoreCount;
|
|
structItem.Serial3BaudRate = this.SystemConfig.Serial3BaudRate;
|
|
structItem.Serial3Mode = this.SystemConfig.Serial3Mode;
|
|
structItem.EthernetLocalPort = this.SystemConfig.EthernetLocalPort;
|
|
structItem.EthernetMode = this.SystemConfig.EthernetMode;
|
|
structItem.EthernetOperationMode = this.SystemConfig.EthernetOperationMode;
|
|
structItem.EthernetServerPort = this.SystemConfig.EthernetServerPort;
|
|
structItem.ModbusTcpAddress1 = this.SystemConfig.ModbusTcpAddress1;
|
|
structItem.ModbusTcpAddress2 = this.SystemConfig.ModbusTcpAddress2;
|
|
structItem.ModbusTcpStartAddress = this.SystemConfig.ModbusTcpStartAddress;
|
|
// string
|
|
structItem.Unit = this.SystemConfig.Unit;
|
|
structItem.EmptyWeight = this.SystemConfig.EmptyWeight;
|
|
structItem.SerialNumber = this.SystemConfig.SerialNumber;
|
|
structItem.User_Level1_Name = this.SystemConfig.User_Level1_Name;
|
|
structItem.User_Level2_Name = this.SystemConfig.User_Level2_Name;
|
|
structItem.User_Level3_Name = this.SystemConfig.User_Level3_Name;
|
|
structItem.EthernetServerAddress = this.SystemConfig.EthernetServerAddress;
|
|
// enum
|
|
structItem.Language = this.SystemConfig.Language;
|
|
|
|
this.smartFileIO.WriteStructure(structItem, 0);
|
|
}
|
|
public void SaveSystemConfigurationFile(SystemConfigurationItem item)
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructSystemConfigurationItem 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.CreateSystemConfigurationFile();
|
|
}
|
|
|
|
// bool
|
|
structItem.IsDataBackup = item.IsDataBackup;
|
|
structItem.IsEachNG = item.IsEachNG;
|
|
structItem.IsLogin = item.IsLogin;
|
|
structItem.IsWeightViewForward = item.IsWeightViewForward;
|
|
structItem.IsOptDataStatistics = item.IsOptDataStatistics;
|
|
structItem.IsOptPart11 = item.IsOptPart11;
|
|
// int
|
|
structItem.AutoLogoutTime = item.AutoLogoutTime;
|
|
structItem.UsbID = item.UsbID;
|
|
structItem.ProductNumber = item.ProductNumber;
|
|
structItem.DataStoragePeriod = item.DataStoragePeriod;
|
|
structItem.EquipmentColumns = item.EquipmentColumns;
|
|
structItem.EquipmentID = item.EquipmentID;
|
|
structItem.Chattering = item.Chattering;
|
|
structItem.BuzzerRunTime = item.BuzzerRunTime;
|
|
structItem.RelayRunTime = item.RelayRunTime;
|
|
structItem.Sorter1Location = item.Sorter1Location;
|
|
structItem.Sorter2Location = item.Sorter2Location;
|
|
structItem.WeightLimitIgnoreCount = item.WeightLimitIgnoreCount;
|
|
structItem.Serial3BaudRate = item.Serial3BaudRate;
|
|
structItem.Serial3Mode = item.Serial3Mode;
|
|
structItem.EthernetLocalPort = item.EthernetLocalPort;
|
|
structItem.EthernetMode = item.EthernetMode;
|
|
structItem.EthernetOperationMode = item.EthernetOperationMode;
|
|
structItem.EthernetServerPort = item.EthernetServerPort;
|
|
structItem.ModbusTcpAddress1 = item.ModbusTcpAddress1;
|
|
structItem.ModbusTcpAddress2 = item.ModbusTcpAddress2;
|
|
structItem.ModbusTcpStartAddress = item.ModbusTcpStartAddress;
|
|
// string
|
|
structItem.Unit = item.Unit;
|
|
structItem.EmptyWeight = item.EmptyWeight;
|
|
structItem.SerialNumber = item.SerialNumber;
|
|
structItem.User_Level1_Name = item.User_Level1_Name;
|
|
structItem.User_Level2_Name = item.User_Level2_Name;
|
|
structItem.User_Level3_Name = item.User_Level3_Name;
|
|
structItem.EthernetServerAddress = item.EthernetServerAddress;
|
|
// enum
|
|
structItem.Language = item.Language;
|
|
|
|
this.smartFileIO.WriteStructure(structItem, 0);
|
|
this.smartFileIO.Close();
|
|
}
|
|
private void LoadSystemConfigurationFile()
|
|
{
|
|
string fullFilePath = "";
|
|
bool fileCheck = false;
|
|
StructSystemConfigurationItem 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.CreateSystemConfigurationFile();
|
|
}
|
|
|
|
try
|
|
{
|
|
structItem = (StructSystemConfigurationItem)this.smartFileIO.ReadStructure(0, typeof(StructSystemConfigurationItem));
|
|
|
|
// bool
|
|
this.SystemConfig.IsDataBackup = structItem.IsDataBackup;
|
|
|
|
// bool
|
|
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.IsOptPart11 = structItem.IsOptPart11;
|
|
// int
|
|
this.SystemConfig.AutoLogoutTime = structItem.AutoLogoutTime;
|
|
this.SystemConfig.UsbID = structItem.UsbID;
|
|
this.SystemConfig.ProductNumber = structItem.ProductNumber;
|
|
this.SystemConfig.DataStoragePeriod = structItem.DataStoragePeriod;
|
|
this.SystemConfig.EquipmentColumns = structItem.EquipmentColumns;
|
|
this.SystemConfig.EquipmentID = structItem.EquipmentID;
|
|
this.SystemConfig.Chattering = structItem.Chattering;
|
|
this.SystemConfig.BuzzerRunTime = structItem.BuzzerRunTime;
|
|
this.SystemConfig.RelayRunTime = structItem.RelayRunTime;
|
|
this.SystemConfig.Sorter1Location = structItem.Sorter1Location;
|
|
this.SystemConfig.Sorter2Location = structItem.Sorter2Location;
|
|
this.SystemConfig.WeightLimitIgnoreCount = structItem.WeightLimitIgnoreCount;
|
|
this.SystemConfig.Serial3BaudRate = structItem.Serial3BaudRate;
|
|
this.SystemConfig.Serial3Mode = structItem.Serial3Mode;
|
|
this.SystemConfig.EthernetLocalPort = structItem.EthernetLocalPort;
|
|
this.SystemConfig.EthernetMode = structItem.EthernetMode;
|
|
this.SystemConfig.EthernetOperationMode = structItem.EthernetOperationMode;
|
|
this.SystemConfig.EthernetServerPort = structItem.EthernetServerPort;
|
|
this.SystemConfig.ModbusTcpAddress1 = structItem.ModbusTcpAddress1;
|
|
this.SystemConfig.ModbusTcpAddress2 = structItem.ModbusTcpAddress2;
|
|
this.SystemConfig.ModbusTcpStartAddress = structItem.ModbusTcpStartAddress;
|
|
// string
|
|
this.SystemConfig.Unit = structItem.Unit;
|
|
this.SystemConfig.EmptyWeight = structItem.EmptyWeight;
|
|
this.SystemConfig.SerialNumber = structItem.SerialNumber;
|
|
this.SystemConfig.User_Level1_Name = structItem.User_Level1_Name;
|
|
this.SystemConfig.User_Level2_Name = structItem.User_Level2_Name;
|
|
this.SystemConfig.User_Level3_Name = structItem.User_Level3_Name;
|
|
this.SystemConfig.EthernetServerAddress = structItem.EthernetServerAddress;
|
|
// enum
|
|
this.SystemConfig.Language = structItem.Language;
|
|
}
|
|
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.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.Sorter1DelayTime = this.CurrentJudgmentSetItem.Sorter1DelayTime;
|
|
structItem.Sorter2DelayTime = this.CurrentJudgmentSetItem.Sorter2DelayTime;
|
|
structItem.Sorter2RunTime = this.CurrentJudgmentSetItem.Sorter2RunTime;
|
|
structItem.EntryGateDelayTime = this.CurrentJudgmentSetItem.EntryGateDelayTime;
|
|
structItem.EntryGateRunTime = this.CurrentJudgmentSetItem.EntryGateRunTime;
|
|
structItem.DischargeStopperDelayTime = this.CurrentJudgmentSetItem.DischargeStopperDelayTime;
|
|
structItem.DischargeStopperRunTime = this.CurrentJudgmentSetItem.DischargeStopperRunTime;
|
|
|
|
structItem.DummyString1 = "";
|
|
structItem.DummyString2 = "";
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
|
|
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.JudgmentDelayTime = item.JudgmentDelayTime;
|
|
structItem.JudgmentCount = item.JudgmentCount;
|
|
structItem.FeedSpeed = item.FeedSpeed;
|
|
structItem.TurnDelayTime = item.TurnDelayTime;
|
|
structItem.Sorter1RunTime = item.Sorter1RunTime;
|
|
structItem.Sorter1DelayTime = item.Sorter1DelayTime;
|
|
structItem.Sorter2DelayTime = item.Sorter2DelayTime;
|
|
structItem.Sorter2RunTime = item.Sorter2RunTime;
|
|
structItem.EntryGateDelayTime = item.EntryGateDelayTime;
|
|
structItem.EntryGateRunTime = item.EntryGateRunTime;
|
|
structItem.DischargeStopperDelayTime = item.DischargeStopperDelayTime;
|
|
structItem.DischargeStopperRunTime = item.DischargeStopperRunTime;
|
|
|
|
structItem.DummyString1 = "";
|
|
structItem.DummyString2 = "";
|
|
structItem.DummyString3 = "";
|
|
structItem.DummyString4 = "";
|
|
structItem.DummyString5 = "";
|
|
|
|
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.JudgmentDelayTime = structItem.JudgmentDelayTime;
|
|
item.JudgmentCount = structItem.JudgmentCount;
|
|
item.FeedSpeed = structItem.FeedSpeed;
|
|
item.TurnDelayTime = structItem.TurnDelayTime;
|
|
item.Sorter1DelayTime = structItem.Sorter1DelayTime;
|
|
item.Sorter1RunTime = structItem.Sorter1RunTime;
|
|
item.Sorter2DelayTime = structItem.Sorter2DelayTime;
|
|
item.Sorter2RunTime = structItem.Sorter2RunTime;
|
|
item.EntryGateDelayTime = structItem.EntryGateDelayTime;
|
|
item.EntryGateRunTime = structItem.EntryGateRunTime;
|
|
item.DischargeStopperDelayTime = structItem.DischargeStopperDelayTime;
|
|
item.DischargeStopperRunTime = structItem.DischargeStopperRunTime;
|
|
}
|
|
}
|
|
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 UserGroupFile
|
|
private void CreateUserGroupFile()
|
|
{
|
|
StructUserGroupItem structItem;
|
|
UserGroupItem item = new UserGroupItem();
|
|
|
|
#region Level1
|
|
structItem.IsMainDisplayProductNo = true;
|
|
structItem.IsMainDisplayWeightSetting = false;
|
|
structItem.IsMainDisplayClear = true;
|
|
structItem.IsMainDisplaySubMenu = false;
|
|
|
|
structItem.IsMenuTimeSetting = false;
|
|
structItem.IsMenuInformation = true;
|
|
structItem.IsMenuDataBackup = true;
|
|
structItem.IsMenuCalibration = false;
|
|
structItem.IsMenuCommunication = false;
|
|
structItem.IsMenuConfiguration = false;
|
|
structItem.IsMenuSystemSetting = false;
|
|
structItem.IsMenuMotorSetting = false;
|
|
structItem.IsMenuUpdate = false;
|
|
structItem.IsMenuFactoryReset = false;
|
|
structItem.IsMenuEquipmentSetting = false;
|
|
structItem.IsMenuIOTest = false;
|
|
structItem.IsMenuDataStatistics = true;
|
|
structItem.IsMenuUserSetting = true;
|
|
structItem.IsMenuUserGroupSetting = false;
|
|
structItem.IsMenuDataViewer = 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;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, 0);
|
|
#endregion
|
|
|
|
#region Level2
|
|
structItem.IsMainDisplayProductNo = true;
|
|
structItem.IsMainDisplayWeightSetting = true;
|
|
structItem.IsMainDisplayClear = true;
|
|
structItem.IsMainDisplaySubMenu = true;
|
|
|
|
structItem.IsMenuTimeSetting = false;
|
|
structItem.IsMenuInformation = true;
|
|
structItem.IsMenuDataBackup = true;
|
|
structItem.IsMenuCalibration = true;
|
|
structItem.IsMenuCommunication = false;
|
|
structItem.IsMenuConfiguration = false;
|
|
structItem.IsMenuSystemSetting = true;
|
|
structItem.IsMenuMotorSetting = false;
|
|
structItem.IsMenuUpdate = false;
|
|
structItem.IsMenuFactoryReset = false;
|
|
structItem.IsMenuEquipmentSetting = false;
|
|
structItem.IsMenuIOTest = false;
|
|
structItem.IsMenuDataStatistics = true;
|
|
structItem.IsMenuUserSetting = true;
|
|
structItem.IsMenuUserGroupSetting = false;
|
|
structItem.IsMenuDataViewer = true;
|
|
|
|
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, 1);
|
|
#endregion
|
|
|
|
#region Level3
|
|
structItem.IsMainDisplayProductNo = true;
|
|
structItem.IsMainDisplayWeightSetting = true;
|
|
structItem.IsMainDisplayClear = true;
|
|
structItem.IsMainDisplaySubMenu = true;
|
|
|
|
structItem.IsMenuTimeSetting = true;
|
|
structItem.IsMenuInformation = true;
|
|
structItem.IsMenuDataBackup = true;
|
|
structItem.IsMenuCalibration = true;
|
|
structItem.IsMenuCommunication = true;
|
|
structItem.IsMenuConfiguration = true;
|
|
structItem.IsMenuSystemSetting = true;
|
|
structItem.IsMenuMotorSetting = true;
|
|
structItem.IsMenuUpdate = true;
|
|
structItem.IsMenuFactoryReset = true;
|
|
structItem.IsMenuEquipmentSetting = true;
|
|
structItem.IsMenuIOTest = true;
|
|
structItem.IsMenuDataStatistics = true;
|
|
structItem.IsMenuUserSetting = true;
|
|
structItem.IsMenuUserGroupSetting = true;
|
|
structItem.IsMenuDataViewer = true;
|
|
|
|
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, 2);
|
|
#endregion
|
|
|
|
#region NotLogin
|
|
structItem.IsMainDisplayProductNo = true;
|
|
structItem.IsMainDisplayWeightSetting = true;
|
|
structItem.IsMainDisplayClear = true;
|
|
structItem.IsMainDisplaySubMenu = true;
|
|
|
|
structItem.IsMenuTimeSetting = true;
|
|
structItem.IsMenuInformation = true;
|
|
structItem.IsMenuDataBackup = true;
|
|
structItem.IsMenuCalibration = true;
|
|
structItem.IsMenuCommunication = true;
|
|
structItem.IsMenuConfiguration = true;
|
|
structItem.IsMenuSystemSetting = true;
|
|
structItem.IsMenuMotorSetting = true;
|
|
structItem.IsMenuUpdate = true;
|
|
structItem.IsMenuFactoryReset = true;
|
|
structItem.IsMenuEquipmentSetting = true;
|
|
structItem.IsMenuIOTest = true;
|
|
structItem.IsMenuDataStatistics = false;
|
|
structItem.IsMenuUserSetting = false;
|
|
structItem.IsMenuUserGroupSetting = false;
|
|
structItem.IsMenuDataViewer = 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;
|
|
|
|
this.smartFileIO.WriteStructure_Begin(structItem, 3);
|
|
#endregion
|
|
|
|
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.IsMenuTime;
|
|
structItem.IsMenuInformation = item.Level1.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.Level1.IsMenuDataBackup;
|
|
structItem.IsMenuCalibration = item.Level1.IsMenuCalibration;
|
|
structItem.IsMenuCommunication = item.Level1.IsMenuCommunication;
|
|
structItem.IsMenuConfiguration = item.Level1.IsMenuConfiguration;
|
|
structItem.IsMenuSystemSetting = item.Level1.IsMenuSystem;
|
|
structItem.IsMenuMotorSetting = item.Level1.IsMenuMotor;
|
|
structItem.IsMenuUpdate = item.Level1.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.Level1.IsMenuInitialization;
|
|
structItem.IsMenuEquipmentSetting = item.Level1.IsMenuEquipment;
|
|
structItem.IsMenuIOTest = item.Level1.IsMenuIOTest;
|
|
structItem.IsMenuDataStatistics = item.Level1.IsMenuStatistics;
|
|
structItem.IsMenuUserSetting = item.Level1.IsMenuUser;
|
|
structItem.IsMenuUserGroupSetting = item.Level1.IsMenuUserGroupEditor;
|
|
structItem.IsMenuDataViewer = item.Level1.IsMenuViewer;
|
|
|
|
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.E_UserGroup_FileIndex.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.IsMenuTime;
|
|
structItem.IsMenuInformation = item.Level2.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.Level2.IsMenuDataBackup;
|
|
structItem.IsMenuCalibration = item.Level2.IsMenuCalibration;
|
|
structItem.IsMenuCommunication = item.Level2.IsMenuCommunication;
|
|
structItem.IsMenuConfiguration = item.Level2.IsMenuConfiguration;
|
|
structItem.IsMenuSystemSetting = item.Level2.IsMenuSystem;
|
|
structItem.IsMenuMotorSetting = item.Level2.IsMenuMotor;
|
|
structItem.IsMenuUpdate = item.Level2.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.Level2.IsMenuInitialization;
|
|
structItem.IsMenuEquipmentSetting = item.Level2.IsMenuEquipment;
|
|
structItem.IsMenuIOTest = item.Level2.IsMenuIOTest;
|
|
structItem.IsMenuDataStatistics = item.Level2.IsMenuStatistics;
|
|
structItem.IsMenuUserSetting = item.Level2.IsMenuUser;
|
|
structItem.IsMenuUserGroupSetting = item.Level2.IsMenuUserGroupEditor;
|
|
structItem.IsMenuDataViewer = item.Level2.IsMenuViewer;
|
|
|
|
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.E_UserGroup_FileIndex.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.IsMenuTime;
|
|
structItem.IsMenuInformation = item.Level3.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.Level3.IsMenuDataBackup;
|
|
structItem.IsMenuCalibration = item.Level3.IsMenuCalibration;
|
|
structItem.IsMenuCommunication = item.Level3.IsMenuCommunication;
|
|
structItem.IsMenuConfiguration = item.Level3.IsMenuConfiguration;
|
|
structItem.IsMenuSystemSetting = item.Level3.IsMenuSystem;
|
|
structItem.IsMenuMotorSetting = item.Level3.IsMenuMotor;
|
|
structItem.IsMenuUpdate = item.Level3.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.Level3.IsMenuInitialization;
|
|
structItem.IsMenuEquipmentSetting = item.Level3.IsMenuEquipment;
|
|
structItem.IsMenuIOTest = item.Level3.IsMenuIOTest;
|
|
structItem.IsMenuDataStatistics = item.Level3.IsMenuStatistics;
|
|
structItem.IsMenuUserSetting = item.Level3.IsMenuUser;
|
|
structItem.IsMenuUserGroupSetting = item.Level3.IsMenuUserGroupEditor;
|
|
structItem.IsMenuDataViewer = item.Level3.IsMenuViewer;
|
|
|
|
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.E_UserGroup_FileIndex.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.IsMenuTime;
|
|
structItem.IsMenuInformation = item.NotLogin.IsMenuInformation;
|
|
structItem.IsMenuDataBackup = item.NotLogin.IsMenuDataBackup;
|
|
structItem.IsMenuCalibration = item.NotLogin.IsMenuCalibration;
|
|
structItem.IsMenuCommunication = item.NotLogin.IsMenuCommunication;
|
|
structItem.IsMenuConfiguration = item.NotLogin.IsMenuConfiguration;
|
|
structItem.IsMenuSystemSetting = item.NotLogin.IsMenuSystem;
|
|
structItem.IsMenuMotorSetting = item.NotLogin.IsMenuMotor;
|
|
structItem.IsMenuUpdate = item.NotLogin.IsMenuUpdate;
|
|
structItem.IsMenuFactoryReset = item.NotLogin.IsMenuInitialization;
|
|
structItem.IsMenuEquipmentSetting = item.NotLogin.IsMenuEquipment;
|
|
structItem.IsMenuIOTest = item.NotLogin.IsMenuIOTest;
|
|
structItem.IsMenuDataStatistics = item.NotLogin.IsMenuStatistics;
|
|
structItem.IsMenuUserSetting = item.NotLogin.IsMenuUser;
|
|
structItem.IsMenuUserGroupSetting = item.NotLogin.IsMenuUserGroupEditor;
|
|
structItem.IsMenuDataViewer = item.NotLogin.IsMenuViewer;
|
|
|
|
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.E_UserGroup_FileIndex.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.E_UserGroup_FileIndex.f0_Level1);
|
|
|
|
item.Level1.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.Level1.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.Level1.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.Level1.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.Level1.IsMenuTime = structItem.IsMenuTimeSetting;
|
|
item.Level1.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.Level1.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.Level1.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.Level1.IsMenuCommunication = structItem.IsMenuCommunication;
|
|
item.Level1.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.Level1.IsMenuSystem = structItem.IsMenuSystemSetting;
|
|
item.Level1.IsMenuMotor = structItem.IsMenuMotorSetting;
|
|
item.Level1.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.Level1.IsMenuInitialization = structItem.IsMenuFactoryReset;
|
|
item.Level1.IsMenuEquipment = structItem.IsMenuEquipmentSetting;
|
|
item.Level1.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.Level1.IsMenuStatistics = structItem.IsMenuDataStatistics;
|
|
item.Level1.IsMenuUser = true;
|
|
item.Level1.IsMenuUserGroupEditor = structItem.IsMenuUserGroupSetting;
|
|
item.Level1.IsMenuViewer = structItem.IsMenuDataViewer;
|
|
#endregion
|
|
|
|
#region Level2
|
|
structItem = (StructUserGroupItem)this.smartFileIO.ReadStructureBuffer(typeof(StructUserGroupItem), (int)DataStore.E_UserGroup_FileIndex.f1_Level2);
|
|
|
|
item.Level2.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.Level2.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.Level2.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.Level2.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.Level2.IsMenuTime = structItem.IsMenuTimeSetting;
|
|
item.Level2.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.Level2.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.Level2.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.Level2.IsMenuCommunication = structItem.IsMenuCommunication;
|
|
item.Level2.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.Level2.IsMenuSystem = structItem.IsMenuSystemSetting;
|
|
item.Level2.IsMenuMotor = structItem.IsMenuMotorSetting;
|
|
item.Level2.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.Level2.IsMenuInitialization = structItem.IsMenuFactoryReset;
|
|
item.Level2.IsMenuEquipment = structItem.IsMenuEquipmentSetting;
|
|
item.Level2.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.Level2.IsMenuStatistics = structItem.IsMenuDataStatistics;
|
|
item.Level2.IsMenuUser = true;
|
|
item.Level2.IsMenuUserGroupEditor = structItem.IsMenuUserGroupSetting;
|
|
item.Level2.IsMenuViewer = structItem.IsMenuDataViewer;
|
|
#endregion
|
|
|
|
#region Level3
|
|
structItem = (StructUserGroupItem)this.smartFileIO.ReadStructureBuffer(typeof(StructUserGroupItem), (int)DataStore.E_UserGroup_FileIndex.f2_Level3);
|
|
|
|
item.Level3.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.Level3.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.Level3.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.Level3.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.Level3.IsMenuTime = structItem.IsMenuTimeSetting;
|
|
item.Level3.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.Level3.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.Level3.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.Level3.IsMenuCommunication = structItem.IsMenuCommunication;
|
|
item.Level3.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.Level3.IsMenuSystem = structItem.IsMenuSystemSetting;
|
|
item.Level3.IsMenuMotor = structItem.IsMenuMotorSetting;
|
|
item.Level3.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.Level3.IsMenuInitialization = structItem.IsMenuFactoryReset;
|
|
item.Level3.IsMenuEquipment = structItem.IsMenuEquipmentSetting;
|
|
item.Level3.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.Level3.IsMenuStatistics = structItem.IsMenuDataStatistics;
|
|
item.Level3.IsMenuUser = true;
|
|
item.Level3.IsMenuUserGroupEditor = structItem.IsMenuUserGroupSetting;
|
|
item.Level3.IsMenuViewer = structItem.IsMenuDataViewer;
|
|
#endregion
|
|
|
|
#region NotLogin
|
|
structItem = (StructUserGroupItem)this.smartFileIO.ReadStructureBuffer(typeof(StructUserGroupItem), (int)DataStore.E_UserGroup_FileIndex.f3_NotLogin);
|
|
|
|
item.NotLogin.IsMainDisplayProductNo = structItem.IsMainDisplayProductNo;
|
|
item.NotLogin.IsMainDisplayWeightSetting = structItem.IsMainDisplayWeightSetting;
|
|
item.NotLogin.IsMainDisplayClear = structItem.IsMainDisplayClear;
|
|
item.NotLogin.IsMainDisplaySubMenu = structItem.IsMainDisplaySubMenu;
|
|
|
|
item.NotLogin.IsMenuTime = structItem.IsMenuTimeSetting;
|
|
item.NotLogin.IsMenuInformation = structItem.IsMenuInformation;
|
|
item.NotLogin.IsMenuDataBackup = structItem.IsMenuDataBackup;
|
|
item.NotLogin.IsMenuCalibration = structItem.IsMenuCalibration;
|
|
item.NotLogin.IsMenuCommunication = structItem.IsMenuCommunication;
|
|
item.NotLogin.IsMenuConfiguration = structItem.IsMenuConfiguration;
|
|
item.NotLogin.IsMenuSystem = structItem.IsMenuSystemSetting;
|
|
item.NotLogin.IsMenuMotor = structItem.IsMenuMotorSetting;
|
|
item.NotLogin.IsMenuUpdate = structItem.IsMenuUpdate;
|
|
item.NotLogin.IsMenuInitialization = structItem.IsMenuFactoryReset;
|
|
item.NotLogin.IsMenuEquipment = structItem.IsMenuEquipmentSetting;
|
|
item.NotLogin.IsMenuIOTest = structItem.IsMenuIOTest;
|
|
item.NotLogin.IsMenuStatistics = structItem.IsMenuDataStatistics;
|
|
item.NotLogin.IsMenuUser = false;
|
|
item.NotLogin.IsMenuUserGroupEditor = structItem.IsMenuUserGroupSetting;
|
|
item.NotLogin.IsMenuViewer = structItem.IsMenuDataViewer;
|
|
#endregion
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage myMsg = new DialogFormMessage(17, this.SystemConfig.Language);
|
|
myMsg.ShowDialog();
|
|
|
|
this.smartFileIO.Close();
|
|
}
|
|
this.smartFileIO.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region Data Backup
|
|
private void DeleteLogFile(string path, DataStore.E_DataType type)
|
|
{
|
|
string dataFolderPath = "";
|
|
|
|
switch (type)
|
|
{
|
|
case DataStore.E_DataType.None:
|
|
break;
|
|
case DataStore.E_DataType.History:
|
|
dataFolderPath = this.PathDataHistoryFolder;
|
|
break;
|
|
case DataStore.E_DataType.Inspection:
|
|
dataFolderPath = this.PathDataInspectionFolder;
|
|
break;
|
|
case DataStore.E_DataType.Others:
|
|
dataFolderPath = this.PathDataOthersFolder;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
foreach (string Folder in Directory.GetDirectories(path))
|
|
{
|
|
this.DeleteLogFile(Folder, type); //재귀함수 호출
|
|
if (Directory.GetDirectories(Folder).Count() == 0 && Directory.GetFiles(Folder).Count() == 0 && Folder != dataFolderPath)
|
|
Directory.Delete(Folder, true);
|
|
}
|
|
|
|
foreach (string file in Directory.GetFiles(path))
|
|
{
|
|
FileInfo fi = new FileInfo(file);
|
|
if (DateTime.ParseExact(fi.Name.Substring(1, 8), "yyyyMMdd", null) < DateTime.Now.AddMonths(-1 * this.SystemConfig.DataStoragePeriod))
|
|
fi.Delete();
|
|
}
|
|
}
|
|
|
|
private void DataBackup(Collection<WeightData> items)
|
|
{
|
|
bool fileCheck = false, directoryCheck = false;
|
|
string fullFilePath = "";
|
|
StreamWriter sw;
|
|
|
|
this.RemoveUsbBackupFile();
|
|
|
|
if (this.SystemConfig.IsDataBackup == true)
|
|
{
|
|
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();
|
|
}
|
|
}
|
|
|
|
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 Tracking History data
|
|
public void SetTrackingHistoryData(DataStore.TrackingOperation type, string detail)
|
|
{
|
|
if (this.SystemConfig.IsOptPart11 == false)
|
|
return;
|
|
|
|
HistoryData data = new HistoryData();
|
|
|
|
data.Type = "Operation";
|
|
data.Time = DateTime.Now;
|
|
data.LoginID = this.SystemConfig.CurrentUser.ID;
|
|
data.Event = type.ToString();
|
|
data.Detail = detail;
|
|
data.BeforeData = "";
|
|
data.AfterData = "";
|
|
|
|
this.TrackingHistoryData(data);
|
|
}
|
|
public void SetTrackingHistoryData(DataStore.TrackingAlarm type, string detail)
|
|
{
|
|
if (this.SystemConfig.IsOptPart11 == false)
|
|
return;
|
|
|
|
HistoryData data = new HistoryData();
|
|
|
|
data.Type = "Alarm";
|
|
data.Time = DateTime.Now;
|
|
data.LoginID = this.SystemConfig.CurrentUser.ID;
|
|
data.Event = type.ToString();
|
|
data.Detail = detail;
|
|
data.BeforeData = "";
|
|
data.AfterData = "";
|
|
|
|
this.TrackingHistoryData(data);
|
|
}
|
|
public void SetTrackingHistoryData(DataStore.TrackingParameter type, string detail, string before, string after)
|
|
{
|
|
if (this.SystemConfig.IsOptPart11 == false)
|
|
return;
|
|
|
|
if (before == after)
|
|
return;
|
|
|
|
HistoryData data = new HistoryData();
|
|
|
|
data.Type = "Parameter";
|
|
data.Time = DateTime.Now;
|
|
data.LoginID = this.SystemConfig.CurrentUser.ID;
|
|
data.Event = type.ToString();
|
|
data.Detail = detail;
|
|
data.BeforeData = before;
|
|
data.AfterData = after;
|
|
|
|
this.TrackingHistoryData(data);
|
|
}
|
|
|
|
private void TrackingHistoryData(HistoryData data)
|
|
{
|
|
bool fileCheck = false, directoryCheck = false;
|
|
string fullFilePath = "", folderPath = "", fileName = "";
|
|
StreamWriter sw;
|
|
DateTime time = DateTime.Now;
|
|
|
|
folderPath = string.Format("{0}{1}\\{2}\\", this.PathDataHistoryFolder, time.Year, time.Month);
|
|
fileName = string.Format("H{0:yyyyMMdd}.csv", time);
|
|
|
|
fullFilePath = string.Format("{0}{1}", folderPath, fileName);
|
|
|
|
DirectoryInfo di = new DirectoryInfo(folderPath);
|
|
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)
|
|
{
|
|
this.RemoveHistoryDataFile();
|
|
|
|
sw.Write("Date");
|
|
sw.Write(",");
|
|
sw.Write("Time");
|
|
sw.Write(",");
|
|
sw.Write("LoginID");
|
|
sw.Write(",");
|
|
sw.Write("Event");
|
|
sw.Write(",");
|
|
sw.Write("Detail");
|
|
sw.Write(",");
|
|
sw.Write("Before");
|
|
sw.Write(",");
|
|
sw.Write("After");
|
|
sw.Write(",");
|
|
sw.Write("Type");
|
|
|
|
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(data.LoginID);
|
|
sw.Write(",");
|
|
sw.Write(data.Event.ToString());
|
|
sw.Write(",");
|
|
sw.Write(data.Detail);
|
|
sw.Write(",");
|
|
sw.Write(data.BeforeData);
|
|
sw.Write(",");
|
|
sw.Write(data.AfterData);
|
|
sw.Write(",");
|
|
sw.Write(data.Type);
|
|
sw.WriteLine();
|
|
|
|
sw.Close();
|
|
}
|
|
private void RemoveHistoryDataFile()
|
|
{
|
|
try
|
|
{
|
|
this.DeleteLogFile(this.PathDataHistoryFolder, DataStore.E_DataType.History);
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Modbus
|
|
public void ModbusInitizlise()
|
|
{
|
|
this.Update30000ModbusData();
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.Update30000ModbusData(i);
|
|
}
|
|
|
|
public static byte[] GetBytes(int argument)
|
|
{
|
|
byte[] byteArray = BitConverter.GetBytes(argument);
|
|
return byteArray;
|
|
}
|
|
public static byte[] GetBytes(Single argument)
|
|
{
|
|
byte[] byteArray = BitConverter.GetBytes(argument);
|
|
return byteArray;
|
|
}
|
|
public static byte[] GetBytes(uint argument)
|
|
{
|
|
byte[] byteArray = BitConverter.GetBytes(argument);
|
|
return byteArray;
|
|
}
|
|
|
|
public ushort Grade(DataStore.JudgmentStatus status)
|
|
{
|
|
ushort judgmentStatus = 0;
|
|
|
|
switch (status)
|
|
{
|
|
case DataStore.JudgmentStatus.Pass:
|
|
judgmentStatus = 1;
|
|
break;
|
|
case DataStore.JudgmentStatus.Over:
|
|
judgmentStatus = 2;
|
|
break;
|
|
case DataStore.JudgmentStatus.Under:
|
|
judgmentStatus = 3;
|
|
break;
|
|
case DataStore.JudgmentStatus.Double:
|
|
case DataStore.JudgmentStatus.ExNG:
|
|
case DataStore.JudgmentStatus.SensorError:
|
|
judgmentStatus = 4;
|
|
break;
|
|
default:
|
|
judgmentStatus = 0;
|
|
break;
|
|
}
|
|
|
|
return judgmentStatus;
|
|
}
|
|
|
|
private void Update30000UpdateData(int index)
|
|
{
|
|
if (this.CollectionWeightData[index].UpdateCount > 65535)
|
|
this.CollectionWeightData[index].UpdateCount = 0;
|
|
else
|
|
this.CollectionWeightData[index].UpdateCount++;
|
|
|
|
this.Current30000ModbusData.LaneModbusData[index].Update = this.CollectionWeightData[index].UpdateCount;
|
|
}
|
|
public void Update30000ModbusData()
|
|
{
|
|
for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++)
|
|
this.Update30000UpdateData(i);
|
|
|
|
this.Current30000ModbusData.UnderValue = Helper.StringToWeight(this.CurrentProductItem.UnderRange, this.SystemConfig.DecimalPlaces);
|
|
this.Current30000ModbusData.PassValue = Helper.StringToWeight(this.CurrentProductItem.PassRange, this.SystemConfig.DecimalPlaces);
|
|
this.Current30000ModbusData.OverValue = Helper.StringToWeight(this.CurrentProductItem.OverRange, this.SystemConfig.DecimalPlaces);
|
|
this.Current30000ModbusData.TareValue = Helper.StringToWeight(this.CurrentProductItem.TareRange, this.SystemConfig.DecimalPlaces);
|
|
}
|
|
public void Update30000ModbusData(int index)
|
|
{
|
|
this.Update30000UpdateData(index);
|
|
|
|
this.Current30000ModbusData.LaneModbusData[index].Grade = this.Grade(this.CollectionWeightData[index].JudgmentStatus);
|
|
this.Current30000ModbusData.LaneModbusData[index].Weight = this.CollectionWeightData[index].Weight;
|
|
this.Current30000ModbusData.LaneModbusData[index].UnderCount = (UInt32)this.CollectionWeightData[index].UnderCount;
|
|
this.Current30000ModbusData.LaneModbusData[index].PassCount = (UInt32)this.CollectionWeightData[index].PassCount;
|
|
this.Current30000ModbusData.LaneModbusData[index].OverCount = (UInt32)this.CollectionWeightData[index].OverCount;
|
|
this.Current30000ModbusData.LaneModbusData[index].ExNGCount = (UInt32)this.CollectionWeightData[index].ExNGCount;
|
|
}
|
|
|
|
// Common 값 변경 시 통신전송
|
|
public void ModbusCommonDataSend()
|
|
{
|
|
// 이더넷
|
|
if (this.SystemConfig.EthernetOperationMode == 1)
|
|
{
|
|
byte[] etherByteData = this.Modbus.WriteMultipleRegisterTCP(this.Protocol_Modbus_Client_Write_Common_Data(), 1010);
|
|
|
|
if (this.smartTCPMultiServer.ClientInfoList != null)
|
|
{
|
|
foreach (SmartTCPMultiServer.CLIENTSINFOS info in this.smartTCPMultiServer.ClientInfoList)
|
|
this.EthernetServerSendMessage(info, etherByteData);
|
|
}
|
|
}
|
|
else if (this.SystemConfig.EthernetOperationMode == 2)
|
|
{
|
|
byte[] etherByteData = this.Modbus.WriteMultipleRegisterTCP(
|
|
this.Protocol_Modbus_Client_Write_Common_Data(), this.SystemConfig.ModbusTcpStartAddress);
|
|
this.EthernetWeightDataForModbus(etherByteData);
|
|
}
|
|
}
|
|
// Lane Test 통신전송
|
|
public void ModbusLaneTestDataSend(int lane)
|
|
{
|
|
// 이더넷
|
|
if (this.SystemConfig.EthernetOperationMode == 1)
|
|
{
|
|
byte[] etherByteData = this.Modbus.WriteMultipleRegisterTCP(this.Protocol_Modbus_Client_Write_Common_Data(), 1010 + 140 + (lane * 50));
|
|
|
|
if (this.smartTCPMultiServer.ClientInfoList != null)
|
|
{
|
|
foreach (SmartTCPMultiServer.CLIENTSINFOS info in this.smartTCPMultiServer.ClientInfoList)
|
|
this.EthernetServerSendMessage(info, etherByteData);
|
|
}
|
|
}
|
|
else if (this.SystemConfig.EthernetOperationMode == 2)
|
|
{
|
|
byte[] etherByteData = this.Modbus.WriteMultipleRegisterTCP(
|
|
this.Protocol_Modbus_Client_Write_Lane_Test_Data(lane), this.SystemConfig.ModbusTcpStartAddress + 140 + (lane * 50));
|
|
this.EthernetWeightDataForModbus(etherByteData);
|
|
}
|
|
}
|
|
public byte[] Protocol_Modbus_Client_Write_Lane_Test_Data(int laneIndex)
|
|
{
|
|
int index = 0;
|
|
byte[] madeData = new byte[32];
|
|
byte[] length4Value = new byte[4];
|
|
byte[] length2Value = new byte[2];
|
|
|
|
var random = new Random();
|
|
Single ranDouble = Single.Parse(string.Format("{0:F2}", random.NextDouble()));
|
|
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[i] = length2Value[1 - i];
|
|
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[2 + i] = length2Value[1 - i];
|
|
|
|
length4Value = GetBytes(ranDouble + random.Next(999));
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[4 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(random.Next(9999999));
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[8 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(random.Next(9999999));
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[12 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(random.Next(9999999));
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[16 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(random.Next(9999999));
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[20 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(random.Next(9999999));
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[24 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(random.Next(9999999));
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[28 + i] = length4Value[3 - i];
|
|
|
|
return madeData;
|
|
}
|
|
/// <summary>
|
|
/// Modbus TCP - Write Multiple Register에 대한 Manage 메소드
|
|
/// </summary>
|
|
/// <param name="readByte">전송받은 Modbus Data</param>
|
|
public void ReceiveModbusTCPWriteManager(byte[] readByte)
|
|
{
|
|
int startAddressInt;
|
|
int numberOfRegisterInt;
|
|
float floatNum;
|
|
byte[] startAddressByte = new byte[2] { readByte[8], readByte[9] };
|
|
byte[] numberOfRegisterByte = new byte[2] { readByte[10], readByte[11] };
|
|
|
|
int madeDataIndex = 0;
|
|
byte[] Length2Value = new byte[2];
|
|
byte[] Length4Value = new byte[4];
|
|
byte[] Length12Value = new byte[12];
|
|
byte[] Length14Value = new byte[14];
|
|
|
|
startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte);
|
|
numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte);
|
|
|
|
for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++)
|
|
{
|
|
switch (j)
|
|
{
|
|
#region Change data
|
|
case _40000_ModbusAddress._01_Clear:
|
|
#region 40011_소거 요청
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40011_Clear = Modbus.ToBigEndianAndInt(Length2Value);
|
|
|
|
if (this.Current40000ModbusData._40011_Clear == 1)
|
|
{
|
|
try
|
|
{
|
|
this.ChildFormMainDisplay.Clear();
|
|
this.Current40000ModbusData._40011_Clear = 0;
|
|
|
|
// 성공
|
|
this.Current40000ModbusData._40012_ClearResult = 1;
|
|
}
|
|
catch
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40012_ClearResult = 2;
|
|
}
|
|
}
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._02_ClearResult:
|
|
#region 40012_소거 요청 결과
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40012_ClearResult = Modbus.ToBigEndianAndInt(Length2Value);
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._03_Operation:
|
|
#region 40013_운전/정지 요청, 1:운전/2:정지
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40013_Operation = Modbus.ToBigEndianAndInt(Length2Value);
|
|
|
|
if (this.Current40000ModbusData._40013_Operation != 0)
|
|
{
|
|
try
|
|
{
|
|
if (this.Current40000ModbusData._40013_Operation == 1)
|
|
this.TransferData(CommunicationCommand.Start, CommunicationID.MainBoard);
|
|
else
|
|
this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
|
|
|
|
this.Current40000ModbusData._40013_Operation = 0;
|
|
|
|
// 성공
|
|
this.Current40000ModbusData._40014_OperationResult = 1;
|
|
}
|
|
catch
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40014_OperationResult = 2;
|
|
}
|
|
}
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._04_OperationResult:
|
|
#region 40014_운전/정지 요청 수행 결과
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40014_OperationResult = Modbus.ToBigEndianAndInt(Length2Value);
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._05_ProductChange_High:
|
|
#region 40015_품번 변경 요청
|
|
for (int i = 0; i < 4; i++)
|
|
Length4Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40015_ProductChange = Modbus.ToBigEndianAndInt(Length4Value);
|
|
|
|
if (this.Current40000ModbusData._40015_ProductChange != 0)
|
|
{
|
|
try
|
|
{
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
{
|
|
if (this.Current40000ModbusData._40015_ProductChange >= 1
|
|
&& this.Current40000ModbusData._40015_ProductChange <= 1000)
|
|
this.ChildFormMainDisplay.ProductChange(this.Current40000ModbusData._40015_ProductChange);
|
|
|
|
this.Current40000ModbusData._40015_ProductChange = 0;
|
|
|
|
// 성공
|
|
this.Current40000ModbusData._40017_ProductChangeResult = 1;
|
|
}
|
|
else
|
|
{
|
|
this.Current40000ModbusData._40015_ProductChange = 0;
|
|
this.Current40000ModbusData._40017_ProductChangeResult = 2;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40017_ProductChangeResult = 2;
|
|
}
|
|
}
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._07_ProductChangeResult:
|
|
#region 40017_품번 변경 요청 수행 결과
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40017_ProductChangeResult = Modbus.ToBigEndianAndInt(Length2Value);
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._08_UnderRange_High:
|
|
#region 40018_Under 중량설정 요청
|
|
for (int i = 0; i < 4; i++)
|
|
Length4Value[i] = readByte[13 + madeDataIndex + i];
|
|
floatNum = Modbus.ToBigEndianAndFloat(Length4Value);
|
|
this.Current40000ModbusData._40018_UnderRange =
|
|
int.Parse(Helper.DoubleToString((double)floatNum, this.SystemConfig.DecimalPlaces).Replace(".", ""));
|
|
|
|
if (this.Current40000ModbusData._40018_UnderRange >= 0 && this.Current40000ModbusData._40018_UnderRange <= 99999)
|
|
{
|
|
try
|
|
{
|
|
this.CurrentProductItem.UnderRange = this.Current40000ModbusData._40018_UnderRange.ToString();
|
|
|
|
this.SaveProductFile(this.CurrentProductItem, this.SystemConfig.ProductNumber - 1);
|
|
this.TransferProductParameter1(this.SystemConfig.ProductNumber);
|
|
|
|
this.Update30000ModbusData();
|
|
this.ModbusCommonDataSend();
|
|
this.ChildFormMainDisplay.UpdateCurrentProductDisplay(this.EquipmentStatus, this.CurrentProductItem, this.CurrentJudgmentSetItem, this.CollectionWeightData);
|
|
|
|
// 초기값으로 설정해놓기
|
|
this.Current40000ModbusData._40018_UnderRange = 0;
|
|
|
|
// 성공
|
|
this.Current40000ModbusData._40020_UnderRangeResult = 1;
|
|
}
|
|
catch
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40020_UnderRangeResult = 2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40020_UnderRangeResult = 2;
|
|
}
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._10_UnderRangeResult:
|
|
#region 40020_Under 중량설정 요청 수행 결과
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40020_UnderRangeResult = Modbus.ToBigEndianAndInt(Length2Value);
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._11_PassRange_High:
|
|
#region 40021_Pass 중량설정 요청
|
|
for (int i = 0; i < 4; i++)
|
|
Length4Value[i] = readByte[13 + madeDataIndex + i];
|
|
floatNum = Modbus.ToBigEndianAndFloat(Length4Value);
|
|
this.Current40000ModbusData._40021_PassRange =
|
|
int.Parse(Helper.DoubleToString((double)floatNum, this.SystemConfig.DecimalPlaces).Replace(".", ""));
|
|
|
|
if (this.Current40000ModbusData._40021_PassRange >= 0 && this.Current40000ModbusData._40021_PassRange <= 99999)
|
|
{
|
|
try
|
|
{
|
|
string value = "";
|
|
int digit = 0, temp = 0;
|
|
|
|
this.CurrentProductItem.PassRange = this.Current40000ModbusData._40021_PassRange.ToString();
|
|
|
|
this.SaveProductFile(this.CurrentProductItem, this.SystemConfig.ProductNumber - 1);
|
|
this.TransferProductParameter1(this.SystemConfig.ProductNumber);
|
|
|
|
this.Update30000ModbusData();
|
|
this.ModbusCommonDataSend();
|
|
this.ChildFormMainDisplay.UpdateCurrentProductDisplay(this.EquipmentStatus, this.CurrentProductItem, this.CurrentJudgmentSetItem, this.CollectionWeightData);
|
|
|
|
// 초기값으로 설정해놓기
|
|
this.Current40000ModbusData._40021_PassRange = 0;
|
|
|
|
// 성공
|
|
this.Current40000ModbusData._40023_PassRangeResult = 1;
|
|
}
|
|
catch
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40023_PassRangeResult = 2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40023_PassRangeResult = 2;
|
|
}
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._13_PassRangeResult:
|
|
#region 40023_Pass 중량설정 요청 수행 결과
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40023_PassRangeResult = Modbus.ToBigEndianAndInt(Length2Value);
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._14_OverRange_High:
|
|
#region 40024_Over 중량설정 요청
|
|
for (int i = 0; i < 4; i++)
|
|
Length4Value[i] = readByte[13 + madeDataIndex + i];
|
|
floatNum = Modbus.ToBigEndianAndFloat(Length4Value);
|
|
this.Current40000ModbusData._40024_OverRange =
|
|
int.Parse(Helper.DoubleToString((double)floatNum, this.SystemConfig.DecimalPlaces).Replace(".", ""));
|
|
|
|
if (this.Current40000ModbusData._40024_OverRange >= 0 && this.Current40000ModbusData._40024_OverRange <= 99999)
|
|
{
|
|
try
|
|
{
|
|
this.CurrentProductItem.OverRange = this.Current40000ModbusData._40024_OverRange.ToString();
|
|
|
|
this.SaveProductFile(this.CurrentProductItem, this.SystemConfig.ProductNumber - 1);
|
|
this.TransferProductParameter1(this.SystemConfig.ProductNumber);
|
|
|
|
this.Update30000ModbusData();
|
|
this.ModbusCommonDataSend();
|
|
this.ChildFormMainDisplay.UpdateCurrentProductDisplay(this.EquipmentStatus, this.CurrentProductItem, this.CurrentJudgmentSetItem, this.CollectionWeightData);
|
|
|
|
// 초기값으로 설정해놓기
|
|
this.Current40000ModbusData._40024_OverRange = 0;
|
|
|
|
// 성공
|
|
this.Current40000ModbusData._40026_OverRangeResult = 1;
|
|
}
|
|
catch
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40026_OverRangeResult = 2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40026_OverRangeResult = 2;
|
|
}
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._16_OverRangeResult:
|
|
#region 40026_Over 중량설정 요청 수행 결과
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40026_OverRangeResult = Modbus.ToBigEndianAndInt(Length2Value);
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._17_TareWeight_High:
|
|
#region 40027_Tare 중량설정 요청
|
|
for (int i = 0; i < 4; i++)
|
|
Length4Value[i] = readByte[13 + madeDataIndex + i];
|
|
floatNum = Modbus.ToBigEndianAndFloat(Length4Value);
|
|
this.Current40000ModbusData._40027_TareWeight =
|
|
int.Parse(Helper.DoubleToString((double)floatNum, this.SystemConfig.DecimalPlaces).Replace(".", ""));
|
|
|
|
if (this.Current40000ModbusData._40027_TareWeight >= 0 && this.Current40000ModbusData._40027_TareWeight <= 99999)
|
|
{
|
|
try
|
|
{
|
|
this.CurrentProductItem.TareRange = this.Current40000ModbusData._40027_TareWeight.ToString();
|
|
|
|
this.SaveProductFile(this.CurrentProductItem, this.SystemConfig.ProductNumber - 1);
|
|
this.TransferProductParameter1(this.SystemConfig.ProductNumber);
|
|
|
|
this.Update30000ModbusData();
|
|
this.ModbusCommonDataSend();
|
|
this.ChildFormMainDisplay.UpdateCurrentProductDisplay(this.EquipmentStatus, this.CurrentProductItem, this.CurrentJudgmentSetItem, this.CollectionWeightData);
|
|
|
|
// 초기값으로 설정해놓기
|
|
this.Current40000ModbusData._40027_TareWeight = 0;
|
|
|
|
// 성공
|
|
this.Current40000ModbusData._40029_TareWeightResult = 1;
|
|
}
|
|
catch
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40029_TareWeightResult = 2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 실패
|
|
this.Current40000ModbusData._40029_TareWeightResult = 2;
|
|
}
|
|
#endregion
|
|
break;
|
|
case _40000_ModbusAddress._19_TareWeightResult:
|
|
#region 40029_Tare 중량설정 요청 수행 결과
|
|
for (int i = 0; i < 2; i++)
|
|
Length2Value[i] = readByte[13 + madeDataIndex + i];
|
|
this.Current40000ModbusData._40029_TareWeightResult = Modbus.ToBigEndianAndInt(Length2Value);
|
|
#endregion
|
|
break;
|
|
default:
|
|
break;
|
|
#endregion
|
|
}
|
|
madeDataIndex += 2;
|
|
}
|
|
}
|
|
#endregion
|
|
#region Communication Protocol
|
|
private string Protocol_STD1_NotStxEtx(SystemConfigurationItem system, Collection<WeightData> datas)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(string.Format("IN{0:D3}", system.EquipmentID));
|
|
sb.Append(string.Format("{0:D4}", system.ProductNumber));
|
|
|
|
for (int i = 0; i < system.EquipmentColumns; i++)
|
|
{
|
|
if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else
|
|
sb.Append("E");
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.DoubleToString(datas[i].Weight, system.DecimalPlaces)));
|
|
}
|
|
|
|
return sb.ToString();
|
|
}
|
|
public string Protocol_STD1(SystemConfigurationItem system, Collection<WeightData> datas)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append((char)0x02);
|
|
sb.Append(this.Protocol_STD1_NotStxEtx(system, datas));
|
|
sb.Append((char)0x03);
|
|
|
|
return sb.ToString();
|
|
}
|
|
private string Protocol_STD1_NotStxEtx(SystemConfigurationItem system, WeightData data, int lane)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(string.Format("IN{0:D3}", system.EquipmentID));
|
|
sb.Append(string.Format("{0:D4}", system.ProductNumber));
|
|
sb.Append(string.Format("{0:D2}", lane));
|
|
|
|
if (data.JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else
|
|
sb.Append("E");
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.DoubleToString(data.Weight, system.DecimalPlaces)));
|
|
|
|
return sb.ToString();
|
|
}
|
|
public string Protocol_STD1(SystemConfigurationItem system, WeightData data, int lane)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append((char)0x02);
|
|
sb.Append(this.Protocol_STD1_NotStxEtx(system, data, lane));
|
|
sb.Append((char)0x03);
|
|
|
|
return sb.ToString();
|
|
}
|
|
|
|
private string Protocol_STD2_NotStxEtx(SystemConfigurationItem system, Collection<WeightData> datas, ProductItem pItem)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(string.Format("IN{0:D3}", system.EquipmentID));
|
|
sb.Append(string.Format("{0:D4}", system.ProductNumber));
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.UnderRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.PassRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.OverRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.TareRange, system.DecimalPlaces)));
|
|
|
|
for (int i = 0; i < system.EquipmentColumns; i++)
|
|
{
|
|
if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else
|
|
sb.Append("E");
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.DoubleToString(datas[i].Weight, system.DecimalPlaces)));
|
|
}
|
|
|
|
return sb.ToString();
|
|
}
|
|
public string Protocol_STD2(SystemConfigurationItem system, Collection<WeightData> datas, ProductItem pItem)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append((char)0x02);
|
|
sb.Append(this.Protocol_STD2_NotStxEtx(system, datas, pItem));
|
|
sb.Append((char)0x03);
|
|
|
|
return sb.ToString();
|
|
}
|
|
private string Protocol_STD2_NotStxEtx(SystemConfigurationItem system, WeightData data, int lane, ProductItem pItem)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(string.Format("IN{0:D3}", system.EquipmentID));
|
|
sb.Append(string.Format("{0:D4}", system.ProductNumber));
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.UnderRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.PassRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.OverRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.TareRange, system.DecimalPlaces)));
|
|
sb.Append(string.Format("{0:D2}", lane));
|
|
|
|
if (data.JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else
|
|
sb.Append("E");
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.DoubleToString(data.Weight, system.DecimalPlaces)));
|
|
|
|
return sb.ToString();
|
|
}
|
|
public string Protocol_STD2(SystemConfigurationItem system, WeightData data, int lane, ProductItem pItem)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append((char)0x02);
|
|
sb.Append(this.Protocol_STD2_NotStxEtx(system, data, lane, pItem));
|
|
sb.Append((char)0x03);
|
|
|
|
return sb.ToString();
|
|
}
|
|
|
|
private string Protocol_STD3_NotStxEtx(SystemConfigurationItem system, Collection<WeightData> datas, ProductItem pItem)
|
|
{
|
|
int toTalAll = 0, toTalPass = 0, totalNg = 0;
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
for (int i = 0; i < system.EquipmentColumns; i++)
|
|
{
|
|
toTalAll += datas[i].TotalCount;
|
|
toTalPass += datas[i].PassCount;
|
|
totalNg += datas[i].TotalNGCount;
|
|
}
|
|
|
|
sb.Append(string.Format("IN{0:D3}", system.EquipmentID));
|
|
sb.Append(string.Format("{0:D4}", system.ProductNumber));
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.UnderRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.PassRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.OverRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.TareRange, system.DecimalPlaces)));
|
|
|
|
sb.Append(Helper.StringBlankFillDigits7(toTalPass.ToString()));
|
|
sb.Append(Helper.StringBlankFillDigits7(totalNg.ToString()));
|
|
sb.Append(Helper.StringBlankFillDigits9(toTalAll.ToString()));
|
|
|
|
for (int i = 0; i < system.EquipmentColumns; i++)
|
|
{
|
|
if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (datas[i].JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else
|
|
sb.Append("E");
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.DoubleToString(datas[i].Weight, system.DecimalPlaces)));
|
|
}
|
|
|
|
return sb.ToString();
|
|
}
|
|
public string Protocol_STD3(SystemConfigurationItem system, Collection<WeightData> datas, ProductItem pItem)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append((char)0x02);
|
|
sb.Append(this.Protocol_STD3_NotStxEtx(system, datas, pItem));
|
|
sb.Append((char)0x03);
|
|
|
|
return sb.ToString();
|
|
}
|
|
private string Protocol_STD3_NotStxEtx(SystemConfigurationItem system, WeightData data, int lane, ProductItem pItem)
|
|
{
|
|
string value = "";
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append(string.Format("IN{0:D3}", system.EquipmentID));
|
|
sb.Append(string.Format("{0:D4}", system.ProductNumber));
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.UnderRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.PassRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.OverRange, system.DecimalPlaces)));
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.StringToDecimalPlaces(pItem.TareRange, system.DecimalPlaces)));
|
|
|
|
sb.Append(Helper.StringBlankFillDigits7(data.PassCount.ToString()));
|
|
sb.Append(Helper.StringBlankFillDigits7(data.TotalNGCount.ToString()));
|
|
sb.Append(Helper.StringBlankFillDigits9(data.TotalCount.ToString()));
|
|
|
|
sb.Append(string.Format("{0:D2}", lane));
|
|
|
|
if (data.JudgmentStatus == DataStore.JudgmentStatus.Under)
|
|
sb.Append("U");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Pass)
|
|
sb.Append("P");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Over)
|
|
sb.Append("O");
|
|
else if (data.JudgmentStatus == DataStore.JudgmentStatus.Double)
|
|
sb.Append("D");
|
|
else
|
|
sb.Append("E");
|
|
|
|
sb.Append(Helper.StringBlankFillDigits6(Helper.DoubleToString(data.Weight, system.DecimalPlaces)));
|
|
|
|
return sb.ToString();
|
|
}
|
|
public string Protocol_STD3(SystemConfigurationItem system, WeightData data, int lane, ProductItem pItem)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.Append((char)0x02);
|
|
sb.Append(this.Protocol_STD3_NotStxEtx(system, data, lane, pItem));
|
|
sb.Append((char)0x03);
|
|
|
|
return sb.ToString();
|
|
}
|
|
|
|
public byte[] Protocol_Modbus_Client_Write_Common_Data()
|
|
{
|
|
int index = 0;
|
|
byte[] madeData = new byte[16];
|
|
byte[] length4Value = new byte[4];
|
|
byte[] length2Value = new byte[2];
|
|
|
|
double underValue = this.Current30000ModbusData.UnderValue; // Helper.StringToWeight(this.Current30000ModbusData.UnderRange, this.SystemConfig.DecimalPlaces);
|
|
double passValue = Helper.StringToWeight(this.CurrentProductItem.PassRange, this.SystemConfig.DecimalPlaces);
|
|
double overValue = Helper.StringToWeight(this.CurrentProductItem.OverRange, this.SystemConfig.DecimalPlaces);
|
|
double tareValue = Helper.StringToWeight(this.CurrentProductItem.TareRange, this.SystemConfig.DecimalPlaces);
|
|
|
|
#region 고정 Data(4개, 16 bytes)
|
|
// 하한값
|
|
length4Value = GetBytes((Single)underValue);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[i] = length4Value[3 - i];
|
|
|
|
// 기준값
|
|
length4Value = GetBytes((Single)passValue);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[4 + i] = length4Value[3 - i];
|
|
|
|
// 상한값
|
|
length4Value = GetBytes((Single)overValue);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[8 + i] = length4Value[3 - i];
|
|
|
|
// 용기값
|
|
length4Value = GetBytes((Single)tareValue);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[12 + i] = length4Value[3 - i];
|
|
#endregion
|
|
|
|
return madeData;
|
|
}
|
|
public byte[] Protocol_Modbus_Client_Write_Lane_Data(int laneIndex)
|
|
{
|
|
int index = 0;
|
|
byte[] madeData = new byte[32];
|
|
byte[] length4Value = new byte[4];
|
|
byte[] length2Value = new byte[2];
|
|
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[i] = length2Value[1 - i];
|
|
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[2 + i] = length2Value[1 - i];
|
|
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[laneIndex].Weight);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[4 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].UnderCount);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[8 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].PassCount);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[12 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].OverCount);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[16 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].NGCount);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[20 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].ExNGCount);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[24 + i] = length4Value[3 - i];
|
|
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[laneIndex].TotalCount);
|
|
for (int i = 0; i < 4; i++)
|
|
madeData[28 + i] = length4Value[3 - i];
|
|
|
|
return madeData;
|
|
}
|
|
private byte[] Protocol_Modbus_Server_Read_Lane_Data(byte[] readByte)
|
|
{
|
|
byte[] startAddressByte = new byte[2] { readByte[8], readByte[9] };
|
|
byte[] numberOfRegisterByte = new byte[2] { readByte[10], readByte[11] };
|
|
int startAddressInt;
|
|
int numberOfRegisterInt;
|
|
int madeDataIndex = 0;
|
|
byte[] length2Value = new byte[2];
|
|
byte[] length4Value = new byte[4];
|
|
|
|
startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte);
|
|
numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte);
|
|
|
|
byte[] madeData = new byte[numberOfRegisterInt * 2];
|
|
|
|
if (readByte[7] == ModbusFunctionCode.FunctionCode_03)
|
|
{
|
|
#region Read Holding Register(0x03)
|
|
for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++)
|
|
{
|
|
switch (j)
|
|
{
|
|
#region Make data
|
|
case _40000_ModbusAddress._01_Clear:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40011_Clear);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._02_ClearResult:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40012_ClearResult);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._03_Operation:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40013_Operation);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._04_OperationResult:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40014_OperationResult);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._05_ProductChange_High:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40015_ProductChange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case _40000_ModbusAddress._06_ProductChange_Low:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40015_ProductChange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._07_ProductChangeResult:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40017_ProductChangeResult);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._08_UnderRange_High:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40018_UnderRange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case _40000_ModbusAddress._09_UnderRange_Low:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40018_UnderRange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._10_UnderRangeResult:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40020_UnderRangeResult);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._11_PassRange_High:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40021_PassRange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case _40000_ModbusAddress._12_PassRange_Low:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40021_PassRange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._13_PassRangeResult:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40023_PassRangeResult);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._14_OverRange_High:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40024_OverRange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case _40000_ModbusAddress._15_OverRange_Low:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40024_OverRange);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._16_OverRangeResult:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40026_OverRangeResult);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._17_TareWeight_High:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40027_TareWeight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case _40000_ModbusAddress._18_TareWeight_Low:
|
|
length4Value = GetBytes(this.Current40000ModbusData._40027_TareWeight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case _40000_ModbusAddress._19_TareWeightResult:
|
|
length2Value = GetBytes(this.Current40000ModbusData._40029_TareWeightResult);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
default:
|
|
break;
|
|
#endregion
|
|
}
|
|
madeDataIndex += 2;
|
|
}
|
|
#endregion
|
|
}
|
|
else if (readByte[7] == ModbusFunctionCode.FunctionCode_04)
|
|
{
|
|
#region Read Input Register(0x04)
|
|
double underValue = this.Current30000ModbusData.UnderValue;
|
|
double passValue = this.Current30000ModbusData.PassValue;
|
|
double overValue = this.Current30000ModbusData.OverValue;
|
|
double tareValue = this.Current30000ModbusData.TareValue;
|
|
double lowLimit = this.Current30000ModbusData.LowLimit;
|
|
double highLimit = this.Current30000ModbusData.HighLimit;
|
|
double deadZoneLow = this.Current30000ModbusData.DeadZoneLowLimit;
|
|
double deadZoneHigh = this.Current30000ModbusData.DeadZoneHighLimit;
|
|
|
|
int equipmentStatus;
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Start)
|
|
equipmentStatus = 1;
|
|
else
|
|
equipmentStatus = 0;
|
|
|
|
for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++)
|
|
{
|
|
switch (j)
|
|
{
|
|
#region Common data
|
|
case (int)DataStore._30000_Modbus.UnderRange_High:
|
|
length4Value = GetBytes((Single)underValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.UnderRange_Low:
|
|
length4Value = GetBytes((Single)underValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.PassRange_High:
|
|
length4Value = GetBytes((Single)passValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.PassRange_Low:
|
|
length4Value = GetBytes((Single)passValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.OverRange_High:
|
|
length4Value = GetBytes((Single)overValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.OverRange_Low:
|
|
length4Value = GetBytes((Single)overValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.TareRange_High:
|
|
length4Value = GetBytes((Single)tareValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.TareRange_Low:
|
|
length4Value = GetBytes((Single)tareValue);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.HighLimit_High:
|
|
length4Value = GetBytes((Single)highLimit);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.HighLimit_Low:
|
|
length4Value = GetBytes((Single)highLimit);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.DeadZoneHighLimit_High:
|
|
length4Value = GetBytes((Single)deadZoneHigh);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.DeadZoneHighLimit_Low:
|
|
length4Value = GetBytes((Single)deadZoneHigh);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.DeadZoneLowLimit_High:
|
|
length4Value = GetBytes((Single)deadZoneLow);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.DeadZoneLowLimit_Low:
|
|
length4Value = GetBytes((Single)deadZoneLow);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.LowLimit_High:
|
|
length4Value = GetBytes((Single)lowLimit);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.LowLimit_Low:
|
|
length4Value = GetBytes((Single)lowLimit);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.SampleCount_High:
|
|
length4Value = GetBytes(0);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.SampleCount_Low:
|
|
length4Value = GetBytes(0);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.IgnoreCount_High:
|
|
length4Value = GetBytes(0);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus.IgnoreCount_Low:
|
|
length4Value = GetBytes(0);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #1
|
|
case (int)DataStore._30000_Modbus._1_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[0].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[0].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._1_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[0].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #2
|
|
case (int)DataStore._30000_Modbus._2_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[1].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[1].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._2_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[1].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #3
|
|
case (int)DataStore._30000_Modbus._3_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[2].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[2].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._3_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[2].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #4
|
|
case (int)DataStore._30000_Modbus._4_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[3].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[3].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._4_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[3].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #5
|
|
case (int)DataStore._30000_Modbus._5_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[4].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[4].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._5_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[4].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #6
|
|
case (int)DataStore._30000_Modbus._6_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[5].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[5].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._6_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[5].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #7
|
|
case (int)DataStore._30000_Modbus._7_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[6].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[6].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._7_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[6].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #8
|
|
case (int)DataStore._30000_Modbus._8_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[7].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[7].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._8_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[7].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #9
|
|
case (int)DataStore._30000_Modbus._9_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[8].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[8].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._9_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[8].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #10
|
|
case (int)DataStore._30000_Modbus._10_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[9].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[9].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._10_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[9].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #11
|
|
case (int)DataStore._30000_Modbus._11_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[10].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[10].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._11_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[10].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
#region #12
|
|
case (int)DataStore._30000_Modbus._12_Update:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].Update);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_Grade:
|
|
length2Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].Grade);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_Weight_High:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[11].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_Weight_Low:
|
|
if (this.EquipmentStatus == DataStore.EquipmentStatus.Stop)
|
|
length4Value = GetBytes((Single)0.0);
|
|
else
|
|
length4Value = GetBytes((Single)this.Current30000ModbusData.LaneModbusData[11].Weight);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_UnderCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_UnderCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].UnderCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_PassCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_PassCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].PassCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_OverCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_OverCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].OverCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_NGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_NgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].NGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_ExNGCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_ExNgCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].ExNGCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_TotalCount_High:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[3 - i];
|
|
break;
|
|
case (int)DataStore._30000_Modbus._12_TotalCount_Low:
|
|
length4Value = GetBytes(this.Current30000ModbusData.LaneModbusData[11].TotalCount);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length4Value[1 - i];
|
|
break;
|
|
#endregion
|
|
|
|
default:
|
|
length2Value = GetBytes(0);
|
|
for (int i = 0; i < 2; i++)
|
|
madeData[madeDataIndex + i] = length2Value[1 - i];
|
|
break;
|
|
}
|
|
madeDataIndex += 2;
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
return madeData;
|
|
}
|
|
#endregion
|
|
#region SerialCH3
|
|
public void SerialCH3Open()
|
|
{
|
|
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 = "";
|
|
|
|
value = this.Protocol_STD1(this.SystemConfig, datas);
|
|
|
|
SerialMgrComm.serialPortMessage("COM3:", value);
|
|
|
|
if (this.IsCom3LogOpen == true)
|
|
this.smartFileCom3Log.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, value));
|
|
}
|
|
public void SerialCH3STD2(Collection<WeightData> datas)
|
|
{
|
|
string value = "";
|
|
|
|
value = this.Protocol_STD2(this.SystemConfig, datas, this.CurrentProductItem);
|
|
|
|
SerialMgrComm.serialPortMessage("COM3:", value);
|
|
|
|
if (this.IsCom3LogOpen == true)
|
|
this.smartFileCom3Log.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, value));
|
|
}
|
|
public void SerialCH3STD3(Collection<WeightData> datas)
|
|
{
|
|
string value = "";
|
|
|
|
value = this.Protocol_STD3(this.SystemConfig, datas, this.CurrentProductItem);
|
|
|
|
SerialMgrComm.serialPortMessage("COM3:", value);
|
|
|
|
if (this.IsCom3LogOpen == true)
|
|
this.smartFileCom3Log.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, value));
|
|
}
|
|
#endregion
|
|
#region Ethernet
|
|
private void SendEthernetData(string etherData)
|
|
{
|
|
if (this.SystemConfig.EthernetOperationMode == 1)
|
|
{
|
|
if (this.smartTCPMultiServer.ClientInfoList != null)
|
|
{
|
|
foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList)
|
|
this.EthernetServerSendMessage(client, etherData);
|
|
}
|
|
}
|
|
else
|
|
this.EthernetWeightData(etherData);
|
|
}
|
|
|
|
#region Server
|
|
public void EthernetServerStart()
|
|
{
|
|
if (this.smartTCPMultiServer.IsStart == false)
|
|
{
|
|
this.ChildFormCommunication.DisplayLabelLocalPort(false);
|
|
this.smartTCPMultiServer.Port = this.SystemConfig.EthernetLocalPort;
|
|
this.smartTCPMultiServer.Start();
|
|
}
|
|
}
|
|
public void EthernetServerStop()
|
|
{
|
|
if (this.smartTCPMultiServer.IsStart == true)
|
|
{
|
|
this.ChildFormCommunication.DisplayLabelLocalPort(true);
|
|
this.smartTCPMultiServer.Stop();
|
|
}
|
|
}
|
|
public void EthernetServerSendMessage(SmartTCPMultiServer.CLIENTSINFOS client, string msg)
|
|
{
|
|
this.smartTCPMultiServer.SendStringASCIIID(client.strID, msg);
|
|
}
|
|
public void EthernetServerSendMessage(SmartTCPMultiServer.CLIENTSINFOS client, byte[] bytes)
|
|
{
|
|
this.smartTCPMultiServer.SendByteByClientID(client.strID, bytes);
|
|
}
|
|
#endregion
|
|
|
|
#region Client
|
|
Thread cpClientThread;
|
|
public void EthernetClientConnect()
|
|
{
|
|
if (this.IsEthernetThreadStop == false)
|
|
return; // Online 경우
|
|
if (this.SystemConfig.IsEthernetEnable == false)
|
|
{
|
|
this.TextStatusOut("<Disable");
|
|
return;
|
|
}
|
|
|
|
if (string.Compare(this.SystemConfig.EthernetServerAddress, "0.0.0.0") == 0)
|
|
{
|
|
this.TextStatusOut("<Addr Err");
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
this.cpClientThread = new Thread(new ThreadStart(EthernetClientReceiveThread));
|
|
|
|
this.cpClientThread.IsBackground = true;
|
|
|
|
this.cpClientThread.Start();
|
|
}
|
|
catch
|
|
{
|
|
TextStatusOut(">Thread Error");
|
|
}
|
|
}
|
|
public void EthernetClientDisconnect()
|
|
{
|
|
this.IsEthernetThreadStop = true;
|
|
this.IsModbusCommonDataSend = false;
|
|
this.DelegateUISeverStatus(false);
|
|
if (null != this.EthernetStmReader)
|
|
this.EthernetStmReader.Close();
|
|
|
|
if (null != this.EthernetStmWriter)
|
|
this.EthernetStmWriter.Close();
|
|
|
|
if (null != this.EthernetNetStream)
|
|
this.EthernetNetStream.Close();
|
|
|
|
if (null != this.EthernetTcpClient)
|
|
this.EthernetTcpClient.Close();
|
|
}
|
|
|
|
private void EthernetClientReceiveThread()
|
|
{
|
|
//this.cpClientThread.Abort();
|
|
|
|
int nConnectPort = Convert.ToInt32(this.SystemConfig.EthernetServerPort);
|
|
try
|
|
{
|
|
this.DelegateTextStatusOut(">Now Connecting..");
|
|
this.EthernetTcpClient = new TcpClient(this.SystemConfig.EthernetServerAddress, nConnectPort);
|
|
|
|
this.EthernetNetStream = EthernetTcpClient.GetStream();
|
|
this.EthernetStmReader = new StreamReader(EthernetNetStream);
|
|
this.EthernetStmWriter = new StreamWriter(EthernetNetStream);
|
|
|
|
this.DelegateUISeverStatus(true);
|
|
this.DelegateTextStatusOut(">Connected Server");
|
|
this.SetTrackingHistoryData(DataStore.TrackingOperation.EthernetConnect, "Client");
|
|
|
|
this.IsEthernetThreadStop = false;
|
|
|
|
// 판정 데이터 전송
|
|
if (this.IsEthernetTransferData == true)
|
|
{
|
|
this.IsEthernetTransferData = false;
|
|
Type type = this.EthernetTransferData.GetType();
|
|
if (type == typeof(string))
|
|
this.DelegateTransferData((string)this.EthernetTransferData);
|
|
else if (type == typeof(byte[]))
|
|
this.DelegateTransferData((byte[])this.EthernetTransferData);
|
|
else if (type == typeof(byte))
|
|
this.DelegateTransferData((byte)this.EthernetTransferData);
|
|
}
|
|
|
|
while (this.IsEthernetThreadStop == false)
|
|
{
|
|
string strRecvMsg = this.EthernetStmReader.ReadLine();
|
|
|
|
if (null == strRecvMsg)
|
|
{
|
|
this.DelegateTextStatusOut(">Server Out");
|
|
this.SetTrackingHistoryData(DataStore.TrackingOperation.EthernetDisconnect, "Client");
|
|
this.IsEthernetThreadStop = true;
|
|
break;
|
|
}
|
|
|
|
this.DelegateTextStatusOut(strRecvMsg);
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
this.DelegateTextStatusOut(">Connect Fail !");
|
|
}
|
|
finally
|
|
{
|
|
this.IsEthernetThreadStop = true;
|
|
this.DelegateUISeverStatus(false);
|
|
this.DelegateTextStatusOut(">Disconnected Server");
|
|
this.SetTrackingHistoryData(DataStore.TrackingOperation.EthernetDisconnect, "Client");
|
|
if (null != this.EthernetStmReader)
|
|
this.EthernetStmReader.Close();
|
|
|
|
if (null != this.EthernetStmWriter)
|
|
this.EthernetStmWriter.Close();
|
|
|
|
if (null != this.EthernetNetStream)
|
|
this.EthernetNetStream.Close();
|
|
|
|
if (null != this.EthernetTcpClient)
|
|
this.EthernetTcpClient.Close();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
private void UIServerStatus(bool status)
|
|
{
|
|
if (this.ChildFormMainDisplay != null)
|
|
this.ChildFormMainDisplay.UpdateEthernetStatusDisplay(status);
|
|
}
|
|
private void DelegateUISeverStatus(bool status)
|
|
{
|
|
this.Invoke(new UIServerStatusCallback(this.UIServerStatus), status);
|
|
}
|
|
|
|
private void TextStatusOut(string value)
|
|
{
|
|
if (this.ChildFormCommunication != null)
|
|
this.ChildFormCommunication.UpdateEthernetStatusDisplay(value);
|
|
}
|
|
private void DelegateTextStatusOut(string value)
|
|
{
|
|
this.Invoke(new TextStatusCallback(this.TextStatusOut), value);
|
|
}
|
|
|
|
private void DelegateTransferData(string data)
|
|
{
|
|
this.Invoke(new TransferDataStringCallback(this.EthernetSendMessage), data);
|
|
}
|
|
private void DelegateTransferData(byte[] data)
|
|
{
|
|
this.Invoke(new TransferDataByteArrayCallback(this.EthernetSendMessage), data);
|
|
}
|
|
private void DelegateTransferData(byte data)
|
|
{
|
|
this.Invoke(new TransferDataStringCallback(this.EthernetSendMessage), data);
|
|
}
|
|
public void EthernetSendMessage(string msg)
|
|
{
|
|
try
|
|
{
|
|
this.EthernetStmWriter.Write(msg);
|
|
this.EthernetStmWriter.Flush();
|
|
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, msg));
|
|
}
|
|
catch
|
|
{
|
|
this.DelegateUISeverStatus(false);
|
|
this.DelegateTextStatusOut("> Disconnect");
|
|
}
|
|
}
|
|
public void EthernetSendMessage(byte[] msg)
|
|
{
|
|
try
|
|
{
|
|
this.EthernetStmWriter.BaseStream.Write(msg, 0, msg.Length);
|
|
this.EthernetStmWriter.Flush();
|
|
|
|
// 로그
|
|
if (this.IsCommunicationLogOpen == true)
|
|
this.smartFileCommunicationLog.WriteString(string.Format("Send ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, BitConverter.ToString(msg)));
|
|
}
|
|
catch
|
|
{
|
|
this.DelegateUISeverStatus(false);
|
|
this.DelegateTextStatusOut("> Disconnect");
|
|
}
|
|
}
|
|
public void EthernetSendMessage(byte msg)
|
|
{
|
|
try
|
|
{
|
|
this.EthernetStmWriter.WriteLine(msg);
|
|
this.EthernetStmWriter.Flush();
|
|
}
|
|
catch
|
|
{
|
|
this.DelegateUISeverStatus(false);
|
|
this.DelegateTextStatusOut("> Disconnect");
|
|
}
|
|
}
|
|
public void EthernetWeightData(string strTemp)
|
|
{
|
|
this.IsEthernetTransferData = true;
|
|
this.EthernetTransferData = strTemp;
|
|
|
|
if (this.IsEthernetThreadStop == true)
|
|
this.EthernetClientConnect();
|
|
else
|
|
this.EthernetSendMessage((string)this.EthernetTransferData);
|
|
}
|
|
public void EthernetWeightData(byte temp)
|
|
{
|
|
this.IsEthernetTransferData = true;
|
|
this.EthernetTransferData = temp;
|
|
|
|
if (this.IsEthernetThreadStop == true)
|
|
this.EthernetClientConnect();
|
|
else
|
|
this.EthernetSendMessage((byte)this.EthernetTransferData);
|
|
}
|
|
public void EthernetWeightDataForModbus(byte[] bytes)
|
|
{
|
|
this.IsEthernetTransferData = true;
|
|
this.EthernetTransferData = bytes;
|
|
|
|
if (this.IsEthernetThreadStop == true)
|
|
this.EthernetClientConnect();
|
|
else
|
|
this.EthernetSendMessage(bytes);
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
#region Servo Motor COM
|
|
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.LoadSystemConfigurationFile();
|
|
// 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.LoadProductName(ref this.CollectionProductName);
|
|
// UserGroup File Load
|
|
this.LoadUserGroupFile(ref this.CurrentUserGroup);
|
|
|
|
// 변수 초기 셋팅2
|
|
// 시스템설정 값 로딩 후 셋팅
|
|
this.DefaultSetting2();
|
|
|
|
// Modbus 데이터 초기화
|
|
if (this.SystemConfig.IsModbusUse == true)
|
|
this.ModbusInitizlise();
|
|
|
|
// UserManager 초기화
|
|
if (this.SystemConfig.IsLogin == true)
|
|
{
|
|
this.InitializeUserManager();
|
|
this.SystemConfig.CurrentUser.Group = DataStore.UserGroup.LogOut;
|
|
|
|
if (this.SystemConfig.IsOptPart11 == false)
|
|
UserManager.UserManager_AutoLogoutTimeoutPause();
|
|
}
|
|
else
|
|
this.SystemConfig.CurrentUser.Group = DataStore.UserGroup.NotLogin;
|
|
// Encryption 초기화
|
|
if (this.SystemConfig.IsOptPart11 == true)
|
|
{
|
|
this.InitializeAES();
|
|
this.SetTrackingHistoryData(DataStore.TrackingOperation.PowerOn, "");
|
|
}
|
|
|
|
// 폼생성
|
|
this.CreateForm();
|
|
|
|
// 통신 OPEN
|
|
this.OpenSmartUartLink();
|
|
this.SmartSplashProgramLoad.Finish();
|
|
this.smartForm.Show((int)DataStore.FormStore.FormMainDisplay);
|
|
|
|
// Serial3 통신 Open
|
|
this.SerialCH3Open();
|
|
// Modbus Open
|
|
this.ModbusOpen();
|
|
// 초기 파라미터 전송
|
|
this.TrasferSystemParameter(this.SystemConfig);
|
|
}
|
|
#endregion
|
|
|
|
#region Event Handler
|
|
private void smartSerialPort_OnReadQueueEvent()
|
|
{
|
|
this.ReceiveData();
|
|
|
|
// 통신 확인
|
|
if (this.CommunicationCheckCount / 3 == 1)
|
|
{
|
|
this.ChildFormMainDisplay.pictureBoxCommunicationStatus.Visible = true;
|
|
this.CommunicationCheckCount = 0;
|
|
}
|
|
else
|
|
{
|
|
this.ChildFormMainDisplay.pictureBoxCommunicationStatus.Visible = false;
|
|
this.CommunicationCheckCount += 1;
|
|
}
|
|
}
|
|
|
|
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 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.TransferProductParameter1(this.SystemConfig.ProductNumber);
|
|
|
|
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 timerUserList_Tick(object sender, EventArgs e)
|
|
{
|
|
this.timerUserList.Enabled = false;
|
|
UserManager.UserManager_GetUserListName();
|
|
}
|
|
|
|
#region DLL_SerialportEvent
|
|
private void Serialport_ReceiveDataEvent(string data)
|
|
{
|
|
try
|
|
{
|
|
this.ReceiveData(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 Serialport_GetVersionDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
if (this.ChildFormInformation != null)
|
|
{
|
|
|
|
this.UI_Invoke(delegate
|
|
{
|
|
this.ChildFormInformation.UpdateSerialportVersionDisplay(data.ToString());
|
|
});
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region UserManagerEvent
|
|
private void UserManager_UserListLogoutDataEvent(int status)
|
|
{
|
|
try
|
|
{
|
|
if (status == (int)UserManager.USERMGR_LOGOUT_STATUS_OK)
|
|
{
|
|
// logout
|
|
}
|
|
else
|
|
{
|
|
// logout fail !!!
|
|
//MessageBox.Show("Logout Failed !!!!");
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListLoginDataEvent(int status, object data)
|
|
{
|
|
try
|
|
{
|
|
if (status == (int)UserManager.E_user_mgr_status.USER_MGR_STATUS_OK)
|
|
{
|
|
UserManager.UserMgr_user_info_t userInfo = (UserManager.UserMgr_user_info_t)data;
|
|
|
|
//this.ChildFormMainDisplay.updatedisplayuser
|
|
|
|
//String Message;
|
|
}
|
|
else
|
|
{
|
|
this.UI_Invoke(delegate
|
|
{
|
|
// login fail !!!
|
|
//textBox_id.Enabled = true;
|
|
//textBox_pw.Enabled = true;
|
|
//comboBox_logout_timeout.Enabled = true;
|
|
|
|
//button_login.Text = "LOGIN";
|
|
//Activation.IsLogin = false;
|
|
});
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListGetListDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_list_t userList = (UserManager.UserMgr_user_list_t)data;
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormUserEditor)
|
|
this.ChildFormUserEditor.CallBackGetUserData(userList);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListLoginTimeoutDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_login_timeout_t loginTimeout = (UserManager.UserMgr_login_timeout_t)data;
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormMainDisplay)
|
|
this.ChildFormMainDisplay.CallBackUserListLoginTimeoutDataEvent(loginTimeout);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListLockDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_lock_t user = (UserManager.UserMgr_user_lock_t)data;
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormUserEditor)
|
|
this.ChildFormUserEditor.CallBackUserListLockDataEvent(user);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListDefaultSettingDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListDeleteDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_del_t user = (UserManager.UserMgr_user_del_t)data;
|
|
this.ChildFormUserEditor.CallBackUserListDeleteDataEvent(user);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListModifyUserDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_modify_t user = (UserManager.UserMgr_user_modify_t)data;
|
|
|
|
this.ChildFormUserEditor.CallBackUserModifyUserData(user);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListModifyInfoDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_info_t user = (UserManager.UserMgr_user_info_t)data;
|
|
|
|
if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormUserEditor)
|
|
this.ChildFormUserEditor.CallBackUserListModifyInfoDataEvent(user);
|
|
//else if (this.SystemConfig.CurrentForm == DataStore.FormStore.FormMainDisplay)
|
|
//this.ChildFormMainDisplay.CallBackUserListModifyInfoDataEvent(user);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListNewDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_info_t user = (UserManager.UserMgr_user_info_t)data;
|
|
|
|
this.ChildFormUserEditor.CallBackUserListNewData(user);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListAddDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_add_t userAdd = (UserManager.UserMgr_user_add_t)data;
|
|
|
|
if (userAdd.status == (int)UserManager.E_user_mgr_status.USER_MGR_STATUS_OK)
|
|
{
|
|
//for (int i = 0; i < this.CollectionUser.Count; i++)
|
|
//{
|
|
// if (this.CollectionUser[i].ID == userAdd.user_id)
|
|
// {
|
|
// this.FlagUserListCNT++;
|
|
// this.CollectionUser[i].IsUpdate = true;
|
|
// this.CollectionUser[i].IsLockAccount = userAdd.flock_status_account == 0 ? false : true;
|
|
// this.CollectionUser[i].IsLockPassword = userAdd.flock_status_password == 0 ? false : true;
|
|
// break;
|
|
// }
|
|
//}
|
|
}
|
|
else
|
|
{
|
|
//for (int i = 0; i < this.CollectionUser.Count; i++)
|
|
//{
|
|
// if (this.CollectionUser[i].ID == userAdd.user_id)
|
|
// {
|
|
// this.CollectionUser.RemoveAt(i);
|
|
// break;
|
|
// }
|
|
//}
|
|
|
|
//this.SaveUserFile(this.CollectionUser);
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListGetListNameDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
UserManager.UserMgr_user_list_name_t name = (UserManager.UserMgr_user_list_name_t)data;
|
|
|
|
if (name.total_count == 0)
|
|
return;
|
|
|
|
this.ListDllUserName.Add(name.user_id);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
private void UserManager_UserListGetVersionDataEvent(object data)
|
|
{
|
|
try
|
|
{
|
|
if (this.ChildFormInformation != null)
|
|
this.ChildFormInformation.UpdatePart11UserManagerVersionDisplay(data.ToString());
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region EncryptionEvent
|
|
private void AesEncryption_Event(object data)
|
|
{
|
|
try
|
|
{
|
|
Encryption.auth_encryption_status_t status = (Encryption.auth_encryption_status_t)data;
|
|
|
|
//this.labelStatus.Text = status.percentage.ToString();
|
|
//this.StatusPercentage = status.percentage;
|
|
|
|
this.ChildFormDataBackup_Part11.CallBackEncryptionEvent(status);
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
private void AesEncryption_GetVersionDataEvent(object data)
|
|
{
|
|
if (this.ChildFormInformation != null)
|
|
this.ChildFormInformation.UpdatePart11AesEncryptionVersionDisplay(data.ToString());
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
private void timerEquipmentStatus_Tick(object sender, EventArgs e)
|
|
{
|
|
this.timerEquipmentStatus.Enabled = false;
|
|
|
|
this.EquipmentStatus1 = this.EquipmentStatus;
|
|
}
|
|
}
|
|
} |