Compare commits
10 Commits
7f18759004
...
1273ca8236
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1273ca8236 | ||
|
|
5a2eeed3c4 | ||
|
|
1ebbb83866 | ||
|
|
16da4a5ffa | ||
|
|
54c64a06bd | ||
|
|
5e0f1ba056 | ||
|
|
a34dbecfb9 | ||
|
|
ee122a6daf | ||
|
|
8111db4910 | ||
|
|
4553fe7f3b |
57
CL4NX_Profile.xml
Normal file
57
CL4NX_Profile.xml
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Model value="CL4NX Series" >
|
||||
<PrintMethod value="Thermal Transfer" />
|
||||
<PrintResolution value="0" />
|
||||
<PrintSpeed value="6(inch/sec) 150(mm/sec)" />
|
||||
<PrintMode value="Tear off" />
|
||||
<CutterMode value="Motion 1 (Thermal head position)" />
|
||||
<DispenseMode value="Motion 1 (Thermal head position)" />
|
||||
<LinerlessMode value="Motion 2 (Dispenser position)" />
|
||||
<PrintDarkness value="A" />
|
||||
<DarknessLevel value="Level 5" />
|
||||
<SensorType value="GAP" />
|
||||
<ZeroSlash value="Enabled" />
|
||||
<KanjiCode value="GB18030" />
|
||||
<InitialFeed value="Enabled" />
|
||||
<ProportionPitch value="Proportional pitch" />
|
||||
<LabelHeight value="315" />
|
||||
<LabelWidth value="520" />
|
||||
<VerticalStart value="0" />
|
||||
<HorizontalStart value="5" />
|
||||
<LabelPitchOffset value="0" />
|
||||
<TearOffset value="0" />
|
||||
<CutterOffset value="0" />
|
||||
<DispenserOffset value="0" />
|
||||
<Language value="Korean" />
|
||||
<HeadCheckMode value="Specify number of pages" />
|
||||
<HeadCheck value="Disable" />
|
||||
<HeadCheckPage value="1" />
|
||||
<PowerSaving value="0" />
|
||||
<OptionTime value="0" />
|
||||
<AllQty value="Disable" />
|
||||
<TimeZone value="Asia/Seoul (+09:00)" />
|
||||
<BuzzerSound value="Volume medium" />
|
||||
<AppMode value="AUTO" />
|
||||
<AppModeAuto value="SZPL" />
|
||||
<Reprint value="Enable" />
|
||||
<PEND_TYPE value="GAP" />
|
||||
<EJECT_CUT value="0" />
|
||||
<MEDIA_CHECK value="Disable" />
|
||||
<AUTO_MEASURE value="Enable" />
|
||||
<AUTO_ONLINE value="Enable" />
|
||||
<ONLINE_FEED value="Disable" />
|
||||
<IGNORE_CRLF value="Do not remove CR/LF" />
|
||||
<BYTECOMMAND value="Disable" />
|
||||
<RB_NEND value="Enable" />
|
||||
<PRIORITY value="Prioritize command" />
|
||||
<PRINT_AREA value="Normal" />
|
||||
<HEX_DUMP_MODE value="Disable" />
|
||||
<CALENDAR_CHECK value="Disable" />
|
||||
<AC_POWERON value="Disable" />
|
||||
<BV_MODE value="Disable" />
|
||||
<BV_START_POSITION value="72" />
|
||||
<BV_VOID_PRINT value="Disable" />
|
||||
<BV_RETRY_COUNT value="0" />
|
||||
<BV_HOST_NOTIFICATION value="Disable" />
|
||||
<UNIT value="dot" />
|
||||
</Model>
|
||||
@@ -24,6 +24,8 @@ namespace Project
|
||||
public List<Class.RegexPattern> BCDPattern;
|
||||
public List<Class.RegexPattern> BCDIgnorePattern;
|
||||
|
||||
public object BCDPatternLock = new object();
|
||||
|
||||
public DateTime ResetButtonDownTime = DateTime.Now;
|
||||
public Boolean ClearAllSID = false;
|
||||
public Class.CHistorySIDRef SIDReference; //SIDLIST받은 내역
|
||||
@@ -194,6 +196,7 @@ namespace Project
|
||||
public DateTime retryTime;
|
||||
public DateTime[] WaitForVar = new DateTime[255];
|
||||
public int ABCount = 0;
|
||||
public bool AutoReelOut = false;
|
||||
|
||||
public CResult()
|
||||
{
|
||||
@@ -202,7 +205,7 @@ namespace Project
|
||||
|
||||
SIDReference = new Class.CHistorySIDRef();
|
||||
SIDHistory = new DataSet1.SIDHistoryDataTable();
|
||||
BCDPattern = new List<Class.RegexPattern>();
|
||||
BCDPattern = new List<Class.RegexPattern>();
|
||||
OUTHistory = new List<UIControl.CItem>();
|
||||
|
||||
this.Clear("Result ctor");
|
||||
@@ -274,6 +277,7 @@ namespace Project
|
||||
PrintPostionList = new Dictionary<string, string>();
|
||||
else
|
||||
PrintPostionList.Clear();
|
||||
PUB.log.Add("Print Positoin Clear");
|
||||
|
||||
ItemDataL.Clear(Reason);
|
||||
ItemDataC.Clear(Reason);
|
||||
|
||||
@@ -1,393 +1,393 @@
|
||||
using Project;
|
||||
using Project.Device;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Management;
|
||||
using System.Net;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AR;
|
||||
//using Project;
|
||||
//using Project.Device;
|
||||
//using System;
|
||||
//using System.Collections.Generic;
|
||||
//using System.Linq;
|
||||
//using System.Management;
|
||||
//using System.Net;
|
||||
//using System.Net.NetworkInformation;
|
||||
//using System.Text;
|
||||
//using System.Threading.Tasks;
|
||||
//using AR;
|
||||
|
||||
/// <summary>
|
||||
/// ============================================================================
|
||||
/// 장비기술 상태 모니터링 관련 클래스
|
||||
/// 이 클래스는 SQLfiletoDB 프로그램과 같이 사용하는 것을 권장합니다.
|
||||
/// 현재 실행 중인 프로그램의 하위 폴더 Status 에 입력된 상태값을 SQL 파일로 기록합니다.
|
||||
/// SQLfiletoDB는 SQL파일을 실제 DB에 기록하는 프로그램입니다.
|
||||
/// ============================================================================
|
||||
/// 작성자 : chi
|
||||
/// 작성일 : 202-06-15
|
||||
/// GIT : (none)
|
||||
/// </summary>
|
||||
public static partial class EEMStatus
|
||||
{
|
||||
static System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(true);
|
||||
static string ip = string.Empty;
|
||||
static string mac = string.Empty;
|
||||
static DateTime StatusChecktime = DateTime.Now;
|
||||
static DateTime MonitorChecktime = DateTime.Now.AddYears(-1);
|
||||
static DateTime FileCheckTime = DateTime.Now;
|
||||
static string monitorfile = string.Empty;
|
||||
/// <summary>
|
||||
/// UpdateStatusSQL 명령이 동작하는 간격이며 기본 180초(=3분)로 되어 있습니다.
|
||||
/// </summary>
|
||||
public static int UpdateStatusInterval { get; set; } = 180;
|
||||
public static int UpdateFileInterval { get; set; } = 3;
|
||||
static bool queryok = false;
|
||||
static bool UpdateRun = false;
|
||||
///// <summary>
|
||||
///// ============================================================================
|
||||
///// 장비기술 상태 모니터링 관련 클래스
|
||||
///// 이 클래스는 SQLfiletoDB 프로그램과 같이 사용하는 것을 권장합니다.
|
||||
///// 현재 실행 중인 프로그램의 하위 폴더 Status 에 입력된 상태값을 SQL 파일로 기록합니다.
|
||||
///// SQLfiletoDB는 SQL파일을 실제 DB에 기록하는 프로그램입니다.
|
||||
///// ============================================================================
|
||||
///// 작성자 : chi
|
||||
///// 작성일 : 202-06-15
|
||||
///// GIT : (none)
|
||||
///// </summary>
|
||||
//public static partial class EEMStatus
|
||||
//{
|
||||
// static System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(true);
|
||||
// static string ip = string.Empty;
|
||||
// static string mac = string.Empty;
|
||||
// static DateTime StatusChecktime = DateTime.Now;
|
||||
// static DateTime MonitorChecktime = DateTime.Now.AddYears(-1);
|
||||
// static DateTime FileCheckTime = DateTime.Now;
|
||||
// static string monitorfile = string.Empty;
|
||||
// /// <summary>
|
||||
// /// UpdateStatusSQL 명령이 동작하는 간격이며 기본 180초(=3분)로 되어 있습니다.
|
||||
// /// </summary>
|
||||
// public static int UpdateStatusInterval { get; set; } = 180;
|
||||
// public static int UpdateFileInterval { get; set; } = 3;
|
||||
// static bool queryok = false;
|
||||
// static bool UpdateRun = false;
|
||||
|
||||
public static string IP
|
||||
{
|
||||
get
|
||||
{
|
||||
if (queryok == false) GetNetworkInfo();
|
||||
return ip;
|
||||
}
|
||||
set { ip = value; }
|
||||
}
|
||||
public static string MAC
|
||||
{
|
||||
get
|
||||
{
|
||||
if (queryok == false) GetNetworkInfo();
|
||||
return mac;
|
||||
}
|
||||
set
|
||||
{
|
||||
mac = value;
|
||||
}
|
||||
}
|
||||
// public static string IP
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// if (queryok == false) GetNetworkInfo();
|
||||
// return ip;
|
||||
// }
|
||||
// set { ip = value; }
|
||||
// }
|
||||
// public static string MAC
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// if (queryok == false) GetNetworkInfo();
|
||||
// return mac;
|
||||
// }
|
||||
// set
|
||||
// {
|
||||
// mac = value;
|
||||
// }
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// 현재 시스템의 IP/MAC정보를 취득합니다.
|
||||
/// </summary>
|
||||
static void GetNetworkInfo()
|
||||
{
|
||||
// /// <summary>
|
||||
// /// 현재 시스템의 IP/MAC정보를 취득합니다.
|
||||
// /// </summary>
|
||||
// static void GetNetworkInfo()
|
||||
// {
|
||||
|
||||
ip = "";
|
||||
mac = "";
|
||||
// string prgmName = Application.ProductName;
|
||||
// ip = "";
|
||||
// mac = "";
|
||||
// // string prgmName = Application.ProductName;
|
||||
|
||||
var nif = NetworkInterface.GetAllNetworkInterfaces();
|
||||
var host = Dns.GetHostEntry(Dns.GetHostName());
|
||||
string fullname = System.Net.Dns.GetHostEntry("").HostName;
|
||||
foreach (IPAddress r in host.AddressList)
|
||||
{
|
||||
string str = r.ToString();
|
||||
// var nif = NetworkInterface.GetAllNetworkInterfaces();
|
||||
// var host = Dns.GetHostEntry(Dns.GetHostName());
|
||||
// string fullname = System.Net.Dns.GetHostEntry("").HostName;
|
||||
// foreach (IPAddress r in host.AddressList)
|
||||
// {
|
||||
// string str = r.ToString();
|
||||
|
||||
if (str != "" && str.Substring(0, 3) == "10.")
|
||||
{
|
||||
ip = str;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// if (str != "" && str.Substring(0, 3) == "10.")
|
||||
// {
|
||||
// ip = str;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
string rtn = string.Empty;
|
||||
ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");
|
||||
ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq);
|
||||
foreach (ManagementObject mo in query1.Get())
|
||||
{
|
||||
string[] address = (string[])mo["IPAddress"];
|
||||
if (address[0] == ip && mo["MACAddress"] != null)
|
||||
{
|
||||
mac = mo["MACAddress"].ToString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
queryok = true;
|
||||
}
|
||||
// string rtn = string.Empty;
|
||||
// ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");
|
||||
// ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq);
|
||||
// foreach (ManagementObject mo in query1.Get())
|
||||
// {
|
||||
// string[] address = (string[])mo["IPAddress"];
|
||||
// if (address[0] == ip && mo["MACAddress"] != null)
|
||||
// {
|
||||
// mac = mo["MACAddress"].ToString();
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// queryok = true;
|
||||
// }
|
||||
|
||||
public static void UpdateStatusSQL(eSMStep status, bool _extrun = false, string remark = "")
|
||||
{
|
||||
var tsrun = DateTime.Now - StatusChecktime;
|
||||
if (tsrun.TotalSeconds >= UpdateStatusInterval)
|
||||
{
|
||||
AddStatusSQL(status, "UPDATE", extrun: _extrun);
|
||||
StatusChecktime = DateTime.Now;
|
||||
}
|
||||
// public static void UpdateStatusSQL(eSMStep status, bool _extrun = false, string remark = "")
|
||||
// {
|
||||
// var tsrun = DateTime.Now - StatusChecktime;
|
||||
// if (tsrun.TotalSeconds >= UpdateStatusInterval)
|
||||
// {
|
||||
// AddStatusSQL(status, "UPDATE", extrun: _extrun);
|
||||
// StatusChecktime = DateTime.Now;
|
||||
// }
|
||||
|
||||
//내부실행모드일때에만 파일을 처리한다
|
||||
if (_extrun == false)
|
||||
{
|
||||
var tsfile = DateTime.Now - FileCheckTime;
|
||||
if (tsfile.TotalSeconds >= UpdateFileInterval)
|
||||
{
|
||||
if (UpdateRun == false)
|
||||
{
|
||||
UpdateRun = true;
|
||||
Task.Run(() =>
|
||||
{
|
||||
UpdateFileToDB();
|
||||
UpdateRun = false;
|
||||
});
|
||||
}
|
||||
FileCheckTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
// //내부실행모드일때에만 파일을 처리한다
|
||||
// if (_extrun == false)
|
||||
// {
|
||||
// var tsfile = DateTime.Now - FileCheckTime;
|
||||
// if (tsfile.TotalSeconds >= UpdateFileInterval)
|
||||
// {
|
||||
// if (UpdateRun == false)
|
||||
// {
|
||||
// UpdateRun = true;
|
||||
// Task.Run(() =>
|
||||
// {
|
||||
// UpdateFileToDB();
|
||||
// UpdateRun = false;
|
||||
// });
|
||||
// }
|
||||
// FileCheckTime = DateTime.Now;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// 상태모니터링 프로그램의 실행파일 명
|
||||
/// </summary>
|
||||
static string StatusMonitorFile
|
||||
{
|
||||
get
|
||||
{
|
||||
if (string.IsNullOrEmpty(monitorfile))
|
||||
monitorfile = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status", "SQLFileToDB.exe");
|
||||
return monitorfile;
|
||||
}
|
||||
}
|
||||
// /// <summary>
|
||||
// /// 상태모니터링 프로그램의 실행파일 명
|
||||
// /// </summary>
|
||||
// static string StatusMonitorFile
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// if (string.IsNullOrEmpty(monitorfile))
|
||||
// monitorfile = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status", "SQLFileToDB.exe");
|
||||
// return monitorfile;
|
||||
// }
|
||||
// }
|
||||
|
||||
static System.Diagnostics.Process CheckMonitor()
|
||||
{
|
||||
if (System.IO.File.Exists(StatusMonitorFile) == false) return null;
|
||||
// static System.Diagnostics.Process CheckMonitor()
|
||||
// {
|
||||
// if (System.IO.File.Exists(StatusMonitorFile) == false) return null;
|
||||
|
||||
var prcs = System.Diagnostics.Process.GetProcesses();
|
||||
return prcs.Where(t => t.ProcessName.ToLower().StartsWith("sqlfiletodb")).FirstOrDefault();
|
||||
}
|
||||
// var prcs = System.Diagnostics.Process.GetProcesses();
|
||||
// return prcs.Where(t => t.ProcessName.ToLower().StartsWith("sqlfiletodb")).FirstOrDefault();
|
||||
// }
|
||||
|
||||
public static bool RunStatusMonitor()
|
||||
{
|
||||
//파일이 없으면 실행 불가
|
||||
if (System.IO.File.Exists(StatusMonitorFile) == false) return false;
|
||||
// public static bool RunStatusMonitor()
|
||||
// {
|
||||
// //파일이 없으면 실행 불가
|
||||
// if (System.IO.File.Exists(StatusMonitorFile) == false) return false;
|
||||
|
||||
//실행프로세스 검사
|
||||
var prc = CheckMonitor();
|
||||
if (prc == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
prc = new System.Diagnostics.Process();
|
||||
prc.StartInfo = new System.Diagnostics.ProcessStartInfo
|
||||
{
|
||||
Arguments = string.Empty,
|
||||
FileName = StatusMonitorFile,
|
||||
};
|
||||
prc.Start();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// //실행프로세스 검사
|
||||
// var prc = CheckMonitor();
|
||||
// if (prc == null)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// prc = new System.Diagnostics.Process();
|
||||
// prc.StartInfo = new System.Diagnostics.ProcessStartInfo
|
||||
// {
|
||||
// Arguments = string.Empty,
|
||||
// FileName = StatusMonitorFile,
|
||||
// };
|
||||
// prc.Start();
|
||||
// }
|
||||
// catch
|
||||
// {
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
|
||||
return true;
|
||||
}
|
||||
// return true;
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// 작업수량을 입력합니다
|
||||
/// </summary>
|
||||
/// <param name="cnt"></param>
|
||||
/// <returns></returns>
|
||||
public static string AddStatusCount(int cnt, string remark = "")
|
||||
{
|
||||
if (remark.isEmpty()) remark = $"Count Set : {cnt}";
|
||||
return AddStatusSQL(PUB.sm.Step, remark, count: cnt);
|
||||
}
|
||||
/// <summary>
|
||||
/// 상태메세지를 status 폴더에 기록합니다.
|
||||
/// </summary>
|
||||
/// <param name="status">상태머신의 상태값</param>
|
||||
/// <param name="remark">비고</param>
|
||||
/// <param name="wdate">기록일시</param>
|
||||
/// <returns>오류발생시 오류메세지가 반환 됩니다</returns>
|
||||
public static string AddStatusSQL(eSMStep status, string remark = "", DateTime? wdate = null, bool extrun = false, int? count = null)
|
||||
{
|
||||
if (queryok == false || MAC.isEmpty()) GetNetworkInfo();
|
||||
if (status == eSMStep.CLOSEWAIT || status == eSMStep.CLOSED) return string.Empty;
|
||||
// /// <summary>
|
||||
// /// 작업수량을 입력합니다
|
||||
// /// </summary>
|
||||
// /// <param name="cnt"></param>
|
||||
// /// <returns></returns>
|
||||
// public static string AddStatusCount(int cnt, string remark = "")
|
||||
// {
|
||||
// if (remark.isEmpty()) remark = $"Count Set : {cnt}";
|
||||
// return AddStatusSQL(PUB.sm.Step, remark, count: cnt);
|
||||
// }
|
||||
// /// <summary>
|
||||
// /// 상태메세지를 status 폴더에 기록합니다.
|
||||
// /// </summary>
|
||||
// /// <param name="status">상태머신의 상태값</param>
|
||||
// /// <param name="remark">비고</param>
|
||||
// /// <param name="wdate">기록일시</param>
|
||||
// /// <returns>오류발생시 오류메세지가 반환 됩니다</returns>
|
||||
// public static string AddStatusSQL(eSMStep status, string remark = "", DateTime? wdate = null, bool extrun = false, int? count = null)
|
||||
// {
|
||||
// if (queryok == false || MAC.isEmpty()) GetNetworkInfo();
|
||||
// if (status == eSMStep.CLOSEWAIT || status == eSMStep.CLOSED) return string.Empty;
|
||||
|
||||
if (extrun)
|
||||
{
|
||||
//상태모니터링 프로그램을 실행합니다.
|
||||
var tsMon = DateTime.Now - MonitorChecktime;
|
||||
if (tsMon.TotalMinutes > 5) RunStatusMonitor();
|
||||
}
|
||||
// if (extrun)
|
||||
// {
|
||||
// //상태모니터링 프로그램을 실행합니다.
|
||||
// var tsMon = DateTime.Now - MonitorChecktime;
|
||||
// if (tsMon.TotalMinutes > 5) RunStatusMonitor();
|
||||
// }
|
||||
|
||||
try
|
||||
{
|
||||
var state = 0;
|
||||
string cntstr = "null";
|
||||
if (count != null) cntstr = count.ToString();
|
||||
var alarmid = string.Empty;
|
||||
var alarmmsg = string.Empty;
|
||||
if (string.IsNullOrEmpty(remark)) remark = $"STS:{status}";
|
||||
// try
|
||||
// {
|
||||
// var state = 0;
|
||||
// string cntstr = "null";
|
||||
// if (count != null) cntstr = count.ToString();
|
||||
// var alarmid = string.Empty;
|
||||
// var alarmmsg = string.Empty;
|
||||
// if (string.IsNullOrEmpty(remark)) remark = $"STS:{status}";
|
||||
|
||||
if (status == eSMStep.RUN) state = 1;
|
||||
else if (status == eSMStep.ERROR || status == eSMStep.EMERGENCY)
|
||||
{
|
||||
state = 2;
|
||||
alarmid = PUB.Result.ResultErrorCode.ToString();
|
||||
alarmmsg = PUB.Result.ResultMessage;
|
||||
}
|
||||
else if (status == eSMStep.PAUSE) //일시중지도 오류코드가 포함된다,
|
||||
{
|
||||
if (PUB.Result.ResultErrorCode == Project.eECode.USER_STEP ||
|
||||
PUB.Result.ResultErrorCode == Project.eECode.USER_STOP ||
|
||||
PUB.Result.ResultErrorCode.ToString().StartsWith("MESSAGE"))
|
||||
{
|
||||
//사용자에의해 멈추는 것은 오류코드를 넣지 않는다.
|
||||
}
|
||||
else
|
||||
{
|
||||
alarmid = PUB.Result.ResultErrorCode.ToString();
|
||||
alarmmsg = PUB.Result.ResultMessage;
|
||||
}
|
||||
}
|
||||
else if (status == eSMStep.INIT) state = 3; //시작
|
||||
else if (status == eSMStep.CLOSING) state = 4; //종료
|
||||
// if (status == eSMStep.RUN) state = 1;
|
||||
// else if (status == eSMStep.ERROR || status == eSMStep.EMERGENCY)
|
||||
// {
|
||||
// state = 2;
|
||||
// alarmid = PUB.Result.ResultErrorCode.ToString();
|
||||
// alarmmsg = PUB.Result.ResultMessage;
|
||||
// }
|
||||
// else if (status == eSMStep.PAUSE) //일시중지도 오류코드가 포함된다,
|
||||
// {
|
||||
// if (PUB.Result.ResultErrorCode == Project.eECode.USER_STEP ||
|
||||
// PUB.Result.ResultErrorCode == Project.eECode.USER_STOP ||
|
||||
// PUB.Result.ResultErrorCode.ToString().StartsWith("MESSAGE"))
|
||||
// {
|
||||
// //사용자에의해 멈추는 것은 오류코드를 넣지 않는다.
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// alarmid = PUB.Result.ResultErrorCode.ToString();
|
||||
// alarmmsg = PUB.Result.ResultMessage;
|
||||
// }
|
||||
// }
|
||||
// else if (status == eSMStep.INIT) state = 3; //시작
|
||||
// else if (status == eSMStep.CLOSING) state = 4; //종료
|
||||
|
||||
//length check
|
||||
if (alarmid.Length > 10) alarmid = alarmid.Substring(0, 10);
|
||||
if (remark.Length > 99) remark = remark.Substring(0, 99);
|
||||
if (alarmmsg.Length > 250) alarmmsg = alarmmsg.Substring(0, 50);
|
||||
// //length check
|
||||
// if (alarmid.Length > 10) alarmid = alarmid.Substring(0, 10);
|
||||
// if (remark.Length > 99) remark = remark.Substring(0, 99);
|
||||
// if (alarmmsg.Length > 250) alarmmsg = alarmmsg.Substring(0, 50);
|
||||
|
||||
var mcid = AR.SETTING.Data.MCID;// Project.PUB.setting.MCID;//.Data.MCID;
|
||||
//var mcid = Project.PUB.setting.MCID;//.Data.MCID;
|
||||
var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status");
|
||||
var file = System.IO.Path.Combine(path, $"{DateTime.Now.ToString("HHmmssfff")}_{status}.sql");
|
||||
var sql = "insert into MCMonitor_Rawdata(Model,status,remark,ip,mac,time,alarmid,alarmmsg,count,version) " +
|
||||
" values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',{8},'{9}')";
|
||||
// var mcid = AR.SETTING.Data.MCID;// Project.PUB.setting.MCID;//.Data.MCID;
|
||||
// //var mcid = Project.PUB.setting.MCID;//.Data.MCID;
|
||||
// var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status");
|
||||
// var file = System.IO.Path.Combine(path, $"{DateTime.Now.ToString("HHmmssfff")}_{status}.sql");
|
||||
// var sql = "insert into MCMonitor_Rawdata(Model,status,remark,ip,mac,time,alarmid,alarmmsg,count,version) " +
|
||||
// " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',{8},'{9}')";
|
||||
|
||||
var timestr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
if (wdate != null) timestr = ((DateTime)wdate).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var VersionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
sql = string.Format(sql, mcid, state, remark.Replace("'", "''"), IP, MAC, timestr, alarmid, alarmmsg, cntstr, VersionNumber);
|
||||
System.IO.File.WriteAllText(file, sql, System.Text.Encoding.Default);
|
||||
// var timestr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
// if (wdate != null) timestr = ((DateTime)wdate).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
// var VersionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
// sql = string.Format(sql, mcid, state, remark.Replace("'", "''"), IP, MAC, timestr, alarmid, alarmmsg, cntstr, VersionNumber);
|
||||
// System.IO.File.WriteAllText(file, sql, System.Text.Encoding.Default);
|
||||
|
||||
////만들어진지 3분이 지난 파일은 삭제한다.
|
||||
//var di = new System.IO.DirectoryInfo(path);
|
||||
//var fi = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly).Where(t => t.LastWriteTime < DateTime.Now.AddMinutes(-3)).FirstOrDefault();
|
||||
//if (fi != null) fi.Delete();
|
||||
if (state == 4) UpdateFileToDB();
|
||||
return string.Empty;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
// ////만들어진지 3분이 지난 파일은 삭제한다.
|
||||
// //var di = new System.IO.DirectoryInfo(path);
|
||||
// //var fi = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly).Where(t => t.LastWriteTime < DateTime.Now.AddMinutes(-3)).FirstOrDefault();
|
||||
// //if (fi != null) fi.Delete();
|
||||
// if (state == 4) UpdateFileToDB();
|
||||
// return string.Empty;
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// return ex.Message;
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
static void UpdateFileToDB()
|
||||
{
|
||||
if (mre.WaitOne(1000) == false) return;
|
||||
mre.Reset();
|
||||
var cs = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||
var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status");
|
||||
var di = new System.IO.DirectoryInfo(path);
|
||||
if (di.Exists == false) return;
|
||||
var file = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly)
|
||||
.Where(t => t.LastWriteTime < DateTime.Now.AddSeconds(-3))
|
||||
.OrderByDescending(t => t.LastWriteTime).FirstOrDefault();
|
||||
// static void UpdateFileToDB()
|
||||
// {
|
||||
// if (mre.WaitOne(1000) == false) return;
|
||||
// mre.Reset();
|
||||
// var cs = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||
// var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status");
|
||||
// var di = new System.IO.DirectoryInfo(path);
|
||||
// if (di.Exists == false) return;
|
||||
// var file = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly)
|
||||
// .Where(t => t.LastWriteTime < DateTime.Now.AddSeconds(-3))
|
||||
// .OrderByDescending(t => t.LastWriteTime).FirstOrDefault();
|
||||
|
||||
if (file == null)
|
||||
{
|
||||
mre.Set();
|
||||
return;
|
||||
}
|
||||
// if (file == null)
|
||||
// {
|
||||
// mre.Set();
|
||||
// return;
|
||||
// }
|
||||
|
||||
//파일을 찾아야한다
|
||||
// PUB.log.Add($">> {file.FullName}");
|
||||
// //파일을 찾아야한다
|
||||
// // PUB.log.Add($">> {file.FullName}");
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
var sql = System.IO.File.ReadAllText(file.FullName, System.Text.Encoding.Default);
|
||||
if (string.IsNullOrEmpty(sql))
|
||||
{
|
||||
//비어잇다면
|
||||
var errpath = System.IO.Path.Combine(di.FullName, "Error");
|
||||
var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||
if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||
System.IO.File.Move(file.FullName, errfile);// file.MoveTo(errfile);
|
||||
// ecnt += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// var csstr = PUB.setting.ConnectionString;
|
||||
// if (string.IsNullOrEmpty(csstr)) csstr = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||
var cn = new System.Data.SqlClient.SqlConnection(cs);
|
||||
var cmd = new System.Data.SqlClient.SqlCommand(sql, cn);
|
||||
cn.Open();
|
||||
var cnt = cmd.ExecuteNonQuery();
|
||||
//if (cnt == 0) PUB.log.Add($"Result Empty : {sql}");
|
||||
cn.Close();
|
||||
cnt += 1;
|
||||
// try
|
||||
// {
|
||||
// var sql = System.IO.File.ReadAllText(file.FullName, System.Text.Encoding.Default);
|
||||
// if (string.IsNullOrEmpty(sql))
|
||||
// {
|
||||
// //비어잇다면
|
||||
// var errpath = System.IO.Path.Combine(di.FullName, "Error");
|
||||
// var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||
// if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||
// System.IO.File.Move(file.FullName, errfile);// file.MoveTo(errfile);
|
||||
// // ecnt += 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // var csstr = PUB.setting.ConnectionString;
|
||||
// // if (string.IsNullOrEmpty(csstr)) csstr = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||
// var cn = new System.Data.SqlClient.SqlConnection(cs);
|
||||
// var cmd = new System.Data.SqlClient.SqlCommand(sql, cn);
|
||||
// cn.Open();
|
||||
// var cnt = cmd.ExecuteNonQuery();
|
||||
// //if (cnt == 0) PUB.log.Add($"Result Empty : {sql}");
|
||||
// cn.Close();
|
||||
// cnt += 1;
|
||||
|
||||
var errpath = System.IO.Path.Combine(di.FullName, "Complete");
|
||||
var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||
if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||
//file.MoveTo(errfile);
|
||||
System.IO.File.Move(file.FullName, errfile);
|
||||
}
|
||||
// var errpath = System.IO.Path.Combine(di.FullName, "Complete");
|
||||
// var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||
// if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||
// //file.MoveTo(errfile);
|
||||
// System.IO.File.Move(file.FullName, errfile);
|
||||
// }
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if(ex.Message.Contains("deadlocked") == false)
|
||||
{
|
||||
var errpath = System.IO.Path.Combine(di.FullName, "Error");
|
||||
var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||
if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||
try
|
||||
{
|
||||
//file.MoveTo(errfile);
|
||||
System.IO.File.Move(file.FullName, errfile);
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// if(ex.Message.Contains("deadlocked") == false)
|
||||
// {
|
||||
// var errpath = System.IO.Path.Combine(di.FullName, "Error");
|
||||
// var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||
// if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||
// try
|
||||
// {
|
||||
// //file.MoveTo(errfile);
|
||||
// System.IO.File.Move(file.FullName, errfile);
|
||||
|
||||
//오류내용도 저장한다..
|
||||
var errfilename = errfile + "_error.txt";
|
||||
System.IO.File.WriteAllText(errfilename, ex.Message, System.Text.Encoding.Default);
|
||||
}
|
||||
catch (Exception ex2)
|
||||
{
|
||||
// //오류내용도 저장한다..
|
||||
// var errfilename = errfile + "_error.txt";
|
||||
// System.IO.File.WriteAllText(errfilename, ex.Message, System.Text.Encoding.Default);
|
||||
// }
|
||||
// catch (Exception ex2)
|
||||
// {
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Dead lock error ignored");
|
||||
}
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Console.WriteLine("(UpdateFileToDB) Dead lock error ignored");
|
||||
// }
|
||||
|
||||
//ecnt += 1;
|
||||
}
|
||||
// //ecnt += 1;
|
||||
// }
|
||||
|
||||
//try
|
||||
//{
|
||||
// //생성된지 10일이 넘은 자료는 삭제한다.
|
||||
// //시간소비를 피해서 1개의 파일만 작업한다
|
||||
// //var sqlfiles = di.GetFiles("*.sql", System.IO.SearchOption.AllDirectories);
|
||||
// //총3번의 데이터를 처리한다
|
||||
// //var files = sqlfiles.Where(t => t.LastWriteTime < DateTime.Now.AddDays(-10)).Select(t => t.FullName);
|
||||
// //int i = 0;
|
||||
// //var dellist = files.TakeWhile(t => i++ < 3);
|
||||
// //foreach (var delfile in dellist)
|
||||
// //System.IO.File.Delete(delfile);
|
||||
//}
|
||||
//catch
|
||||
//{
|
||||
// //try
|
||||
// //{
|
||||
// // //생성된지 10일이 넘은 자료는 삭제한다.
|
||||
// // //시간소비를 피해서 1개의 파일만 작업한다
|
||||
// // //var sqlfiles = di.GetFiles("*.sql", System.IO.SearchOption.AllDirectories);
|
||||
// // //총3번의 데이터를 처리한다
|
||||
// // //var files = sqlfiles.Where(t => t.LastWriteTime < DateTime.Now.AddDays(-10)).Select(t => t.FullName);
|
||||
// // //int i = 0;
|
||||
// // //var dellist = files.TakeWhile(t => i++ < 3);
|
||||
// // //foreach (var delfile in dellist)
|
||||
// // //System.IO.File.Delete(delfile);
|
||||
// //}
|
||||
// //catch
|
||||
// //{
|
||||
|
||||
//}
|
||||
mre.Set();
|
||||
}
|
||||
}
|
||||
// //}
|
||||
// mre.Set();
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
/*
|
||||
=================================================
|
||||
변경내역
|
||||
=================================================
|
||||
230619 chi UpdateFileToDB 에서 폴더가 없다면 return 하도록 함
|
||||
230615 chi UpdateFiletoDB의 ManualResetEvent적용
|
||||
Version 항목 추가
|
||||
230612 chi 프로그램 시작/종료 alarmid항목 추가
|
||||
완료된 파일 10일간 보존하도록 함
|
||||
230522 chi extrun 모드 추가(agv용 - SQL파일을 외부 프로그램에서 처리하도록 함)
|
||||
230617 chi 파일쓰기함수를 Task 로 처리
|
||||
3분지난데이터 삭제기능 제거
|
||||
230516 chi initial commit
|
||||
*/
|
||||
///*
|
||||
//=================================================
|
||||
//변경내역
|
||||
//=================================================
|
||||
//230619 chi UpdateFileToDB 에서 폴더가 없다면 return 하도록 함
|
||||
//230615 chi UpdateFiletoDB의 ManualResetEvent적용
|
||||
// Version 항목 추가
|
||||
//230612 chi 프로그램 시작/종료 alarmid항목 추가
|
||||
// 완료된 파일 10일간 보존하도록 함
|
||||
//230522 chi extrun 모드 추가(agv용 - SQL파일을 외부 프로그램에서 처리하도록 함)
|
||||
//230617 chi 파일쓰기함수를 Task 로 처리
|
||||
// 3분지난데이터 삭제기능 제거
|
||||
//230516 chi initial commit
|
||||
//*/
|
||||
|
||||
@@ -10,56 +10,86 @@ namespace Project
|
||||
|
||||
public enum ePXLoc : byte
|
||||
{
|
||||
READYL = 0,
|
||||
READYR,
|
||||
PICKON,
|
||||
PICKOFFL,
|
||||
PICKOFFR,
|
||||
[Description("Reel Waiting(Left) Position")]
|
||||
READYL = 0,
|
||||
[Description("Reel Waiting(Right) Position")]
|
||||
READYR,
|
||||
[Description("Reel PickOn Position")]
|
||||
PICKON,
|
||||
[Description("Reel PickOff(Left) Position")]
|
||||
PICKOFFL,
|
||||
[Description("Reel PickOff(Right) Position")]
|
||||
PICKOFFR,
|
||||
}
|
||||
|
||||
public enum ePZLoc : byte
|
||||
{
|
||||
[Description("Ready Position")]
|
||||
READY = 0,
|
||||
PICKON,
|
||||
PICKOFFL,
|
||||
PICKOFFR,
|
||||
[Description("Reel PickOn Position")]
|
||||
PICKON,
|
||||
[Description("Reel PickOff(Left) Position")]
|
||||
PICKOFFL,
|
||||
[Description("Reel PickOff(Right) Position")]
|
||||
PICKOFFR,
|
||||
}
|
||||
|
||||
public enum ePTLoc : byte
|
||||
{
|
||||
READY = 0,
|
||||
[Description("Ready Position")]
|
||||
READY = 0,
|
||||
}
|
||||
|
||||
public enum eLMLoc : byte
|
||||
{
|
||||
READY = 0,
|
||||
PRINTH07,
|
||||
PRINTL07,
|
||||
PRINTM07,
|
||||
PRINTH13,
|
||||
PRINTL13,
|
||||
PRINTM13,
|
||||
[Description("Ready Position")]
|
||||
READY = 0,
|
||||
[Description("7\" High Attach Position")]
|
||||
PRINTH07,
|
||||
[Description("7\" Low Attach Position")]
|
||||
PRINTL07,
|
||||
[Description("7\" Middle Attach Position")]
|
||||
PRINTM07,
|
||||
[Description("13\" High Attach Position")]
|
||||
PRINTH13,
|
||||
[Description("13\" Low Attach Position")]
|
||||
PRINTL13,
|
||||
[Description("13\" Middle Attach Position")]
|
||||
PRINTM13,
|
||||
}
|
||||
public enum eLZLoc : byte
|
||||
{
|
||||
READY = 0,
|
||||
PICKON,
|
||||
PICKOFF,
|
||||
[Description("Ready Position")]
|
||||
READY = 0,
|
||||
[Description("Reel PickOn Position")]
|
||||
PICKON,
|
||||
[Description("Reel PickOff Position")]
|
||||
PICKOFF,
|
||||
}
|
||||
public enum eRMLoc : byte
|
||||
{
|
||||
READY = 0,
|
||||
PRINTH07,
|
||||
PRINTL07,
|
||||
PRINTM07,
|
||||
PRINTH13,
|
||||
PRINTL13,
|
||||
PRINTM13,
|
||||
}
|
||||
[Description("Ready Position")]
|
||||
READY = 0,
|
||||
[Description("7\" High Attach Position")]
|
||||
PRINTH07,
|
||||
[Description("7\" Low Attach Position")]
|
||||
PRINTL07,
|
||||
[Description("7\" Middle Attach Position")]
|
||||
PRINTM07,
|
||||
[Description("13\" High Attach Position")]
|
||||
PRINTH13,
|
||||
[Description("13\" Low Attach Position")]
|
||||
PRINTL13,
|
||||
[Description("13\" Middle Attach Position")]
|
||||
PRINTM13,
|
||||
}
|
||||
public enum eRZLoc : byte
|
||||
{
|
||||
READY = 0,
|
||||
PICKON,
|
||||
PICKOFF,
|
||||
[Description("Ready Position")]
|
||||
READY = 0,
|
||||
[Description("Reel PickOn Position")]
|
||||
PICKON,
|
||||
[Description("Reel PickOff Position")]
|
||||
PICKOFF,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,5 +113,6 @@ namespace Project.Class
|
||||
PUB.AddDebugLog($"After item copy target rid : {obj.VisionData.RID}, guid={obj.guid}");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace Project.Class
|
||||
/// 정규식 분석이 완료되었다면 True를 반환합니다
|
||||
/// </summary>
|
||||
public Boolean RegExConfirm { get; set; }
|
||||
public Boolean RefExApply { get; set; }
|
||||
public int RefExApply { get; set; }
|
||||
|
||||
public KeyenceBarcodeData()
|
||||
{
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Project
|
||||
public Boolean BCD_DM { get; set; }
|
||||
|
||||
public UInt16 vOption { get; set; }
|
||||
public UInt16 vWMSInfo { get; set; }
|
||||
public UInt16 vSIDInfo { get; set; }
|
||||
public UInt16 vJobInfo { get; set; }
|
||||
public UInt16 vSIDConv1 { get; set; }
|
||||
@@ -42,17 +43,20 @@ namespace Project
|
||||
public bool CheckSIDExsit { get; set; }
|
||||
public bool bOwnZPL { get; set; }
|
||||
public int BSave { get; set; }
|
||||
|
||||
public bool IgnorePartNo { get; set; }
|
||||
public bool IgnoreBatch { get; set; }
|
||||
public int AutoOutConveyor { get; set; }
|
||||
|
||||
|
||||
public ModelInfoV()
|
||||
{
|
||||
vOption = vSIDInfo = vJobInfo = vSIDConv1 = 0;
|
||||
vOption = vWMSInfo = vSIDInfo = vJobInfo = vSIDConv1 = 0;
|
||||
bOwnZPL = false;
|
||||
}
|
||||
|
||||
public void ReadValue(DataSet1.OPModelRow dr)
|
||||
{
|
||||
this.AutoOutConveyor= dr.AutoOutConveyor;
|
||||
this.bOwnZPL = dr.bOwnZPL;
|
||||
this.Title = dr.Title;
|
||||
this.Code = dr.Code;
|
||||
@@ -63,6 +67,7 @@ namespace Project
|
||||
this.BCD_DM = dr.BCD_DM;
|
||||
this.vOption = dr.vOption;
|
||||
this.vJobInfo = dr.vJobInfo;
|
||||
this.vWMSInfo = dr.vWMSInfo;
|
||||
this.vSIDInfo = dr.vSIDInfo;
|
||||
this.vSIDConv1 = dr.vSIDConv;
|
||||
this.Def_MFG = dr.Def_MFG;
|
||||
@@ -72,45 +77,9 @@ namespace Project
|
||||
this.DisablePrinter = dr.DisablePrinter;
|
||||
this.CheckSIDExsit = dr.CheckSIDExsit;
|
||||
this.BSave = dr.BSave;
|
||||
//this.ByPassSID = dr.ByPassSID;
|
||||
this.IgnoreBatch = dr.IgnoreBatch;
|
||||
this.IgnorePartNo = dr.IgnorePartNo;
|
||||
}
|
||||
public bool WriteValue()
|
||||
{
|
||||
var model = PUB.mdm.GetDataV(this.Title);
|
||||
return WriteValue(ref model);
|
||||
}
|
||||
public bool WriteValue(ref DataSet1.OPModelRow dr)
|
||||
{
|
||||
try
|
||||
{
|
||||
dr.Title = this.Title;
|
||||
dr.Code = this.Code;
|
||||
dr.Motion = this.Motion;
|
||||
dr.BCD_1D = this.BCD_1D;
|
||||
dr.BCD_QR = this.BCD_QR;
|
||||
dr.BCD_DM = this.BCD_DM;
|
||||
dr.vOption = this.vOption;
|
||||
dr.vSIDInfo = this.vSIDInfo;
|
||||
dr.vJobInfo = this.vJobInfo;
|
||||
dr.vSIDConv = this.vSIDConv1;
|
||||
dr.Def_MFG = this.Def_MFG;
|
||||
dr.Def_VName = this.Def_Vname;
|
||||
dr.IgnoreOtherBarcode = this.IgnoreOtherBarcode;
|
||||
dr.DisableCamera = this.DisableCamera;
|
||||
dr.DisablePrinter = this.DisablePrinter;
|
||||
dr.CheckSIDExsit = this.CheckSIDExsit;
|
||||
dr.bOwnZPL = this.bOwnZPL;
|
||||
dr.BSave = this.BSave;
|
||||
dr.EndEdit();
|
||||
PUB.mdm.SaveModelV();
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
PUB.log.AddE("write model error" + ex.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverterAttribute(typeof(ExpandableObjectConverter))]
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Project.Class
|
||||
public class VisionData : INotifyPropertyChanged
|
||||
{
|
||||
public int RetryLoader { get; set; }
|
||||
public List<string> bcdMessage { get; set; }
|
||||
public Dictionary<int,string> bcdMessage { get; set; }
|
||||
public Boolean LightOn { get; set; }
|
||||
public DateTime STime; //비젼시작시간
|
||||
public DateTime ETime; //비젼종료시간
|
||||
@@ -25,6 +25,22 @@ namespace Project.Class
|
||||
public string FileNameU; //언로딩존 촬영
|
||||
public Boolean Complete;
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendLine($"SID:{SID}:{(SID_Trust ? "O" : "X")}");
|
||||
sb.AppendLine($"RID:{RID}:{(RID_Trust ? "O" : "X")}");
|
||||
sb.AppendLine($"LOT:{VLOT}:{(VLOT_Trust ? "O" : "X")}");
|
||||
sb.AppendLine($"QTY:{QTY}:{(QTY_Trust ? "O" : "X")}");
|
||||
sb.AppendLine($"BAT:{BATCH}");
|
||||
sb.AppendLine($"MFG:{MFGDATE}:{(MFGDATE_Trust ? "O" : "X")}");
|
||||
sb.AppendLine($"CPN:{PARTNO}:{(PARTNO_Trust ? "O" : "X")}");
|
||||
|
||||
sb.AppendLine($"RID2:{RID2}");
|
||||
sb.AppendLine($"RIDNew:{RIDNew}");
|
||||
sb.AppendLine($"SID0:{SID0}");
|
||||
return sb.ToString();
|
||||
}
|
||||
//public Boolean AngleQR { get; set; }
|
||||
//public Boolean AngleSTD { get; set; }
|
||||
//public double Angle { get; set; }
|
||||
@@ -81,6 +97,15 @@ namespace Project.Class
|
||||
return true;
|
||||
}
|
||||
|
||||
//실제사용한 데이터 우선한다.
|
||||
bcddata = bcdCanList.OrderByDescending(t=>t.Value.RefExApply).FirstOrDefault();
|
||||
if (bcddata.Value != null && bcddata.Value.RefExApply > 0)
|
||||
{
|
||||
bcd = bcddata.Value;
|
||||
msg = $"Used Data({bcddata.Value.RefExApply})";
|
||||
return true;
|
||||
}
|
||||
|
||||
//QR코드를 우선으로 사용 - return 릴은 적용하지 안게한다.
|
||||
//RQ코드가 적용되지 않게한다 210824
|
||||
bcddata = bcdCanList.Where(t => t.Value.barcodeSymbol == "1" && t.Value.isNewLen15 == false && t.Value.Data.EndsWith(";;;") == false && t.Value.Data.StartsWith("RQ") == false).FirstOrDefault();
|
||||
@@ -469,7 +494,7 @@ namespace Project.Class
|
||||
/// <summary>
|
||||
/// keyence 로 부터 신규 바코드가 업데이트되었다
|
||||
/// </summary>
|
||||
public Boolean BarcodeDirty = false;
|
||||
public Boolean BarcodeTouched = false;
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
@@ -593,7 +618,7 @@ namespace Project.Class
|
||||
ApplyOffset = false;
|
||||
var baktime = new DateTime(1982, 11, 23);
|
||||
if (timeBackup) baktime = this.STime;
|
||||
bcdMessage = new List<string>();
|
||||
bcdMessage = new Dictionary<int, string>();
|
||||
|
||||
PositionAngle = 0;
|
||||
HASHEADER = false;
|
||||
@@ -682,7 +707,7 @@ namespace Project.Class
|
||||
VLOT_Trust = false;
|
||||
VNAME_Trust = false;
|
||||
|
||||
BarcodeDirty = false;
|
||||
BarcodeTouched = false;
|
||||
MCN = string.Empty;
|
||||
Target = string.Empty;
|
||||
|
||||
@@ -692,9 +717,9 @@ namespace Project.Class
|
||||
public void CopyTo(ref VisionData obj)
|
||||
{
|
||||
//바코드메세지 복사
|
||||
obj.bcdMessage = new List<string>();
|
||||
obj.bcdMessage = new Dictionary<int, string>();
|
||||
foreach (var item in this.bcdMessage)
|
||||
obj.bcdMessage.Add(item);
|
||||
obj.bcdMessage.Add(item.Key, item.Value);
|
||||
|
||||
obj.ApplyOffset = this.ApplyOffset;
|
||||
obj.ConfirmAuto = this.ConfirmAuto;
|
||||
@@ -749,7 +774,7 @@ namespace Project.Class
|
||||
//obj.PrintForce = this.PrintForce;
|
||||
obj.ReelSize = this.ReelSize;
|
||||
obj.PrintPositionCheck = this.PrintPositionCheck;
|
||||
obj.BarcodeDirty = this.BarcodeDirty;
|
||||
obj.BarcodeTouched = this.BarcodeTouched;
|
||||
|
||||
//라벨위치값 복사
|
||||
for (int i = 0; i < obj.LabelPositionData.Length; i++)
|
||||
@@ -823,9 +848,9 @@ namespace Project.Class
|
||||
public void UpdateTo(ref VisionData obj)
|
||||
{
|
||||
//바코드메세지 복사
|
||||
obj.bcdMessage = new List<string>();
|
||||
obj.bcdMessage = new Dictionary<int, string>();
|
||||
foreach (var item in this.bcdMessage)
|
||||
obj.bcdMessage.Add(item);
|
||||
obj.bcdMessage.Add(item.Key, item.Value);
|
||||
|
||||
obj.ApplyOffset = this.ApplyOffset;
|
||||
obj.ConfirmAuto = this.ConfirmAuto;
|
||||
@@ -880,7 +905,7 @@ namespace Project.Class
|
||||
//obj.PrintForce = this.PrintForce;
|
||||
obj.ReelSize = this.ReelSize;
|
||||
obj.PrintPositionCheck = this.PrintPositionCheck;
|
||||
obj.BarcodeDirty = this.BarcodeDirty;
|
||||
obj.BarcodeTouched = this.BarcodeTouched;
|
||||
|
||||
//라벨위치값 복사
|
||||
for (int i = 0; i < obj.LabelPositionData.Length; i++)
|
||||
|
||||
@@ -41,11 +41,11 @@ namespace Project
|
||||
|
||||
public sPositionData Clone()
|
||||
{
|
||||
return new sPositionData
|
||||
{
|
||||
Position = this.Position,
|
||||
Acc = this.Acc,
|
||||
Dcc = this.Dcc,
|
||||
return new sPositionData
|
||||
{
|
||||
Position = this.Position,
|
||||
Acc = this.Acc,
|
||||
Dcc = this.Dcc,
|
||||
//isError = this.isError,
|
||||
Message = this.Message,
|
||||
Speed = this.Speed,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,33 +4,33 @@
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-129" ViewPortY="30" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="138" ViewPortY="125" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_Result" ZOrder="22" X="256" Y="216" Height="533" Width="313" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="292" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_RegExRule" ZOrder="11" X="989" Y="120" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="252" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_RegExRule" ZOrder="1" X="989" Y="120" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_SID_Convert" ZOrder="17" X="523" Y="187" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_SID_Information" ZOrder="20" X="510" Y="176" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="197" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_PreSet" ZOrder="16" X="622" Y="154" Height="305" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_CustInfo" ZOrder="1" X="658" Y="45" Height="115" Width="299" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_PreSet" ZOrder="2" X="622" Y="154" Height="305" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_CustInfo" ZOrder="5" X="658" Y="45" Height="115" Width="299" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:ResultSummary" ZOrder="18" X="-124" Y="28" Height="153" Width="293" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_Print_Information" ZOrder="15" X="560" Y="83" Height="210" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignTable:K4EE_Component_Reel_Print_Information" ZOrder="16" X="560" Y="83" Height="210" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignTable:CustCodeList" ZOrder="19" X="932" Y="62" Height="96" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
|
||||
<Shape ID="DesignTable:SidinfoCustGroup" ZOrder="14" X="747" Y="496" Height="96" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
|
||||
<Shape ID="DesignTable:Users" ZOrder="4" X="791" Y="379" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
|
||||
<Shape ID="DesignTable:MCModel" ZOrder="6" X="919" Y="476" Height="410" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
|
||||
<Shape ID="DesignTable:SidinfoCustGroup" ZOrder="15" X="747" Y="496" Height="96" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
|
||||
<Shape ID="DesignTable:Users" ZOrder="8" X="791" Y="379" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
|
||||
<Shape ID="DesignTable:MCModel" ZOrder="10" X="919" Y="476" Height="410" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
|
||||
<Shape ID="DesignTable:language" ZOrder="24" X="912" Y="519" Height="239" Width="134" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
|
||||
<Shape ID="DesignTable:OPModel" ZOrder="12" X="1026" Y="230" Height="486" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="482" />
|
||||
<Shape ID="DesignTable:BCDData" ZOrder="7" X="877" Y="455" Height="163" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
|
||||
<Shape ID="DesignTable:OPModel" ZOrder="3" X="1026" Y="230" Height="486" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="482" />
|
||||
<Shape ID="DesignTable:BCDData" ZOrder="11" X="877" Y="455" Height="163" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
|
||||
<Shape ID="DesignTable:UserSID" ZOrder="25" X="872" Y="524" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:MailFormat" ZOrder="21" X="806" Y="428" Height="49" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
|
||||
<Shape ID="DesignTable:MailRecipient" ZOrder="2" X="860" Y="495" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:SIDHistory" ZOrder="9" X="841" Y="350" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:InputDescription" ZOrder="8" X="744" Y="350" Height="143" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
|
||||
<Shape ID="DesignTable:OutputDescription" ZOrder="3" X="864" Y="466" Height="182" Width="174" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:UserTable" ZOrder="10" X="734" Y="246" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
|
||||
<Shape ID="DesignTable:ErrorDescription" ZOrder="5" X="831" Y="439" Height="105" Width="161" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
|
||||
<Shape ID="DesignTable:MailRecipient" ZOrder="6" X="860" Y="495" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:SIDHistory" ZOrder="13" X="841" Y="350" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:InputDescription" ZOrder="12" X="744" Y="350" Height="143" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
|
||||
<Shape ID="DesignTable:OutputDescription" ZOrder="7" X="864" Y="466" Height="182" Width="174" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:UserTable" ZOrder="14" X="734" Y="246" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
|
||||
<Shape ID="DesignTable:ErrorDescription" ZOrder="9" X="831" Y="439" Height="105" Width="161" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
|
||||
<Shape ID="DesignTable:ModelList" ZOrder="23" X="901" Y="509" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
|
||||
<Shape ID="DesignSources:QueriesTableAdapter" ZOrder="13" X="745" Y="74" Height="315" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="311" />
|
||||
<Shape ID="DesignSources:QueriesTableAdapter" ZOrder="4" X="745" Y="74" Height="315" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="311" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
||||
4164
Handler/Project/DataSet11.Designer.cs
generated
4164
Handler/Project/DataSet11.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -326,7 +326,7 @@ namespace Project.Device
|
||||
|
||||
public bool BSave(int no)
|
||||
{
|
||||
var cmd = "BSAVE,{no}";
|
||||
var cmd = $"BSAVE,{no}";
|
||||
try
|
||||
{
|
||||
ws.Send(cmd + "\r");
|
||||
@@ -338,7 +338,7 @@ namespace Project.Device
|
||||
}
|
||||
public bool BLoad(int no)
|
||||
{
|
||||
var cmd = "BLOAD,{no}";
|
||||
var cmd = $"BLOAD,{no}";
|
||||
try
|
||||
{
|
||||
ws.Send(cmd + "\r");
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Project.Device
|
||||
_isopen = true;
|
||||
return _isopen;
|
||||
}
|
||||
catch { _isopen = false; return false; }
|
||||
catch(Exception ex) { _isopen = false; return false; }
|
||||
|
||||
}
|
||||
private string ControlCharReplace(string data)
|
||||
@@ -219,7 +219,7 @@ namespace Project.Device
|
||||
// PUB.log.Add($"SATO Recv : " + e.StrValue);
|
||||
//}
|
||||
|
||||
public Boolean TestPrint(Boolean drawbox, string manu = "", string mfgdate = "")
|
||||
public (Boolean result, string errmessage) TestPrint(Boolean drawbox, string manu = "", string mfgdate = "")
|
||||
{
|
||||
var dtstr = DateTime.Now.ToShortDateString();
|
||||
var printcode = "103077807;Z577603504;105-35282-1105;15000;RC00004A219001W;20210612";
|
||||
@@ -243,7 +243,7 @@ namespace Project.Device
|
||||
}
|
||||
|
||||
|
||||
public Boolean Print(Class.Reel reel, Boolean display1drid, Boolean drawOUtBox)
|
||||
public (Boolean result, string errmessage) Print(Class.Reel reel, Boolean display1drid, Boolean drawOUtBox)
|
||||
{
|
||||
string prtData;
|
||||
prtData = makeZPL_210908(reel, drawOUtBox, out qrData);
|
||||
@@ -251,25 +251,28 @@ namespace Project.Device
|
||||
return Print(prtData);
|
||||
}
|
||||
|
||||
public bool Print(string _zpl)
|
||||
public (Boolean result, string errmessage) Print(string _zpl)
|
||||
{
|
||||
this.LastPrintZPL = _zpl;
|
||||
//if (this.IsOpen == false) return false;
|
||||
try
|
||||
{
|
||||
byte[] cmddata = Utils.StringToByteArray(ControlCharReplace(_zpl));
|
||||
SATOPrinter.Send(cmddata);
|
||||
return true;
|
||||
return (true,"");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return false;
|
||||
return (false,ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public string makeZPL_210908(Class.Reel reel, Boolean drawbox, out string qrData)
|
||||
{
|
||||
string m_strSend = string.Empty;
|
||||
|
||||
if(reel.PartNo.isEmpty())
|
||||
qrData = string.Format("{0};{1};{2};{3};{4};{5}", reel.SID, reel.venderLot, reel.venderName, reel.qty, reel.id, reel.mfg);
|
||||
else
|
||||
qrData = string.Format("{0};{1};{2};{3};{4};{5};{6}", reel.SID, reel.venderLot, reel.venderName, reel.qty, reel.id, reel.mfg, reel.PartNo);
|
||||
|
||||
var reeid = reel.id;
|
||||
@@ -277,14 +280,24 @@ namespace Project.Device
|
||||
reeid = "..." + reeid.Substring(reeid.Length - 20);
|
||||
|
||||
m_strSend = this.baseZPL;
|
||||
m_strSend = m_strSend.Replace("{qrData}", qrData);
|
||||
m_strSend = m_strSend.Replace("{qrdata}", qrData);
|
||||
m_strSend = m_strSend.Replace("{sid}", reel.SID);
|
||||
m_strSend = m_strSend.Replace("{lot}", reel.venderLot);
|
||||
m_strSend = m_strSend.Replace("{partnum}", reel.PartNo);
|
||||
m_strSend = m_strSend.Replace("{rid}", reeid);
|
||||
m_strSend = m_strSend.Replace("{qty}", reel.qty.ToString());
|
||||
m_strSend = m_strSend.Replace("{mfg}", reel.mfg);
|
||||
m_strSend = m_strSend.Replace("{supply}", reel.venderName);
|
||||
|
||||
var supply1 = reel.venderName;
|
||||
string supply2 = "";
|
||||
if (supply1.Length > 30)
|
||||
{
|
||||
supply2 = supply1.Substring(30);
|
||||
supply1 = supply1.Substring(0, 30);
|
||||
}
|
||||
|
||||
m_strSend = m_strSend.Replace("{supply}", supply1);
|
||||
m_strSend = m_strSend.Replace("{supply2}", supply2);
|
||||
|
||||
//줄바꿈제거
|
||||
m_strSend = m_strSend.Replace("\r", "").Replace("\n", "");
|
||||
|
||||
@@ -231,7 +231,7 @@ namespace Project
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
PUB.log.AddE($"Printer(L) {ex.Message}");
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -260,7 +260,9 @@ namespace Project
|
||||
PUB.PrinterR.Open();
|
||||
PrintRConTime = DateTime.Now;
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
catch (Exception ex) {
|
||||
PUB.log.AddE($"Printer(R) {ex.Message}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
3034
Handler/Project/Dialog/Model_Motion.Designer.cs
generated
3034
Handler/Project/Dialog/Model_Motion.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -57,7 +57,7 @@ namespace Project
|
||||
string.Empty
|
||||
});
|
||||
}
|
||||
|
||||
dvMot.Columns[10].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
|
||||
//링크레이블과 버튼 연결
|
||||
AttachEvents();
|
||||
}
|
||||
@@ -402,7 +402,7 @@ namespace Project
|
||||
//if (groupBox3.Enabled == false) groupBox3.Enabled = true;
|
||||
|
||||
//각축별 기본 상태를 표시해준다.
|
||||
dvMot.SuspendLayout();
|
||||
//dvMot.SuspendLayout();
|
||||
for (int r = 0; r < dvMot.RowCount; r++) // 오류수정 2111221
|
||||
{
|
||||
var row = this.dvMot.Rows[r];
|
||||
@@ -411,13 +411,20 @@ namespace Project
|
||||
row.Cells[2].Value = $"{PUB.mot.GetCmdPos(axis)}";
|
||||
row.Cells[3].Value = $"{PUB.mot.GetActPos(axis)}";
|
||||
row.Cells[4].Style.BackColor = PUB.mot.IsOrg(axis) ? Color.SkyBlue : Color.Gray;
|
||||
row.Cells[5].Style.BackColor = PUB.mot.IsLimitN(axis) ? Color.Red : Color.Gray;
|
||||
row.Cells[6].Style.BackColor = PUB.mot.IsLimitP(axis) ? Color.Red : Color.Gray;
|
||||
row.Cells[7].Style.BackColor = PUB.mot.IsInp(axis) ? Color.SkyBlue : Color.Gray;
|
||||
row.Cells[8].Style.BackColor = PUB.mot.IsServAlarm(axis) ? Color.Red : Color.Gray;
|
||||
row.Cells[9].Style.BackColor = PUB.mot.IsHomeSet(axis) ? Color.Green : Color.Gray;
|
||||
}
|
||||
dvMot.ResumeLayout();
|
||||
row.Cells[4].Value = PUB.mot.IsOrg(axis) ? "O" : "";
|
||||
row.Cells[5].Style.BackColor = PUB.mot.IsLimitN(axis) ? Color.Red : Color.Gray;
|
||||
row.Cells[5].Value = PUB.mot.IsLimitN(axis) ? "O" : "";
|
||||
row.Cells[6].Style.BackColor = PUB.mot.IsLimitP(axis) ? Color.Red : Color.Gray;
|
||||
row.Cells[6].Value = PUB.mot.IsLimitP(axis) ? "O" : "";
|
||||
row.Cells[7].Style.BackColor = PUB.mot.IsInp(axis) ? Color.SkyBlue : Color.Gray;
|
||||
row.Cells[7].Value = PUB.mot.IsInp(axis) ? "O" : "";
|
||||
row.Cells[8].Style.BackColor = PUB.mot.IsServAlarm(axis) ? Color.Red : Color.Gray;
|
||||
row.Cells[8].Value = PUB.mot.IsServAlarm(axis) ? "O" : "";
|
||||
row.Cells[9].Style.BackColor = PUB.mot.IsHomeSet(axis) ? Color.Green : Color.Gray;
|
||||
row.Cells[9].Value = PUB.mot.IsHomeSet(axis) ? "O" : "";
|
||||
row.Cells[10].Value = PUB.mot.IsServOn(axis) ? "Servo On" : "Servo Off";
|
||||
}
|
||||
//dvMot.ResumeLayout();
|
||||
}
|
||||
// this.tblFG.Invalidate();
|
||||
}
|
||||
@@ -732,7 +739,7 @@ namespace Project
|
||||
cntE += 1;
|
||||
pDr.PosTitle = arrTitle;
|
||||
}
|
||||
//pDr.Description = targetem.DescriptionAttr();
|
||||
pDr.Description = targetem.DescriptionAttr();
|
||||
//pDr.Category = targetem.CategoryAttr();
|
||||
pDr.Check = true;
|
||||
pDr.EndEdit();
|
||||
@@ -856,7 +863,7 @@ namespace Project
|
||||
|
||||
if (UTIL.MsgQ(msg) != System.Windows.Forms.DialogResult.Yes) return;
|
||||
|
||||
if (!MOT.Move(axis, value, speed, acc, relative, !chkJogMoveForce.Checked, !chkJogMoveForce.Checked))
|
||||
if (!MOT.Move(axis, value, speed, acc, relative, true,true))
|
||||
PUB.log.AddE("MOT:MOVE_:" + axis.ToString() + ",Msg=" + PUB.mot.ErrorMessage);
|
||||
|
||||
|
||||
|
||||
@@ -303,11 +303,11 @@
|
||||
<data name="btCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD1SURBVFhH7dAxCsJAEAXQ3E4EbbXRCyiewVaIvZ3oAWy9
|
||||
ggYUi5BOsLS1TZM1A2Mju9kkf9Yizoff7cw8NupsequTQTtYJxdeJx868HgVrUvz4+W2GMbnhFfKRgJ4
|
||||
yHIzKpH9OLnyWrlIAI/3IhxSClgLSY/RznepFeIqzXyAXiQ9RkLz083NLPaZFWPrN7ASKQFMn7mZlMhZ
|
||||
zZ+0AZ1ICSAdbYKkGV+ZJwekNv1JV4MBqRLIoEAqigwOpCJIcaCvNkRVaYZ5ONAXBaJRIBoFolEgGgWi
|
||||
USAaBaJRIBoFoqH9bcq83wD5VLso8C+AocunupYoegNn74NeMo6A3wAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD1SURBVFhH7dAxCsJAEAXQ3E4EbbXRCyiewVaIvZWgB7D1
|
||||
ChpQLEI6wdLWNk3WDIyN7GaT/FmLOB9+tzPz2Kiz6a1OBu1gnVx4nXzowONVtC7Nj5fbYhifE14pGwng
|
||||
IcvNqET24+TKa+UiATzei3BIKWAtJD1GO9+lVoirNPMBepH0GAnNTzc3s9hnVoyt38BKpAQwfeZmUiJn
|
||||
NX/SBnQiJYB0tAmSZnxlnhyQ2vQnXQ0GpEoggwKpKDI4kIogxYG+2hBVpRnm4UBfFIhGgWgUiEaBaBSI
|
||||
RoFoFIhGgWgUiIb2tynzfgPkU+2iwL8Ahi6f6lqi6A3RmINXQmh9mwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
||||
628
Handler/Project/Dialog/Model_Operation.Designer.cs
generated
628
Handler/Project/Dialog/Model_Operation.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -27,6 +27,8 @@ namespace Project
|
||||
this.dv.CellContentClick += dv_CellContentClick;
|
||||
//if (COMM.SETTING.Data.FullScreen) this.WindowState = FormWindowState.Maximized;
|
||||
//this.WindowState = FormWindowState.Normal;
|
||||
dvc_bsave.HeaderText = $"BLoad\n(1~8)";
|
||||
this.panel3.Visible = PUB.UserAdmin;
|
||||
}
|
||||
|
||||
private void FModelV_FormClosing(object sender, FormClosingEventArgs e)
|
||||
@@ -119,6 +121,13 @@ namespace Project
|
||||
if (chk.Tag == null) continue;
|
||||
chk.Click += Chk_Option_Check;
|
||||
}
|
||||
foreach (var c in grpApplyWMSinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
var chk = c as CheckBox;
|
||||
if (chk.Tag == null) continue;
|
||||
chk.Click += Chk_WMSinfo_Check;
|
||||
}
|
||||
foreach (var c in grpApplySidinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
@@ -153,6 +162,17 @@ namespace Project
|
||||
|
||||
bs_CurrentChanged_1(null, null);
|
||||
}
|
||||
private void Chk_WMSinfo_Check(object sender, EventArgs e)
|
||||
{
|
||||
var drv = bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as DataSet1.OPModelRow;
|
||||
var chk = sender as CheckBox;
|
||||
dr.vWMSInfo = UTIL.SetBitState(dr.vWMSInfo, int.Parse(chk.Tag.ToString()), chk.Checked);
|
||||
dr.EndEdit();
|
||||
|
||||
bs_CurrentChanged_1(null, null);
|
||||
}
|
||||
private void Chk_Sidinfo_Check(object sender, EventArgs e)
|
||||
{
|
||||
var drv = bs.Current as DataRowView;
|
||||
@@ -359,31 +379,57 @@ namespace Project
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
|
||||
//button - save
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
|
||||
if (hasChanged() == true)
|
||||
{
|
||||
UTIL.MsgE("Need save");
|
||||
return;
|
||||
}
|
||||
|
||||
if (PUB.PasswordCheck() == false)
|
||||
{
|
||||
UTIL.MsgE("Password incorrect");
|
||||
return;
|
||||
}
|
||||
|
||||
var dr = drv.Row as DataSet1.OPModelRow;
|
||||
var dlg = UTIL.MsgQ(string.Format("Do you want to copy the following model information?\n\nModel Name : {0}", dr.Title));
|
||||
var oldname = dr.Title;
|
||||
var newname = UTIL.InputBox("input new name", dr.Title);
|
||||
|
||||
if (newname.Item1 == false) return;
|
||||
|
||||
if(dr.Title.Equals(newname.Item2))
|
||||
{
|
||||
UTIL.MsgE("Same Data");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var dlg = UTIL.MsgQ(string.Format("Do you want to copy the following model information?\n\nNew Model Name : {0}", newname.Item2));
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
|
||||
|
||||
var newdr = this.ds1.OPModel.NewOPModelRow();
|
||||
UTIL.CopyData(dr, newdr);
|
||||
newdr.Title += "-copy-";
|
||||
newdr.Title = newname.Item2;
|
||||
newdr.idx = this.ds1.OPModel.OrderByDescending(t => t.idx).FirstOrDefault().idx + 1;
|
||||
newdr.EndEdit();
|
||||
this.ds1.OPModel.AddOPModelRow(newdr);
|
||||
if (this.bs.Count > 0) this.bs.Position = this.bs.Count - 1;
|
||||
|
||||
PUB.mdm.dataSet.OPModel.Clear();
|
||||
PUB.mdm.dataSet.OPModel.Merge(this.ds1.OPModel);
|
||||
PUB.mdm.dataSet.AcceptChanges();
|
||||
PUB.mdm.SaveModelV();
|
||||
|
||||
////detailcopy
|
||||
//var childs = ds1.OPModel.Where(t => t.pidx == dr.idx).ToArray();
|
||||
//foreach (var dr2 in childs)
|
||||
//{
|
||||
// var newdr2 = this.ds1.OPModel.NewOPModelRow();
|
||||
// Util.CopyData(dr2, newdr2);
|
||||
// newdr2.pidx = newdr.idx;
|
||||
// newdr2.EndEdit();
|
||||
// newdr2.idx = this.ds1.OPModel.OrderByDescending(t => t.idx).FirstOrDefault().idx + 1;
|
||||
// this.ds1.OPModel.AddOPModelRow(newdr2);
|
||||
//}
|
||||
//if (this.bs.Count > 0) this.bs.Position = this.bs.Count - 1;
|
||||
//copy regex
|
||||
var cnt = DB.CopyRegEx(oldname,newname.Item2);
|
||||
PUB.log.AddAT($"model copy(regex : {cnt})");
|
||||
}
|
||||
|
||||
|
||||
@@ -426,6 +472,14 @@ namespace Project
|
||||
var val = UTIL.GetBitState(dr.vOption, int.Parse(chk.Tag.ToString()));
|
||||
if (chk.Checked != val) chk.Checked = val;
|
||||
}
|
||||
foreach (var c in grpApplyWMSinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
var chk = c as CheckBox;
|
||||
if (chk.Tag == null) continue;
|
||||
var val = UTIL.GetBitState(dr.vWMSInfo, int.Parse(chk.Tag.ToString()));
|
||||
if (chk.Checked != val) chk.Checked = val;
|
||||
}
|
||||
foreach (var c in grpApplySidinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
@@ -514,6 +568,10 @@ namespace Project
|
||||
{
|
||||
grpapplyjob.Enabled = chk.Checked;
|
||||
}
|
||||
if (chk.Name.Equals(chkApplyWMSInfo.Name))
|
||||
{
|
||||
grpApplyWMSinfo.Enabled = chk.Checked;
|
||||
}
|
||||
if (chk.Name.Equals(chkApplySidInfo.Name))
|
||||
{
|
||||
grpApplySidinfo.Enabled = chk.Checked;
|
||||
@@ -522,6 +580,7 @@ namespace Project
|
||||
{
|
||||
GrpSidConvData.Enabled = chk.Checked;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void btConvOk_Click(object sender, EventArgs e)
|
||||
@@ -571,6 +630,51 @@ namespace Project
|
||||
f.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
private void btReName_Click(object sender, EventArgs e)
|
||||
{
|
||||
//button - save
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
|
||||
if (hasChanged() == true)
|
||||
{
|
||||
UTIL.MsgE("Need save");
|
||||
return;
|
||||
}
|
||||
|
||||
if (PUB.PasswordCheck() == false)
|
||||
{
|
||||
UTIL.MsgE("Password incorrect");
|
||||
return;
|
||||
}
|
||||
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as DataSet1.OPModelRow;
|
||||
var beforename = dr.Title;
|
||||
var dlg = UTIL.InputBox("Change Model ?Name", dr.Title);
|
||||
if (dlg.Item1 == false) return;
|
||||
if(beforename.Equals(dlg.Item2))
|
||||
{
|
||||
UTIL.MsgE("Same data");
|
||||
return;
|
||||
}
|
||||
if (UTIL.MsgQ($"Change model name\nBefore:{beforename},After:{dlg.Item2}") != DialogResult.Yes)
|
||||
return;
|
||||
|
||||
dr.Title = dlg.Item2;
|
||||
dr.EndEdit();
|
||||
|
||||
//update regexname
|
||||
DB.ChangeRegExName(beforename, dlg.Item2);
|
||||
|
||||
PUB.mdm.dataSet.OPModel.Clear();
|
||||
PUB.mdm.dataSet.OPModel.Merge(this.ds1.OPModel);
|
||||
PUB.mdm.dataSet.AcceptChanges();
|
||||
PUB.mdm.SaveModelV();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
<metadata name="Code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BSave.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="dvc_bsave.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@@ -142,6 +142,21 @@
|
||||
<value>356, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="btReName.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAAwFJREFUWEft
|
||||
|
||||
@@ -222,9 +222,9 @@ namespace Project.Dialog
|
||||
var butindex = int.Parse(but.Tag.ToString());
|
||||
Boolean current = false;
|
||||
|
||||
if (butindex == 0) current = DIO.GetIOOutput(eDOName.CART_MAG0);
|
||||
else if (butindex == 1) current = DIO.GetIOOutput(eDOName.CART_MAG1);
|
||||
else current = DIO.GetIOOutput(eDOName.CART_MAG2);
|
||||
if (butindex == 0) current = DIO.GetIOOutput(eDOName.PORTL_MAGNET);
|
||||
else if (butindex == 1) current = DIO.GetIOOutput(eDOName.PORTC_MAGNET);
|
||||
else current = DIO.GetIOOutput(eDOName.PORTR_MAGNET);
|
||||
|
||||
DIO.SetPortMagnet(butindex, !current);
|
||||
}
|
||||
@@ -326,16 +326,22 @@ namespace Project.Dialog
|
||||
|
||||
private void button3_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
PUB.PrinterL.TestPrint(AR.SETTING.Data.DrawOutbox, "ATK4EE1", "");
|
||||
var rlt = PUB.PrinterL.TestPrint(AR.SETTING.Data.DrawOutbox, "ATK4EE1", "");
|
||||
var zpl = PUB.PrinterL.LastPrintZPL;
|
||||
PUB.log.Add("Temp Print L: " + PUB.PrinterL.LastPrintZPL);
|
||||
if (rlt.result == false)
|
||||
PUB.log.AddE($"Temp Print L: {rlt.errmessage}" + PUB.PrinterL.LastPrintZPL);
|
||||
else
|
||||
PUB.log.Add("Temp Print L: " + PUB.PrinterL.LastPrintZPL);
|
||||
}
|
||||
|
||||
private void button4_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
PUB.PrinterR.TestPrint(AR.SETTING.Data.DrawOutbox, "ATK4EE1", "");
|
||||
var rlt = PUB.PrinterR.TestPrint(AR.SETTING.Data.DrawOutbox, "ATK4EE1", "");
|
||||
var zpl = PUB.PrinterR.LastPrintZPL;
|
||||
PUB.log.Add("Temp Print R: " + PUB.PrinterR.LastPrintZPL);
|
||||
if (rlt.result == false)
|
||||
PUB.log.AddE($"Temp Print R: {rlt.errmessage}" + PUB.PrinterR.LastPrintZPL);
|
||||
else
|
||||
PUB.log.Add("Temp Print R: " + PUB.PrinterR.LastPrintZPL);
|
||||
}
|
||||
|
||||
private void button15_Click(object sender, EventArgs e)
|
||||
@@ -373,32 +379,30 @@ namespace Project.Dialog
|
||||
{
|
||||
//왼쪽 -5mm
|
||||
var pos = MOT.GetLMPos(eLMLoc.READY);
|
||||
var vel = AR.SETTING.Data.MoveYForPaperVaccumeVel;
|
||||
var acc = AR.SETTING.Data.MoveYForPaperVaccumeAcc;
|
||||
MOT.Move(eAxis.PL_MOVE, pos.Position + AR.SETTING.Data.MoveYForPaperVaccumeValue, vel, acc, false, false, false);
|
||||
MOT.Move(eAxis.PL_MOVE, -5, 100, 500, true, false, false);//, vel, acc, false, false, false);
|
||||
}
|
||||
|
||||
private void button14_Click(object sender, EventArgs e)
|
||||
{
|
||||
//왼쪽 +5mm
|
||||
//왼쪽 Ready Position
|
||||
var pos = MOT.GetLMPos(eLMLoc.READY);
|
||||
MOT.Move(eAxis.PL_MOVE, pos.Position, 50, 200, false, false, false);
|
||||
PUB.log.Add("user:PL_MOVE:to ready");
|
||||
}
|
||||
|
||||
private void button15_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
//오른쪽 -5mm
|
||||
var pos = MOT.GetRMPos(eRMLoc.READY);
|
||||
var vel = AR.SETTING.Data.MoveYForPaperVaccumeVel;
|
||||
var acc = AR.SETTING.Data.MoveYForPaperVaccumeAcc;
|
||||
MOT.Move(eAxis.PR_MOVE, pos.Position + AR.SETTING.Data.MoveYForPaperVaccumeValue, vel, acc, false, false, false);
|
||||
MOT.Move(eAxis.PR_MOVE, -5, 100, 500, false, false, false);// pos.Position + AR.SETTING.Data.MoveYForPaperVaccumeValue, vel, acc, false, false, false);
|
||||
}
|
||||
|
||||
private void button16_Click_2(object sender, EventArgs e)
|
||||
{
|
||||
//오른쪽 +5mm
|
||||
//오른쪽 Ready Position
|
||||
var pos = MOT.GetRMPos(eRMLoc.READY);
|
||||
MOT.Move(eAxis.PR_MOVE, pos.Position, 50, 200, false, false, false);
|
||||
PUB.log.Add("user:pr_move:to ready");
|
||||
}
|
||||
|
||||
private void button17_Click(object sender, EventArgs e)
|
||||
@@ -419,10 +423,10 @@ namespace Project.Dialog
|
||||
if (cur == false)
|
||||
{
|
||||
//내려도되는지 검사해야한다.
|
||||
if(PUB.mot.IsHomeSet((int)eAxis.PL_MOVE))
|
||||
if (PUB.mot.IsHomeSet((int)eAxis.PL_MOVE))
|
||||
{
|
||||
var pos = MOT.GetLMPos(eLMLoc.READY);
|
||||
if(MOT.getPositionMatch(pos))
|
||||
if (MOT.getPositionMatch(pos))
|
||||
{
|
||||
PUB.log.AddE($"Cannot lower cylinder (L) because it is at standby position");
|
||||
}
|
||||
|
||||
26
Handler/Project/Dialog/RegExRule.Designer.cs
generated
26
Handler/Project/Dialog/RegExRule.Designer.cs
generated
@@ -123,8 +123,8 @@
|
||||
this.bindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorAddNewItem.Image")));
|
||||
this.bindingNavigatorAddNewItem.Name = "bindingNavigatorAddNewItem";
|
||||
this.bindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(49, 22);
|
||||
this.bindingNavigatorAddNewItem.Text = "Add";
|
||||
this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(65, 22);
|
||||
this.bindingNavigatorAddNewItem.Text = "Add(&A)";
|
||||
//
|
||||
// bs
|
||||
//
|
||||
@@ -141,7 +141,7 @@
|
||||
// bindingNavigatorCountItem
|
||||
//
|
||||
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
|
||||
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22);
|
||||
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(26, 22);
|
||||
this.bindingNavigatorCountItem.Text = "/{0}";
|
||||
this.bindingNavigatorCountItem.ToolTipText = "Total item count";
|
||||
//
|
||||
@@ -150,8 +150,8 @@
|
||||
this.bindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorDeleteItem.Image")));
|
||||
this.bindingNavigatorDeleteItem.Name = "bindingNavigatorDeleteItem";
|
||||
this.bindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(61, 22);
|
||||
this.bindingNavigatorDeleteItem.Text = "Delete";
|
||||
this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(76, 22);
|
||||
this.bindingNavigatorDeleteItem.Text = "Delete(&D)";
|
||||
//
|
||||
// bindingNavigatorMoveFirstItem
|
||||
//
|
||||
@@ -217,8 +217,8 @@
|
||||
//
|
||||
this.component_Reel_RegExRuleBindingNavigatorSaveItem.Image = ((System.Drawing.Image)(resources.GetObject("component_Reel_RegExRuleBindingNavigatorSaveItem.Image")));
|
||||
this.component_Reel_RegExRuleBindingNavigatorSaveItem.Name = "component_Reel_RegExRuleBindingNavigatorSaveItem";
|
||||
this.component_Reel_RegExRuleBindingNavigatorSaveItem.Size = new System.Drawing.Size(52, 22);
|
||||
this.component_Reel_RegExRuleBindingNavigatorSaveItem.Text = "Save";
|
||||
this.component_Reel_RegExRuleBindingNavigatorSaveItem.Size = new System.Drawing.Size(65, 22);
|
||||
this.component_Reel_RegExRuleBindingNavigatorSaveItem.Text = "Save(&S)";
|
||||
this.component_Reel_RegExRuleBindingNavigatorSaveItem.Click += new System.EventHandler(this.component_Reel_RegExRuleBindingNavigatorSaveItem_Click);
|
||||
//
|
||||
// toolStripButton1
|
||||
@@ -227,8 +227,8 @@
|
||||
this.toolStripButton1.Image = global::Project.Properties.Resources.arrow_refresh_small;
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(66, 22);
|
||||
this.toolStripButton1.Text = "Refresh";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(81, 22);
|
||||
this.toolStripButton1.Text = "Refresh(&R)";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// btCopy
|
||||
@@ -236,8 +236,8 @@
|
||||
this.btCopy.Image = global::Project.Properties.Resources.copy;
|
||||
this.btCopy.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btCopy.Name = "btCopy";
|
||||
this.btCopy.Size = new System.Drawing.Size(55, 22);
|
||||
this.btCopy.Text = "Copy";
|
||||
this.btCopy.Size = new System.Drawing.Size(71, 22);
|
||||
this.btCopy.Text = "Copy(&C)";
|
||||
this.btCopy.Click += new System.EventHandler(this.btCopy_Click);
|
||||
//
|
||||
// toolStripButton2
|
||||
@@ -245,8 +245,8 @@
|
||||
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
|
||||
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton2.Name = "toolStripButton2";
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(83, 22);
|
||||
this.toolStripButton2.Text = "Export List";
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(98, 22);
|
||||
this.toolStripButton2.Text = "Export List(&O)";
|
||||
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
|
||||
//
|
||||
// dv1
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace Project.Dialog
|
||||
if (PUB.Result.isSetvModel)
|
||||
e1.Row["CustCode"] = PUB.Result.vModel.Title;
|
||||
};
|
||||
dataGridViewTextBoxColumn1.Visible = false;
|
||||
|
||||
//모델목록을 업데이트한다.
|
||||
cmbModelList.Items.Clear();
|
||||
@@ -85,17 +86,21 @@ namespace Project.Dialog
|
||||
{
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
var cnt = this.tam.UpdateAll(this.dataSet1);
|
||||
if (cnt == 0)
|
||||
var cnt1 = this.ta.Update(this.dataSet1.K4EE_Component_Reel_RegExRule);
|
||||
//var cnt = this.tam.UpdateAll(this.dataSet1);
|
||||
if (cnt1 == 0)
|
||||
{
|
||||
UTIL.MsgE("No content has been saved");
|
||||
}
|
||||
else UTIL.MsgI($"{cnt} records have been saved");
|
||||
else UTIL.MsgI($"{cnt1} records have been saved");
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
var modelName = PUB.Result.vModel.Title;
|
||||
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
|
||||
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
|
||||
PUB.log.Add($"Model pattern loading: {PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
|
||||
}
|
||||
|
||||
var modelName = PUB.Result.vModel.Title;
|
||||
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
|
||||
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
|
||||
PUB.log.Add($"Model pattern loading: {PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
|
||||
dv1.AutoResizeColumns();
|
||||
}
|
||||
|
||||
@@ -103,7 +108,7 @@ namespace Project.Dialog
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
if (cust == "ALL")
|
||||
{
|
||||
dvcModelName.Visible = true;
|
||||
@@ -125,12 +130,13 @@ namespace Project.Dialog
|
||||
else
|
||||
drow.DefaultCellStyle.BackColor = Color.WhiteSmoke;
|
||||
}
|
||||
dv1.AutoResizeColumns();
|
||||
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message);
|
||||
}
|
||||
dv1.AutoResizeColumns();
|
||||
|
||||
}
|
||||
|
||||
@@ -264,10 +270,12 @@ namespace Project.Dialog
|
||||
Width = 160,
|
||||
Dock = DockStyle.Right,
|
||||
};
|
||||
butok.Click += (s1, e1) => {
|
||||
butok.Click += (s1, e1) =>
|
||||
{
|
||||
f.DialogResult = DialogResult.OK;
|
||||
};
|
||||
butng.Click += (s1, e1) => {
|
||||
butng.Click += (s1, e1) =>
|
||||
{
|
||||
f.DialogResult = DialogResult.Cancel;
|
||||
};
|
||||
|
||||
@@ -286,7 +294,7 @@ namespace Project.Dialog
|
||||
f.Controls.Add(pan);
|
||||
f.Controls.Add(cmb);
|
||||
f.Controls.Add(lb);
|
||||
|
||||
|
||||
if (f.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
return cmb.Text;
|
||||
|
||||
@@ -201,20 +201,20 @@
|
||||
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL4SURBVDhPhZLrS1NhHMf3qv6EsF70UohSSiupF5WpTQ3s
|
||||
ZipleZlTLLWhK4PMmJNMW2iiQkUkRS8qonRObV6ac7nRjEwzM++38DJ1l3Me3Tnz23PORisI+sGH58Vz
|
||||
vh/O73uORJjIG4aU4xVmfdxd87K01MzSk4hohNNC4ip6SMwd08BBpbFqR/yLTWLoz4ku7TYuOMjST5ud
|
||||
t7nWYHP6WXIIEHybc6CoYQoXNEOMNEe32Rf1TmyZaWFxxcn3TLhhmeRgmeJgnuBgGl+H4ccaWgZdWOMA
|
||||
7RCLojeTSL8/wP4liVJ1snZmHb3TPD5Nc/Tk8FGUrKNrZA3vBhkq8KB3jodl1g21bgrh1zuei+FEzZGx
|
||||
s6XxG/La00ivOYOa1nqUvNYgvDgIRyhS9QFEqvahUlspruIkHOZXGERe6+JEQUJF+KuO/iY0DT9CjblA
|
||||
lFysjkHBs2Tk1idBVncCaXVp0PbNo2nAicYvdqzSnqJU3UQUSKukm4+r83jz9/d42q9CuSFHlKTUxtLw
|
||||
SWQ9yIRxxCWu0j7MQk97WHG5EVXywSsQJrqsiygep8I6YkKd5Sput+UjUXMUKdXxsE4wsNJihYKNo95O
|
||||
bFQQqfpDcOhmsXt/4XYkV0nRO9oD9ftsqHQKJN2LQL3hLT7PcLDSYnvG3fhAWXC4EX7LJ9ijDJCHKLch
|
||||
98k5nK+NxrnKY6JEoUuG8nUmfZMICPe9Uzw+Cp+Y4qBFhilNXkGIcstMiHIrfSgAIQUBOFUegUsPU2Ec
|
||||
1EOtL0T2y1TIahNgpQIL/TfMVEDcHoTmGfwrHFZ2k7lVgr4ZXqTr+yyuPM5CBg3K65KQ/+Ty7zsBZp1H
|
||||
cF6LX7BXYSDTNr/gf7joCsGZWr8gTNHJDM0sb/zr4X9hd7GeXRe1Tl+cFpnVNjZtZxxDs6uesUUWYwss
|
||||
RnwsOt0iQvNOwsNmZzwsIauBF5q/+uISSWhW66VgWUvbbrneFixvJL/J8BKU0eBF1kACZc0rO9Oa24NS
|
||||
dekSiUTyC9B/oc2h827VAAAAAElFTkSuQmCC
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL2SURBVDhPhZLrS1NhHMf3Kv+EsF70UohScmFRL0pTmxrY
|
||||
zVTUvM0pmprowiBTppF5CU1UqBCl6EWFqOnUpuac0w1nZNpS8zov4GVOdzlHd8789pyz4QyEfvDhefGc
|
||||
74fz+54j4CboiTLhRrlGEV6h2Qou1lDkpHkquVNLh5cP06Ev1BOXparq0xEfj/GhwxPybFC1bqY3VzZM
|
||||
rNG6C6PFzaaZg8bvVTMK2gyIrZi0iTLlHq6oc8JK1etrxh12eMEO7SIDrYGBZoGBen4Pyj+76NJbscsA
|
||||
7ZMUCloWkfxqgvpHElzUS+3Y9jC6xOL7EkNOBiO8ZA8DM7v4qrcRgQOjqyy0K3aUyA0IeNz3gQ9HVfrP
|
||||
3SuO2JfU3UFy7V3UdjehuLkSAYXe8CeISi4hSOaHqvYqfhULzWDNZEOQdIDhBZHlAZ/7xjvQMf0WtZo8
|
||||
XhJfE4q893HIaoqGuP4mkuqT0D62ho4JC7783ME26SlYNkjzAlG1yCNUls1qpvrxblyGMmUmL0moCyPh
|
||||
W0h7nQrVjJVfpXeagoL0YLLaEVw85BRwE1I6QOc0JEI3o0a99hGe9+QiqvIaEmoioFuwQUeK5QpWzTo7
|
||||
MRJBkOyQ4MrTQvuF/FOIqxZhdHYYJf3pkMlzEP0yEE3KVvxYZqAjxQ7P2zFEWDfbEVDkEvhKPSVC6Ulk
|
||||
NcYgti4EMVXXeUmOPA7S5lTyJoHg7kcNLEa4T0wwkyL9ctVOgVB6fFkoPUEe8oQwzxO3ywKR8SYRKr0C
|
||||
JYp8pH9KhLguEjoi0JJ/Q0MEtN0B32yle4WruYP06jaNsWWWZ2BqBQ8b0pBCgpL6aOQ2Pji447DtsfDJ
|
||||
lrsFQmJbMroF/8NKVvBJbXMLLuZ8s+kNm/tHPXwUJrPVcTa+3eKKkyLTeuYWd2xm/dKWY26Dwtw6hRkX
|
||||
GxY7D9e8hWaxYbI4KIra9rrf+csVFwjOp3Vn+Ii7es5JFEYfSSt9QIoT75QWJ+IW2kvcaTqT1NnrnShP
|
||||
FggEgr9Ef6FyBTeROAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="IsIgnore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
||||
21
Handler/Project/Dialog/fLoaderInfo.Designer.cs
generated
21
Handler/Project/Dialog/fLoaderInfo.Designer.cs
generated
@@ -112,6 +112,7 @@
|
||||
this.tmAutoConfirm = new System.Windows.Forms.Timer(this.components);
|
||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.copyToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.cmbarc.SuspendLayout();
|
||||
this.panel7.SuspendLayout();
|
||||
@@ -233,14 +234,15 @@
|
||||
// cmbarc
|
||||
//
|
||||
this.cmbarc.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.회전기준바코드로설정ToolStripMenuItem});
|
||||
this.회전기준바코드로설정ToolStripMenuItem,
|
||||
this.copyToClipboardToolStripMenuItem});
|
||||
this.cmbarc.Name = "cmbarc";
|
||||
this.cmbarc.Size = new System.Drawing.Size(207, 26);
|
||||
this.cmbarc.Size = new System.Drawing.Size(248, 70);
|
||||
//
|
||||
// 회전기준바코드로설정ToolStripMenuItem
|
||||
//
|
||||
this.회전기준바코드로설정ToolStripMenuItem.Name = "회전기준바코드로설정ToolStripMenuItem";
|
||||
this.회전기준바코드로설정ToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
|
||||
this.회전기준바코드로설정ToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
|
||||
this.회전기준바코드로설정ToolStripMenuItem.Text = "Set as rotation reference barcode";
|
||||
this.회전기준바코드로설정ToolStripMenuItem.Click += new System.EventHandler(this.회전기준바코드로설정ToolStripMenuItem_Click);
|
||||
//
|
||||
@@ -371,8 +373,7 @@
|
||||
this.label1.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.label1.Size = new System.Drawing.Size(363, 74);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Display all data read from the current barcode reader. \r\n1. First select the data field you want to input from the left side\r\n2. Input data " +
|
||||
"from the list below\r\n3. Press the \"Input\" button at the bottom";
|
||||
this.label1.Text = resources.GetString("label1.Text");
|
||||
//
|
||||
// tbRID
|
||||
//
|
||||
@@ -1155,9 +1156,16 @@
|
||||
// toolStripStatusLabel1
|
||||
//
|
||||
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
|
||||
this.toolStripStatusLabel1.Size = new System.Drawing.Size(121, 17);
|
||||
this.toolStripStatusLabel1.Size = new System.Drawing.Size(118, 17);
|
||||
this.toolStripStatusLabel1.Text = "toolStripStatusLabel1";
|
||||
//
|
||||
// copyToClipboardToolStripMenuItem
|
||||
//
|
||||
this.copyToClipboardToolStripMenuItem.Name = "copyToClipboardToolStripMenuItem";
|
||||
this.copyToClipboardToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
|
||||
this.copyToClipboardToolStripMenuItem.Text = "Copy To Clipboard";
|
||||
this.copyToClipboardToolStripMenuItem.Click += new System.EventHandler(this.copyToClipboardToolStripMenuItem_Click);
|
||||
//
|
||||
// fLoaderInfo
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 30F);
|
||||
@@ -1284,5 +1292,6 @@
|
||||
private System.Windows.Forms.TextBox tbBatch;
|
||||
private System.Windows.Forms.LinkLabel linkLabel10;
|
||||
private System.Windows.Forms.TextBox tbQtyMax;
|
||||
private System.Windows.Forms.ToolStripMenuItem copyToClipboardToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ namespace Project.Dialog
|
||||
{
|
||||
string PrintPos = "";
|
||||
|
||||
public fLoaderInfo(List<string> errlist)
|
||||
public fLoaderInfo(Dictionary<int, string> errlist)
|
||||
{
|
||||
InitializeComponent();
|
||||
PUB.flag.set(eVarBool.FG_WAIT_LOADERINFO, true, "_LOAD");
|
||||
@@ -31,9 +31,14 @@ namespace Project.Dialog
|
||||
{
|
||||
|
||||
foreach (var item in errlist)
|
||||
AddErrorMessage(item);
|
||||
AddErrorMessage($"[{item.Key}] {item.Value}");
|
||||
}
|
||||
|
||||
if (PUB.Result.vModel.IgnoreBatch) tbBatch.Enabled = false;
|
||||
if (PUB.Result.vModel.IgnorePartNo) tbpartno.Enabled = false;
|
||||
linkLabel7.Enabled = tbpartno.Enabled;
|
||||
button4.Enabled = tbpartno.Enabled;
|
||||
btPartChk.Enabled = tbpartno.Enabled;
|
||||
lnkBatch.Enabled = tbBatch.Enabled;
|
||||
}
|
||||
|
||||
void AddErrorMessage(string msg)
|
||||
@@ -315,7 +320,7 @@ namespace Project.Dialog
|
||||
//lv.SubItems.Add(item.CenterPX.Y.ToString());
|
||||
if (item.RegExConfirm)
|
||||
{
|
||||
if (item.RefExApply)
|
||||
if (item.RefExApply > 0)
|
||||
lv.ForeColor = Color.Blue;
|
||||
else
|
||||
lv.ForeColor = Color.Black;
|
||||
@@ -610,7 +615,7 @@ namespace Project.Dialog
|
||||
{
|
||||
var sid = this.tbSID.Text.Trim();
|
||||
|
||||
var dr = taSID.GetBySID(PUB.MCCode, sid).FirstOrDefault();// db.Component_Reel_SID_Information.Where(t => t.SID == sid).FirstOrDefault();
|
||||
var dr = taSID.GetBySID(PUB.MCCode, sid).FirstOrDefault();
|
||||
var drP = taPRN.GetBySID(PUB.MCCode, sid).FirstOrDefault();
|
||||
|
||||
if (dr == null) return;
|
||||
@@ -683,7 +688,7 @@ namespace Project.Dialog
|
||||
|
||||
//최근 6시간안에서 동일한 데이터를 찾아서 제안 해준다
|
||||
var sd = DateTime.Now.AddHours(-1);
|
||||
var sql = "select * from K4EE_Component_Reel_Result with (no lock)" +
|
||||
var sql = "select * from K4EE_Component_Reel_Result with (nolock)" +
|
||||
" where jtype = @jtype and sid = @sid and isnull(QR,'') <> '' and stime >= @sd" +
|
||||
" order by wdate desc";
|
||||
var ps = new SqlParameter[] {
|
||||
@@ -696,11 +701,7 @@ namespace Project.Dialog
|
||||
var preDatas = DBHelper.Get(sql, ps);
|
||||
if (preDatas.Rows.Count > 0) preData = preDatas.Rows[0] as DataSet1.K4EE_Component_Reel_ResultRow;
|
||||
|
||||
//var preData = db2.Component_Reel_Result.AsNoTracking().Where(t =>
|
||||
//t.JTYPE == PUB.Result.JobType2 &&
|
||||
//t.SID == sid &&
|
||||
//string.IsNullOrEmpty(t.QR) == false &&
|
||||
//t.STIME >= sd).OrderByDescending(t => t.wdate).FirstOrDefault();
|
||||
|
||||
|
||||
//기존자료가 없다면 취소
|
||||
if (preData == null) return false;
|
||||
@@ -992,9 +993,9 @@ namespace Project.Dialog
|
||||
|
||||
//WMS generates from DB
|
||||
var newid = PUB.MakeNewREELID(sid);
|
||||
if (newid.success==false)
|
||||
if (newid.success == false)
|
||||
{
|
||||
UTIL.MsgE($"No ReelID Data\n{newid.message}" , true);
|
||||
UTIL.MsgE($"No ReelID Data\n{newid.message}", true);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1416,7 +1417,7 @@ namespace Project.Dialog
|
||||
tbRID.Focus();
|
||||
return;
|
||||
}
|
||||
if (this.tbpartno.Text.isEmpty())
|
||||
if (PUB.Result.vModel.IgnorePartNo == false && this.tbpartno.Text.isEmpty())
|
||||
{
|
||||
UTIL.MsgE("PART No is not entered");
|
||||
tbpartno.Focus();
|
||||
@@ -1620,7 +1621,7 @@ namespace Project.Dialog
|
||||
{
|
||||
//변경된 값만 저장여부를 확인할 것이므로 기존 값을 모두 가져온다
|
||||
var SQL = "select top 1 " + string.Join(",", columns.Select(t => "isnull([" + t.Key + "],'') as " + t.Key + "")) +
|
||||
" from Component_Reel_SID_Information WITH(NOLOCK)";
|
||||
" from K4EE_Component_Reel_SID_Information WITH(NOLOCK)";
|
||||
|
||||
var WSQL = $" where MC='{PUB.MCCode}'";
|
||||
for (int i = 0; i < wheres.Count; i++)
|
||||
@@ -1682,7 +1683,7 @@ namespace Project.Dialog
|
||||
{
|
||||
|
||||
//check double data 220706
|
||||
var CSQL = "select count(*) from Component_Reel_SID_Information WITH(NOLOCK) ";
|
||||
var CSQL = "select count(*) from K4EE_Component_Reel_SID_Information WITH(NOLOCK) ";
|
||||
CSQL += WSQL;
|
||||
CMD.CommandText = CSQL;
|
||||
var cnt = int.Parse(CMD.ExecuteScalar().ToString());
|
||||
@@ -1700,7 +1701,7 @@ namespace Project.Dialog
|
||||
}
|
||||
else
|
||||
{
|
||||
var USQL = $"update Component_Reel_SID_Information set [MC]='{PUB.MCCode}'," +
|
||||
var USQL = $"update K4EE_Component_Reel_SID_Information set [MC]='{PUB.MCCode}'," +
|
||||
string.Join(",", UpdateTarget.Select(t => "[" + t.Key + "]='" + t.Value + "'"));
|
||||
|
||||
USQL += WSQL;
|
||||
@@ -1730,7 +1731,7 @@ namespace Project.Dialog
|
||||
var dlg = UTIL.MsgQ(dlgMsg);
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
var ISQL = $"insert into Component_Reel_SID_Information ([MC],wdate," +
|
||||
var ISQL = $"insert into K4EE_Component_Reel_SID_Information ([MC],wdate," +
|
||||
string.Join(",", InsertTarget.Select(t => "[" + t.Key + "]")) + ") values(" +
|
||||
$"'{PUB.MCCode}',getdate()," +
|
||||
string.Join(",", InsertTarget.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + ")";
|
||||
@@ -1761,7 +1762,7 @@ namespace Project.Dialog
|
||||
void ServerWriteCNV(Dictionary<string, string> columns, Dictionary<string, string> wheres)
|
||||
{
|
||||
//변경된 값만 저장여부를 확인할 것이므로 기존 값을 모두 가져온다
|
||||
var tableName = "Component_Reel_SID_Convert";
|
||||
var tableName = "K4EE_Component_Reel_SID_Convert";
|
||||
var SQL = "select top 1 " + string.Join(",", columns.Select(t => "isnull([" + t.Key + "],'') as " + t.Key + "")) +
|
||||
$" from {tableName} WITH(NOLOCK) ";
|
||||
|
||||
@@ -1911,7 +1912,7 @@ namespace Project.Dialog
|
||||
{
|
||||
//변경된 값만 저장여부를 확인할 것이므로 기존 값을 모두 가져온다
|
||||
var SQL = "select top 1 " + string.Join(",", columns.Select(t => "isnull([" + t.Key + "],'') as " + t.Key + "")) +
|
||||
" from Component_Reel_SID_Convert WITH(NOLOCK) ";
|
||||
" from K4EE_Component_Reel_SID_Convert WITH(NOLOCK) ";
|
||||
|
||||
var WSQL = $" where (MC is null or MC='{PUB.MCCode}')";
|
||||
for (int i = 0; i < wheres.Count; i++)
|
||||
@@ -1975,7 +1976,7 @@ namespace Project.Dialog
|
||||
{
|
||||
|
||||
//check double data 220706
|
||||
var CSQL = "select count(*) from Component_Reel_SID_Convert WITH(NOLOCK) ";
|
||||
var CSQL = "select count(*) from K4EE_Component_Reel_SID_Convert WITH(NOLOCK) ";
|
||||
CSQL += WSQL;
|
||||
CMD.CommandText = CSQL;
|
||||
var cnt = int.Parse(CMD.ExecuteScalar().ToString());
|
||||
@@ -1993,7 +1994,7 @@ namespace Project.Dialog
|
||||
}
|
||||
else
|
||||
{
|
||||
var USQL = $"update Component_Reel_SID_Convert set " +
|
||||
var USQL = $"update K4EE_Component_Reel_SID_Convert set " +
|
||||
string.Join(",", UpdateTarget.Select(t => "[" + t.Key + "]='" + t.Value + "'"));
|
||||
|
||||
USQL += WSQL;
|
||||
@@ -2024,7 +2025,7 @@ namespace Project.Dialog
|
||||
var dlg = UTIL.MsgQ(dlgMsg);
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
var ISQL = $"insert into Component_Reel_SID_Convert ([MC],wdate," +
|
||||
var ISQL = $"insert into K4EE_Component_Reel_SID_Convert ([MC],wdate," +
|
||||
string.Join(",", InsertTarget.Select(t => "[" + t.Key + "]")) + ") values(" +
|
||||
$"null,getdate()," +
|
||||
string.Join(",", InsertTarget.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + ")";
|
||||
@@ -2075,9 +2076,9 @@ namespace Project.Dialog
|
||||
private void button1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
//데이터베이스 결과에서 자료를 추가한다.
|
||||
var result = new DataSet1.K4EE_Component_Reel_ResultDataTable();// new List<Component_Reel_Result>();
|
||||
var result = new DataSet1.K4EE_Component_Reel_ResultDataTable();
|
||||
|
||||
var tabName = "K4EE_Component_Reel_Result with (no lock)";
|
||||
var tabName = "K4EE_Component_Reel_Result with (nolock)";
|
||||
|
||||
//1.sid sid를 먼저 검색한다. 이것이 확률이 제일 높음
|
||||
if (this.tbSID.Text.isEmpty() == false)
|
||||
@@ -2100,10 +2101,6 @@ namespace Project.Dialog
|
||||
var sql = $"select top 5 * from {tabName} where QR like @search order by wdate desc";
|
||||
var list = DBHelper.Get(sql, new SqlParameter("search", $"%;{tbVLOT.Text}%"));
|
||||
if (list.Rows.Count > 0) result.Merge(list);
|
||||
//var list = db.Component_Reel_Result.AsNoTracking().
|
||||
// OrderByDescending(t => t.wdate).
|
||||
// Where(t => t.QR.Contains(";" + tbVLOT.Text + ";")).Take(5).ToList();
|
||||
///if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
|
||||
//4.벤더이름
|
||||
@@ -2112,11 +2109,6 @@ namespace Project.Dialog
|
||||
var sql = $"select top 5 * from {tabName} where QR like @search order by wdate desc";
|
||||
var list = DBHelper.Get(sql, new SqlParameter("search", $"%;{tbVName.Text}%"));
|
||||
if (list.Rows.Count > 0) result.Merge(list);
|
||||
|
||||
//var list = db.Component_Reel_Result.AsNoTracking().
|
||||
// OrderByDescending(t => t.wdate).
|
||||
// Where(t => t.QR.Contains(";" + tbVName.Text + ";")).Take(5).ToList();
|
||||
//if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
|
||||
//customer code
|
||||
@@ -2355,5 +2347,26 @@ namespace Project.Dialog
|
||||
{
|
||||
UTIL.TouchKeyShow(tbQtyMax, "INPUT MAX QTY(SAP)");
|
||||
}
|
||||
|
||||
private void copyToClipboardToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lvbcdList.FocusedItem == null)
|
||||
{
|
||||
UTIL.MsgE("No item has focus");
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var value = lvbcdList.FocusedItem.SubItems[1].Text.Trim();
|
||||
Clipboard.SetText(value);
|
||||
UTIL.MsgI($"Clipboard Copied\n{value}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
UTIL.MsgE(ex.Message+"\nClipboard");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,6 +120,12 @@
|
||||
<metadata name="cmbarc.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>155, 17</value>
|
||||
</metadata>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Display all data read from the current barcode reader.
|
||||
1. First select the data field you want to input from the left side
|
||||
2. Input data from the list below
|
||||
3. Press the "Input" button at the bottom</value>
|
||||
</data>
|
||||
<data name="ivF.MotorPosition" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0
|
||||
|
||||
41
Handler/Project/Dialog/fManualPrint.Designer.cs
generated
41
Handler/Project/Dialog/fManualPrint.Designer.cs
generated
@@ -99,9 +99,10 @@
|
||||
// chkDelinfo
|
||||
//
|
||||
this.chkDelinfo.AutoSize = true;
|
||||
this.chkDelinfo.Location = new System.Drawing.Point(384, 28);
|
||||
this.chkDelinfo.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.chkDelinfo.Location = new System.Drawing.Point(345, 31);
|
||||
this.chkDelinfo.Name = "chkDelinfo";
|
||||
this.chkDelinfo.Size = new System.Drawing.Size(126, 29);
|
||||
this.chkDelinfo.Size = new System.Drawing.Size(169, 23);
|
||||
this.chkDelinfo.TabIndex = 4;
|
||||
this.chkDelinfo.Text = "Delete after printing";
|
||||
this.chkDelinfo.UseVisualStyleBackColor = true;
|
||||
@@ -109,14 +110,14 @@
|
||||
// nudCnt
|
||||
//
|
||||
this.nudCnt.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.nudCnt.Location = new System.Drawing.Point(263, 26);
|
||||
this.nudCnt.Location = new System.Drawing.Point(236, 27);
|
||||
this.nudCnt.Maximum = new decimal(new int[] {
|
||||
99999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudCnt.Name = "nudCnt";
|
||||
this.nudCnt.Size = new System.Drawing.Size(100, 33);
|
||||
this.nudCnt.Size = new System.Drawing.Size(100, 30);
|
||||
this.nudCnt.TabIndex = 3;
|
||||
this.nudCnt.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.nudCnt.Value = new decimal(new int[] {
|
||||
@@ -129,9 +130,9 @@
|
||||
//
|
||||
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(183, 30);
|
||||
this.label1.Location = new System.Drawing.Point(157, 31);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(64, 25);
|
||||
this.label1.Size = new System.Drawing.Size(59, 23);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Count";
|
||||
//
|
||||
@@ -139,9 +140,9 @@
|
||||
//
|
||||
this.radRight.AutoSize = true;
|
||||
this.radRight.Checked = true;
|
||||
this.radRight.Location = new System.Drawing.Point(78, 28);
|
||||
this.radRight.Location = new System.Drawing.Point(78, 29);
|
||||
this.radRight.Name = "radRight";
|
||||
this.radRight.Size = new System.Drawing.Size(76, 29);
|
||||
this.radRight.Size = new System.Drawing.Size(72, 27);
|
||||
this.radRight.TabIndex = 1;
|
||||
this.radRight.TabStop = true;
|
||||
this.radRight.Text = "Right";
|
||||
@@ -150,9 +151,9 @@
|
||||
// radLeft
|
||||
//
|
||||
this.radLeft.AutoSize = true;
|
||||
this.radLeft.Location = new System.Drawing.Point(10, 28);
|
||||
this.radLeft.Location = new System.Drawing.Point(10, 29);
|
||||
this.radLeft.Name = "radLeft";
|
||||
this.radLeft.Size = new System.Drawing.Size(62, 29);
|
||||
this.radLeft.Size = new System.Drawing.Size(59, 27);
|
||||
this.radLeft.TabIndex = 0;
|
||||
this.radLeft.Text = "Left";
|
||||
this.radLeft.UseVisualStyleBackColor = true;
|
||||
@@ -203,7 +204,7 @@
|
||||
this.tbPN.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbPN.Location = new System.Drawing.Point(137, 5);
|
||||
this.tbPN.Name = "tbPN";
|
||||
this.tbPN.Size = new System.Drawing.Size(235, 33);
|
||||
this.tbPN.Size = new System.Drawing.Size(235, 30);
|
||||
this.tbPN.TabIndex = 1;
|
||||
this.tbPN.Click += new System.EventHandler(this.tbSID_Click);
|
||||
//
|
||||
@@ -257,7 +258,7 @@
|
||||
this.tbSPY.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbSPY.Location = new System.Drawing.Point(137, 5);
|
||||
this.tbSPY.Name = "tbSPY";
|
||||
this.tbSPY.Size = new System.Drawing.Size(235, 33);
|
||||
this.tbSPY.Size = new System.Drawing.Size(235, 30);
|
||||
this.tbSPY.TabIndex = 1;
|
||||
this.tbSPY.Click += new System.EventHandler(this.tbSID_Click);
|
||||
//
|
||||
@@ -310,7 +311,7 @@
|
||||
this.tbRID.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbRID.Location = new System.Drawing.Point(137, 5);
|
||||
this.tbRID.Name = "tbRID";
|
||||
this.tbRID.Size = new System.Drawing.Size(310, 33);
|
||||
this.tbRID.Size = new System.Drawing.Size(310, 30);
|
||||
this.tbRID.TabIndex = 1;
|
||||
this.tbRID.Click += new System.EventHandler(this.tbSID_Click);
|
||||
//
|
||||
@@ -352,7 +353,7 @@
|
||||
this.tbDate.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbDate.Location = new System.Drawing.Point(137, 5);
|
||||
this.tbDate.Name = "tbDate";
|
||||
this.tbDate.Size = new System.Drawing.Size(310, 33);
|
||||
this.tbDate.Size = new System.Drawing.Size(310, 30);
|
||||
this.tbDate.TabIndex = 1;
|
||||
this.tbDate.Click += new System.EventHandler(this.tbSID_Click);
|
||||
//
|
||||
@@ -394,7 +395,7 @@
|
||||
this.tbQty.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbQty.Location = new System.Drawing.Point(137, 5);
|
||||
this.tbQty.Name = "tbQty";
|
||||
this.tbQty.Size = new System.Drawing.Size(310, 33);
|
||||
this.tbQty.Size = new System.Drawing.Size(310, 30);
|
||||
this.tbQty.TabIndex = 1;
|
||||
this.tbQty.Click += new System.EventHandler(this.tbSID_Click);
|
||||
//
|
||||
@@ -436,7 +437,7 @@
|
||||
this.tbVLot.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbVLot.Location = new System.Drawing.Point(137, 5);
|
||||
this.tbVLot.Name = "tbVLot";
|
||||
this.tbVLot.Size = new System.Drawing.Size(310, 33);
|
||||
this.tbVLot.Size = new System.Drawing.Size(310, 30);
|
||||
this.tbVLot.TabIndex = 1;
|
||||
this.tbVLot.Click += new System.EventHandler(this.tbSID_Click);
|
||||
//
|
||||
@@ -478,7 +479,7 @@
|
||||
this.tbSID.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbSID.Location = new System.Drawing.Point(137, 5);
|
||||
this.tbSID.Name = "tbSID";
|
||||
this.tbSID.Size = new System.Drawing.Size(310, 33);
|
||||
this.tbSID.Size = new System.Drawing.Size(310, 30);
|
||||
this.tbSID.TabIndex = 1;
|
||||
this.tbSID.Click += new System.EventHandler(this.tbSID_Click);
|
||||
//
|
||||
@@ -518,9 +519,9 @@
|
||||
// tbBarcodeInput
|
||||
//
|
||||
this.tbBarcodeInput.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbBarcodeInput.Location = new System.Drawing.Point(10, 36);
|
||||
this.tbBarcodeInput.Location = new System.Drawing.Point(10, 33);
|
||||
this.tbBarcodeInput.Name = "tbBarcodeInput";
|
||||
this.tbBarcodeInput.Size = new System.Drawing.Size(502, 33);
|
||||
this.tbBarcodeInput.Size = new System.Drawing.Size(502, 30);
|
||||
this.tbBarcodeInput.TabIndex = 0;
|
||||
this.tbBarcodeInput.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbBarcodeInput_KeyDown);
|
||||
//
|
||||
@@ -532,7 +533,7 @@
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.btPrint);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
|
||||
@@ -100,9 +100,11 @@ namespace Project.Dialog
|
||||
var cnt = (int)nudCnt.Value;
|
||||
for (int i = 0; i < cnt; i++)
|
||||
{
|
||||
if (Printer.Print(zpl) == false)
|
||||
var prn = Printer.Print(zpl);
|
||||
if (prn.result == false)
|
||||
{
|
||||
//인쇄실패시 처리하지 않음
|
||||
PUB.log.AddE(prn.errmessage);
|
||||
UTIL.MsgE("Cannot proceed further due to printing failure");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -347,41 +347,99 @@ namespace Project.Dialog
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Task.Run(new Action(() =>
|
||||
{
|
||||
//Z축을 Ready 위치로 이동한다.
|
||||
DateTime dt;
|
||||
if (vidx == 0)
|
||||
{
|
||||
var zPos = MOT.GetLZPos(eLZLoc.READY);
|
||||
MOT.Move(zPos);
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
System.Threading.Thread.Sleep(10);
|
||||
{
|
||||
//printer picker cylinder check
|
||||
while(DIO.GetIOInput(eDIName.L_CYLUP)==false)
|
||||
{
|
||||
var dorlt = DIO.checkDigitalO(eDOName.L_CYLDN, new TimeSpan(1), false);
|
||||
if (dorlt == eNormalResult.False)
|
||||
{
|
||||
System.Threading.Thread.Sleep(100);
|
||||
}
|
||||
else if( dorlt == eNormalResult.Error)
|
||||
{
|
||||
PUB.log.AddE("l_cylup check error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var mPos = MOT.GetLMPos(eLMLoc.PRINTL07);
|
||||
MOT.Move(mPos);
|
||||
while (MOT.getPositionMatch(mPos) == false)
|
||||
var zPos = MOT.GetLZPos(eLZLoc.READY).Clone();
|
||||
zPos.Speed = 100;
|
||||
MOT.Move(zPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
|
||||
var mPos = MOT.GetLMPos(eLMLoc.PRINTL07).Clone();
|
||||
mPos.Speed = 100;
|
||||
MOT.Move(mPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(mPos) == false)
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
|
||||
var zPos2 = MOT.GetLZPos(eLZLoc.PICKOFF);
|
||||
var tPos = (zPos2.Position / 2f);
|
||||
MOT.Move(eAxis.PL_UPDN, tPos, zPos.Speed, zPos.Acc);
|
||||
MOT.Move(eAxis.PL_UPDN, tPos, 100, zPos.Acc);
|
||||
ManPosL = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
var zPos = MOT.GetRZPos(eRZLoc.READY);
|
||||
MOT.Move(zPos);
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
System.Threading.Thread.Sleep(10);
|
||||
while (DIO.GetIOInput(eDIName.R_CYLUP) == false)
|
||||
{
|
||||
var dorlt = DIO.checkDigitalO(eDOName.R_CYLDN, new TimeSpan(1), false);
|
||||
if (dorlt == eNormalResult.False)
|
||||
{
|
||||
System.Threading.Thread.Sleep(100);
|
||||
}
|
||||
else if (dorlt == eNormalResult.Error)
|
||||
{
|
||||
PUB.log.AddE("r_cylup check error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var mPos = MOT.GetRMPos(eRMLoc.PRINTL07);
|
||||
MOT.Move(mPos);
|
||||
while (MOT.getPositionMatch(mPos) == false)
|
||||
var zPos = MOT.GetRZPos(eRZLoc.READY).Clone();
|
||||
zPos.Speed = 100;
|
||||
MOT.Move(zPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
var mPos = MOT.GetRMPos(eRMLoc.PRINTL07).Clone();
|
||||
mPos.Speed = 100;
|
||||
MOT.Move(mPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(mPos) == false)
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
var zPos2 = MOT.GetRZPos(eRZLoc.PICKOFF);
|
||||
var tPos = (zPos2.Position / 2f);
|
||||
MOT.Move(eAxis.PR_UPDN, tPos, zPos.Speed, zPos.Acc);
|
||||
MOT.Move(eAxis.PR_UPDN, tPos, 100, zPos.Acc);
|
||||
ManPosR = true;
|
||||
}
|
||||
|
||||
@@ -407,30 +465,83 @@ namespace Project.Dialog
|
||||
Task.Run(new Action(() =>
|
||||
{
|
||||
//Z축을 Ready 위치로 이동한다.
|
||||
DateTime dt;
|
||||
if (vidx == 0)
|
||||
{
|
||||
var zPos = MOT.GetLZPos(eLZLoc.READY);
|
||||
MOT.Move(zPos);
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
System.Threading.Thread.Sleep(100);
|
||||
while (DIO.GetIOInput(eDIName.L_CYLUP) == false)
|
||||
{
|
||||
var dorlt = DIO.checkDigitalO(eDOName.L_CYLDN, new TimeSpan(1), false);
|
||||
if (dorlt == eNormalResult.False)
|
||||
{
|
||||
System.Threading.Thread.Sleep(100);
|
||||
}
|
||||
else if (dorlt == eNormalResult.Error)
|
||||
{
|
||||
PUB.log.AddE("l_cylup check error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var mPos = MOT.GetLMPos(eLMLoc.READY);
|
||||
var zPos = MOT.GetLZPos(eLZLoc.READY).Clone();
|
||||
zPos.Speed = 100;
|
||||
MOT.Move(zPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
var mPos = MOT.GetLMPos(eLMLoc.READY).Clone();
|
||||
mPos.Speed = 100;
|
||||
MOT.Move(mPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(mPos) == false)
|
||||
System.Threading.Thread.Sleep(100);
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
ManPosL = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
var zPos = MOT.GetRZPos(eRZLoc.READY);
|
||||
MOT.Move(zPos);
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
System.Threading.Thread.Sleep(100);
|
||||
while (DIO.GetIOInput(eDIName.R_CYLUP) == false)
|
||||
{
|
||||
var dorlt = DIO.checkDigitalO(eDOName.R_CYLDN, new TimeSpan(1), false);
|
||||
if (dorlt == eNormalResult.False)
|
||||
{
|
||||
System.Threading.Thread.Sleep(100);
|
||||
}
|
||||
else if (dorlt == eNormalResult.Error)
|
||||
{
|
||||
PUB.log.AddE("R_cylup check error");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var mPos = MOT.GetRMPos(eRMLoc.READY);
|
||||
MOT.Move(mPos);
|
||||
var zPos = MOT.GetRZPos(eRZLoc.READY).Clone();
|
||||
zPos.Speed = 100;
|
||||
MOT.Move(zPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
System.Threading.Thread.Sleep(100);
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
var mPos = MOT.GetRMPos(eRMLoc.READY).Clone();
|
||||
mPos.Speed = 100;
|
||||
MOT.Move(mPos);
|
||||
dt = DateTime.Now;
|
||||
while (MOT.getPositionMatch(zPos) == false)
|
||||
{
|
||||
var ts = DateTime.Now - dt;
|
||||
if (ts.TotalSeconds > 30) break;
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
ManPosR = false;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
|
||||
namespace Project.Dialog
|
||||
{
|
||||
|
||||
292
Handler/Project/Dialog/fSelectJob.Designer.cs
generated
292
Handler/Project/Dialog/fSelectJob.Designer.cs
generated
@@ -97,6 +97,19 @@
|
||||
this.btCancle = new arCtl.arLabel();
|
||||
this.dataSet11 = new Project.DataSet1();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.chkApplyWMSInfo = new System.Windows.Forms.CheckBox();
|
||||
this.grpApplyWMSinfo = new System.Windows.Forms.GroupBox();
|
||||
this.checkBox36 = new System.Windows.Forms.CheckBox();
|
||||
this.chkWMSApplyBatch = new System.Windows.Forms.CheckBox();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.checkBox41 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox42 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox43 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox44 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox45 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox46 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox47 = new System.Windows.Forms.CheckBox();
|
||||
this.panel2.SuspendLayout();
|
||||
this.panel5.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
@@ -108,6 +121,7 @@
|
||||
this.tabPage3.SuspendLayout();
|
||||
this.tableLayoutPanel3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit();
|
||||
this.grpApplyWMSinfo.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
@@ -123,7 +137,7 @@
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Padding = new System.Windows.Forms.Padding(9, 5, 9, 7);
|
||||
this.panel2.Size = new System.Drawing.Size(751, 701);
|
||||
this.panel2.Size = new System.Drawing.Size(751, 761);
|
||||
this.panel2.TabIndex = 136;
|
||||
//
|
||||
// panel5
|
||||
@@ -133,7 +147,7 @@
|
||||
this.panel5.Controls.Add(this.panel1);
|
||||
this.panel5.Controls.Add(this.button1);
|
||||
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel5.Location = new System.Drawing.Point(9, 224);
|
||||
this.panel5.Location = new System.Drawing.Point(9, 200);
|
||||
this.panel5.Name = "panel5";
|
||||
this.panel5.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.panel5.Size = new System.Drawing.Size(733, 73);
|
||||
@@ -173,7 +187,7 @@
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.progressBar1.Location = new System.Drawing.Point(9, 214);
|
||||
this.progressBar1.Location = new System.Drawing.Point(9, 190);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(733, 10);
|
||||
this.progressBar1.TabIndex = 27;
|
||||
@@ -183,7 +197,7 @@
|
||||
this.label1.BackColor = System.Drawing.Color.SkyBlue;
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.label1.Font = new System.Drawing.Font("Consolas", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.label1.Location = new System.Drawing.Point(9, 164);
|
||||
this.label1.Location = new System.Drawing.Point(9, 140);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(733, 50);
|
||||
this.label1.TabIndex = 17;
|
||||
@@ -207,7 +221,7 @@
|
||||
this.lbMsgCamoff.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
this.lbMsgCamoff.GradientRepeatBG = false;
|
||||
this.lbMsgCamoff.isButton = false;
|
||||
this.lbMsgCamoff.Location = new System.Drawing.Point(9, 115);
|
||||
this.lbMsgCamoff.Location = new System.Drawing.Point(9, 91);
|
||||
this.lbMsgCamoff.MouseDownColor = System.Drawing.Color.Yellow;
|
||||
this.lbMsgCamoff.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.lbMsgCamoff.msg = null;
|
||||
@@ -246,7 +260,7 @@
|
||||
this.lbTitle.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||
this.lbTitle.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||
this.lbTitle.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.lbTitle.Font = new System.Drawing.Font("맑은 고딕", 35F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.lbTitle.Font = new System.Drawing.Font("맑은 고딕", 30F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.lbTitle.ForeColor = System.Drawing.Color.DarkCyan;
|
||||
this.lbTitle.GradientEnable = true;
|
||||
this.lbTitle.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
@@ -273,7 +287,7 @@
|
||||
this.lbTitle.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||
this.lbTitle.SignColor = System.Drawing.Color.Yellow;
|
||||
this.lbTitle.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||
this.lbTitle.Size = new System.Drawing.Size(733, 110);
|
||||
this.lbTitle.Size = new System.Drawing.Size(733, 86);
|
||||
this.lbTitle.TabIndex = 60;
|
||||
this.lbTitle.Text = "Please select work method";
|
||||
this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
@@ -288,14 +302,15 @@
|
||||
this.tabControl1.Controls.Add(this.tabPage3);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.tabControl1.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.tabControl1.Location = new System.Drawing.Point(9, 297);
|
||||
this.tabControl1.Location = new System.Drawing.Point(9, 278);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(733, 296);
|
||||
this.tabControl1.Size = new System.Drawing.Size(733, 375);
|
||||
this.tabControl1.TabIndex = 26;
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.chkApplyWMSInfo);
|
||||
this.tabPage1.Controls.Add(this.chkApplySidInfo);
|
||||
this.tabPage1.Controls.Add(this.chkApplyJobInfo);
|
||||
this.tabPage1.Controls.Add(this.chkApplySIDConv);
|
||||
@@ -307,7 +322,7 @@
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.tabPage1.Size = new System.Drawing.Size(725, 266);
|
||||
this.tabPage1.Size = new System.Drawing.Size(725, 345);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "Options";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
@@ -317,9 +332,9 @@
|
||||
this.chkApplySidInfo.AutoSize = true;
|
||||
this.chkApplySidInfo.Font = new System.Drawing.Font("맑은 고딕", 12F);
|
||||
this.chkApplySidInfo.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkApplySidInfo.Location = new System.Drawing.Point(13, 199);
|
||||
this.chkApplySidInfo.Location = new System.Drawing.Point(13, 229);
|
||||
this.chkApplySidInfo.Name = "chkApplySidInfo";
|
||||
this.chkApplySidInfo.Size = new System.Drawing.Size(423, 25);
|
||||
this.chkApplySidInfo.Size = new System.Drawing.Size(435, 25);
|
||||
this.chkApplySidInfo.TabIndex = 33;
|
||||
this.chkApplySidInfo.Tag = "6";
|
||||
this.chkApplySidInfo.Text = "Automatically record data using SID information table.";
|
||||
@@ -331,9 +346,9 @@
|
||||
this.chkApplyJobInfo.AutoSize = true;
|
||||
this.chkApplyJobInfo.Font = new System.Drawing.Font("맑은 고딕", 12F);
|
||||
this.chkApplyJobInfo.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkApplyJobInfo.Location = new System.Drawing.Point(13, 167);
|
||||
this.chkApplyJobInfo.Location = new System.Drawing.Point(13, 192);
|
||||
this.chkApplyJobInfo.Name = "chkApplyJobInfo";
|
||||
this.chkApplyJobInfo.Size = new System.Drawing.Size(427, 25);
|
||||
this.chkApplyJobInfo.Size = new System.Drawing.Size(409, 25);
|
||||
this.chkApplyJobInfo.TabIndex = 32;
|
||||
this.chkApplyJobInfo.Tag = "5";
|
||||
this.chkApplyJobInfo.Text = "Automatically record data using daily work history.";
|
||||
@@ -345,9 +360,9 @@
|
||||
this.chkApplySIDConv.AutoSize = true;
|
||||
this.chkApplySIDConv.Font = new System.Drawing.Font("맑은 고딕", 12F);
|
||||
this.chkApplySIDConv.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkApplySIDConv.Location = new System.Drawing.Point(13, 231);
|
||||
this.chkApplySIDConv.Location = new System.Drawing.Point(13, 266);
|
||||
this.chkApplySIDConv.Name = "chkApplySIDConv";
|
||||
this.chkApplySIDConv.Size = new System.Drawing.Size(425, 25);
|
||||
this.chkApplySIDConv.Size = new System.Drawing.Size(426, 25);
|
||||
this.chkApplySIDConv.TabIndex = 31;
|
||||
this.chkApplySIDConv.Tag = "7";
|
||||
this.chkApplySIDConv.Text = "Automatically record data using SID conversion table";
|
||||
@@ -361,10 +376,10 @@
|
||||
this.chkUserConfirm.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkUserConfirm.Location = new System.Drawing.Point(13, 8);
|
||||
this.chkUserConfirm.Name = "chkUserConfirm";
|
||||
this.chkUserConfirm.Size = new System.Drawing.Size(435, 25);
|
||||
this.chkUserConfirm.Size = new System.Drawing.Size(316, 25);
|
||||
this.chkUserConfirm.TabIndex = 13;
|
||||
this.chkUserConfirm.Tag = "0";
|
||||
this.chkUserConfirm.Text = "User confirms final print values (no automatic progress)";
|
||||
this.chkUserConfirm.Text = "User confirms (no automatic progress)";
|
||||
this.chkUserConfirm.UseVisualStyleBackColor = true;
|
||||
this.chkUserConfirm.CheckStateChanged += new System.EventHandler(this.checkBox1_CheckStateChanged);
|
||||
//
|
||||
@@ -373,9 +388,9 @@
|
||||
this.chkSIDConv.AutoSize = true;
|
||||
this.chkSIDConv.Font = new System.Drawing.Font("맑은 고딕", 12F);
|
||||
this.chkSIDConv.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkSIDConv.Location = new System.Drawing.Point(13, 135);
|
||||
this.chkSIDConv.Location = new System.Drawing.Point(13, 155);
|
||||
this.chkSIDConv.Name = "chkSIDConv";
|
||||
this.chkSIDConv.Size = new System.Drawing.Size(413, 25);
|
||||
this.chkSIDConv.Size = new System.Drawing.Size(376, 25);
|
||||
this.chkSIDConv.TabIndex = 28;
|
||||
this.chkSIDConv.Tag = "4";
|
||||
this.chkSIDConv.Text = "Convert SID values using SID conversion table.";
|
||||
@@ -387,12 +402,12 @@
|
||||
this.chkQtyServer.AutoSize = true;
|
||||
this.chkQtyServer.Font = new System.Drawing.Font("맑은 고딕", 12F);
|
||||
this.chkQtyServer.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkQtyServer.Location = new System.Drawing.Point(13, 40);
|
||||
this.chkQtyServer.Location = new System.Drawing.Point(13, 45);
|
||||
this.chkQtyServer.Name = "chkQtyServer";
|
||||
this.chkQtyServer.Size = new System.Drawing.Size(448, 25);
|
||||
this.chkQtyServer.Size = new System.Drawing.Size(307, 25);
|
||||
this.chkQtyServer.TabIndex = 13;
|
||||
this.chkQtyServer.Tag = "1";
|
||||
this.chkQtyServer.Text = "Query and use server quantities based on Reel ID.";
|
||||
this.chkQtyServer.Text = "Use server quantity based on Reel ID";
|
||||
this.chkQtyServer.UseVisualStyleBackColor = true;
|
||||
this.chkQtyServer.CheckStateChanged += new System.EventHandler(this.checkBox1_CheckStateChanged);
|
||||
//
|
||||
@@ -401,9 +416,9 @@
|
||||
this.chkQtyMRQ.AutoSize = true;
|
||||
this.chkQtyMRQ.Font = new System.Drawing.Font("맑은 고딕", 12F);
|
||||
this.chkQtyMRQ.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkQtyMRQ.Location = new System.Drawing.Point(13, 103);
|
||||
this.chkQtyMRQ.Location = new System.Drawing.Point(13, 118);
|
||||
this.chkQtyMRQ.Name = "chkQtyMRQ";
|
||||
this.chkQtyMRQ.Size = new System.Drawing.Size(405, 25);
|
||||
this.chkQtyMRQ.Size = new System.Drawing.Size(424, 25);
|
||||
this.chkQtyMRQ.TabIndex = 27;
|
||||
this.chkQtyMRQ.Tag = "3";
|
||||
this.chkQtyMRQ.Text = "Enter quantity manually (auto-proceed if RQ is read).";
|
||||
@@ -415,9 +430,9 @@
|
||||
this.chkNew.AutoSize = true;
|
||||
this.chkNew.Font = new System.Drawing.Font("맑은 고딕", 11F);
|
||||
this.chkNew.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkNew.Location = new System.Drawing.Point(13, 72);
|
||||
this.chkNew.Location = new System.Drawing.Point(13, 82);
|
||||
this.chkNew.Name = "chkNew";
|
||||
this.chkNew.Size = new System.Drawing.Size(247, 24);
|
||||
this.chkNew.Size = new System.Drawing.Size(162, 24);
|
||||
this.chkNew.TabIndex = 24;
|
||||
this.chkNew.Tag = "2";
|
||||
this.chkNew.Text = "Create new Reel ID.";
|
||||
@@ -429,10 +444,11 @@
|
||||
this.tabPage2.Controls.Add(this.GrpSidConvData);
|
||||
this.tabPage2.Controls.Add(this.grpapplyjob);
|
||||
this.tabPage2.Controls.Add(this.grpApplySidinfo);
|
||||
this.tabPage2.Controls.Add(this.grpApplyWMSinfo);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.tabPage2.Size = new System.Drawing.Size(725, 266);
|
||||
this.tabPage2.Size = new System.Drawing.Size(725, 345);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "Option Data";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
@@ -455,7 +471,7 @@
|
||||
this.GrpSidConvData.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.GrpSidConvData.Enabled = false;
|
||||
this.GrpSidConvData.Font = new System.Drawing.Font("맑은 고딕", 10F);
|
||||
this.GrpSidConvData.Location = new System.Drawing.Point(10, 174);
|
||||
this.GrpSidConvData.Location = new System.Drawing.Point(10, 256);
|
||||
this.GrpSidConvData.Name = "GrpSidConvData";
|
||||
this.GrpSidConvData.Size = new System.Drawing.Size(705, 82);
|
||||
this.GrpSidConvData.TabIndex = 34;
|
||||
@@ -469,10 +485,10 @@
|
||||
this.chkCVSave.ForeColor = System.Drawing.Color.Tomato;
|
||||
this.chkCVSave.Location = new System.Drawing.Point(431, 47);
|
||||
this.chkCVSave.Name = "chkCVSave";
|
||||
this.chkCVSave.Size = new System.Drawing.Size(230, 23);
|
||||
this.chkCVSave.Size = new System.Drawing.Size(216, 23);
|
||||
this.chkCVSave.TabIndex = 51;
|
||||
this.chkCVSave.Tag = "11";
|
||||
this.chkCVSave.Text = "Record change information to server";
|
||||
this.chkCVSave.Text = "Record change information";
|
||||
this.chkCVSave.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkCVApplyBatch
|
||||
@@ -597,9 +613,9 @@
|
||||
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label6.Location = new System.Drawing.Point(6, 54);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(55, 15);
|
||||
this.label6.Size = new System.Drawing.Size(41, 15);
|
||||
this.label6.TabIndex = 29;
|
||||
this.label6.Text = "Query Target";
|
||||
this.label6.Text = "Query";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
@@ -608,9 +624,9 @@
|
||||
this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label7.Location = new System.Drawing.Point(7, 28);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(55, 15);
|
||||
this.label7.Size = new System.Drawing.Size(40, 15);
|
||||
this.label7.TabIndex = 29;
|
||||
this.label7.Text = "Apply Target";
|
||||
this.label7.Text = "Apply";
|
||||
//
|
||||
// grpapplyjob
|
||||
//
|
||||
@@ -628,7 +644,7 @@
|
||||
this.grpapplyjob.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.grpapplyjob.Enabled = false;
|
||||
this.grpapplyjob.Font = new System.Drawing.Font("맑은 고딕", 10F);
|
||||
this.grpapplyjob.Location = new System.Drawing.Point(10, 92);
|
||||
this.grpapplyjob.Location = new System.Drawing.Point(10, 174);
|
||||
this.grpapplyjob.Name = "grpapplyjob";
|
||||
this.grpapplyjob.Size = new System.Drawing.Size(705, 82);
|
||||
this.grpapplyjob.TabIndex = 33;
|
||||
@@ -665,9 +681,9 @@
|
||||
this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label3.Location = new System.Drawing.Point(6, 54);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(55, 15);
|
||||
this.label3.Size = new System.Drawing.Size(41, 15);
|
||||
this.label3.TabIndex = 29;
|
||||
this.label3.Text = "Query Target";
|
||||
this.label3.Text = "Query";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
@@ -676,9 +692,9 @@
|
||||
this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label2.Location = new System.Drawing.Point(7, 28);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(55, 15);
|
||||
this.label2.Size = new System.Drawing.Size(40, 15);
|
||||
this.label2.TabIndex = 29;
|
||||
this.label2.Text = "Apply Target";
|
||||
this.label2.Text = "Apply";
|
||||
//
|
||||
// chkDayApplyVender
|
||||
//
|
||||
@@ -778,7 +794,7 @@
|
||||
this.grpApplySidinfo.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.grpApplySidinfo.Enabled = false;
|
||||
this.grpApplySidinfo.Font = new System.Drawing.Font("맑은 고딕", 10F);
|
||||
this.grpApplySidinfo.Location = new System.Drawing.Point(10, 10);
|
||||
this.grpApplySidinfo.Location = new System.Drawing.Point(10, 92);
|
||||
this.grpApplySidinfo.Name = "grpApplySidinfo";
|
||||
this.grpApplySidinfo.Size = new System.Drawing.Size(705, 82);
|
||||
this.grpApplySidinfo.TabIndex = 33;
|
||||
@@ -816,10 +832,10 @@
|
||||
this.chkInfoSave.ForeColor = System.Drawing.Color.Tomato;
|
||||
this.chkInfoSave.Location = new System.Drawing.Point(431, 50);
|
||||
this.chkInfoSave.Name = "chkInfoSave";
|
||||
this.chkInfoSave.Size = new System.Drawing.Size(230, 23);
|
||||
this.chkInfoSave.Size = new System.Drawing.Size(216, 23);
|
||||
this.chkInfoSave.TabIndex = 32;
|
||||
this.chkInfoSave.Tag = "8";
|
||||
this.chkInfoSave.Text = "Record change information to server";
|
||||
this.chkInfoSave.Text = "Record change information";
|
||||
this.chkInfoSave.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkInfoApplyPrint
|
||||
@@ -840,9 +856,9 @@
|
||||
this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label4.Location = new System.Drawing.Point(6, 54);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(55, 15);
|
||||
this.label4.Size = new System.Drawing.Size(41, 15);
|
||||
this.label4.TabIndex = 29;
|
||||
this.label4.Text = "Query Target";
|
||||
this.label4.Text = "Query";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
@@ -851,9 +867,9 @@
|
||||
this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label5.Location = new System.Drawing.Point(7, 28);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(55, 15);
|
||||
this.label5.Size = new System.Drawing.Size(40, 15);
|
||||
this.label5.TabIndex = 29;
|
||||
this.label5.Text = "Apply Target";
|
||||
this.label5.Text = "Apply";
|
||||
//
|
||||
// chkInfoApplyVender
|
||||
//
|
||||
@@ -963,7 +979,7 @@
|
||||
this.tableLayoutPanel3.Controls.Add(this.btOK, 1, 0);
|
||||
this.tableLayoutPanel3.Controls.Add(this.btCancle, 0, 0);
|
||||
this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.tableLayoutPanel3.Location = new System.Drawing.Point(9, 593);
|
||||
this.tableLayoutPanel3.Location = new System.Drawing.Point(9, 653);
|
||||
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
|
||||
this.tableLayoutPanel3.RowCount = 1;
|
||||
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
@@ -1066,11 +1082,174 @@
|
||||
this.dataSet11.DataSetName = "DataSet1";
|
||||
this.dataSet11.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// chkApplyWMSInfo
|
||||
//
|
||||
this.chkApplyWMSInfo.AutoSize = true;
|
||||
this.chkApplyWMSInfo.Font = new System.Drawing.Font("맑은 고딕", 12F);
|
||||
this.chkApplyWMSInfo.ForeColor = System.Drawing.Color.Gray;
|
||||
this.chkApplyWMSInfo.Location = new System.Drawing.Point(13, 303);
|
||||
this.chkApplyWMSInfo.Name = "chkApplyWMSInfo";
|
||||
this.chkApplyWMSInfo.Size = new System.Drawing.Size(446, 25);
|
||||
this.chkApplyWMSInfo.TabIndex = 35;
|
||||
this.chkApplyWMSInfo.Tag = "8";
|
||||
this.chkApplyWMSInfo.Text = "Automatically record data using WMS information table";
|
||||
this.chkApplyWMSInfo.UseVisualStyleBackColor = true;
|
||||
this.chkApplyWMSInfo.CheckStateChanged += new System.EventHandler(this.checkBox1_CheckStateChanged);
|
||||
//
|
||||
// grpApplyWMSinfo
|
||||
//
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox36);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.chkWMSApplyBatch);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.label22);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.label23);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox41);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox42);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox43);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox44);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox45);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox46);
|
||||
this.grpApplyWMSinfo.Controls.Add(this.checkBox47);
|
||||
this.grpApplyWMSinfo.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.grpApplyWMSinfo.Enabled = false;
|
||||
this.grpApplyWMSinfo.Font = new System.Drawing.Font("맑은 고딕", 10F);
|
||||
this.grpApplyWMSinfo.Location = new System.Drawing.Point(10, 10);
|
||||
this.grpApplyWMSinfo.Name = "grpApplyWMSinfo";
|
||||
this.grpApplyWMSinfo.Size = new System.Drawing.Size(705, 82);
|
||||
this.grpApplyWMSinfo.TabIndex = 36;
|
||||
this.grpApplyWMSinfo.TabStop = false;
|
||||
this.grpApplyWMSinfo.Text = "WMS Information Application";
|
||||
//
|
||||
// checkBox36
|
||||
//
|
||||
this.checkBox36.AutoSize = true;
|
||||
this.checkBox36.ForeColor = System.Drawing.Color.Blue;
|
||||
this.checkBox36.Location = new System.Drawing.Point(311, 51);
|
||||
this.checkBox36.Name = "checkBox36";
|
||||
this.checkBox36.Size = new System.Drawing.Size(62, 23);
|
||||
this.checkBox36.TabIndex = 37;
|
||||
this.checkBox36.Tag = "11";
|
||||
this.checkBox36.Text = "VLOT";
|
||||
this.checkBox36.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkWMSApplyBatch
|
||||
//
|
||||
this.chkWMSApplyBatch.AutoSize = true;
|
||||
this.chkWMSApplyBatch.ForeColor = System.Drawing.Color.Green;
|
||||
this.chkWMSApplyBatch.Location = new System.Drawing.Point(431, 24);
|
||||
this.chkWMSApplyBatch.Name = "chkWMSApplyBatch";
|
||||
this.chkWMSApplyBatch.Size = new System.Drawing.Size(63, 23);
|
||||
this.chkWMSApplyBatch.TabIndex = 35;
|
||||
this.chkWMSApplyBatch.Tag = "9";
|
||||
this.chkWMSApplyBatch.Text = "Batch";
|
||||
this.chkWMSApplyBatch.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label22
|
||||
//
|
||||
this.label22.AutoSize = true;
|
||||
this.label22.Font = new System.Drawing.Font("맑은 고딕", 9F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))));
|
||||
this.label22.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label22.Location = new System.Drawing.Point(6, 54);
|
||||
this.label22.Name = "label22";
|
||||
this.label22.Size = new System.Drawing.Size(41, 15);
|
||||
this.label22.TabIndex = 29;
|
||||
this.label22.Text = "Query";
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.AutoSize = true;
|
||||
this.label23.Font = new System.Drawing.Font("맑은 고딕", 9F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))));
|
||||
this.label23.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.label23.Location = new System.Drawing.Point(7, 28);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(40, 15);
|
||||
this.label23.TabIndex = 29;
|
||||
this.label23.Text = "Apply";
|
||||
//
|
||||
// checkBox41
|
||||
//
|
||||
this.checkBox41.AutoSize = true;
|
||||
this.checkBox41.Location = new System.Drawing.Point(311, 24);
|
||||
this.checkBox41.Name = "checkBox41";
|
||||
this.checkBox41.Size = new System.Drawing.Size(114, 23);
|
||||
this.checkBox41.TabIndex = 28;
|
||||
this.checkBox41.Tag = "3";
|
||||
this.checkBox41.Text = "Vender Name";
|
||||
this.checkBox41.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox42
|
||||
//
|
||||
this.checkBox42.AutoSize = true;
|
||||
this.checkBox42.ForeColor = System.Drawing.Color.Blue;
|
||||
this.checkBox42.Location = new System.Drawing.Point(255, 50);
|
||||
this.checkBox42.Name = "checkBox42";
|
||||
this.checkBox42.Size = new System.Drawing.Size(50, 23);
|
||||
this.checkBox42.TabIndex = 27;
|
||||
this.checkBox42.Tag = "7";
|
||||
this.checkBox42.Text = "SID";
|
||||
this.checkBox42.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox43
|
||||
//
|
||||
this.checkBox43.AutoSize = true;
|
||||
this.checkBox43.ForeColor = System.Drawing.Color.Blue;
|
||||
this.checkBox43.Location = new System.Drawing.Point(156, 50);
|
||||
this.checkBox43.Name = "checkBox43";
|
||||
this.checkBox43.Size = new System.Drawing.Size(93, 23);
|
||||
this.checkBox43.TabIndex = 25;
|
||||
this.checkBox43.Tag = "6";
|
||||
this.checkBox43.Text = "Cust Code";
|
||||
this.checkBox43.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox44
|
||||
//
|
||||
this.checkBox44.AutoSize = true;
|
||||
this.checkBox44.ForeColor = System.Drawing.Color.Blue;
|
||||
this.checkBox44.Location = new System.Drawing.Point(73, 50);
|
||||
this.checkBox44.Name = "checkBox44";
|
||||
this.checkBox44.Size = new System.Drawing.Size(77, 23);
|
||||
this.checkBox44.TabIndex = 25;
|
||||
this.checkBox44.Tag = "5";
|
||||
this.checkBox44.Text = "Part No";
|
||||
this.checkBox44.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox45
|
||||
//
|
||||
this.checkBox45.AutoSize = true;
|
||||
this.checkBox45.Location = new System.Drawing.Point(255, 24);
|
||||
this.checkBox45.Name = "checkBox45";
|
||||
this.checkBox45.Size = new System.Drawing.Size(50, 23);
|
||||
this.checkBox45.TabIndex = 26;
|
||||
this.checkBox45.Tag = "2";
|
||||
this.checkBox45.Text = "SID";
|
||||
this.checkBox45.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox46
|
||||
//
|
||||
this.checkBox46.AutoSize = true;
|
||||
this.checkBox46.Location = new System.Drawing.Point(156, 24);
|
||||
this.checkBox46.Name = "checkBox46";
|
||||
this.checkBox46.Size = new System.Drawing.Size(93, 23);
|
||||
this.checkBox46.TabIndex = 25;
|
||||
this.checkBox46.Tag = "1";
|
||||
this.checkBox46.Text = "Cust Code";
|
||||
this.checkBox46.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox47
|
||||
//
|
||||
this.checkBox47.AutoSize = true;
|
||||
this.checkBox47.Location = new System.Drawing.Point(73, 24);
|
||||
this.checkBox47.Name = "checkBox47";
|
||||
this.checkBox47.Size = new System.Drawing.Size(77, 23);
|
||||
this.checkBox47.TabIndex = 25;
|
||||
this.checkBox47.Tag = "0";
|
||||
this.checkBox47.Text = "Part No";
|
||||
this.checkBox47.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// fSelectJob
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 17F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(751, 701);
|
||||
this.ClientSize = new System.Drawing.Size(751, 761);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
@@ -1098,6 +1277,8 @@
|
||||
this.tabPage3.PerformLayout();
|
||||
this.tableLayoutPanel3.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit();
|
||||
this.grpApplyWMSinfo.ResumeLayout(false);
|
||||
this.grpApplyWMSinfo.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@@ -1170,5 +1351,18 @@
|
||||
private System.Windows.Forms.CheckBox chkCVApplySID;
|
||||
private System.Windows.Forms.CheckBox chkCVApplyCust;
|
||||
private System.Windows.Forms.CheckBox chkCVApplyPartno;
|
||||
private System.Windows.Forms.CheckBox chkApplyWMSInfo;
|
||||
private System.Windows.Forms.GroupBox grpApplyWMSinfo;
|
||||
private System.Windows.Forms.CheckBox checkBox36;
|
||||
private System.Windows.Forms.CheckBox chkWMSApplyBatch;
|
||||
private System.Windows.Forms.Label label22;
|
||||
private System.Windows.Forms.Label label23;
|
||||
private System.Windows.Forms.CheckBox checkBox41;
|
||||
private System.Windows.Forms.CheckBox checkBox42;
|
||||
private System.Windows.Forms.CheckBox checkBox43;
|
||||
private System.Windows.Forms.CheckBox checkBox44;
|
||||
private System.Windows.Forms.CheckBox checkBox45;
|
||||
private System.Windows.Forms.CheckBox checkBox46;
|
||||
private System.Windows.Forms.CheckBox checkBox47;
|
||||
}
|
||||
}
|
||||
@@ -174,6 +174,21 @@ namespace Project.Dialog
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (grpApplyWMSinfo.Enabled)
|
||||
{
|
||||
//검색조건확인
|
||||
var v = CheckDataIn(grpApplyWMSinfo);
|
||||
if (v.Item1 < 1)
|
||||
{
|
||||
UTIL.MsgE("Target item is not specified among WMS information items");
|
||||
return;
|
||||
}
|
||||
if (v.Item2 < 1)
|
||||
{
|
||||
UTIL.MsgE("Search item is not specified among WMS information items");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (grpApplySidinfo.Enabled)
|
||||
{
|
||||
//검색조건확인
|
||||
@@ -244,6 +259,7 @@ namespace Project.Dialog
|
||||
|
||||
VAR.BOOL[eVarBool.Opt_ApplySIDConv] = chkApplySIDConv.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_ApplyJobInfo] = chkApplyJobInfo.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_ApplyWMSInfo] = chkApplyWMSInfo.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_ApplySIDInfo] = chkApplySidInfo.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_CheckSIDExist] = PUB.Result.vModel.CheckSIDExsit;
|
||||
|
||||
@@ -255,15 +271,31 @@ namespace Project.Dialog
|
||||
if (SETTING.Data.SystemBypass) VAR.BOOL[eVarBool.Opt_DisablePrinter] = true;
|
||||
else VAR.BOOL[eVarBool.Opt_DisablePrinter] = PUB.Result.vModel.DisablePrinter || (SETTING.Data.Disable_PrinterL && SETTING.Data.Disable_PrinterR);
|
||||
|
||||
|
||||
//WMS Information
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Apply_PartNo] = checkBox47.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Apply_CustCode] = checkBox46.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Apply_SID] = checkBox45.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Apply_VenderName] = checkBox41.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Apply_batch] = chkWMSApplyBatch.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Apply_qty] = false;// chkInfoApplyQty.Checked;
|
||||
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Where_PartNo] = checkBox44.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Where_CustCode] = checkBox43.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Where_SID] = checkBox42.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Where_VLOT] = checkBox36.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_Where_MC] = false;// chkInfoWhereMC.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_WMS_WriteServer] = false;// chkInfoSave.Checked;
|
||||
|
||||
//SID Information
|
||||
VAR.BOOL[eVarBool.Opt_SID_Apply_PartNo] = chkInfoApplyPart.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_SID_Apply_CustCode] = chkInfoApplyCust.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_SID_Apply_SID] = chkInfoApplySID.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_SID_Apply_VenderName] = chkInfoApplyVender.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_SID_Apply_PrintPos] = chkInfoApplyPrint.Checked;
|
||||
|
||||
///22092[
|
||||
VAR.BOOL[eVarBool.Opt_SID_Apply_batch] = chkInfoApplyBatch.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_SID_Apply_qty] = false;// chkInfoApplyQty.Checked;
|
||||
|
||||
VAR.BOOL[eVarBool.Opt_SID_Where_PartNo] = chkInfoWherePart.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_SID_Where_CustCode] = chkInfoWhereCust.Checked;
|
||||
VAR.BOOL[eVarBool.Opt_SID_Where_SID] = chkInfoWhereSID.Checked;
|
||||
@@ -375,6 +407,13 @@ namespace Project.Dialog
|
||||
if (chk.Tag == null) continue;
|
||||
chk.Checked = UTIL.GetBitState(dr.vOption, int.Parse(chk.Tag.ToString()));
|
||||
}
|
||||
foreach (var c in grpApplyWMSinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
var chk = c as CheckBox;
|
||||
if (chk.Tag == null) continue;
|
||||
chk.Checked = UTIL.GetBitState(dr.vWMSInfo, int.Parse(chk.Tag.ToString()));
|
||||
}
|
||||
foreach (var c in grpApplySidinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
@@ -418,6 +457,10 @@ namespace Project.Dialog
|
||||
{
|
||||
grpapplyjob.Enabled = chk.Checked;
|
||||
}
|
||||
if(chk.Name.Equals(chkApplyWMSInfo.Name))
|
||||
{
|
||||
grpApplyWMSinfo.Enabled = chk.Checked;
|
||||
}
|
||||
if (chk.Name.Equals(chkApplySidInfo.Name))
|
||||
{
|
||||
grpApplySidinfo.Enabled = chk.Checked;
|
||||
@@ -474,6 +517,13 @@ namespace Project.Dialog
|
||||
if (chk.Tag == null) continue;
|
||||
dr.vOption = UTIL.SetBitState((ushort)dr.vOption, int.Parse(chk.Tag.ToString()), chk.Checked);
|
||||
}
|
||||
foreach (var c in grpApplyWMSinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
var chk = c as CheckBox;
|
||||
if (chk.Tag == null) continue;
|
||||
dr.vWMSInfo = UTIL.SetBitState((ushort)dr.vWMSInfo, int.Parse(chk.Tag.ToString()), chk.Checked);
|
||||
}
|
||||
foreach (var c in grpApplySidinfo.Controls)
|
||||
{
|
||||
if (c.GetType() != typeof(CheckBox)) continue;
|
||||
@@ -535,8 +585,8 @@ namespace Project.Dialog
|
||||
|
||||
void UpdateHeight()
|
||||
{
|
||||
if (this.tabControl1.Visible) this.Height = 740;
|
||||
else this.Height = 445;
|
||||
if (this.tabControl1.Visible) this.Height = 755;
|
||||
else this.Height = 420;
|
||||
}
|
||||
|
||||
private void btOK_Click(object sender, EventArgs e)
|
||||
|
||||
@@ -450,7 +450,7 @@ namespace Project.Dialog
|
||||
{
|
||||
|
||||
//check double data 220706
|
||||
var CSQL = "select count(*) from Component_Reel_SID_Information WITH(NOLOCK) ";
|
||||
var CSQL = "select count(*) from K4EE_Component_Reel_SID_Information WITH(NOLOCK) ";
|
||||
CSQL += WSQL;
|
||||
CMD.CommandText = CSQL;
|
||||
var cnt = int.Parse(CMD.ExecuteScalar().ToString());
|
||||
@@ -468,7 +468,7 @@ namespace Project.Dialog
|
||||
}
|
||||
else
|
||||
{
|
||||
var USQL = $"update Component_Reel_SID_Information set [MC]='{PUB.MCCode}'," +
|
||||
var USQL = $"update K4EE_Component_Reel_SID_Information set [MC]='{PUB.MCCode}'," +
|
||||
string.Join(",", UpdateTarget.Select(t => "[" + t.Key + "]='" + t.Value + "'"));
|
||||
|
||||
USQL += WSQL;
|
||||
@@ -498,7 +498,7 @@ namespace Project.Dialog
|
||||
var dlg = UTIL.MsgQ(dlgMsg);
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
var ISQL = $"insert into Component_Reel_SID_Information ([MC],wdate," +
|
||||
var ISQL = $"insert into K4EE_Component_Reel_SID_Information ([MC],wdate," +
|
||||
string.Join(",", InsertTarget.Select(t => "[" + t.Key + "]")) + ") values(" +
|
||||
$"'{PUB.MCCode}',getdate()," +
|
||||
string.Join(",", InsertTarget.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + ")";
|
||||
@@ -669,7 +669,7 @@ namespace Project.Dialog
|
||||
void ServerWriteCNV(Dictionary<string, string> columns, Dictionary<string, string> wheres)
|
||||
{
|
||||
//변경된 값만 저장여부를 확인할 것이므로 기존 값을 모두 가져온다
|
||||
var tableName = "Component_Reel_SID_Convert";
|
||||
var tableName = "K4EE_Component_Reel_SID_Convert";
|
||||
var SQL = "select top 1 " + string.Join(",", columns.Select(t => "isnull([" + t.Key + "],'') as " + t.Key + "")) +
|
||||
$" from {tableName} WITH(NOLOCK) ";
|
||||
|
||||
|
||||
@@ -68,7 +68,11 @@ namespace Project.Dialog
|
||||
{
|
||||
//right
|
||||
if (PUB.PrinterR.IsOpen)
|
||||
PUB.PrinterR.Print(this.richTextBox1.Text);
|
||||
{
|
||||
var prn = PUB.PrinterR.Print(this.richTextBox1.Text);
|
||||
if (prn.result == false) PUB.log.AddE(prn.errmessage);
|
||||
|
||||
}
|
||||
else PUB.log.AddAT("Printer R not connected");
|
||||
}
|
||||
|
||||
@@ -76,7 +80,10 @@ namespace Project.Dialog
|
||||
{
|
||||
//left
|
||||
if (PUB.PrinterL.IsOpen)
|
||||
PUB.PrinterL.Print(this.richTextBox1.Text);
|
||||
{
|
||||
var prn = PUB.PrinterL.Print(this.richTextBox1.Text);
|
||||
if (prn.result == false) PUB.log.AddE(prn.errmessage);
|
||||
}
|
||||
else
|
||||
PUB.log.AddAT("Printer L not connected");
|
||||
}
|
||||
|
||||
351
Handler/Project/Dialog/fswPLC.Designer.cs
generated
351
Handler/Project/Dialog/fswPLC.Designer.cs
generated
@@ -1,351 +0,0 @@
|
||||
namespace Project.Dialog
|
||||
{
|
||||
partial class fswPLC
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.timer1 = new System.Windows.Forms.Timer(this.components);
|
||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||
this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.toolStripStatusLabel3 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.ioPanel1 = new arDev.AjinEXTEK.UI.IOPanel();
|
||||
this.logTextBox1 = new arCtl.LogTextBox();
|
||||
this.gridView1 = new arCtl.GridView.GridView();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.button4 = new System.Windows.Forms.Button();
|
||||
this.button5 = new System.Windows.Forms.Button();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.button7 = new System.Windows.Forms.Button();
|
||||
this.button8 = new System.Windows.Forms.Button();
|
||||
this.button9 = new System.Windows.Forms.Button();
|
||||
this.button10 = new System.Windows.Forms.Button();
|
||||
this.button11 = new System.Windows.Forms.Button();
|
||||
this.button12 = new System.Windows.Forms.Button();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// timer1
|
||||
//
|
||||
this.timer1.Interval = 250;
|
||||
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
|
||||
//
|
||||
// statusStrip1
|
||||
//
|
||||
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripStatusLabel2,
|
||||
this.toolStripStatusLabel3});
|
||||
this.statusStrip1.Location = new System.Drawing.Point(0, 570);
|
||||
this.statusStrip1.Name = "statusStrip1";
|
||||
this.statusStrip1.Size = new System.Drawing.Size(627, 22);
|
||||
this.statusStrip1.TabIndex = 2;
|
||||
this.statusStrip1.Text = "statusStrip1";
|
||||
//
|
||||
// toolStripStatusLabel2
|
||||
//
|
||||
this.toolStripStatusLabel2.Name = "toolStripStatusLabel2";
|
||||
this.toolStripStatusLabel2.Size = new System.Drawing.Size(121, 17);
|
||||
this.toolStripStatusLabel2.Text = "toolStripStatusLabel2";
|
||||
//
|
||||
// toolStripStatusLabel3
|
||||
//
|
||||
this.toolStripStatusLabel3.Name = "toolStripStatusLabel3";
|
||||
this.toolStripStatusLabel3.Size = new System.Drawing.Size(121, 17);
|
||||
this.toolStripStatusLabel3.Text = "toolStripStatusLabel3";
|
||||
//
|
||||
// ioPanel1
|
||||
//
|
||||
this.ioPanel1.BorderColor = System.Drawing.Color.Empty;
|
||||
this.ioPanel1.BorderSize = 0;
|
||||
this.ioPanel1.ColorList = null;
|
||||
this.ioPanel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.ioPanel1.FontPin = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.ioPanel1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||
this.ioPanel1.ForeColorPin = System.Drawing.Color.WhiteSmoke;
|
||||
this.ioPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.ioPanel1.MatrixSize = new System.Drawing.Point(3, 6);
|
||||
this.ioPanel1.MenuBorderSize = 1;
|
||||
this.ioPanel1.MenuGap = 5;
|
||||
this.ioPanel1.MinimumSize = new System.Drawing.Size(100, 50);
|
||||
this.ioPanel1.Name = "ioPanel1";
|
||||
this.ioPanel1.ShadowColor = System.Drawing.Color.Transparent;
|
||||
this.ioPanel1.showDebugInfo = false;
|
||||
this.ioPanel1.ShowPinName = true;
|
||||
this.ioPanel1.Size = new System.Drawing.Size(627, 116);
|
||||
this.ioPanel1.TabIndex = 0;
|
||||
this.ioPanel1.TextAttachToImage = true;
|
||||
//
|
||||
// logTextBox1
|
||||
//
|
||||
this.logTextBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(24)))), ((int)(((byte)(24)))));
|
||||
this.logTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.logTextBox1.ColorList = new arCtl.sLogMessageColor[0];
|
||||
this.logTextBox1.DateFormat = "mm:ss.fff";
|
||||
this.logTextBox1.DefaultColor = System.Drawing.Color.LightGray;
|
||||
this.logTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.logTextBox1.EnableDisplayTimer = true;
|
||||
this.logTextBox1.EnableGubunColor = true;
|
||||
this.logTextBox1.Font = new System.Drawing.Font("Consolas", 9F);
|
||||
this.logTextBox1.ListFormat = "[{0}] {1}";
|
||||
this.logTextBox1.Location = new System.Drawing.Point(0, 116);
|
||||
this.logTextBox1.MaxListCount = ((ushort)(200));
|
||||
this.logTextBox1.MaxTextLength = ((uint)(4000u));
|
||||
this.logTextBox1.MessageInterval = 50;
|
||||
this.logTextBox1.Name = "logTextBox1";
|
||||
this.logTextBox1.Size = new System.Drawing.Size(627, 208);
|
||||
this.logTextBox1.TabIndex = 0;
|
||||
this.logTextBox1.Text = "";
|
||||
//
|
||||
// gridView1
|
||||
//
|
||||
this.gridView1.arVeriticalDraw = false;
|
||||
this.gridView1.BorderColor = System.Drawing.Color.Black;
|
||||
this.gridView1.BorderSize = 0;
|
||||
this.gridView1.ColorList = null;
|
||||
this.gridView1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.gridView1.FontPin = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.gridView1.ForeColorPin = System.Drawing.Color.WhiteSmoke;
|
||||
this.gridView1.Location = new System.Drawing.Point(0, 470);
|
||||
this.gridView1.MatrixSize = new System.Drawing.Point(3, 4);
|
||||
this.gridView1.MenuBorderSize = 1;
|
||||
this.gridView1.MenuGap = 5;
|
||||
this.gridView1.MinimumSize = new System.Drawing.Size(100, 50);
|
||||
this.gridView1.Name = "gridView1";
|
||||
this.gridView1.Names = null;
|
||||
this.gridView1.ShadowColor = System.Drawing.Color.Transparent;
|
||||
this.gridView1.showDebugInfo = false;
|
||||
this.gridView1.ShowIndexString = true;
|
||||
this.gridView1.ShowNameString = true;
|
||||
this.gridView1.ShowValueString = true;
|
||||
this.gridView1.Size = new System.Drawing.Size(627, 100);
|
||||
this.gridView1.TabIndex = 3;
|
||||
this.gridView1.Tags = null;
|
||||
this.gridView1.Text = "gridView1";
|
||||
this.gridView1.TextAttachToImage = true;
|
||||
this.gridView1.Titles = null;
|
||||
this.gridView1.Values = null;
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 3;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.button1, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button2, 1, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button3, 2, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button4, 2, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button5, 1, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button6, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button7, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button8, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button9, 2, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button10, 2, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button11, 1, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button12, 0, 3);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 324);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 4;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(627, 146);
|
||||
this.tableLayoutPanel1.TabIndex = 4;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button1.Location = new System.Drawing.Point(3, 3);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(202, 30);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "UP";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button2.Location = new System.Drawing.Point(211, 3);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(203, 30);
|
||||
this.button2.TabIndex = 0;
|
||||
this.button2.Text = "UP";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button3
|
||||
//
|
||||
this.button3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button3.Location = new System.Drawing.Point(420, 3);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(204, 30);
|
||||
this.button3.TabIndex = 0;
|
||||
this.button3.Text = "UP";
|
||||
this.button3.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button4
|
||||
//
|
||||
this.button4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button4.Location = new System.Drawing.Point(420, 39);
|
||||
this.button4.Name = "button4";
|
||||
this.button4.Size = new System.Drawing.Size(204, 30);
|
||||
this.button4.TabIndex = 0;
|
||||
this.button4.Text = "STOP";
|
||||
this.button4.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button5
|
||||
//
|
||||
this.button5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button5.Location = new System.Drawing.Point(211, 39);
|
||||
this.button5.Name = "button5";
|
||||
this.button5.Size = new System.Drawing.Size(203, 30);
|
||||
this.button5.TabIndex = 0;
|
||||
this.button5.Text = "STOP";
|
||||
this.button5.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button6
|
||||
//
|
||||
this.button6.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button6.Location = new System.Drawing.Point(3, 39);
|
||||
this.button6.Name = "button6";
|
||||
this.button6.Size = new System.Drawing.Size(202, 30);
|
||||
this.button6.TabIndex = 0;
|
||||
this.button6.Text = "STOP";
|
||||
this.button6.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button7
|
||||
//
|
||||
this.button7.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button7.Location = new System.Drawing.Point(3, 75);
|
||||
this.button7.Name = "button7";
|
||||
this.button7.Size = new System.Drawing.Size(202, 30);
|
||||
this.button7.TabIndex = 0;
|
||||
this.button7.Text = "DOWN";
|
||||
this.button7.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button8
|
||||
//
|
||||
this.button8.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button8.Location = new System.Drawing.Point(211, 75);
|
||||
this.button8.Name = "button8";
|
||||
this.button8.Size = new System.Drawing.Size(203, 30);
|
||||
this.button8.TabIndex = 0;
|
||||
this.button8.Text = "DOWN";
|
||||
this.button8.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button9
|
||||
//
|
||||
this.button9.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button9.Location = new System.Drawing.Point(420, 75);
|
||||
this.button9.Name = "button9";
|
||||
this.button9.Size = new System.Drawing.Size(204, 30);
|
||||
this.button9.TabIndex = 0;
|
||||
this.button9.Text = "DOWN";
|
||||
this.button9.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button10
|
||||
//
|
||||
this.button10.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button10.Location = new System.Drawing.Point(420, 111);
|
||||
this.button10.Name = "button10";
|
||||
this.button10.Size = new System.Drawing.Size(204, 32);
|
||||
this.button10.TabIndex = 0;
|
||||
this.button10.Text = "REFRESH";
|
||||
this.button10.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button11
|
||||
//
|
||||
this.button11.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button11.Location = new System.Drawing.Point(211, 111);
|
||||
this.button11.Name = "button11";
|
||||
this.button11.Size = new System.Drawing.Size(203, 32);
|
||||
this.button11.TabIndex = 0;
|
||||
this.button11.Text = "REFRESH";
|
||||
this.button11.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button12
|
||||
//
|
||||
this.button12.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.button12.Location = new System.Drawing.Point(3, 111);
|
||||
this.button12.Name = "button12";
|
||||
this.button12.Size = new System.Drawing.Size(202, 32);
|
||||
this.button12.TabIndex = 0;
|
||||
this.button12.Text = "REFRESH";
|
||||
this.button12.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// fswPLC
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(627, 592);
|
||||
this.Controls.Add(this.logTextBox1);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Controls.Add(this.gridView1);
|
||||
this.Controls.Add(this.statusStrip1);
|
||||
this.Controls.Add(this.ioPanel1);
|
||||
this.Name = "fswPLC";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Form1";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.statusStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.PerformLayout();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private arCtl.LogTextBox logTextBox1;
|
||||
private System.Windows.Forms.Timer timer1;
|
||||
private arDev.AjinEXTEK.UI.IOPanel ioPanel1;
|
||||
private System.Windows.Forms.StatusStrip statusStrip1;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
|
||||
private arCtl.GridView.GridView gridView1;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel3;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.Button button4;
|
||||
private System.Windows.Forms.Button button5;
|
||||
private System.Windows.Forms.Button button6;
|
||||
private System.Windows.Forms.Button button7;
|
||||
private System.Windows.Forms.Button button8;
|
||||
private System.Windows.Forms.Button button9;
|
||||
private System.Windows.Forms.Button button10;
|
||||
private System.Windows.Forms.Button button11;
|
||||
private System.Windows.Forms.Button button12;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,349 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
|
||||
namespace Project.Dialog
|
||||
{
|
||||
public partial class fswPLC : Form
|
||||
{
|
||||
|
||||
// byte[] buffer = new byte[16];
|
||||
|
||||
public fswPLC()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Text = $"{Application.ProductName} ver {Application.ProductVersion}";
|
||||
PUB.log.RaiseMsg += (p1, p2, p3) => { this.logTextBox1.AddMsg(p1, p2, p3); };
|
||||
this.FormClosing += (s1, e2) =>
|
||||
{
|
||||
timer1.Stop();
|
||||
};
|
||||
|
||||
this.logTextBox1.ColorList = new arCtl.sLogMessageColor[] {
|
||||
new arCtl.sLogMessageColor("NORM",Color.Yellow),
|
||||
new arCtl.sLogMessageColor("ERR",Color.Red),
|
||||
new arCtl.sLogMessageColor("WARN",Color.Tomato),
|
||||
new arCtl.sLogMessageColor("INFO",Color.LightSkyBlue)
|
||||
};
|
||||
|
||||
List<string> piname = new List<String>();
|
||||
List<string> titles = new List<String>();
|
||||
List<bool> values = new List<bool>();
|
||||
|
||||
titles.AddRange(new string[] {
|
||||
"Upper Limit","Reel Detect","Lower Limit",
|
||||
"Motor Direction(1=DN,0=UP)","Motor Run","Emergency",
|
||||
});
|
||||
piname.AddRange(new string[] {
|
||||
"X"+((int)eDIName.PORTL_LIM_UP).ToString("X2"),
|
||||
"X"+((int)eDIName.PORTL_DET_UP).ToString("X2"),
|
||||
"X"+((int)eDIName.PORTL_LIM_DN).ToString("X2"),
|
||||
"Y"+((int)eDOName.PORTL_MOT_DIR).ToString("X2"),
|
||||
"Y"+((int)eDOName.PORTL_MOT_RUN).ToString("X2"),"--"
|
||||
});
|
||||
|
||||
titles.AddRange(new string[] {
|
||||
"Upper Limit","Reel Detect","Lower Limit",
|
||||
"Motor Direction(1=DN,0=UP)","Motor Run","--",
|
||||
});
|
||||
piname.AddRange(new string[] {
|
||||
"X"+((int)eDIName.PORTC_LIM_UP).ToString("X2"),
|
||||
"X"+((int)eDIName.PORTC_DET_UP).ToString("X2"),
|
||||
"X"+((int)eDIName.PORTC_LIM_DN).ToString("X2"),
|
||||
"Y"+((int)eDOName.PORTC_MOT_DIR).ToString("X2"),
|
||||
"Y"+((int)eDOName.PORTC_MOT_RUN).ToString("X2"),"--"
|
||||
});
|
||||
|
||||
|
||||
titles.AddRange(new string[] {
|
||||
"Upper Limit","Reel Detect","Lower Limit",
|
||||
"Motor Direction(1=DN,0=UP)","Motor Run","--"
|
||||
});
|
||||
piname.AddRange(new string[] {
|
||||
"X"+((int)eDIName.PORTR_LIM_UP).ToString("X2"),
|
||||
"X"+((int)eDIName.PORTR_DET_UP).ToString("X2"),
|
||||
"X"+((int)eDIName.PORTR_LIM_DN).ToString("X2"),
|
||||
"Y"+((int)eDOName.PORTR_MOT_DIR).ToString("X2"),
|
||||
"Y"+((int)eDOName.PORTR_MOT_RUN).ToString("X2"),"--"
|
||||
});
|
||||
|
||||
for (int i = 0; i < titles.Count; i++)
|
||||
values.Add(false);
|
||||
|
||||
ioPanel1.ColorList = new arDev.AjinEXTEK.UI.ColorListItem[] {
|
||||
new arDev.AjinEXTEK.UI.ColorListItem{ BackColor1 = Color.DimGray, BackColor2 = Color.FromArgb(30,30,30), Remark="False" },
|
||||
new arDev.AjinEXTEK.UI.ColorListItem{ BackColor1 = Color.Lime, BackColor2 = Color.Green, Remark="True" },
|
||||
};
|
||||
|
||||
this.ioPanel1.setTitle(titles.ToArray());
|
||||
this.ioPanel1.setNames(piname.ToArray());
|
||||
this.ioPanel1.setValue(values.ToArray());
|
||||
this.ioPanel1.Invalidate();
|
||||
|
||||
//내부버퍼확인
|
||||
titles.Clear();
|
||||
piname.Clear();
|
||||
var valueb = new List<ushort>();
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
var addr = (eswPLCAddr)i;
|
||||
piname.Add(i.ToString("X2"));
|
||||
titles.Add(addr.ToString());
|
||||
valueb.Add(0);
|
||||
}
|
||||
|
||||
gridView1.ColorList = new arCtl.GridView.ColorListItem[] {
|
||||
new arCtl.GridView.ColorListItem{ BackColor1 = Color.DimGray, BackColor2 = Color.FromArgb(30,30,30), Remark="False" },
|
||||
new arCtl.GridView.ColorListItem{ BackColor1 = Color.Lime, BackColor2 = Color.Green, Remark="True" },
|
||||
};
|
||||
this.gridView1.setTitle(titles.ToArray());
|
||||
this.gridView1.setNames(piname.ToArray());
|
||||
this.gridView1.setValue(valueb.ToArray());
|
||||
this.gridView1.ShowValueString = true;
|
||||
this.gridView1.ShowNameString = true;
|
||||
this.gridView1.ShowIndexString = false;
|
||||
this.gridView1.Invalidate();
|
||||
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
PUB.log.AddI("Program started");
|
||||
PUB.plc.ValueChanged += Plc_ValueChanged;
|
||||
ioPanel1.ItemClick += IoPanel1_ItemClick;
|
||||
timer1.Start();
|
||||
}
|
||||
|
||||
private void Plc_ValueChanged(object sender, AR.MemoryMap.Core.monitorvalueargs e)
|
||||
{
|
||||
|
||||
}
|
||||
private void Dio_IOValueChanged(object sender, arDev.DIO.IOValueEventArgs e)
|
||||
{
|
||||
if (e.Direction == arDev.DIO.eIOPINDIR.INPUT)
|
||||
{
|
||||
var pin = (eDIName)e.ArrIDX;
|
||||
|
||||
//센서가 활성화될때는 이값을 설정해준다
|
||||
//나머지조건은 autocontrol 에서 처리된다.
|
||||
if (e.NewValue)
|
||||
{
|
||||
if (pin == eDIName.PORTL_LIM_DN) WriteBuffer(eswPLCAddr.LPort, 1);
|
||||
else if (pin == eDIName.PORTL_DET_UP) WriteBuffer(eswPLCAddr.LPort, 2);
|
||||
else if (pin == eDIName.PORTL_LIM_UP) WriteBuffer(eswPLCAddr.LPort, 3);
|
||||
|
||||
else if (pin == eDIName.PORTC_LIM_DN) WriteBuffer(eswPLCAddr.CPort, 1);
|
||||
else if (pin == eDIName.PORTC_DET_UP) WriteBuffer(eswPLCAddr.CPort, 2);
|
||||
else if (pin == eDIName.PORTC_LIM_UP) WriteBuffer(eswPLCAddr.CPort, 3);
|
||||
|
||||
else if (pin == eDIName.PORTR_LIM_DN) WriteBuffer(eswPLCAddr.RPort, 1);
|
||||
else if (pin == eDIName.PORTR_DET_UP) WriteBuffer(eswPLCAddr.RPort, 2);
|
||||
else if (pin == eDIName.PORTR_LIM_UP) WriteBuffer(eswPLCAddr.RPort, 3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var pin = (eDOName)e.ArrIDX;
|
||||
|
||||
if (pin == eDOName.PORTL_MOT_RUN)
|
||||
{
|
||||
if (e.NewValue == false) WriteBuffer(eswPLCAddr.LMotor, 3);
|
||||
else
|
||||
{
|
||||
//방향을 확인해야한다
|
||||
var value = GetDOValue(eDOName.PORTL_MOT_DIR) ? 2 : 1;
|
||||
WriteBuffer(eswPLCAddr.LMotor, (byte)value);
|
||||
}
|
||||
}
|
||||
else if (pin == eDOName.PORTC_MOT_RUN)
|
||||
{
|
||||
if (e.NewValue == false) WriteBuffer(eswPLCAddr.CMotor, 3);
|
||||
else
|
||||
{
|
||||
//방향을 확인해야한다
|
||||
var value = GetDOValue(eDOName.PORTC_MOT_DIR) ? 2 : 1;
|
||||
WriteBuffer(eswPLCAddr.CMotor, (byte)value);
|
||||
}
|
||||
}
|
||||
else if (pin == eDOName.PORTR_MOT_RUN)
|
||||
{
|
||||
if (e.NewValue == false) WriteBuffer(eswPLCAddr.RMotor, 3);
|
||||
else
|
||||
{
|
||||
//방향을 확인해야한다
|
||||
var value = GetDOValue(eDOName.PORTR_MOT_DIR) ? 2 : 1;
|
||||
WriteBuffer(eswPLCAddr.RMotor, (byte)value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private void IoPanel1_ItemClick(object sender, arDev.AjinEXTEK.UI.IOPanel.ItemClickEventArgs e)
|
||||
{
|
||||
var name = this.ioPanel1.Names[e.idx];
|
||||
if (name.StartsWith("Y"))
|
||||
{
|
||||
var pinno = Convert.ToInt32(name.Substring(1), 16);
|
||||
var pin = (eDOName)pinno;
|
||||
var cur = GetDOValue(pin);
|
||||
DIO.SetOutput(pin, !cur);
|
||||
PUB.log.Add($"value change [X{pinno:X2}] {pin} to {!cur}");
|
||||
}
|
||||
}
|
||||
bool GetDOValue(eDOName pin)
|
||||
{
|
||||
return PUB.dio.GetDOValue((int)pin);
|
||||
}
|
||||
bool GetDIValue(eDIName pin)
|
||||
{
|
||||
if (pin == eDIName.PORTL_LIM_DN || pin == eDIName.PORTC_LIM_DN || pin == eDIName.PORTR_LIM_DN)
|
||||
{
|
||||
return !PUB.dio.GetDIValue((int)pin);
|
||||
}
|
||||
else if (pin == eDIName.PORTL_LIM_UP || pin == eDIName.PORTC_LIM_UP || pin == eDIName.PORTR_LIM_UP)
|
||||
{
|
||||
return !PUB.dio.GetDIValue((int)pin);
|
||||
}
|
||||
else if (pin == eDIName.PORTL_DET_UP || pin == eDIName.PORTC_DET_UP || pin == eDIName.PORTR_DET_UP)
|
||||
{
|
||||
return !PUB.dio.GetDIValue((int)pin);
|
||||
}
|
||||
else if (pin == eDIName.BUT_EMGF)
|
||||
{
|
||||
return !PUB.dio.GetDIValue((int)pin);
|
||||
}
|
||||
else return PUB.dio.GetDIValue((int)pin);
|
||||
}
|
||||
|
||||
public enum eMotList
|
||||
{
|
||||
Left = 0,
|
||||
Center,
|
||||
Right,
|
||||
}
|
||||
public enum eMotControl
|
||||
{
|
||||
Stop,
|
||||
Down,
|
||||
Up,
|
||||
|
||||
}
|
||||
|
||||
void MotorControl(eMotList mot, eMotControl cmd)
|
||||
{
|
||||
if (cmd == eMotControl.Stop)
|
||||
{
|
||||
eDOName pin = eDOName.PORTL_MOT_RUN;
|
||||
if (mot == eMotList.Center) pin = eDOName.PORTC_MOT_RUN;
|
||||
else if (mot == eMotList.Right) pin = eDOName.PORTR_MOT_RUN;
|
||||
|
||||
//출력이켜져있다면 끈다
|
||||
if (GetDOValue(pin)) SetOutput(pin, false);
|
||||
}
|
||||
else if (cmd == eMotControl.Down || cmd == eMotControl.Up)
|
||||
{
|
||||
var dir = cmd == eMotControl.Down ? false : true;
|
||||
eDOName pinDir = eDOName.PORTL_MOT_DIR;
|
||||
if (mot == eMotList.Center) pinDir = eDOName.PORTC_MOT_DIR;
|
||||
else if (mot == eMotList.Right) pinDir = eDOName.PORTR_MOT_DIR;
|
||||
|
||||
eDOName pinRun = eDOName.PORTL_MOT_RUN;
|
||||
if (mot == eMotList.Center) pinRun = eDOName.PORTC_MOT_RUN;
|
||||
else if (mot == eMotList.Right) pinRun = eDOName.PORTR_MOT_RUN;
|
||||
|
||||
if (GetDOValue(pinDir) != dir) SetOutput(pinDir, dir);
|
||||
if (GetDOValue(pinRun) == false) SetOutput(pinRun, true);
|
||||
}
|
||||
|
||||
}
|
||||
bool SetOutput(eDOName pin, bool value)
|
||||
{
|
||||
return PUB.dio.SetOutput((int)pin, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 내부임시버퍼의 값을 확인합니다
|
||||
/// </summary>
|
||||
/// <param name="addr"></param>
|
||||
/// <returns></returns>
|
||||
byte ReadBuffer(eswPLCAddr addr)
|
||||
{
|
||||
return PUB.swPLCBuffer[(int)addr];
|
||||
}
|
||||
void WriteBuffer(eswPLCAddr addr, byte value)
|
||||
{
|
||||
PUB.swPLCBuffer[(int)addr] = value;
|
||||
}
|
||||
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
//io상태 ㅍ시
|
||||
|
||||
var idx = 0;
|
||||
if (PUB.dio != null && PUB.dio.IsInit)
|
||||
{
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTL_LIM_UP));
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTL_DET_UP));
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTL_LIM_DN));
|
||||
ioPanel1.setValue(idx++, PUB.dio.GetDOValue((int)eDOName.PORTL_MOT_DIR));
|
||||
ioPanel1.setValue(idx++, PUB.dio.GetDOValue((int)eDOName.PORTL_MOT_RUN));
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.BUT_EMGF));
|
||||
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTC_LIM_UP));
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTC_DET_UP));
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTC_LIM_DN));
|
||||
ioPanel1.setValue(idx++, PUB.dio.GetDOValue((int)eDOName.PORTC_MOT_DIR));
|
||||
ioPanel1.setValue(idx++, PUB.dio.GetDOValue((int)eDOName.PORTC_MOT_RUN));
|
||||
ioPanel1.setValue(idx++, false);
|
||||
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTR_LIM_UP));
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTR_DET_UP));
|
||||
ioPanel1.setValue(idx++, GetDIValue(eDIName.PORTR_LIM_DN));
|
||||
ioPanel1.setValue(idx++, PUB.dio.GetDOValue((int)eDOName.PORTR_MOT_DIR));
|
||||
ioPanel1.setValue(idx++, PUB.dio.GetDOValue((int)eDOName.PORTR_MOT_RUN));
|
||||
ioPanel1.setValue(idx++, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
ioPanel1.setValue(idx++, false);
|
||||
}
|
||||
ioPanel1.Invalidate();
|
||||
|
||||
//내부버퍼표시
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
gridView1.setValue(i, ReadBuffer((eswPLCAddr)i));
|
||||
}
|
||||
gridView1.Invalidate();
|
||||
|
||||
toolStripStatusLabel2.Text = PUB.plc.Init ? "Connected" : "Disconnected";
|
||||
toolStripStatusLabel2.ForeColor = PUB.plc.Init ? Color.Black : Color.Red;
|
||||
toolStripStatusLabel3.Text = $"Loop({PUB.sm.Loop_ms:N0}ms)";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,126 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>104, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
30
Handler/Project/Manager/DatabaseManager.cs
Normal file
30
Handler/Project/Manager/DatabaseManager.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
public static class DB
|
||||
{
|
||||
public static int ChangeRegExName(string oldname, string newname)
|
||||
{
|
||||
var sql = DBHelper.UpdateWhere("K4EE_Component_Reel_RegExRule",
|
||||
new Dictionary<string, object>(){
|
||||
{ "CustCode",newname }
|
||||
}, new Dictionary<string, object>()
|
||||
{
|
||||
{ "CustCode",oldname }
|
||||
});
|
||||
return sql;
|
||||
}
|
||||
public static int CopyRegEx(string oldname, string newname)
|
||||
{
|
||||
var sql = "insert into K4EE_Component_Reel_RegExRule(custcode,seq,description,symbol,pattern,groups,isenable,istrust,isamkstd,isignore)" +
|
||||
$" select '{newname}',seq,description,symbol,pattern,groups,isenable,istrust,isamkstd,isignore " +
|
||||
$" from K4EE_Component_Reel_RegExRule" +
|
||||
$" where custcode = '{oldname}'";
|
||||
return DBHelper.ExecuteNonQuery(sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -414,7 +414,7 @@ namespace Project.Manager
|
||||
//숫자는 기본 0으로 처리한다
|
||||
data.Append("0");
|
||||
}
|
||||
else data.Append("0");
|
||||
else data.Append("");
|
||||
}
|
||||
data.AppendLine();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using AR;
|
||||
using Emgu.CV.BgSegm;
|
||||
using System;
|
||||
using System.CodeDom;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
@@ -102,7 +103,7 @@ namespace Project
|
||||
|
||||
public static Boolean UserAdmin { get { return true; } }
|
||||
|
||||
public static bool OPT_CAMERA(eWorkPort target)
|
||||
public static bool OPT_CAMERA()
|
||||
{
|
||||
var retval = VAR.BOOL[eVarBool.Opt_DisableCamera];
|
||||
if (retval == false)
|
||||
@@ -210,17 +211,11 @@ namespace Project
|
||||
|
||||
public static bool UpdateWMS(Class.VisionData Data)
|
||||
{
|
||||
return false;
|
||||
PUB.log.AddE("updatewms wms 데이터베이스 기록 연결해야 함(아세테크)");
|
||||
return true;
|
||||
}
|
||||
public static bool SelectModelV(string modelName, bool bUploadConfig = true)
|
||||
{
|
||||
//
|
||||
//if (this.InvokeRequired)
|
||||
//{
|
||||
// this.Invoke(new SelectModelHandler(SelectModelV), new object[] { modelName, bUploadConfig });
|
||||
// return;
|
||||
//}
|
||||
|
||||
//Initialize
|
||||
PUB.Result.vModel.Title = string.Empty;
|
||||
PUB.PrinterL.ZPLFileName = UTIL.MakePath("Data", "zpl.txt"); //Set as default file
|
||||
@@ -240,10 +235,14 @@ namespace Project
|
||||
SETTING.User.Save();
|
||||
}
|
||||
|
||||
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
|
||||
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
|
||||
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
|
||||
|
||||
PUB.log.Add($"Model pattern loading:{PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
|
||||
}
|
||||
|
||||
PUB.log.Add($"Model pattern loading:{PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
|
||||
if (modelVision.Code.isEmpty())
|
||||
{
|
||||
//PUB.Result.CustCode = string.Empty;
|
||||
@@ -302,9 +301,9 @@ namespace Project
|
||||
public static bool MemLoadBarcodeConfig(Device.KeyenceBarcode keyence)
|
||||
{
|
||||
var BarcodeMemoryNo = PUB.Result.vModel.BSave;
|
||||
if (BarcodeMemoryNo < 0)
|
||||
if (BarcodeMemoryNo < 1)
|
||||
{
|
||||
PUB.log.AddAT($"The currently selected model does not have a barcode memory number specified.");
|
||||
PUB.log.AddAT($"The currently selected model does not have a barcode memory number (BSAVE) specified.");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -322,9 +321,11 @@ namespace Project
|
||||
{
|
||||
//접속되어잇ㅇ츠면 끈다
|
||||
var isTriggeronL = keyence.IsTriggerOn;
|
||||
var tagstr = keyence?.Tag ?? string.Empty;
|
||||
if (keyence.IsConnect)
|
||||
{
|
||||
keyence.Trigger(false);
|
||||
PUB.log.Add($"[{tagstr}] Send BLoad({BarcodeMemoryNo})");
|
||||
keyence.BLoad(BarcodeMemoryNo);
|
||||
}
|
||||
|
||||
@@ -825,6 +826,8 @@ namespace Project
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case "LOT":
|
||||
case "VLOT":
|
||||
if (vdata.VLOT.isEmpty())
|
||||
{
|
||||
@@ -867,6 +870,7 @@ namespace Project
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "PARTNO":
|
||||
case "PART":
|
||||
if (vdata.PARTNO.isEmpty())
|
||||
{
|
||||
@@ -958,6 +962,9 @@ namespace Project
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
PUB.log.AddAT($"Unknown RegEx Target Name : {TargetPos}");
|
||||
break;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
@@ -1096,7 +1103,7 @@ namespace Project
|
||||
|
||||
public static void initCore()
|
||||
{
|
||||
system_mot = new System_MotParameter(UTIL.MakePath("Data","System_mot.xml"));
|
||||
system_mot = new System_MotParameter(UTIL.MakePath("Data", "System_mot.xml"));
|
||||
system_mot.Load();
|
||||
|
||||
//setting
|
||||
@@ -1121,7 +1128,7 @@ namespace Project
|
||||
|
||||
//zpl파일 만든다.
|
||||
var fn = Path.Combine(UTIL.CurrentPath, "Data", "zpl.txt");
|
||||
// i// File.WriteAllText(fn, Properties.Settings.Default.ZPL7, Encoding.Default);
|
||||
// i// File.WriteAllText(fn, Properties.Settings.Default.ZPL7, Encoding.Default);
|
||||
}
|
||||
|
||||
static void popup_WindowOpen(object sender, EventArgs e)
|
||||
@@ -1238,6 +1245,54 @@ namespace Project
|
||||
|
||||
public static string IP { get; set; }
|
||||
public static string MAC { get; set; }
|
||||
public static string HOSTNAME { get; set; }
|
||||
|
||||
public static void GetIPMac()
|
||||
{
|
||||
string ip = "";
|
||||
string mac = "";
|
||||
try
|
||||
{
|
||||
var nif = NetworkInterface.GetAllNetworkInterfaces();
|
||||
var host = Dns.GetHostEntry(Dns.GetHostName());
|
||||
HOSTNAME = System.Net.Dns.GetHostEntry("").HostName;
|
||||
foreach (IPAddress r in host.AddressList)
|
||||
{
|
||||
string str = r.ToString();
|
||||
|
||||
if (str != "" && str.Substring(0, 3) == "10.")
|
||||
{
|
||||
ip = str;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
string rtn = string.Empty;
|
||||
ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");
|
||||
ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq);
|
||||
foreach (ManagementObject mo in query1.Get())
|
||||
{
|
||||
string[] address = (string[])mo["IPAddress"];
|
||||
if (address[0] == ip && mo["MACAddress"] != null)
|
||||
{
|
||||
mac = mo["MACAddress"].ToString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ip = "";
|
||||
mac = "";
|
||||
}
|
||||
|
||||
IP = ip;
|
||||
MAC = mac;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 프로그램 사용기록 추가
|
||||
@@ -1250,46 +1305,17 @@ namespace Project
|
||||
if (prgmName.Length > 50) prgmName = prgmName.Substring(0, 50); //길이제한
|
||||
var task = Task.Factory.StartNew(() =>
|
||||
{
|
||||
GetIPMac();
|
||||
try
|
||||
{
|
||||
string ip = "";
|
||||
string mac = "";
|
||||
// string prgmName = Application.ProductName;
|
||||
|
||||
var nif = NetworkInterface.GetAllNetworkInterfaces();
|
||||
var host = Dns.GetHostEntry(Dns.GetHostName());
|
||||
string fullname = System.Net.Dns.GetHostEntry("").HostName;
|
||||
foreach (IPAddress r in host.AddressList)
|
||||
{
|
||||
string str = r.ToString();
|
||||
|
||||
if (str != "" && str.Substring(0, 3) == "10.")
|
||||
{
|
||||
ip = str;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
string rtn = string.Empty;
|
||||
ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");
|
||||
ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq);
|
||||
foreach (ManagementObject mo in query1.Get())
|
||||
{
|
||||
string[] address = (string[])mo["IPAddress"];
|
||||
if (address[0] == ip && mo["MACAddress"] != null)
|
||||
{
|
||||
mac = mo["MACAddress"].ToString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (ip == "" || mac == "")
|
||||
if (IP == "" || MAC == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
SqlConnection conn = new SqlConnection("Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!");
|
||||
SqlConnection conn = new SqlConnection("Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D");
|
||||
conn.Open();
|
||||
string ProcName = "AddPrgmUser3";
|
||||
SqlCommand cmd = new SqlCommand(ProcName, conn)
|
||||
@@ -1298,10 +1324,10 @@ namespace Project
|
||||
};
|
||||
|
||||
SqlParameter param = cmd.Parameters.Add("@mac", SqlDbType.NVarChar, 50);
|
||||
param.Value = mac;
|
||||
param.Value = MAC;
|
||||
|
||||
param = cmd.Parameters.Add("@ip", SqlDbType.NVarChar, 50);
|
||||
param.Value = ip;
|
||||
param.Value = IP;
|
||||
|
||||
param = cmd.Parameters.Add("@pgrm", SqlDbType.NVarChar, 50);
|
||||
param.Value = prgmName;
|
||||
@@ -1319,13 +1345,12 @@ namespace Project
|
||||
param.Value = System.Environment.UserName;
|
||||
|
||||
param = cmd.Parameters.Add("@hostname", SqlDbType.NVarChar, 100);
|
||||
param.Value = fullname;
|
||||
param.Value = HOSTNAME;
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
conn.Close();
|
||||
|
||||
IP = ip;
|
||||
MAC = mac;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -1643,11 +1668,12 @@ namespace Project
|
||||
|
||||
string NewID = string.Empty;
|
||||
string Message = string.Empty;
|
||||
var ip = PUB.IP ?? "127.0.0.1";
|
||||
|
||||
var retval = ta.X_SP_GET_UNIT_ID_LABEL(SETTING.Data.WMS_PROGRAM_ID,
|
||||
SETTING.Data.WMS_CENTER_CD, sid,
|
||||
SETTING.Data.WMS_REG_USERID,
|
||||
PUB.IP,
|
||||
ip,
|
||||
ref NewID,
|
||||
ref Message);
|
||||
|
||||
@@ -1731,24 +1757,99 @@ namespace Project
|
||||
|
||||
public static string GetErrorMessage(eECode err, params object[] args)
|
||||
{
|
||||
string ermsg = string.Empty;// $"[E{(int)err}] ";
|
||||
var dr = PUB.mdm.dataSet.ErrorDescription.Where(t => t.Idx == (short)err).FirstOrDefault();
|
||||
if (dr != null)
|
||||
string ermsg = string.Empty;
|
||||
string description = string.Empty;
|
||||
|
||||
// Get error description using switch statement with hardcoded messages
|
||||
switch (err)
|
||||
{
|
||||
//자료는 있으나 사용자가 입력하지 않은 상태
|
||||
if (dr.Description.isEmpty()) ermsg += "NO ERROR DESCRIPTION\nERR:" + err.ToString() + "\n{0}";
|
||||
else ermsg += dr.Description.Replace("\\n", "\n");
|
||||
case eECode.EMERGENCY:
|
||||
description = "Emergency stop activated\nPlease check the emergency button and reset";
|
||||
break;
|
||||
case eECode.NOMODELV:
|
||||
description = "Vision model not found\nPlease load or create a vision model";
|
||||
break;
|
||||
case eECode.NOMODELM:
|
||||
description = "Motion model not found\nPlease load or create a motion model";
|
||||
break;
|
||||
case eECode.HOME_TIMEOUT:
|
||||
description = "Home position timeout\nMotor failed to reach home position within timeout period";
|
||||
break;
|
||||
case eECode.NOFUNCTION:
|
||||
description = "Function not available\nThe requested function is not implemented";
|
||||
break;
|
||||
case eECode.DOOFF:
|
||||
description = "Digital output OFF failed\n{0}";
|
||||
break;
|
||||
case eECode.DOON:
|
||||
description = "Digital output ON failed\n{0}";
|
||||
break;
|
||||
case eECode.DIOFF:
|
||||
description = "Waiting for digital input OFF\n{0}";
|
||||
break;
|
||||
case eECode.DION:
|
||||
description = "Waiting for digital input ON\n{0}";
|
||||
break;
|
||||
case eECode.MESSAGE_INFO:
|
||||
description = "Information: {0}";
|
||||
break;
|
||||
case eECode.MESSAGE_ERROR:
|
||||
description = "Error: {0}";
|
||||
break;
|
||||
case eECode.AZJINIT:
|
||||
description = "Motion controller initialization failed\nPlease check the motion card connection";
|
||||
break;
|
||||
case eECode.MOT_SVOFF:
|
||||
description = "Motor servo is OFF\nPlease turn on the servo motor";
|
||||
break;
|
||||
case eECode.MOT_CMD:
|
||||
description = "Motion command error\n{0}";
|
||||
break;
|
||||
case eECode.USER_STOP:
|
||||
description = "User stop requested\nOperation stopped by user";
|
||||
break;
|
||||
case eECode.USER_STEP:
|
||||
description = "Step mode active\nPress continue to proceed";
|
||||
break;
|
||||
case eECode.POSITION_ERROR:
|
||||
description = "Position error\nAxis is not at the expected position\n{0}";
|
||||
break;
|
||||
case eECode.MOTIONMODEL_MISSMATCH:
|
||||
description = "Motion model mismatch\nThe loaded motion model does not match the system configuration";
|
||||
break;
|
||||
case eECode.VISCONF:
|
||||
description = "Vision configuration error\nPlease check vision system settings";
|
||||
break;
|
||||
|
||||
case eECode.PRINTER:
|
||||
description = "Printer error\nPlease check the printer connection and status\n{0}";
|
||||
break;
|
||||
case eECode.QRDATAMISSMATCHL:
|
||||
description = "Left QR data mismatch\nThe QR code data does not match expected format\n{0}";
|
||||
break;
|
||||
case eECode.QRDATAMISSMATCHR:
|
||||
description = "Right QR data mismatch\nThe QR code data does not match expected format\n{0}";
|
||||
break;
|
||||
case eECode.MOTX_SAFETY:
|
||||
description = "Motion X-axis safety error\nSafety condition violated for X-axis movement";
|
||||
break;
|
||||
|
||||
default:
|
||||
description = $"Unknown error code: {err}\n{{0}}";
|
||||
break;
|
||||
}
|
||||
else ermsg = "NO ERROR DATA\nERR:" + err.ToString() + "\n{0}"; //자료자체를 찾을 수 없다
|
||||
|
||||
// Format the message with any provided arguments
|
||||
try
|
||||
{
|
||||
var newermsg = string.Format(ermsg, args);
|
||||
ermsg = newermsg;
|
||||
ermsg = string.Format(description, args);
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch
|
||||
{
|
||||
|
||||
// If formatting fails, just use the description as is
|
||||
ermsg = description;
|
||||
}
|
||||
|
||||
return ermsg;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,16 @@ namespace Project
|
||||
//로그가 너무 많이 쌓이니 해제한다
|
||||
//Pub.log.AddE("Reader RES : " + resp);
|
||||
}
|
||||
else if (e.RawData.StartsWith("OK,BLOAD"))
|
||||
{
|
||||
var str = e.RawData.Replace("\r", "").Replace("\n", "");
|
||||
PUB.log.AddI($"[{dev.Tag}] {str}");
|
||||
}
|
||||
else if (e.RawData.StartsWith("OK,BSAVE"))
|
||||
{
|
||||
var str = e.RawData.Replace("\r", "").Replace("\n", "");
|
||||
PUB.log.AddI($"[{dev.Tag}] {str}");
|
||||
}
|
||||
else if (e.RawData.StartsWith("OK"))
|
||||
{
|
||||
//OK회신
|
||||
@@ -29,7 +39,12 @@ namespace Project
|
||||
if (PUB.sm.Step != eSMStep.HOME_FULL && PUB.sm.Step != eSMStep.HOME_QUICK)
|
||||
{
|
||||
// PUB.logKeyence.Add($"{resp.Replace("\n", "").Replace("\r", "")}");
|
||||
ParseBarcode(e.RawData, dev.Tag.ToString());
|
||||
var rawdata = e.RawData; //↔▲▼
|
||||
rawdata = rawdata.Replace('\x1D', '↔').Replace('\x1E', '▲').Replace('\x04', '▼');
|
||||
|
||||
var lines = rawdata.Split(new char[] { '\r' },StringSplitOptions.RemoveEmptyEntries);
|
||||
foreach(var line in lines)
|
||||
ParseBarcode(line, dev.Tag.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -110,8 +125,8 @@ namespace Project
|
||||
|
||||
private string KeyenceBarcodeDataF = string.Empty;
|
||||
private string KeyenceBarcodeDataR = string.Empty;
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 키엔스로부터 받은 데이터를 분석한다.
|
||||
/// </summary>
|
||||
@@ -120,6 +135,8 @@ namespace Project
|
||||
void ParseBarcode(string response, string Source)
|
||||
{
|
||||
|
||||
|
||||
|
||||
//220901 - 특문있었ㅇ츰
|
||||
var r1 = (char)0x1D;
|
||||
var r2 = (char)0x1E;
|
||||
@@ -144,7 +161,37 @@ namespace Project
|
||||
var RegX = new System.Text.RegularExpressions.Regex(Pattern);
|
||||
foreach (var resp in frames)
|
||||
{
|
||||
if (RegX.IsMatch(resp.Trim()) == false)
|
||||
var bcddata = resp.Trim().Split(',');
|
||||
if (resp.Equals("0:ERROR"))
|
||||
{
|
||||
PUB.log.AddE($"[{Source}] {resp}");
|
||||
continue;
|
||||
}
|
||||
else if (bcddata.Length > 2 && bcddata[1] == "BLOAD")
|
||||
{
|
||||
if (bcddata[0] == "ER")
|
||||
{
|
||||
PUB.log.AddE($"[{Source}]Bacode Memory Read Error({resp})");
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.log.AddI($"[{Source}]Bacode Memory Read Complete({resp})");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else if (bcddata.Length > 2 && bcddata[1] == "BSAVE")
|
||||
{
|
||||
if (bcddata[0] == "ER")
|
||||
{
|
||||
PUB.log.AddE($"[{Source}]Bacode Memory Read Error({resp})");
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.log.AddI($"[{Source}]Bacode Memory Read Complete({resp})");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else if (RegX.IsMatch(resp.Trim()) == false)
|
||||
{
|
||||
//에러처리 221018
|
||||
if (resp.StartsWith("0:ERROR")) continue;
|
||||
@@ -163,7 +210,7 @@ namespace Project
|
||||
|
||||
var MatchList = RegX.Matches(resp.Trim());
|
||||
var buf = MatchList[0].Groups;
|
||||
|
||||
|
||||
var angle = 0;
|
||||
var sym = buf[1].Value; //symbol
|
||||
var vData = buf[2].Value.Trim(); //data
|
||||
@@ -229,7 +276,7 @@ namespace Project
|
||||
{
|
||||
theta = angbcd.Angle;
|
||||
}
|
||||
|
||||
|
||||
var theta_rad = -theta * Math.PI / 180.0;
|
||||
var PX = (int)(Math.Cos(theta_rad) * (vertextCP.X - ReelCP.X) - Math.Sin(theta_rad) * (vertextCP.Y - ReelCP.Y)) + ReelCP.X;
|
||||
var PY = (int)(Math.Sin(theta_rad) * (vertextCP.X - ReelCP.X) + Math.Cos(theta_rad) * (vertextCP.Y - ReelCP.Y)) + ReelCP.Y;
|
||||
@@ -281,7 +328,7 @@ namespace Project
|
||||
else PUB.log.AddE($"[X]BCD RESERV[NEW:{sym}] " + Source + " " + vData);
|
||||
|
||||
itemC.VisionData.UpdateBarcodePositionData();
|
||||
itemC.VisionData.BarcodeDirty = true;
|
||||
itemC.VisionData.BarcodeTouched = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -305,7 +352,7 @@ namespace Project
|
||||
PUB.log.Add($"[UPD]BCD RESERV:{sym}] " + Source + " " + vData);
|
||||
itemC.VisionData.barcodelist[valuekey] = newitem;
|
||||
itemC.VisionData.UpdateBarcodePositionData();
|
||||
itemC.VisionData.BarcodeDirty = true;
|
||||
itemC.VisionData.BarcodeTouched = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,17 @@ namespace Project
|
||||
groupBox2.Text = "Barcode";
|
||||
}
|
||||
|
||||
if((VAR.BOOL?.Get(eVarBool.Use_Conveyor) ?? false) == true)
|
||||
{
|
||||
btAutoReelOut.BackColor = PUB.Result.AutoReelOut ? Color.Lime : SystemColors.Control;
|
||||
btAutoReelOut.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
btAutoReelOut.Visible = false;
|
||||
}
|
||||
|
||||
|
||||
groupBox1.Text = $"Equipment Operation({PUB.sm.Loop_ms:N0}ms)";
|
||||
//릴사이즈가 맞지 않으면 깜박인다.
|
||||
if (DIO.getCartSize(1) != eCartSize.None)
|
||||
@@ -113,9 +124,9 @@ namespace Project
|
||||
|
||||
|
||||
//락정보
|
||||
var l0 = DIO.GetIOOutput(eDOName.CART_MAG0);
|
||||
var l1 = DIO.GetIOOutput(eDOName.CART_MAG1);
|
||||
var l2 = DIO.GetIOOutput(eDOName.CART_MAG2);
|
||||
var l0 = DIO.GetIOOutput(eDOName.PORTL_MAGNET);
|
||||
var l1 = DIO.GetIOOutput(eDOName.PORTC_MAGNET);
|
||||
var l2 = DIO.GetIOOutput(eDOName.PORTR_MAGNET);
|
||||
|
||||
lbLock0.Text = l0 ? "Cart Exchange" : "No Cart";
|
||||
lbLock1.Text = l1 ? "Cart Exchange" : "No Cart";
|
||||
@@ -132,7 +143,7 @@ namespace Project
|
||||
{
|
||||
//데이터수신시간에 따른 색상
|
||||
var tswecv = DateTime.Now - VAR.TIME[eVarTime.lastRecvWSL];
|
||||
if(tswecv.TotalSeconds > 5)
|
||||
if (tswecv.TotalSeconds > 5)
|
||||
{
|
||||
sbVisTitle0.ForeColor = Color.HotPink;
|
||||
}
|
||||
@@ -143,7 +154,7 @@ namespace Project
|
||||
else
|
||||
sbVisTitle0.ForeColor = Color.Magenta;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
@@ -165,7 +176,7 @@ namespace Project
|
||||
else
|
||||
sbVisTitle2.ForeColor = Color.Magenta;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//arLabel18.Text = camliveBusy ? "카메라 (라이브뷰)" : "카메라";
|
||||
@@ -237,14 +248,14 @@ namespace Project
|
||||
HWState.setTitle(1, hwcol, (PUB.wsL.Connected ? "ON" : "OFF"));
|
||||
HWState.setValue(1, hwcol++, (ushort)(PUB.wsL.Connected ? 1 : 3));
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (PUB.wsR != null)
|
||||
{
|
||||
HWState.setTitle(1, hwcol, (PUB.wsR.Connected ? "ON" : "OFF"));
|
||||
HWState.setValue(1, hwcol++, (ushort)(PUB.wsR.Connected ? 1 : 3));
|
||||
}
|
||||
|
||||
|
||||
|
||||
HWState.setTitle(1, hwcol, (PUB.BarcodeFix.IsOpen() ? AR.SETTING.Data.Barcode_Port : "OFF"));
|
||||
HWState.setValue(1, hwcol++, (ushort)(PUB.BarcodeFix.IsOpen() ? 1 : 3));
|
||||
@@ -321,7 +332,7 @@ namespace Project
|
||||
arLabel1.ForeColor = Color.Red;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//시스템바이패스
|
||||
@@ -354,7 +365,11 @@ namespace Project
|
||||
}
|
||||
else
|
||||
{
|
||||
lbModelName.Text = $"[{VAR.STR[eVarString.JOB_CUSTOMER_CODE]}] {modelName}";
|
||||
var custname = VAR.STR[eVarString.JOB_CUSTOMER_CODE];
|
||||
if (custname.isEmpty() == false)
|
||||
lbModelName.Text = $"[{custname}] {modelName}";
|
||||
else
|
||||
lbModelName.Text = $"{modelName}";
|
||||
lbModelName.ForeColor = Color.Black;
|
||||
lbModelName.BackColor = Color.White;
|
||||
lbModelName.BackColor2 = Color.WhiteSmoke;
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace Project
|
||||
btLightRoom.BackColor = DIO.GetIOOutput(eDOName.ROOMLIGHT) ? Color.Gold : SystemColors.Control;
|
||||
|
||||
//상태를 DB에 저장한다.
|
||||
EEMStatus.UpdateStatusSQL(PUB.sm.Step);
|
||||
//EEMStatus.UpdateStatusSQL(PUB.sm.Step);
|
||||
|
||||
//컨베이어 가동시간계싼
|
||||
if(DIO.GetIOOutput(eDOName.LEFT_CONV) && VAR.TIME[eVarTime.CONVL_START].Year != 1982)
|
||||
|
||||
@@ -153,9 +153,9 @@ namespace Project
|
||||
hmi1.arFGPrinter0END = PUB.flag.get(eVarBool.FG_OK_PRINTL);
|
||||
hmi1.arFGPrinter1END = PUB.flag.get(eVarBool.FG_OK_PRINTR);
|
||||
|
||||
hmi1.arMagnet0 = DIO.GetIOOutput(eDOName.CART_MAG0);
|
||||
hmi1.arMagnet1 = DIO.GetIOOutput(eDOName.CART_MAG1);
|
||||
hmi1.arMagnet2 = DIO.GetIOOutput(eDOName.CART_MAG2);
|
||||
hmi1.arMagnet0 = DIO.GetIOOutput(eDOName.PORTL_MAGNET);
|
||||
hmi1.arMagnet1 = DIO.GetIOOutput(eDOName.PORTC_MAGNET);
|
||||
hmi1.arMagnet2 = DIO.GetIOOutput(eDOName.PORTR_MAGNET);
|
||||
|
||||
hmi1.arPickerSafeZone = DIO.GetIOInput(eDIName.PICKER_SAFE);
|
||||
|
||||
|
||||
@@ -46,6 +46,8 @@ namespace Project
|
||||
else if (PUB.mot.HasServoOff == true) msg = "Servo OFF occurred";
|
||||
else if (DIO.GetIOOutput(eDOName.SOL_AIR) == false) msg = "AIR output failed (Press the front blue AIR button)";
|
||||
else if (DIO.GetIOInput(eDIName.AIR_DETECT) == false) msg = "AIR not detected";
|
||||
else if (DIO.isSaftyDoorF() == false) msg = "Front Door Safty Error";
|
||||
else if (DIO.isSaftyDoorR() == false) msg = "Rear Door Safty Error";
|
||||
else if (PUB.mot.HasHomeSetOff == true)
|
||||
{
|
||||
if (DIO.GetIOInput(eDIName.PICKER_SAFE) == false)
|
||||
|
||||
@@ -112,6 +112,9 @@ namespace Project
|
||||
PUB.log.AddI("H/W inspection ignore function disabled due to work start");
|
||||
}
|
||||
|
||||
//Auto Reel Out 250926
|
||||
PUB.Result.AutoReelOut = PUB.Result.vModel.AutoOutConveyor > 0;
|
||||
|
||||
//공용변수초기화
|
||||
PUB.log.Add("Common variable (count) values initialized");
|
||||
VAR.I32.Clear((int)eVarInt32.LPickOfCount);
|
||||
@@ -122,20 +125,28 @@ namespace Project
|
||||
VAR.I32.Clear((int)eVarInt32.PickOnCount);
|
||||
VAR.I32.Clear((int)eVarInt32.PickOnRetry); //221102
|
||||
|
||||
|
||||
PUB.flag.set(eVarBool.FG_RUN_LEFT, false, "POSREST");
|
||||
PUB.flag.set(eVarBool.FG_RUN_RIGHT, false, "POSREST");
|
||||
|
||||
VAR.BOOL[eVarBool.JOB_Empty_SIDConvertInfo] = false;
|
||||
|
||||
VAR.BOOL[eVarBool.FG_AUTOOUTCONVL] = false;
|
||||
VAR.BOOL[eVarBool.FG_AUTOOUTCONVR] = false;
|
||||
AutoConvOutTimeL = new DateTime(1982, 11, 23);
|
||||
AutoConvOutTimeR = new DateTime(1982, 11, 23);
|
||||
|
||||
PUB.Result.ItemDataL.Clear("START_CHKSW");
|
||||
PUB.Result.ItemDataC.Clear("START_CHKSW");
|
||||
PUB.Result.ItemDataR.Clear("START_CHKSW");
|
||||
|
||||
var modelName = PUB.Result.vModel.Title;
|
||||
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
|
||||
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
|
||||
PUB.log.Add($"Model pattern loading: {PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
|
||||
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
|
||||
PUB.log.Add($"Model pattern loading: {PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
|
||||
}
|
||||
|
||||
|
||||
//변환SID SID확인여부데이터 삭제
|
||||
PUB.Result.DTSidConvertEmptyList.Clear();
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Project
|
||||
|
||||
//option check
|
||||
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
|
||||
//####################################################
|
||||
@@ -979,7 +979,7 @@ namespace Project
|
||||
if (errmsg.Length > 190) errmsg = errmsg.Substring(0, 190); //230810 maxlength error
|
||||
SaveData_EE(item, (target == eWorkPort.Left ? "L" : "R"), (rlt ? "OK" : errmsg), "root_sequence");
|
||||
//RefreshList(); //목록업데이트
|
||||
EEMStatus.AddStatusCount(1, $"{item.VisionData.SID}|{item.VisionData.RID}"); //eem 추가 230620
|
||||
//EEMStatus.AddStatusCount(1, $"{item.VisionData.SID}|{item.VisionData.RID}"); //eem 추가 230620
|
||||
PUB.sm.seq.Update(cmdIndex);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace Project
|
||||
Complete,
|
||||
TimeOut,
|
||||
MultiSID,
|
||||
Nothing,
|
||||
}
|
||||
public EResultKeyence KEYENCE_READ(eWorkPort target, eSMStep cmdIndex)
|
||||
{
|
||||
@@ -32,7 +33,7 @@ namespace Project
|
||||
|
||||
var CVMode = VAR.BOOL[eVarBool.Use_Conveyor];
|
||||
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
|
||||
//데이터가 완료되었는지 확인
|
||||
@@ -161,435 +162,10 @@ namespace Project
|
||||
return EResultKeyence.TimeOut;
|
||||
}
|
||||
|
||||
//수량임의 입력의 경우
|
||||
if (VAR.BOOL[eVarBool.Opt_UserQtyRQ])
|
||||
{
|
||||
if (itemC.VisionData.QTYRQ) vQtyOK = true; ////RQ의 값이 들어있으면 성공
|
||||
else vQtyOK = false; //수량임의모드인데 RQ값이 들어있지않으면 자동진행하지 않는다
|
||||
}
|
||||
else
|
||||
{
|
||||
//자동에서는 수량값이 들어있으면 바로 넘어가게한다.
|
||||
vQtyOK = itemC.VisionData.QTY.isEmpty() == false;
|
||||
}
|
||||
|
||||
//커스터머 이름 확인
|
||||
if (OPT_BYPASS == false && (itemC.VisionData.CUSTNAME.isEmpty() && itemC.VisionData.CUSTCODE.isEmpty() == false))
|
||||
{
|
||||
var qta = new DataSet1TableAdapters.QueriesTableAdapter();
|
||||
var custname = qta.GetCustName(itemC.VisionData.CUSTCODE);
|
||||
if (custname.isEmpty() == false)
|
||||
{
|
||||
PUB.log.Add($"New CustName => {custname}");
|
||||
itemC.VisionData.CUSTNAME = custname;
|
||||
}
|
||||
}
|
||||
|
||||
//기본 벤더이름
|
||||
if (OPT_BYPASS == false && PUB.Result.vModel.Def_Vname.isEmpty() == false)
|
||||
{
|
||||
if (itemC.VisionData.VNAME.Equals(PUB.Result.vModel.Def_Vname) == false)
|
||||
{
|
||||
itemC.VisionData.VNAME = PUB.Result.vModel.Def_Vname;
|
||||
itemC.VisionData.VNAME_Trust = true;
|
||||
PUB.log.Add($"Defaul V.Name Set to {PUB.Result.vModel.Def_Vname}");
|
||||
}
|
||||
}
|
||||
|
||||
//기본 MFG
|
||||
if (OPT_BYPASS == false && PUB.Result.vModel.Def_MFG.isEmpty() == false)
|
||||
{
|
||||
if (itemC.VisionData.MFGDATE.Equals(PUB.Result.vModel.Def_MFG) == false)
|
||||
{
|
||||
itemC.VisionData.MFGDATE = PUB.Result.vModel.Def_MFG;
|
||||
itemC.VisionData.MFGDATE_Trust = true;
|
||||
PUB.log.Add($"Defaul MFGDATE Set to {PUB.Result.vModel.Def_MFG}");
|
||||
}
|
||||
}
|
||||
|
||||
//옵션설정에 따른 외부데이터 가져오기 작업
|
||||
bool NewBarcodeUpdated = false;
|
||||
|
||||
|
||||
//[WMS] SID정보테이블에서 정보 추출(프린트정보는 없음)
|
||||
//[WMS] 에서 중복검색되면 팝업을 해야하므로 이것을 먼저 처리한다.
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplySIDInfo] && vdata.BarcodeDirty == true)
|
||||
{
|
||||
Boolean Apply = true;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CUST_CODE");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PART_NO");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VENDOR_NM");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_batch] && (vdata.SID_Trust == false || vdata.BATCH.isEmpty())) fields.Add("BATCH_NO"); //220921
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUST_CODE='{vdata.CUSTCODE}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PART_NO='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_SID])
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.Opt_SIDConvert]) //if sid convert logic
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID0.isEmpty() == false && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_VLOT]) //221013
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false) wheres.Add($"VENDER_LOT = '{vdata.VLOT}'");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
var mcname = VAR.BOOL[eVarBool.Use_Conveyor] ? PUB.MCCode : SETTING.Data.McName;
|
||||
|
||||
var TableName = "VW_GET_MAX_QTY_VENDOR_LOT";
|
||||
var whereState = " where " + string.Join(" and ", wheres);
|
||||
var selectFields = string.Join(",", fields);
|
||||
|
||||
var SQL = $"select top 1 {selectFields} from {TableName} WITH(NOLOCK) {whereState}";
|
||||
var SQLC = $"select count(*) from {TableName} WITH(NOLOCK) {whereState}";
|
||||
|
||||
//정보가 여러개 존재하면 선택화면으로 처리해야한다
|
||||
var cntvalue = (DBHelper.ExecuteScalar(SQLC)?.ToString() ?? "0").toInt();
|
||||
if (cntvalue > 1)
|
||||
{
|
||||
VAR.STR[eVarString.MULTISID_QUERY] = $"select {selectFields} from {TableName} WITH(NOLOCK) {whereState}";
|
||||
VAR.STR[eVarString.MULTISID_FIELDS] = selectFields;
|
||||
return EResultKeyence.MultiSID;
|
||||
}
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringWMS.Equals(SQL) == false) //같은 쿼리는 처리하지 않는다
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, SQLC))
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringWMS = SQL;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//SID정보테이블에서 정보 추출
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplySIDInfo] && vdata.BarcodeDirty == true)
|
||||
{
|
||||
Boolean Apply = true;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CustCode");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PartNo");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_PrintPos] && vdata.PrintPositionData.isEmpty()) fields.Add("PrintPosition");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VenderName");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_batch] && (vdata.SID_Trust == false || vdata.BATCH.isEmpty())) fields.Add("batch"); //220921
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_qty] && (vdata.SID_Trust == false || vdata.QTYMAX.isEmpty())) fields.Add("qtymax"); //220921
|
||||
fields.Add("attach"); //231026
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
//wheres.Add($"MC='{COMM.SETTING.Data.McName}");
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PartNo='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_SID])
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.Opt_SIDConvert]) //if sid convert logic
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID0.isEmpty() == false && vdata.SID.isEmpty() == false)
|
||||
wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_VLOT]) //221013
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false)
|
||||
wheres.Add($"(VenderLot like '{vdata.VLOT}' or VenderLot like '%,{vdata.VLOT}' or VenderLot like '{vdata.VLOT},%' or VenderLot like '%,{vdata.VLOT},%')");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_MC]) //231006
|
||||
{
|
||||
if (AR.SETTING.Data.McName.isEmpty() == false)
|
||||
wheres.Add($"attach='{AR.SETTING.Data.McName}'");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
|
||||
var mcname = SETTING.Data.McName;
|
||||
if (VAR.BOOL[eVarBool.Use_Conveyor]) mcname = PUB.MCCode;
|
||||
|
||||
var SQL = "select top 1 " + string.Join(",", fields) +
|
||||
" from K4EE_Component_Reel_SID_Information WITH(NOLOCK)" +
|
||||
" where mc='" + mcname + "' and " + string.Join(" and ", wheres) +
|
||||
" order by wdate desc";
|
||||
|
||||
var SQLC = "select count(*)" +
|
||||
" from K4EE_Component_Reel_SID_Information WITH(NOLOCK)" +
|
||||
" where mc='" + mcname + "' and " + string.Join(" and ", wheres);
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringSID.Equals(SQL) == false)
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, SQLC) == true)
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringSID = SQL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//시드변환정보에서 정보 추출
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplySIDConv] && vdata.BarcodeDirty == true)
|
||||
{
|
||||
Boolean Apply = true;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CustCode");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PartNo");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_PrintPos] && vdata.PrintPositionData.isEmpty()) fields.Add("PrintPosition");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VenderName");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_Batch] && (vdata.SID_Trust == false || vdata.BATCH.isEmpty())) fields.Add("batch"); //220921
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_QtyMax] && (vdata.SID_Trust == false || vdata.QTYMAX.isEmpty())) fields.Add("qtymax"); //220921
|
||||
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
//wheres.Add($"MC='{COMM.SETTING.Data.McName}");
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PartNo='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_SID])
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.Opt_SIDConvert]) //if sid convert logic
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID0.isEmpty() == false && vdata.SID.isEmpty() == false)
|
||||
wheres.Add($"SIDTo='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SIDTo='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Where_VLOT]) //221013
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false)
|
||||
wheres.Add($"(VenderLot like '{vdata.VLOT}' or VenderLot like '%,{vdata.VLOT}' or VenderLot like '{vdata.VLOT},%' or VenderLot like '%,{vdata.VLOT},%')");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
|
||||
var mcname = SETTING.Data.McName;
|
||||
if (VAR.BOOL[eVarBool.Use_Conveyor]) mcname = PUB.MCCode;
|
||||
|
||||
var SQL = "select top 1 " + string.Join(",", fields) +
|
||||
" from K4EE_Component_Reel_SID_Convert WITH(NOLOCK)" +
|
||||
" where " + string.Join(" and ", wheres) +
|
||||
" order by wdate desc";
|
||||
|
||||
var SQLC = "select count(*)" +
|
||||
" from K4EE_Component_Reel_SID_Convert WITH(NOLOCK)" +
|
||||
" where " + string.Join(" and ", wheres);
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringCNV.Equals(SQL) == false)
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, SQLC) == true)
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringCNV = SQL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//기존 작업에서 데이터를 찾아서 쓴다
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplyJobInfo] && vdata.BarcodeDirty == true)
|
||||
{
|
||||
Boolean Apply = true;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CUSTCODE");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PARTNO");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_PrintPos] && vdata.PrintPositionData.isEmpty()) fields.Add("POS");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VNAME");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUSTCODE='{vdata.CUSTCODE}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PARTNO='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_SID])
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_VLOT])
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false) wheres.Add($"VenderLot='{vdata.VLOT}'");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
PUB.log.Add($"DATABAES : RESULT QUERY");
|
||||
|
||||
var SQL = "select top 1 " + string.Join(",", fields) +
|
||||
" from K4EE_Component_Reel_Result WITH(NOLOCK) " +
|
||||
$" where mc = '{AR.SETTING.Data.McName}'" +
|
||||
$" and prnattach = 1 and stime >= '{DateTime.Now.AddHours(-3).ToString("yyyy-MM-dd HH:mm:ss")}'" +
|
||||
$" and " + string.Join(" and ", wheres) +
|
||||
$" order by wdate desc";
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringJOB.Equals(SQL) == false)
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, ""))
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringJOB = SQL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//해당 바코드작업이 완료되었는지 확인한다. 신규 바코드값이 업데이트되면 한번더 동작하도록 한다
|
||||
if (itemC.VisionData.BarcodeDirty == true && NewBarcodeUpdated == false)
|
||||
{
|
||||
itemC.VisionData.BarcodeDirty = false;
|
||||
}
|
||||
|
||||
//릴Id 신규부여
|
||||
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_NewReelID])
|
||||
{
|
||||
if (itemC.VisionData.RIDNew == false && itemC.VisionData.CUSTCODE.isEmpty() == false && itemC.VisionData.SID.isEmpty() == false)
|
||||
{
|
||||
var newid = PUB.MakeNewREELID(itemC.VisionData.SID);// Amkor.RestfulService.Allocation_Unique_ReelID_AmkorSTD(itemC.VisionData.CUSTCODE, "4", "A", out string errmsg);
|
||||
if (newid.success == true)
|
||||
{
|
||||
//backup origin reel id
|
||||
itemC.VisionData.RID0 = itemC.VisionData.RID;
|
||||
|
||||
//set new reel id
|
||||
itemC.VisionData.SetRID(newid.newid, "SPS:CHKDATACOMPLETE");// = newid;
|
||||
itemC.VisionData.RIDNew = true; //applied new reel id
|
||||
|
||||
//서버의수량업데이트기능이 켜져있다면 해당 값을 제거해준다. (다시 조회되도록 함)
|
||||
if (VAR.BOOL[eVarBool.Opt_ServerQty])
|
||||
{
|
||||
//이미 수량업데이트된 경우이므로 복원시켜준다
|
||||
if (itemC.VisionData.QTY0.isEmpty() == false)
|
||||
{
|
||||
PUB.log.AddAT($"Restoring quantity due to reel ID change ({itemC.VisionData.QTY}->{itemC.VisionData.QTY0})");
|
||||
itemC.VisionData.QTY = itemC.VisionData.QTY0;
|
||||
itemC.VisionData.QTY0 = string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var logtime = VAR.TIME.RUN((int)eVarTime.LOG_NEWIDERROR);
|
||||
if (logtime.TotalSeconds >= 3000)
|
||||
{
|
||||
PUB.log.AddAT($"Reel_ID generation failed : {newid.message}");
|
||||
VAR.TIME.Update(eVarTime.LOG_NEWIDERROR);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//데이터확정 및 완료처리
|
||||
if (itemC.VisionData.Confirm)
|
||||
{
|
||||
//이미 완료된 데이터
|
||||
if (itemC.VisionData.ConfirmAuto)
|
||||
PUB.log.AddI($"Proceeding due to data confirmation completion (automatic)");
|
||||
else if (itemC.VisionData.ConfirmUser)
|
||||
PUB.log.AddI($"Proceeding due to data confirmation completion (manual)");
|
||||
else
|
||||
PUB.log.AddI($"Proceeding due to data confirmation completion (BYPASS)");
|
||||
}
|
||||
else if (itemC.VisionData.QRInputRaw.isEmpty() == false && itemC.VisionData.BATCH.isEmpty() == false)
|
||||
{
|
||||
//ATK STD QR데이터가 입력되었으니 더이상 읽지 않아도 진행하도록 하자
|
||||
//데이터가 부족하다면 바로 채우기 작업을 해야한다
|
||||
CheckDataComplte(itemC, "STD", true);
|
||||
return EResultKeyence.Wait;
|
||||
}
|
||||
else if (vQtyOK &&
|
||||
(OPT_BYPASS || itemC.VisionData.VNAME.isEmpty() == false) &&
|
||||
itemC.VisionData.VLOT.isEmpty() == false &&
|
||||
itemC.VisionData.SID.Length == 9 &&
|
||||
(OPT_BYPASS || itemC.VisionData.MFGDATE.isEmpty() == false) &&
|
||||
itemC.VisionData.PARTNO.isEmpty() == false &&
|
||||
itemC.VisionData.BATCH.isEmpty() == false &&
|
||||
itemC.VisionData.RID.isEmpty() == false)
|
||||
{
|
||||
//모든값이 입력되어 있다면 조건 체크후 진행할 수 있도록 한다
|
||||
//2206211400
|
||||
CheckDataComplte(itemC, "SINGLE", true);
|
||||
return EResultKeyence.Wait;
|
||||
}
|
||||
else
|
||||
{
|
||||
//아직데이터가 완료되지 않았다면
|
||||
//대기시간이 지나면 사용자 확인창을 띄운다
|
||||
return EResultKeyence.Wait;
|
||||
}
|
||||
var prcResult = BCDProcess_ALL(itemC, "SEQ", true);
|
||||
if (prcResult != EResultKeyence.Nothing)
|
||||
return prcResult;
|
||||
|
||||
PUB.sm.seq.Update(cmdIndex);
|
||||
return EResultKeyence.Wait;
|
||||
@@ -628,15 +204,16 @@ namespace Project
|
||||
return;
|
||||
}
|
||||
|
||||
//DB정보에서 데이터를 쓸것이 있다면 기록한다
|
||||
|
||||
//이전작업내역에서 데이터를 쓸것이 있다면 기록한다
|
||||
|
||||
//Customer Code
|
||||
if (OPT_BYPASS == false && item.VisionData.CUSTCODE.isEmpty() && CustomerCode.isEmpty() == false)
|
||||
//처음작업이면 반드시 확인을 한다
|
||||
if (OPT_BYPASS == false && PUB.Result.JobFirst)
|
||||
{
|
||||
item.VisionData.CUSTCODE = CustomerCode;
|
||||
PUB.log.Add($"[FIX] CUSTOMER CODE => {CustomerCode}");
|
||||
//사용자확인이 필요없는 상태라면 활성화해준다
|
||||
//프린트를 하지 않는다면 처리하지 않는다.
|
||||
if (VAR.BOOL[eVarBool.Opt_DisablePrinter] == false)
|
||||
{
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(6) == false) item.VisionData.bcdMessage.Add(6, "First reel confirmation required");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
|
||||
//서버의수량업데이트기능
|
||||
@@ -662,7 +239,8 @@ namespace Project
|
||||
{
|
||||
if (mainjob) PUB.log.AddE($"Quantity update failed rID:{item.VisionData.RID}, Message={msg}");
|
||||
NeedConfirm = true;
|
||||
if (mainjob) item.VisionData.bcdMessage.Add("Quantity update failed");
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(1) == false)
|
||||
item.VisionData.bcdMessage.Add(1, "Quantity update failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -683,23 +261,31 @@ namespace Project
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mainjob) item.VisionData.bcdMessage.Add("RQ value error (auto mode not possible)");
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(2) == false) item.VisionData.bcdMessage.Add(2, "RQ value error (auto mode not possible)");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mainjob) item.VisionData.bcdMessage.Add("Manual quantity input required");
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(3) == false) item.VisionData.bcdMessage.Add(3, "Manual quantity input required");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//프린트위치확인
|
||||
BCDProcess_BCDPrint(item);
|
||||
if (item.VisionData.PrintPositionData.isEmpty() == true || item.VisionData.PrintPositionCheck == false)
|
||||
{
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(4) == false) item.VisionData.bcdMessage.Add(4, "Attachment position not found");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
|
||||
//SID 존재여부 확인
|
||||
if (OPT_BYPASS == false && item.VisionData.SID_Trust && VAR.BOOL[eVarBool.Opt_CheckSIDExist])
|
||||
{
|
||||
//ECS목록에 데이터가 업다면 오류로 처리한다
|
||||
var SID = item.VisionData.SID;
|
||||
var MCName = VAR.BOOL[eVarBool.Use_Conveyor] ? "IB" : SETTING.Data.McName;
|
||||
var ta = new DataSet1TableAdapters.QueriesTableAdapter();
|
||||
var exist = ta.CheckSIDExist(SID) > 0;
|
||||
PUB.log.Add($"SID Exist Check SID:{item.VisionData.SID},Result={exist}");
|
||||
@@ -712,116 +298,43 @@ namespace Project
|
||||
|
||||
//sid변환기능확인
|
||||
var SIDOK = false;
|
||||
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_SIDConvert] && VAR.BOOL[eVarBool.JOB_Empty_SIDConvertInfo] == false)
|
||||
if (OPT_BYPASS == false &&
|
||||
VAR.BOOL[eVarBool.Opt_SIDConvert] &&
|
||||
PUB.flag.get(eVarBool.FG_WAIT_LOADERINFO) == false &&
|
||||
VAR.BOOL[eVarBool.JOB_Empty_SIDConvertInfo] == false)
|
||||
{
|
||||
//변환된 정보가 없다면 변환을 진행한다
|
||||
if (item.VisionData.SID0.isEmpty() && item.VisionData.SID_Trust && item.VisionData.SID.isEmpty() == false)
|
||||
{
|
||||
//이 sid가 존재여부확인 후 없는 sid라면 더이상 처리하지 않는다 230510
|
||||
if (PUB.Result.DTSidConvertEmptyList.Contains(item.VisionData.SID))
|
||||
{
|
||||
//존재하지 않는 SID로 이미 확인되었다
|
||||
}
|
||||
else if (PUB.Result.DTSidConvertMultiList.Contains(item.VisionData.SID))
|
||||
{
|
||||
//다중sid로 인해 처리하지 않는다
|
||||
}
|
||||
else
|
||||
{
|
||||
var newsid = PUB.SIDCovert(item.VisionData.SID, "SPS_BarcodeProcess", out bool converr);
|
||||
if (converr)
|
||||
{
|
||||
if (PUB.sm.Step == eSMStep.RUN)
|
||||
PUB.log.AddE(newsid);
|
||||
}
|
||||
else
|
||||
{
|
||||
item.VisionData.SID0 = item.VisionData.SID; //기존자료를 0으로 백업한다
|
||||
item.VisionData.SID = newsid; //신규 SID를 기록
|
||||
}
|
||||
}
|
||||
}
|
||||
//시드값이 유효한지 확인한다.
|
||||
SIDOK = item.VisionData.SID_Trust && item.VisionData.SID0.isEmpty() == false && item.VisionData.SID.isEmpty() == false;
|
||||
}
|
||||
else SIDOK = (item.VisionData.SID_Trust && item.VisionData.SID.isEmpty() == false); //시드변환을 사용하지 않으므로 시드값여부에따라 다르다
|
||||
|
||||
//사용자확인이 필요한 옵션이라면 사용한다
|
||||
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_UserConfim])
|
||||
//수량확인
|
||||
if (OPT_BYPASS == false)
|
||||
{
|
||||
if (NeedConfirm == false)
|
||||
if(double.TryParse(item.VisionData.QTY,out double qtyvalue)==false)
|
||||
{
|
||||
if (mainjob) item.VisionData.bcdMessage.Add("User confirmation required");
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(8) == false) item.VisionData.bcdMessage.Add(8, "Qty invalid");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
|
||||
//처음작업이면 반드시 확인을 한다
|
||||
if (OPT_BYPASS == false && PUB.Result.JobFirst)
|
||||
|
||||
//사용자확인이 필요한 옵션이라면 사용한다
|
||||
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_UserConfim])
|
||||
{
|
||||
//사용자확인이 필요없는 상태라면 활성화해준다
|
||||
if (NeedConfirm == false)
|
||||
{
|
||||
//프린트를 하지 않는다면 처리하지 않는다.
|
||||
if (VAR.BOOL[eVarBool.Opt_DisablePrinter] == false)
|
||||
{
|
||||
if (mainjob) item.VisionData.bcdMessage.Add("First reel confirmation required");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(5) == false) item.VisionData.bcdMessage.Add(5, "User confirmation required");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//변환작업인데 원본 값이 없다.
|
||||
//혹은 변환값과 원본이 같다
|
||||
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_SIDConvert] && (item.VisionData.SID0.isEmpty() == true || item.VisionData.SID0 == item.VisionData.SID))
|
||||
{
|
||||
if (NeedConfirm == false)
|
||||
{
|
||||
if (mainjob) item.VisionData.bcdMessage.Add("SID conversion value confirmation required");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
|
||||
//프린트위치확인
|
||||
if (item.VisionData.PrintPositionData.isEmpty() == true || item.VisionData.PrintPositionCheck == false)
|
||||
{
|
||||
if (OPT_BYPASS)
|
||||
{
|
||||
//바이패스해야하는 경우라면 프린트위치를 임의로 한다
|
||||
if (item.VisionData.PrintPositionData.isEmpty())
|
||||
{
|
||||
item.VisionData.PrintPositionData = "1";
|
||||
item.VisionData.PrintPositionCheck = true;
|
||||
PUB.log.AddI($"Print position arbitrarily set due to bypass SID ({item.VisionData.SID})");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//기록된 현재작업의 인쇄위치 정보에서 찾는다 231005
|
||||
if (PUB.Result.PrintPostionList.ContainsKey(item.VisionData.SID))
|
||||
{
|
||||
var preprnpos = PUB.Result.PrintPostionList[item.VisionData.SID];
|
||||
item.VisionData.PrintPositionData = preprnpos;
|
||||
item.VisionData.PrintPositionCheck = true;
|
||||
PUB.log.AddI($"Print position found in current job info SID:{item.VisionData.SID}, Value={preprnpos}");
|
||||
}
|
||||
else if (NeedConfirm == false)
|
||||
{
|
||||
//현작업내에서의 정보를 찾아서 적용한다 231005
|
||||
if (mainjob) item.VisionData.bcdMessage.Add("Attachment position not found");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//바이패스모드에서 벤더네임이지정(101시드에 벤더네임이 없다)
|
||||
if (OPT_BYPASS)
|
||||
{
|
||||
if (item.VisionData.VNAME_Trust == false)
|
||||
{
|
||||
item.VisionData.VNAME = "BYPASS";
|
||||
item.VisionData.VNAME_Trust = true;
|
||||
}
|
||||
if (mainjob && item.VisionData.bcdMessage.ContainsKey(7) == false) item.VisionData.bcdMessage.Add(7, "SID conversion value confirmation required");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
|
||||
//데이터의 신뢰성을 확인하고 모두 입력되었다면 자동 확정을 진행한다
|
||||
@@ -852,13 +365,10 @@ namespace Project
|
||||
}
|
||||
else if (item.VisionData.QRInputRaw.isEmpty() == false)
|
||||
{
|
||||
if (NeedConfirm == false)
|
||||
if (mainjob)
|
||||
{
|
||||
if (mainjob)
|
||||
{
|
||||
NeedConfirm = true;
|
||||
PUB.log.AddAT($"Data incomplete but QR has been read, showing confirmation window immediately");
|
||||
}
|
||||
NeedConfirm = true;
|
||||
PUB.log.AddAT($"Data incomplete but QR has been read, showing confirmation window immediately");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Project
|
||||
|
||||
//option check
|
||||
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
|
||||
//####################################################
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Project
|
||||
|
||||
//option check
|
||||
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
|
||||
var iLockX = PUB.iLock[(int)eAxis.PX_PICK];
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Project
|
||||
|
||||
//option check
|
||||
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ namespace Project
|
||||
{
|
||||
var prn = Printer.Print(zpl);
|
||||
//PUB.PrintSend(true, zpl); //PUB.PrintL.Write(zpl);
|
||||
if (prn == false)
|
||||
if (prn.result == false)
|
||||
{
|
||||
PUB.Result.SetResultMessage(eResult.HARDWARE, eECode.PRINTL, eNextStep.ERROR);
|
||||
return false;
|
||||
@@ -127,10 +127,9 @@ namespace Project
|
||||
{
|
||||
var prn = Printer.Print(zpl);
|
||||
//PUB.PrintSend(false, zpl); //PUB.PrintR.Write(zpl);
|
||||
|
||||
|
||||
if (prn == false)
|
||||
if (prn.result == false)
|
||||
{
|
||||
PUB.log.AddE(prn.errmessage);
|
||||
PUB.Result.SetResultMessage(eResult.HARDWARE, eECode.PRINTR, eNextStep.ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Project
|
||||
|
||||
//option check
|
||||
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
//####################################################
|
||||
//### 인터락 확인
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Project
|
||||
|
||||
//option check
|
||||
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA(target);
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
//var OPT_BYPASS = PUB.OPT_BYPASS(target);
|
||||
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ namespace Project
|
||||
PUB.log.AddI($"Step transition({o} >> {n})");
|
||||
|
||||
//230313
|
||||
EEMStatus.AddStatusSQL(n);
|
||||
//EEMStatus.AddStatusSQL(n);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -110,6 +110,7 @@ namespace Project
|
||||
|
||||
//process barcode
|
||||
BarcodeProcess();
|
||||
AutoOutConveyor();
|
||||
}
|
||||
string lastridv1 = string.Empty;
|
||||
|
||||
@@ -119,7 +120,7 @@ namespace Project
|
||||
|
||||
void PortMagnet()
|
||||
{
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET0) && DIO.GetIOOutput(eDOName.CART_MAG0) == false)
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET0) && DIO.GetIOOutput(eDOName.PORTL_MAGNET) == false)
|
||||
{
|
||||
var ts = DateTime.Now - VAR.TIME[(int)eVarTime.MAGNET0];
|
||||
if (ts.TotalMilliseconds > AR.SETTING.Data.WaitTime_Magnet0)
|
||||
@@ -128,12 +129,12 @@ namespace Project
|
||||
PUB.flag.set(eVarBool.FG_WAT_MAGNET0, false, "SPS-MAGON");
|
||||
}
|
||||
}
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET0) == true && DIO.GetIOOutput(eDOName.CART_MAG0) == true)
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET0) == true && DIO.GetIOOutput(eDOName.PORTL_MAGNET) == true)
|
||||
{
|
||||
PUB.flag.set(eVarBool.FG_WAT_MAGNET0, false, "SPS-MAGOFF");
|
||||
}
|
||||
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET1) && DIO.GetIOOutput(eDOName.CART_MAG1) == false)
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET1) && DIO.GetIOOutput(eDOName.PORTC_MAGNET) == false)
|
||||
{
|
||||
var ts = DateTime.Now - VAR.TIME[(int)eVarTime.MAGNET1];
|
||||
if (ts.TotalMilliseconds > AR.SETTING.Data.WaitTime_Magnet1)
|
||||
@@ -142,13 +143,13 @@ namespace Project
|
||||
PUB.flag.set(eVarBool.FG_WAT_MAGNET1, false, "SPS-MAGON");
|
||||
}
|
||||
}
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET1) == true && DIO.GetIOOutput(eDOName.CART_MAG1) == true)
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET1) == true && DIO.GetIOOutput(eDOName.PORTC_MAGNET) == true)
|
||||
{
|
||||
PUB.flag.set(eVarBool.FG_WAT_MAGNET1, false, "SPS-MAGOFF");
|
||||
}
|
||||
|
||||
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET2) && DIO.GetIOOutput(eDOName.CART_MAG2) == false)
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET2) && DIO.GetIOOutput(eDOName.PORTR_MAGNET) == false)
|
||||
{
|
||||
var ts = DateTime.Now - VAR.TIME[(int)eVarTime.MAGNET2];
|
||||
if (ts.TotalMilliseconds > AR.SETTING.Data.WaitTime_Magnet2)
|
||||
@@ -157,7 +158,7 @@ namespace Project
|
||||
PUB.flag.set(eVarBool.FG_WAT_MAGNET2, false, "SPS-MAGON");
|
||||
}
|
||||
}
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET2) == true && DIO.GetIOOutput(eDOName.CART_MAG2) == true)
|
||||
if (PUB.flag.get(eVarBool.FG_WAT_MAGNET2) == true && DIO.GetIOOutput(eDOName.PORTR_MAGNET) == true)
|
||||
{
|
||||
PUB.flag.set(eVarBool.FG_WAT_MAGNET2, false, "SPS-MAGOFF");
|
||||
}
|
||||
|
||||
87
Handler/Project/RunCode/StateMachine/_SPS_AutoOutConveyor.cs
Normal file
87
Handler/Project/RunCode/StateMachine/_SPS_AutoOutConveyor.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using AR;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
public partial class FMain
|
||||
{
|
||||
//컨베이어 배출신호를 자동 해제한다.(지정시간-초)
|
||||
DateTime AutoConvOutTimeL = new DateTime(1982, 11, 23);
|
||||
DateTime AutoConvOutTimeR = new DateTime(1982, 11, 23);
|
||||
void AutoOutConveyor()
|
||||
{
|
||||
//동작중에만 사용한다
|
||||
if (PUB.sm.Step != eSMStep.RUN) return;
|
||||
|
||||
//컨베이어 사용시에만.
|
||||
if (VAR.BOOL[eVarBool.Use_Conveyor] == false) return;
|
||||
|
||||
//모델정보 필수
|
||||
if (PUB.Result.vModel == null || PUB.Result.isSetvModel == false) return;
|
||||
|
||||
//자동 해제 시간확인 (0=비활성)
|
||||
var AutoReleaseSecond = PUB.Result.vModel.AutoOutConveyor;
|
||||
if (AutoReleaseSecond < 1) return;
|
||||
|
||||
//현재 모델의 사용여부 확인 (UI상단에서 버튼으로 클릭가능하다)
|
||||
if (PUB.Result.AutoReelOut == false) return;
|
||||
|
||||
//외부신호 대기중일때만 사용
|
||||
if (PUB.iLockCVL.get((int)eILockCV.EXTBUSY) && DIO.GetIOInput(eDIName.L_CONV4))
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.FG_AUTOOUTCONVL] == false)
|
||||
{
|
||||
if (AutoConvOutTimeL.Year == 1982) AutoConvOutTimeL = DateTime.Now;
|
||||
var ts = DateTime.Now - AutoConvOutTimeL;
|
||||
if (ts.TotalSeconds > AutoReleaseSecond)
|
||||
{
|
||||
PUB.log.AddI($"Auto Conveyor(L) Output - On");
|
||||
VAR.BOOL[eVarBool.FG_AUTOOUTCONVL] = true;
|
||||
AutoConvOutTimeL = DateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (VAR.BOOL[eVarBool.FG_AUTOOUTCONVL] == true)
|
||||
{
|
||||
var ts = DateTime.Now - AutoConvOutTimeL;
|
||||
if (ts.TotalSeconds > SETTING.Data.Timeout_AutoOutConvSignal)
|
||||
{
|
||||
PUB.log.Add($"Auto Conveyor(L) Output - Off");
|
||||
VAR.BOOL[eVarBool.FG_AUTOOUTCONVL] = false;
|
||||
AutoConvOutTimeL = new DateTime(1982, 11, 23);
|
||||
}
|
||||
}
|
||||
|
||||
//외부신호 대기중일때만 사용
|
||||
if (PUB.iLockCVR.get((int)eILockCV.EXTBUSY) && DIO.GetIOInput(eDIName.R_CONV4))
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.FG_AUTOOUTCONVR] == false)
|
||||
{
|
||||
if (AutoConvOutTimeR.Year == 1982) AutoConvOutTimeR = DateTime.Now;
|
||||
var ts = DateTime.Now - AutoConvOutTimeR;
|
||||
if (ts.TotalSeconds > AutoReleaseSecond)
|
||||
{
|
||||
PUB.log.AddI($"Auto Conveyor(R) Output - On");
|
||||
VAR.BOOL[eVarBool.FG_AUTOOUTCONVR] = true;
|
||||
AutoConvOutTimeR = DateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (VAR.BOOL[eVarBool.FG_AUTOOUTCONVR] == true)
|
||||
{
|
||||
var ts = DateTime.Now - AutoConvOutTimeR;
|
||||
if (ts.TotalSeconds > SETTING.Data.Timeout_AutoOutConvSignal)
|
||||
{
|
||||
PUB.log.Add($"Auto Conveyor(R) Output - Off");
|
||||
VAR.BOOL[eVarBool.FG_AUTOOUTCONVR] = false;
|
||||
AutoConvOutTimeR = new DateTime(1982, 11, 23);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ namespace Project
|
||||
//var patterns = PUB.Result.BCDPattern;
|
||||
IgnoreBarcode = false;
|
||||
findregex = false;
|
||||
if (barcodeSymbol == "6") barcodeSymbol = "11"; //250930
|
||||
|
||||
//get : same symbol data
|
||||
List<Class.RegexPattern> pats;
|
||||
@@ -38,11 +39,7 @@ namespace Project
|
||||
else patsEx = patternsEx.Where(t => t.IsEnable == true).OrderBy(t => t.Seq).ToList();
|
||||
}
|
||||
|
||||
if (pats.Any() == false)
|
||||
{
|
||||
PUB.log.AddAT($"No registered pattern(SYM={barcodeSymbol})");
|
||||
return new Tuple<int, List<string>>(0, new List<string>());
|
||||
}
|
||||
|
||||
|
||||
//모델정보의 허용 심볼인지 확인한다 221017
|
||||
var vm = PUB.Result.vModel;
|
||||
@@ -50,24 +47,31 @@ namespace Project
|
||||
{
|
||||
if (vm.BCD_DM == false && barcodeSymbol == "2")
|
||||
{
|
||||
PUB.log.AddAT($"Inactive in model(DM):{bcd}");
|
||||
PUB.log.AddAT($"Inactive in model Symbol Setting(DM):{bcd}");
|
||||
IgnoreBarcode = true;
|
||||
return new Tuple<int, List<string>>(0, new List<string>());
|
||||
}
|
||||
else if (vm.BCD_1D == false && (barcodeSymbol == "6" || barcodeSymbol == "11"))
|
||||
{
|
||||
PUB.log.AddAT($"Inactive in model(1D):{bcd}");
|
||||
PUB.log.AddAT($"Inactive in model Symbol Setting(1D):{bcd}");
|
||||
IgnoreBarcode = true;
|
||||
return new Tuple<int, List<string>>(0, new List<string>());
|
||||
}
|
||||
else if (vm.BCD_QR == false && (barcodeSymbol == "1"))
|
||||
{
|
||||
PUB.log.AddAT($"Inactive in model(QR):{bcd}");
|
||||
PUB.log.AddAT($"Inactive in model Symbol Setting(QR):{bcd}");
|
||||
IgnoreBarcode = true;
|
||||
return new Tuple<int, List<string>>(0, new List<string>());
|
||||
}
|
||||
}
|
||||
|
||||
//check barcode pattern
|
||||
if (pats.Any() == false)
|
||||
{
|
||||
PUB.log.AddAT($"No registered pattern(SYM={barcodeSymbol}) Model:{vm.Title}");
|
||||
return new Tuple<int, List<string>>(0, new List<string>());
|
||||
}
|
||||
|
||||
//이 바코드가 무시바코드에 있는지 먼저 검사한다 220718
|
||||
foreach (var pt in patsEx)
|
||||
{
|
||||
@@ -78,7 +82,7 @@ namespace Project
|
||||
var regx = new Regex(pt.Pattern, RegexOptions.IgnoreCase, new TimeSpan(0, 0, 10));
|
||||
if (regx.IsMatch(bcd))
|
||||
{
|
||||
PUB.log.Add($"Ignore barcode:{bcd},PAT:{pt.Pattern},SYM:{pt.Symbol}");
|
||||
PUB.log.AddAT($"Ignore barcode:{bcd},PAT:{pt.Pattern},SYM:{pt.Symbol}");
|
||||
IgnoreBarcode = true;
|
||||
break;
|
||||
}
|
||||
@@ -89,6 +93,66 @@ namespace Project
|
||||
}
|
||||
|
||||
|
||||
//동작중에 들어오는 바코드의 자동처리코드 추가 250926
|
||||
if (PUB.sm.Step == eSMStep.RUN || PUB.sm.Step == eSMStep.PAUSE || PUB.sm.Step == eSMStep.WAITSTART)
|
||||
{
|
||||
|
||||
var OPT_PrinterOff = VAR.BOOL[eVarBool.Opt_DisablePrinter];
|
||||
var OPT_CameraOff = PUB.OPT_CAMERA();
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
|
||||
if (OPT_BYPASS == false)
|
||||
{
|
||||
//기본 벤더이름
|
||||
if (PUB.Result.vModel.Def_Vname.isEmpty() == false)
|
||||
{
|
||||
if (vdata.VNAME.Equals(PUB.Result.vModel.Def_Vname) == false)
|
||||
{
|
||||
vdata.VNAME = PUB.Result.vModel.Def_Vname;
|
||||
vdata.VNAME_Trust = true;
|
||||
PUB.log.Add($"Defaul V.Name Set to {PUB.Result.vModel.Def_Vname}");
|
||||
}
|
||||
}
|
||||
|
||||
//기본 MFG
|
||||
if (PUB.Result.vModel.Def_MFG.isEmpty() == false)
|
||||
{
|
||||
if (vdata.MFGDATE.Equals(PUB.Result.vModel.Def_MFG) == false)
|
||||
{
|
||||
vdata.MFGDATE = PUB.Result.vModel.Def_MFG;
|
||||
vdata.MFGDATE_Trust = true;
|
||||
PUB.log.Add($"Defaul MFGDATE Set to {PUB.Result.vModel.Def_MFG}");
|
||||
}
|
||||
}
|
||||
|
||||
//파트넘버무시
|
||||
if (PUB.Result.vModel.IgnorePartNo)
|
||||
{
|
||||
vdata.PARTNO_Trust = true;
|
||||
}
|
||||
|
||||
//배치무시
|
||||
if (PUB.Result.vModel.IgnoreBatch)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//프린트를 하지 않는 경우에는 프린트 위치를 자동으로 처리한다.
|
||||
if (OPT_PrinterOff == true)
|
||||
{
|
||||
vdata.PrintPositionData = "0";
|
||||
vdata.PrintPositionCheck = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vdata.VNAME_Trust == false)
|
||||
{
|
||||
vdata.VNAME = "BYPASS";
|
||||
vdata.VNAME_Trust = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var ValueApplyCount = 0;
|
||||
ValueApplyCount = 0;
|
||||
@@ -99,44 +163,52 @@ namespace Project
|
||||
//skip disable item
|
||||
if (pt.IsEnable == false) continue;
|
||||
|
||||
var regx = new Regex(pt.Pattern, RegexOptions.IgnoreCase, new TimeSpan(0, 0, 10));
|
||||
if (regx.IsMatch(bcd))
|
||||
var regx = new Regex(pt.Pattern, RegexOptions.IgnoreCase, new TimeSpan(0, 0, 5));
|
||||
try
|
||||
{
|
||||
findregex = true;
|
||||
//find data
|
||||
var matchs = regx.Matches(bcd);
|
||||
foreach (System.Text.RegularExpressions.Match mat in matchs)
|
||||
if (regx.IsMatch(bcd))
|
||||
{
|
||||
|
||||
if (vdata == null) ValueApplyCount += 1;
|
||||
else
|
||||
findregex = true;
|
||||
//find data
|
||||
var matchs = regx.Matches(bcd);
|
||||
foreach (System.Text.RegularExpressions.Match mat in matchs)
|
||||
{
|
||||
foreach (var matchdata in pt.Groups)
|
||||
|
||||
if (vdata == null) ValueApplyCount += 1;
|
||||
else
|
||||
{
|
||||
if (matchdata.GroupNo <= mat.Groups.Count)
|
||||
foreach (var matchdata in pt.Groups)
|
||||
{
|
||||
var data = mat.Groups[matchdata.GroupNo];
|
||||
if (PUB.SetBCDValue(vdata, matchdata.TargetPos, data.Value, pt.IsTrust))
|
||||
ValueApplyCount += 1;
|
||||
if (matchdata.GroupNo <= mat.Groups.Count)
|
||||
{
|
||||
var data = mat.Groups[matchdata.GroupNo];
|
||||
if (PUB.SetBCDValue(vdata, matchdata.TargetPos, data.Value, pt.IsTrust))
|
||||
ValueApplyCount += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (vdata != null && pt.IsAmkStd)// && bcdObj.barcodeSymbol == "1")
|
||||
if (vdata != null && pt.IsAmkStd)// && bcdObj.barcodeSymbol == "1")
|
||||
{
|
||||
vdata.QRInputRaw = bcd;
|
||||
}
|
||||
|
||||
if (vdata != null)
|
||||
PUB.log.AddI($"[{pt.Description}]=>{bcd}");
|
||||
|
||||
list.Add(pt.Customer + "|" + pt.Description);
|
||||
}
|
||||
else
|
||||
{
|
||||
vdata.QRInputRaw = bcd;
|
||||
//PUB.log.AddAT($"(X)Match ({pt.Pattern}) Data={bcd}");
|
||||
}
|
||||
|
||||
if (vdata != null)
|
||||
PUB.log.AddI($"[{pt.Description}]=>{bcd}");
|
||||
|
||||
list.Add(pt.Customer + "|" + pt.Description);
|
||||
}
|
||||
else
|
||||
catch (Exception ex)
|
||||
{
|
||||
//PUB.log.AddAT($"(X)Match ({pt.Pattern}) Data={bcd}");
|
||||
PUB.log.AddE($"BarcodeRegEx Error : {ex.Message}");
|
||||
}
|
||||
|
||||
}
|
||||
return new Tuple<int, List<string>>(ValueApplyCount, list);
|
||||
}
|
||||
@@ -146,9 +218,6 @@ namespace Project
|
||||
/// </summary>
|
||||
void BarcodeProcess()
|
||||
{
|
||||
//coffee
|
||||
//get regexpress patterns
|
||||
var patterns = PUB.Result.BCDPattern;
|
||||
var itemC = PUB.Result.ItemDataC;
|
||||
var vdata = itemC.VisionData;
|
||||
|
||||
@@ -156,7 +225,6 @@ namespace Project
|
||||
if (vdata.Confirm) return;
|
||||
var vm = PUB.Result.vModel;
|
||||
|
||||
//바코드목록에서 정규식값으로 각 필드값을 기록한다.
|
||||
lock (vdata.barcodelist)
|
||||
{
|
||||
foreach (var item in vdata.barcodelist)
|
||||
@@ -168,17 +236,31 @@ namespace Project
|
||||
//already checked
|
||||
if (bcdObj.RegExConfirm) continue;
|
||||
|
||||
var ValueApplyCount = BarcodeRegExProcess(PUB.Result.BCDPattern, PUB.Result.BCDIgnorePattern, vdata, bcdObj.barcodeSymbol, bcd, out bool IgnoreBcd, out bool findregex);
|
||||
bcdObj.Ignore = IgnoreBcd;
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
var ValueApplyCount = BarcodeRegExProcess(PUB.Result.BCDPattern, PUB.Result.BCDIgnorePattern, vdata, bcdObj.barcodeSymbol, bcd, out bool IgnoreBcd, out bool findregex);
|
||||
bcdObj.Ignore = IgnoreBcd;
|
||||
|
||||
//기타바코드 무시기능 적용 221018
|
||||
if (vm != null && vm.IgnoreOtherBarcode == true && findregex == false)
|
||||
bcdObj.Ignore = true;
|
||||
|
||||
bcdObj.RefExApply = (ValueApplyCount?.Item1 ?? 0);
|
||||
bcdObj.RegExConfirm = true;
|
||||
}
|
||||
|
||||
|
||||
//기타바코드 무시기능 적용 221018
|
||||
if (bcdObj.Ignore == false && vm != null && vm.IgnoreOtherBarcode == true && findregex == false)
|
||||
bcdObj.Ignore = true;
|
||||
|
||||
bcdObj.RefExApply = (ValueApplyCount?.Item1 ?? 0) > 0;
|
||||
bcdObj.RegExConfirm = true;
|
||||
}
|
||||
}
|
||||
|
||||
//all process sequence
|
||||
if (BCDProcess_ALL(itemC, "SPS", PUB.sm.Step == eSMStep.RUN) != EResultKeyence.Nothing)
|
||||
{
|
||||
//nothing : multisid condition
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,79 +6,81 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
public partial class FMain
|
||||
{
|
||||
bool RecvQRProcess(List<string> qrdatas, eWorkPort vIdx)
|
||||
{
|
||||
//데이터가없으면 처리하지 않는다.
|
||||
if (qrdatas == null || qrdatas.Count < 1) return false;
|
||||
public partial class FMain
|
||||
{
|
||||
bool RecvQRProcess(List<string> qrdatas, eWorkPort vIdx)
|
||||
{
|
||||
//데이터가없으면 처리하지 않는다.
|
||||
if (qrdatas == null || qrdatas.Count < 1) return false;
|
||||
|
||||
bool FindData = false;
|
||||
var idata = vIdx == eWorkPort.Left ? PUB.Result.ItemDataL : PUB.Result.ItemDataR;
|
||||
bool FindData = false;
|
||||
var idata = vIdx == eWorkPort.Left ? PUB.Result.ItemDataL : PUB.Result.ItemDataR;
|
||||
|
||||
//표준바코드라면 그 값을 표시해준다
|
||||
var patterns = PUB.Result.BCDPattern;
|
||||
//표준바코드라면 그 값을 표시해준다
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
var patterns = PUB.Result.BCDPattern;
|
||||
|
||||
foreach (var datas in qrdatas)
|
||||
{
|
||||
//원본자료를 체크한다
|
||||
if (datas.Equals(idata.VisionData.PrintQRData))
|
||||
{
|
||||
//인쇄한 자료와 동일한 자료이다
|
||||
FindData = true;
|
||||
}
|
||||
foreach (var datas in qrdatas)
|
||||
{
|
||||
//원본자료를 체크한다
|
||||
if (datas.Equals(idata.VisionData.PrintQRData))
|
||||
{
|
||||
//인쇄한 자료와 동일한 자료이다
|
||||
FindData = true;
|
||||
}
|
||||
|
||||
//표준 바코드 형태만 취한다
|
||||
var pats = patterns.Where(t => t.IsAmkStd && t.IsEnable).OrderBy(t => t.Seq).ToList();
|
||||
if (pats.Any())
|
||||
{
|
||||
//패턴을 확인하여 값을 표시해준다
|
||||
//var ValueApplyCount = 0;
|
||||
foreach (var pt in pats)
|
||||
{
|
||||
var regx = new Regex(pt.Pattern, RegexOptions.IgnoreCase, new TimeSpan(0, 0, 10));
|
||||
if (regx.IsMatch(datas)) //패턴이 일치하다면 이것만 사용한다
|
||||
{
|
||||
//find data
|
||||
var matchs = regx.Matches(datas);
|
||||
foreach (System.Text.RegularExpressions.Match mat in matchs)
|
||||
{
|
||||
foreach (var matchdata in pt.Groups)
|
||||
{
|
||||
if (matchdata.GroupNo <= mat.Groups.Count)
|
||||
{
|
||||
var data = mat.Groups[matchdata.GroupNo];
|
||||
switch (matchdata.TargetPos.ToUpper())
|
||||
{
|
||||
case "SID":
|
||||
idata.VisionData.SID2 = data.Value;
|
||||
break;
|
||||
case "RID":
|
||||
idata.VisionData.RID2 = data.Value;
|
||||
break;
|
||||
case "VLOT":
|
||||
idata.VisionData.VLOT2 = data.Value;
|
||||
break;
|
||||
case "VNAME":
|
||||
idata.VisionData.VNAME2 = data.Value;
|
||||
break;
|
||||
case "MFG":
|
||||
idata.VisionData.MFGDATE2 = data.Value;
|
||||
break;
|
||||
case "QTY":
|
||||
idata.VisionData.QTY2 = data.Value;
|
||||
break;
|
||||
case "PART":
|
||||
idata.VisionData.PARTNO2 = data.Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//표준 바코드 형태만 취한다
|
||||
var pats = patterns.Where(t => t.IsAmkStd && t.IsEnable).OrderBy(t => t.Seq).ToList();
|
||||
if (pats.Any())
|
||||
{
|
||||
//패턴을 확인하여 값을 표시해준다
|
||||
//var ValueApplyCount = 0;
|
||||
foreach (var pt in pats)
|
||||
{
|
||||
var regx = new Regex(pt.Pattern, RegexOptions.IgnoreCase, new TimeSpan(0, 0, 10));
|
||||
if (regx.IsMatch(datas)) //패턴이 일치하다면 이것만 사용한다
|
||||
{
|
||||
//find data
|
||||
var matchs = regx.Matches(datas);
|
||||
foreach (System.Text.RegularExpressions.Match mat in matchs)
|
||||
{
|
||||
foreach (var matchdata in pt.Groups)
|
||||
{
|
||||
if (matchdata.GroupNo <= mat.Groups.Count)
|
||||
{
|
||||
var data = mat.Groups[matchdata.GroupNo];
|
||||
switch (matchdata.TargetPos.ToUpper())
|
||||
{
|
||||
case "SID":
|
||||
idata.VisionData.SID2 = data.Value;
|
||||
break;
|
||||
case "RID":
|
||||
idata.VisionData.RID2 = data.Value;
|
||||
break;
|
||||
case "VLOT":
|
||||
idata.VisionData.VLOT2 = data.Value;
|
||||
break;
|
||||
case "VNAME":
|
||||
idata.VisionData.VNAME2 = data.Value;
|
||||
break;
|
||||
case "MFG":
|
||||
idata.VisionData.MFGDATE2 = data.Value;
|
||||
break;
|
||||
case "QTY":
|
||||
idata.VisionData.QTY2 = data.Value;
|
||||
break;
|
||||
case "PART":
|
||||
idata.VisionData.PARTNO2 = data.Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -87,63 +89,66 @@ namespace Project
|
||||
|
||||
|
||||
|
||||
//var bcdData = new StdLabelPrint.CAmkorSTDBarcode(datas);
|
||||
//PUB.Result.ItemData[vIdx].VisionData.QTY2 = bcdData.QTY.ToString();
|
||||
//PUB.Result.ItemData[vIdx].VisionData.RID2 = bcdData.RID;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.SID2 = bcdData.SID;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.VLOT2 = bcdData.VLOT;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.VNAME2 = bcdData.VENDERNAME;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.MFGDATE2 = bcdData.MFGDate;//.ToString("yyyyMMdd");
|
||||
//PUB.Result.ItemData[vIdx].VisionData.PARTNO2 = bcdData.PARTNO;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Ready = true;
|
||||
////Pub.Result.ItemData[vIdx].VisionData.ETime = DateTime.Now;
|
||||
////Pub.Result.ItemData[vIdx].VisionData.Angle = 5;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Complete = true;
|
||||
//PUB.log.Add("BARCODE", $"{vIdx}바코드 읽기 성공 ID:{bcdData.RID},QTY:{bcdData.QTY}");
|
||||
//var bcdData = new StdLabelPrint.CAmkorSTDBarcode(datas);
|
||||
//PUB.Result.ItemData[vIdx].VisionData.QTY2 = bcdData.QTY.ToString();
|
||||
//PUB.Result.ItemData[vIdx].VisionData.RID2 = bcdData.RID;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.SID2 = bcdData.SID;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.VLOT2 = bcdData.VLOT;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.VNAME2 = bcdData.VENDERNAME;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.MFGDATE2 = bcdData.MFGDate;//.ToString("yyyyMMdd");
|
||||
//PUB.Result.ItemData[vIdx].VisionData.PARTNO2 = bcdData.PARTNO;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Ready = true;
|
||||
////Pub.Result.ItemData[vIdx].VisionData.ETime = DateTime.Now;
|
||||
////Pub.Result.ItemData[vIdx].VisionData.Angle = 5;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Complete = true;
|
||||
//PUB.log.Add("BARCODE", $"{vIdx}바코드 읽기 성공 ID:{bcdData.RID},QTY:{bcdData.QTY}");
|
||||
|
||||
////데이터를 읽었으며, 검증기능이 켜져있다면 검증을한다
|
||||
//if (FindData) break;
|
||||
}
|
||||
////데이터를 읽었으며, 검증기능이 켜져있다면 검증을한다
|
||||
//if (FindData) break;
|
||||
}
|
||||
|
||||
//자료는 있었지만 바코드검증이 실패된 경우이다
|
||||
//타임아웃까지 기다리지 않고 바로 오류처리를 한다.
|
||||
if (FindData == true)
|
||||
{
|
||||
//데이터를 찾았다면 완료처리를 해준다
|
||||
idata.VisionData.Complete = true;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Complete = true;
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
//else
|
||||
//{
|
||||
// var item = Pub.Result.ItemData[vIdx];
|
||||
// var tsGrab = DateTime.Now - Pub.GetVarTime(VAR_LIVEVIEW);
|
||||
// var timeoutVision = vIdx == 1 ? COMM.SETTING.Data.Timeout_VisionProcessL : COMM.SETTING.Data.Timeout_VisionProcessU;
|
||||
// if (tsGrab.TotalMilliseconds >= timeoutVision)
|
||||
// {
|
||||
// //다음 바코드가 있다면 추가 진행을 위해서 남겨준다
|
||||
// _SM_SAVEIMAGE(vIdx, DateTime.Now, "Images(QRValid)");
|
||||
}
|
||||
|
||||
|
||||
// WS_Send((idx == 0 ? 0 : 1), Pub.wsL, Pub.Result.ItemData[idx].guid, "OFF");
|
||||
//자료는 있었지만 바코드검증이 실패된 경우이다
|
||||
//타임아웃까지 기다리지 않고 바로 오류처리를 한다.
|
||||
if (FindData == true)
|
||||
{
|
||||
//데이터를 찾았다면 완료처리를 해준다
|
||||
idata.VisionData.Complete = true;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Complete = true;
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
//else
|
||||
//{
|
||||
// var item = Pub.Result.ItemData[vIdx];
|
||||
// var tsGrab = DateTime.Now - Pub.GetVarTime(VAR_LIVEVIEW);
|
||||
// var timeoutVision = vIdx == 1 ? COMM.SETTING.Data.Timeout_VisionProcessL : COMM.SETTING.Data.Timeout_VisionProcessU;
|
||||
// if (tsGrab.TotalMilliseconds >= timeoutVision)
|
||||
// {
|
||||
// //다음 바코드가 있다면 추가 진행을 위해서 남겨준다
|
||||
// _SM_SAVEIMAGE(vIdx, DateTime.Now, "Images(QRValid)");
|
||||
|
||||
|
||||
// var barcodepos = vIdx == 0 ? "LEFT" : "RIGHT";
|
||||
// Pub.log.AddE("(" + barcodepos + ")바코드를 검증했지만 일치하지 않습니다");
|
||||
// Pub.Result.SetResultMessage(eResult.OPERATION, eECode.BARCODEVALIDERR, eNextStep.pause,
|
||||
// vIdx, Pub.Result.ItemData[vIdx].VisionData.RID, Pub.Result.ItemData[vIdx].VisionData.RID2,
|
||||
// Pub.Result.ItemData[vIdx].VisionData.QTY, Pub.Result.ItemData[vIdx].VisionData.QTY2,
|
||||
// Pub.Result.ItemData[vIdx].VisionData.SID, Pub.Result.ItemData[vIdx].VisionData.SID2,
|
||||
// Pub.Result.ItemData[vIdx].VisionData.MFGDATE, Pub.Result.ItemData[vIdx].VisionData.MFGDATE2,
|
||||
// barcodepos);
|
||||
// return;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
// WS_Send((idx == 0 ? 0 : 1), Pub.wsL, Pub.Result.ItemData[idx].guid, "OFF");
|
||||
|
||||
}
|
||||
|
||||
// var barcodepos = vIdx == 0 ? "LEFT" : "RIGHT";
|
||||
// Pub.log.AddE("(" + barcodepos + ")바코드를 검증했지만 일치하지 않습니다");
|
||||
// Pub.Result.SetResultMessage(eResult.OPERATION, eECode.BARCODEVALIDERR, eNextStep.pause,
|
||||
// vIdx, Pub.Result.ItemData[vIdx].VisionData.RID, Pub.Result.ItemData[vIdx].VisionData.RID2,
|
||||
// Pub.Result.ItemData[vIdx].VisionData.QTY, Pub.Result.ItemData[vIdx].VisionData.QTY2,
|
||||
// Pub.Result.ItemData[vIdx].VisionData.SID, Pub.Result.ItemData[vIdx].VisionData.SID2,
|
||||
// Pub.Result.ItemData[vIdx].VisionData.MFGDATE, Pub.Result.ItemData[vIdx].VisionData.MFGDATE2,
|
||||
// barcodepos);
|
||||
// return;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ namespace Project
|
||||
//
|
||||
if (SETTING.User.LastModelV != "") PUB.SelectModelV(SETTING.User.LastModelV, false);
|
||||
var motionmodel = SETTING.User.LastModelM;
|
||||
if (motionmodel.isEmpty()) motionmodel = PUB.Result.vModel.Motion;
|
||||
if (motionmodel.isEmpty()) motionmodel = PUB.Result.vModel.Motion ?? string.Empty;
|
||||
if (motionmodel.ToUpper().StartsWith("CONV")) PUB.flag.set(eVarBool.Use_Conveyor, true, "load");
|
||||
else PUB.flag.set(eVarBool.Use_Conveyor, false, "load");
|
||||
PUB.SelectModelM(motionmodel, false);
|
||||
|
||||
@@ -223,10 +223,10 @@ namespace Project
|
||||
|
||||
//신규로 추가된 컨베이어 센서이다
|
||||
(CVMode == false || DIO.GetIOInput(eDIName.L_CONV1) == false) &&
|
||||
(CVMode == false || DIO.GetIOInput(eDIName.L_CONV3) == false) &&
|
||||
// (CVMode == false || DIO.GetIOInput(eDIName.L_CONV3) == false) &&
|
||||
(CVMode == false || DIO.GetIOInput(eDIName.L_CONV4) == false) &&
|
||||
(CVMode == false || DIO.GetIOInput(eDIName.R_CONV1) == false) &&
|
||||
(CVMode == false || DIO.GetIOInput(eDIName.R_CONV3) == false) &&
|
||||
// (CVMode == false || DIO.GetIOInput(eDIName.R_CONV3) == false) &&
|
||||
(CVMode == false || DIO.GetIOInput(eDIName.R_CONV4) == false) &&
|
||||
|
||||
//작업진행중 확인
|
||||
|
||||
@@ -427,7 +427,7 @@ namespace Project
|
||||
if (pin == eDIName.PORTL_LIM_DN)
|
||||
{
|
||||
//좌측포트의 하단부리밋센서가 검출될경우 마그넷이 on 되어있다면 off한다.
|
||||
if (DIO.GetIOInput(eDIName.PORTL_LIM_DN) == true && DIO.GetIOOutput(eDOName.CART_MAG0) == true)
|
||||
if (DIO.GetIOInput(eDIName.PORTL_LIM_DN) == true && DIO.GetIOOutput(eDOName.PORTL_MAGNET) == true)
|
||||
{
|
||||
DIO.SetPortMagnet(0, false);
|
||||
PUB.log.Add("Left port magnet OFF");
|
||||
@@ -436,7 +436,7 @@ namespace Project
|
||||
else if (pin == eDIName.PORTC_LIM_DN)
|
||||
{
|
||||
//좌측포트의 하단부리밋센서가 검출될경우 마그넷이 on 되어있다면 off한다.
|
||||
if (DIO.GetIOInput(eDIName.PORTC_LIM_DN) == true && DIO.GetIOOutput(eDOName.CART_MAG1) == true)
|
||||
if (DIO.GetIOInput(eDIName.PORTC_LIM_DN) == true && DIO.GetIOOutput(eDOName.PORTC_MAGNET) == true)
|
||||
{
|
||||
DIO.SetPortMagnet(1, false);
|
||||
PUB.log.Add("Center port magnet OFF");
|
||||
@@ -450,38 +450,12 @@ namespace Project
|
||||
else if (pin == eDIName.PORTR_LIM_DN)
|
||||
{
|
||||
//좌측포트의 하단부리밋센서가 검출될경우 마그넷이 on 되어있다면 off한다.
|
||||
if (DIO.GetIOInput(eDIName.PORTR_LIM_DN) == true && DIO.GetIOOutput(eDOName.CART_MAG2) == true)
|
||||
if (DIO.GetIOInput(eDIName.PORTR_LIM_DN) == true && DIO.GetIOOutput(eDOName.PORTR_MAGNET) == true)
|
||||
{
|
||||
DIO.SetPortMagnet(2, false);
|
||||
PUB.log.Add("Right port magnet OFF");
|
||||
}
|
||||
}
|
||||
else if (pin == eDIName.L_CONV3)
|
||||
{
|
||||
VAR.TIME[(int)eVarTime.JOBEVENT] = DateTime.Now;
|
||||
if (value)
|
||||
{
|
||||
if(VAR.I32[eVarInt32.LEFT_ITEM_COUNT] > 0)
|
||||
{
|
||||
VAR.I32[eVarInt32.LEFT_ITEM_COUNT] -= 1;//= false; //해제
|
||||
PUB.log.AddAT($"Left buffer quantity decrease");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if (pin == eDIName.R_CONV3)
|
||||
{
|
||||
VAR.TIME[(int)eVarTime.JOBEVENT] = DateTime.Now;
|
||||
if (value)
|
||||
{
|
||||
if (VAR.I32[eVarInt32.RIGT_ITEM_COUNT] > 0)
|
||||
{
|
||||
VAR.I32[eVarInt32.RIGT_ITEM_COUNT] -= 1;//= false; //해제
|
||||
PUB.log.AddAT($"Right buffer quantity decrease");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if (pin == eDIName.R_CONV4 || pin == eDIName.L_CONV1 || pin == eDIName.L_CONV4 || pin == eDIName.R_CONV1)
|
||||
{
|
||||
VAR.TIME[(int)eVarTime.JOBEVENT] = DateTime.Now;
|
||||
|
||||
@@ -42,8 +42,8 @@ namespace Project
|
||||
PUB.iLock[(int)eAxis.PZ_PICK].set((int)eILock.XMOVE, PUB.mot.IsMotion((int)eAxis.PX_PICK), "COMMINTERLOCK");
|
||||
|
||||
//외부컨베어 신호 인터락설정 (출구쪽센서가 인식되지 않았다면 멈추지 않는다)
|
||||
var cvLBusy = (DIO.GetIOInput(eDIName.L_CONV4) && DIO.GetIOInput(eDIName.L_EXT_READY) == false);
|
||||
var cvRBusy = (DIO.GetIOInput(eDIName.R_CONV4) && DIO.GetIOInput(eDIName.R_EXT_READY) == false);
|
||||
var cvLBusy = DIO.GetIOInput(eDIName.L_CONV4) && DIO.GetIOInput(eDIName.L_EXT_READY) == false && VAR.BOOL[eVarBool.FG_AUTOOUTCONVL] == false;
|
||||
var cvRBusy = DIO.GetIOInput(eDIName.R_CONV4) && DIO.GetIOInput(eDIName.R_EXT_READY) == false && VAR.BOOL[eVarBool.FG_AUTOOUTCONVR] == false;
|
||||
PUB.iLockCVL.set((int)eILockCV.EXTBUSY, cvLBusy, "COMMINTERLOCK");
|
||||
PUB.iLockCVR.set((int)eILockCV.EXTBUSY, cvRBusy, "COMMINTERLOCK");
|
||||
|
||||
|
||||
@@ -189,7 +189,6 @@
|
||||
<Compile Include="Class\CHistorySIDRef.cs" />
|
||||
<Compile Include="Class\Command.cs" />
|
||||
<Compile Include="Class\EEMStatus.cs" />
|
||||
<Compile Include="Class\Enum_Mot.cs" />
|
||||
<Compile Include="Class\Enum_MotPosition.cs" />
|
||||
<Compile Include="Class\FTP\EventArgs.cs" />
|
||||
<Compile Include="Class\FTP\FTPClient.cs" />
|
||||
@@ -270,12 +269,6 @@
|
||||
<Compile Include="Dialog\fNewSID.Designer.cs">
|
||||
<DependentUpon>fNewSID.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fswPLC.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fswPLC.Designer.cs">
|
||||
<DependentUpon>fswPLC.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fPickerMove.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -409,6 +402,7 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>dsWMS.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Manager\DatabaseManager.cs" />
|
||||
<Compile Include="Manager\DBHelper.cs" />
|
||||
<Compile Include="RunCode\StateMachine\_SM_RUN.cs">
|
||||
<SubType>Form</SubType>
|
||||
@@ -467,6 +461,9 @@
|
||||
<Compile Include="RunCode\RunSequence\2_RUN_ROOT_SEQUENCE.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="RunCode\StateMachine\_SPS_AutoOutConveyor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="RunCode\StateMachine\_SPS_RecvQRProcess.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -634,6 +631,9 @@
|
||||
<Compile Include="UIControl\CtlTowerLamp.Designer.cs">
|
||||
<DependentUpon>CtlTowerLamp.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Util\BarcodeDataProcessing.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Util\Util_Vision.cs" />
|
||||
<Compile Include="Validation\Mot_Move.cs">
|
||||
<SubType>Form</SubType>
|
||||
@@ -671,7 +671,6 @@
|
||||
<Compile Include="RunCode\Display\DisplayTextHandler.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Util\Util.cs" />
|
||||
<Compile Include="Util\Util_DO.cs" />
|
||||
<Compile Include="Util\Util_Mot.cs" />
|
||||
<Compile Include="RunCode\Device\_Keyence.cs">
|
||||
@@ -704,9 +703,6 @@
|
||||
<EmbeddedResource Include="Dialog\fNewSID.resx">
|
||||
<DependentUpon>fNewSID.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fswPLC.resx">
|
||||
<DependentUpon>fswPLC.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fPickerMove.resx">
|
||||
<DependentUpon>fPickerMove.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
644
Handler/Project/Util/BarcodeDataProcessing.cs
Normal file
644
Handler/Project/Util/BarcodeDataProcessing.cs
Normal file
@@ -0,0 +1,644 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using AR;
|
||||
using Project.Class;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
public partial class FMain
|
||||
{
|
||||
|
||||
EResultKeyence BCDProcess_ALL(Class.JobData itemC, string Src, bool CompleteCheck)
|
||||
{
|
||||
var mainJob = Src.Equals("SPS") == false;
|
||||
|
||||
//assign customer code - fixed data
|
||||
if (itemC.VisionData.CUSTCODE.isEmpty() && VAR.STR[eVarString.JOB_CUSTOMER_CODE].isEmpty() == false)
|
||||
{
|
||||
itemC.VisionData.CUSTCODE = VAR.STR[eVarString.JOB_CUSTOMER_CODE];
|
||||
PUB.log.Add($"Cutomer Code Fixed Value : {itemC.VisionData.CUSTCODE}");
|
||||
}
|
||||
|
||||
|
||||
|
||||
//커스터머 이름 확인
|
||||
if (mainJob && PUB.OPT_BYPASS() == false)
|
||||
BCDProcess_GetCustomerName(itemC);
|
||||
|
||||
//Ignore Value
|
||||
BCDProcess_IgnoreValue(itemC);
|
||||
|
||||
//기본 벤더이름
|
||||
BCDProcess_DefVenderName(itemC);
|
||||
|
||||
//기본 MFG
|
||||
BCDProcess_DefMFGDate(itemC);
|
||||
|
||||
//바코드가 변경된 경우이다, 자동채우기 기능이 있다면 사용한다
|
||||
bool NewBarcodeUpdated = false;
|
||||
|
||||
//[WMS] SID정보테이블에서 정보 추출(프린트정보는 없음)
|
||||
//[WMS] 에서 중복검색되면 팝업을 해야하므로 이것을 먼저 처리한다.
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplyWMSInfo] && (CompleteCheck || itemC.VisionData.BarcodeTouched == true))
|
||||
{
|
||||
var rlt_FindWMD = BCDProcess_FindWMSInfo(itemC);
|
||||
if (rlt_FindWMD.NewBarcodeUpdated) NewBarcodeUpdated = true;
|
||||
if (rlt_FindWMD.retval == EResultKeyence.MultiSID) return rlt_FindWMD.retval;
|
||||
}
|
||||
|
||||
//SID정보테이블에서 정보 추출
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplySIDInfo] && (CompleteCheck || itemC.VisionData.BarcodeTouched == true))
|
||||
{
|
||||
if (BCDProcess_FindSIDInfo(itemC) == true) NewBarcodeUpdated = true;
|
||||
}
|
||||
|
||||
//시드변환정보에서 정보 추출
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplySIDConv] && (CompleteCheck || itemC.VisionData.BarcodeTouched == true))
|
||||
{
|
||||
if (BCDProcess_FindSIDConv(itemC) == true) NewBarcodeUpdated = true;
|
||||
}
|
||||
|
||||
//기존 작업에서 데이터를 찾아서 쓴다
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplyJobInfo] && (CompleteCheck || itemC.VisionData.BarcodeTouched == true))
|
||||
{
|
||||
if (BCDProcess_FindJobData(itemC) == true) NewBarcodeUpdated = true;
|
||||
}
|
||||
|
||||
//릴ID 신규발행
|
||||
if (PUB.OPT_BYPASS() == false && VAR.BOOL[eVarBool.Opt_NewReelID])
|
||||
BCDProcess_MakeReelID(itemC);
|
||||
|
||||
//SiD CONVERT
|
||||
if (PUB.OPT_BYPASS() == false &&
|
||||
VAR.BOOL[eVarBool.Opt_SIDConvert] &&
|
||||
PUB.flag.get(eVarBool.FG_WAIT_LOADERINFO) == false &&
|
||||
VAR.BOOL[eVarBool.JOB_Empty_SIDConvertInfo] == false)
|
||||
{
|
||||
//원본시드(sid0)가 비어있는데 sid과 확정되었다면 변환작업을 진행한다
|
||||
BCDProcess_SIDConvert(itemC);
|
||||
}
|
||||
|
||||
//Print Position
|
||||
BCDProcess_BCDPrint(itemC);
|
||||
|
||||
|
||||
|
||||
//해당 바코드작업이 완료되었는지 확인한다. 신규 바코드값이 업데이트되면 한번더 동작하도록 한다
|
||||
if (itemC.VisionData.BarcodeTouched == true && NewBarcodeUpdated == false)
|
||||
{
|
||||
itemC.VisionData.BarcodeTouched = false;
|
||||
}
|
||||
|
||||
bool BatchValueOK = false;
|
||||
if (PUB.Result.vModel.IgnoreBatch) BatchValueOK = true;
|
||||
else BatchValueOK = itemC.VisionData.BATCH.isEmpty() == false;
|
||||
|
||||
bool partnoValueOK = false;
|
||||
if (PUB.Result.vModel.IgnorePartNo) partnoValueOK = true;
|
||||
else partnoValueOK = itemC.VisionData.PARTNO.isEmpty() == false;
|
||||
|
||||
|
||||
//수량임의 입력의 경우
|
||||
bool vQtyOK = false;
|
||||
if (VAR.BOOL[eVarBool.Opt_UserQtyRQ])
|
||||
{
|
||||
if (itemC.VisionData.QTYRQ) vQtyOK = true; ////RQ의 값이 들어있으면 성공
|
||||
else vQtyOK = false; //수량임의모드인데 RQ값이 들어있지않으면 자동진행하지 않는다
|
||||
}
|
||||
else
|
||||
{
|
||||
//자동에서는 수량값이 들어있으면 바로 넘어가게한다.
|
||||
vQtyOK = itemC.VisionData.QTY.isEmpty() == false;
|
||||
}
|
||||
|
||||
//데이터확정 및 완료처리
|
||||
if (CompleteCheck)
|
||||
{
|
||||
|
||||
if (itemC.VisionData.Confirm)
|
||||
{
|
||||
//이미 완료된 데이터
|
||||
if (mainJob)
|
||||
{
|
||||
if (itemC.VisionData.ConfirmAuto)
|
||||
PUB.log.AddI($"Proceeding due to data confirmation completion (automatic)");
|
||||
else if (itemC.VisionData.ConfirmUser)
|
||||
PUB.log.AddI($"Proceeding due to data confirmation completion (manual)");
|
||||
else
|
||||
PUB.log.AddI($"Proceeding due to data confirmation completion (BYPASS)");
|
||||
}
|
||||
}
|
||||
else if (vQtyOK &&
|
||||
(itemC.VisionData.VNAME.isEmpty() == false) &&
|
||||
itemC.VisionData.VLOT.isEmpty() == false &&
|
||||
itemC.VisionData.SID.Length == 9 &&
|
||||
itemC.VisionData.MFGDATE.isEmpty() == false &&
|
||||
partnoValueOK &&
|
||||
BatchValueOK &&
|
||||
itemC.VisionData.RID.isEmpty() == false)
|
||||
{
|
||||
//모든값이 입력되어 있다면 조건 체크후 진행할 수 있도록 한다
|
||||
//2206211400
|
||||
CheckDataComplte(itemC, Src, mainJob);
|
||||
return EResultKeyence.Wait;
|
||||
}
|
||||
else
|
||||
{
|
||||
//아직데이터가 완료되지 않았다면
|
||||
//대기시간이 지나면 사용자 확인창을 띄운다
|
||||
return EResultKeyence.Wait;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return EResultKeyence.Nothing;
|
||||
}
|
||||
|
||||
//커스터머 이름 확인
|
||||
void BCDProcess_GetCustomerName(Class.JobData itemC)
|
||||
{
|
||||
if (itemC.VisionData.CUSTNAME.isEmpty() && itemC.VisionData.CUSTCODE.isEmpty() == false)
|
||||
{
|
||||
var qta = new DataSet1TableAdapters.QueriesTableAdapter();
|
||||
var custname = qta.GetCustName(itemC.VisionData.CUSTCODE);
|
||||
if ((custname ?? string.Empty).isEmpty() == false)
|
||||
{
|
||||
PUB.log.Add($"New CustName => {custname}");
|
||||
itemC.VisionData.CUSTNAME = custname;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool BCDProcess_BCDPrint(Class.JobData itemC)
|
||||
{
|
||||
var OPT_BYPASS = PUB.OPT_BYPASS();
|
||||
bool NeedConfirm = false;
|
||||
if (itemC.VisionData.PrintPositionData.isEmpty() == true || itemC.VisionData.PrintPositionCheck == false)
|
||||
{
|
||||
if (OPT_BYPASS)
|
||||
{
|
||||
//바이패스해야하는 경우라면 프린트위치를 임의로 한다
|
||||
itemC.VisionData.PrintPositionData = "1";
|
||||
itemC.VisionData.PrintPositionCheck = true;
|
||||
PUB.log.AddI($"Print position arbitrarily set due to bypass SID ({itemC.VisionData.SID})");
|
||||
}
|
||||
else if (itemC.VisionData.SID.isEmpty())
|
||||
{
|
||||
//no sid need confirm
|
||||
//PUB.log.AddAT($"Print Position Errr (No SID)");
|
||||
NeedConfirm = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//기록된 현재작업의 인쇄위치 정보에서 찾는다 231005
|
||||
if (PUB.Result.PrintPostionList.ContainsKey(itemC.VisionData.SID))
|
||||
{
|
||||
var preprnpos = PUB.Result.PrintPostionList[itemC.VisionData.SID];
|
||||
itemC.VisionData.PrintPositionData = preprnpos;
|
||||
itemC.VisionData.PrintPositionCheck = true;
|
||||
PUB.log.AddI($"Print position found in current job info SID:{itemC.VisionData.SID}, Value={preprnpos}");
|
||||
}
|
||||
else if (NeedConfirm == false)
|
||||
{
|
||||
NeedConfirm = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NeedConfirm;
|
||||
}
|
||||
|
||||
void BCDProcess_IgnoreValue(Class.JobData itemC)
|
||||
{
|
||||
if (PUB.Result.vModel.IgnorePartNo == true && itemC.VisionData.PARTNO_Trust == false)
|
||||
{
|
||||
PUB.log.Add("PartNo Trust by Ignore PartNo Setting(opmodel)");
|
||||
itemC.VisionData.PARTNO_Trust = true;
|
||||
}
|
||||
|
||||
//ignore batch value
|
||||
if (PUB.Result.vModel.IgnoreBatch == true)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//기본 벤더이름
|
||||
void BCDProcess_DefVenderName(Class.JobData itemC)
|
||||
{
|
||||
//기본 벤더이름
|
||||
var defname = PUB.Result.vModel.Def_Vname ?? string.Empty;
|
||||
if (PUB.Result.isSetvModel && defname.isEmpty() == false)
|
||||
{
|
||||
if (itemC.VisionData.VNAME.Equals(defname) == false)
|
||||
{
|
||||
itemC.VisionData.VNAME = defname.Trim();
|
||||
itemC.VisionData.VNAME_Trust = true;
|
||||
PUB.log.Add($"Defaul V.Name Set to {defname}");
|
||||
}
|
||||
}
|
||||
else if (PUB.OPT_BYPASS() == true)
|
||||
{
|
||||
if (itemC.VisionData.VNAME_Trust == false)
|
||||
{
|
||||
itemC.VisionData.VNAME = "BYPASS";
|
||||
itemC.VisionData.VNAME_Trust = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//기본 MFG
|
||||
void BCDProcess_DefMFGDate(Class.JobData itemC)
|
||||
{
|
||||
var defname = PUB.Result.vModel.Def_MFG ?? string.Empty;
|
||||
if (PUB.Result.isSetvModel && defname.isEmpty() == false && itemC.VisionData.MFGDATE.Equals(defname) == false)
|
||||
{
|
||||
itemC.VisionData.MFGDATE = defname.Trim();
|
||||
itemC.VisionData.MFGDATE_Trust = true;
|
||||
PUB.log.Add($"Defaul MFGDATE Set to {defname}");
|
||||
}
|
||||
}
|
||||
|
||||
//[WMS] SID정보테이블에서 정보 추출(프린트정보는 없음)
|
||||
//[WMS] 에서 중복검색되면 팝업을 해야하므로 이것을 먼저 처리한다.
|
||||
(bool NewBarcodeUpdated, EResultKeyence retval) BCDProcess_FindWMSInfo(Class.JobData itemC)
|
||||
{
|
||||
Boolean Apply = true;
|
||||
var vdata = itemC.VisionData;
|
||||
bool NewBarcodeUpdated = false;
|
||||
EResultKeyence rlt = EResultKeyence.Wait;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_WMS_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CUST_CODE");
|
||||
if (VAR.BOOL[eVarBool.Opt_WMS_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PART_NO");
|
||||
if (VAR.BOOL[eVarBool.Opt_WMS_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VENDOR_NM");
|
||||
if (VAR.BOOL[eVarBool.Opt_WMS_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
if (VAR.BOOL[eVarBool.Opt_WMS_Apply_batch] && (vdata.SID_Trust == false || vdata.BATCH.isEmpty())) fields.Add("BATCH_NO"); //220921
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_WMS_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUST_CODE='{vdata.CUSTCODE.PadLeft(10, '0')}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_WMS_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PART_NO='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_WMS_Where_SID])
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.Opt_SIDConvert]) //if sid convert logic
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID0.isEmpty() == false && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_WMS_Where_VLOT]) //221013
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false) wheres.Add($"VENDOR_LOT = '{vdata.VLOT}'");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
var TableName = "VW_GET_MAX_QTY_VENDOR_LOT";
|
||||
var whereState = " where " + string.Join(" and ", wheres);
|
||||
var selectFields = string.Join(",", fields);
|
||||
|
||||
var SQL = $"select top 1 {selectFields} from {TableName} WITH(NOLOCK) {whereState}";
|
||||
var SQLC = $"select count(*) from {TableName} WITH(NOLOCK) {whereState}";
|
||||
|
||||
//정보가 여러개 존재하면 선택화면으로 처리해야한다
|
||||
var cntvalue = (DBHelper.ExecuteScalar(SQLC)?.ToString() ?? "0").toInt();
|
||||
if (cntvalue > 1)
|
||||
{
|
||||
VAR.STR[eVarString.MULTISID_QUERY] = $"select {selectFields} from {TableName} WITH(NOLOCK) {whereState}";
|
||||
VAR.STR[eVarString.MULTISID_FIELDS] = selectFields;
|
||||
rlt = EResultKeyence.MultiSID;
|
||||
}
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringWMS.Equals(SQL) == false) //같은 쿼리는 처리하지 않는다
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, SQLC))
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringWMS = SQL;
|
||||
}
|
||||
|
||||
}
|
||||
return (NewBarcodeUpdated, rlt);
|
||||
}
|
||||
|
||||
//SID정보테이블에서 정보 추출
|
||||
bool BCDProcess_FindSIDInfo(Class.JobData itemC)
|
||||
{
|
||||
Boolean Apply = true;
|
||||
bool NewBarcodeUpdated = false;
|
||||
var vdata = itemC.VisionData;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CustCode");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PartNo");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_PrintPos] && vdata.PrintPositionData.isEmpty()) fields.Add("PrintPosition");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VenderName");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_batch] && (vdata.SID_Trust == false || vdata.BATCH.isEmpty())) fields.Add("batch"); //220921
|
||||
if (VAR.BOOL[eVarBool.Opt_SID_Apply_qty] && (vdata.SID_Trust == false || vdata.QTYMAX.isEmpty())) fields.Add("qtymax"); //220921
|
||||
fields.Add("attach"); //231026
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
//wheres.Add($"MC='{COMM.SETTING.Data.McName}");
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE.PadLeft(10, '0')}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PartNo='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_SID])
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.Opt_SIDConvert]) //if sid convert logic
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID0.isEmpty() == false && vdata.SID.isEmpty() == false)
|
||||
wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_VLOT]) //221013
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false)
|
||||
wheres.Add($"(VenderLot like '{vdata.VLOT}' or VenderLot like '%,{vdata.VLOT}' or VenderLot like '{vdata.VLOT},%' or VenderLot like '%,{vdata.VLOT},%')");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_MC]) //231006
|
||||
{
|
||||
if (AR.SETTING.Data.McName.isEmpty() == false)
|
||||
wheres.Add($"attach='{AR.SETTING.Data.McName}'");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
|
||||
var mcname = SETTING.Data.McName;
|
||||
if (VAR.BOOL[eVarBool.Use_Conveyor]) mcname = PUB.MCCode;
|
||||
|
||||
var SQL = "select top 1 " + string.Join(",", fields) +
|
||||
" from K4EE_Component_Reel_SID_Information WITH(NOLOCK)" +
|
||||
" where mc='" + mcname + "' and " + string.Join(" and ", wheres) +
|
||||
" order by wdate desc";
|
||||
|
||||
var SQLC = "select count(*)" +
|
||||
" from K4EE_Component_Reel_SID_Information WITH(NOLOCK)" +
|
||||
" where mc='" + mcname + "' and " + string.Join(" and ", wheres);
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringSID.Equals(SQL) == false)
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, SQLC) == true)
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringSID = SQL;
|
||||
}
|
||||
}
|
||||
return NewBarcodeUpdated;
|
||||
}
|
||||
|
||||
//시드변환정보에서 정보 추출
|
||||
bool BCDProcess_FindSIDConv(Class.JobData itemC)
|
||||
{
|
||||
Boolean Apply = true;
|
||||
bool NewBarcodeUpdated = false;
|
||||
var vdata = itemC.VisionData;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CustCode");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PartNo");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_PrintPos] && vdata.PrintPositionData.isEmpty()) fields.Add("PrintPosition");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VenderName");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_Batch] && (vdata.SID_Trust == false || vdata.BATCH.isEmpty())) fields.Add("batch"); //220921
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Apply_QtyMax] && (vdata.SID_Trust == false || vdata.QTYMAX.isEmpty())) fields.Add("qtymax"); //220921
|
||||
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
//wheres.Add($"MC='{COMM.SETTING.Data.McName}");
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE.PadLeft(10, '0')}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PartNo='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_SID])
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.Opt_SIDConvert]) //if sid convert logic
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID0.isEmpty() == false && vdata.SID.isEmpty() == false)
|
||||
wheres.Add($"SIDTo='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SIDTo='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Conv_Where_VLOT]) //221013
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false)
|
||||
wheres.Add($"(VenderLot like '{vdata.VLOT}' or VenderLot like '%,{vdata.VLOT}' or VenderLot like '{vdata.VLOT},%' or VenderLot like '%,{vdata.VLOT},%')");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
|
||||
var mcname = SETTING.Data.McName;
|
||||
if (VAR.BOOL[eVarBool.Use_Conveyor]) mcname = PUB.MCCode;
|
||||
|
||||
var SQL = "select top 1 " + string.Join(",", fields) +
|
||||
" from K4EE_Component_Reel_SID_Convert WITH(NOLOCK)" +
|
||||
" where " + string.Join(" and ", wheres) +
|
||||
" order by wdate desc";
|
||||
|
||||
var SQLC = "select count(*)" +
|
||||
" from K4EE_Component_Reel_SID_Convert WITH(NOLOCK)" +
|
||||
" where " + string.Join(" and ", wheres);
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringCNV.Equals(SQL) == false)
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, SQLC) == true)
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringCNV = SQL;
|
||||
}
|
||||
}
|
||||
return NewBarcodeUpdated;
|
||||
}
|
||||
|
||||
//기존 작업에서 데이터를 찾아서 쓴다
|
||||
bool BCDProcess_FindJobData(Class.JobData itemC)
|
||||
{
|
||||
bool NewBarcodeUpdated = false;
|
||||
Boolean Apply = true;
|
||||
var vdata = itemC.VisionData;
|
||||
|
||||
//select columns
|
||||
List<string> fields = new List<string>();
|
||||
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_CustCode] && vdata.CUSTCODE.isEmpty()) fields.Add("CUSTCODE");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_PartNo] && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust == false)) fields.Add("PARTNO");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_PrintPos] && vdata.PrintPositionData.isEmpty()) fields.Add("POS");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_VenderName] && (vdata.VNAME_Trust == false || vdata.VNAME.isEmpty())) fields.Add("VNAME");
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Apply_SID] && (vdata.SID_Trust == false || vdata.SID.isEmpty())) fields.Add("SID");
|
||||
|
||||
//where coluns
|
||||
List<string> wheres = new List<string>();
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_CustCode])
|
||||
{
|
||||
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUSTCODE='{vdata.CUSTCODE.PadLeft(10, '0')}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_PartNo])
|
||||
{
|
||||
if (vdata.PARTNO_Trust && vdata.PARTNO.isEmpty() == false) wheres.Add($"PARTNO='{vdata.PARTNO}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_SID])
|
||||
{
|
||||
if (vdata.SID_Trust && vdata.SID.isEmpty() == false) wheres.Add($"SID='{vdata.SID}'");
|
||||
else Apply = false;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.Opt_Job_Where_VLOT])
|
||||
{
|
||||
if (vdata.VLOT_Trust && vdata.VLOT.isEmpty() == false) wheres.Add($"VenderLot='{vdata.VLOT}'");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
PUB.log.Add($"DATABAES : RESULT QUERY");
|
||||
|
||||
var SQL = "select top 1 " + string.Join(",", fields) +
|
||||
" from K4EE_Component_Reel_Result WITH(NOLOCK) " +
|
||||
$" where mc = '{AR.SETTING.Data.McName}'" +
|
||||
$" and prnattach = 1 and stime >= '{DateTime.Now.AddHours(-3).ToString("yyyy-MM-dd HH:mm:ss")}'" +
|
||||
$" and " + string.Join(" and ", wheres) +
|
||||
$" order by wdate desc";
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData.LastQueryStringJOB.Equals(SQL) == false)
|
||||
{
|
||||
if (PUB.GetSIDInfo_And_SetData(fields, ref vdata, SQL, ""))
|
||||
NewBarcodeUpdated = true;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.LastQueryStringJOB = SQL;
|
||||
}
|
||||
}
|
||||
return NewBarcodeUpdated;
|
||||
}
|
||||
|
||||
void BCDProcess_SIDConvert(Class.JobData itemC)
|
||||
{
|
||||
var vdata = itemC.VisionData;
|
||||
//원본시드(sid0)가 비어있는데 sid과 확정되었다면 변환작업을 진행한다
|
||||
if (vdata.SID0.isEmpty() && vdata.SID.isEmpty() == false && vdata.SID_Trust)
|
||||
{
|
||||
//이 sid가 존재여부확인 후 없는 sid라면 더이상 처리하지 않는다 230510
|
||||
if (PUB.Result.DTSidConvertEmptyList.Contains(vdata.SID))
|
||||
{
|
||||
//존재하지 않는 SID로 이미 확인되었다
|
||||
}
|
||||
else if (PUB.Result.DTSidConvertMultiList.Contains(vdata.SID))
|
||||
{
|
||||
//다중sid로 인해 처리하지 않는다
|
||||
}
|
||||
else
|
||||
{
|
||||
var newsid = PUB.SIDCovert(vdata.SID, "SPS_BarcodeProcess", out bool converr);
|
||||
if (converr)
|
||||
{
|
||||
if (PUB.sm.Step == eSMStep.RUN)
|
||||
PUB.log.AddE(newsid);
|
||||
}
|
||||
else
|
||||
{
|
||||
vdata.SID0 = vdata.SID;
|
||||
vdata.SID = newsid;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Generate Reel ID
|
||||
void BCDProcess_MakeReelID(Class.JobData itemC)
|
||||
{
|
||||
if (itemC.VisionData.RIDNew == false && itemC.VisionData.SID.isEmpty() == false)
|
||||
{
|
||||
var newid = PUB.MakeNewREELID(itemC.VisionData.SID);// Amkor.RestfulService.Allocation_Unique_ReelID_AmkorSTD(itemC.VisionData.CUSTCODE, "4", "A", out string errmsg);
|
||||
if (newid.success == true)
|
||||
{
|
||||
//backup origin reel id
|
||||
itemC.VisionData.RID0 = itemC.VisionData.RID;
|
||||
|
||||
//set new reel id
|
||||
PUB.log.Add("new reelid bacodeprecess");
|
||||
itemC.VisionData.SetRID(newid.newid, "SPS:CHKDATACOMPLETE");// = newid;
|
||||
itemC.VisionData.RIDNew = true; //applied new reel id
|
||||
|
||||
//서버의수량업데이트기능이 켜져있다면 해당 값을 제거해준다. (다시 조회되도록 함)
|
||||
if (VAR.BOOL[eVarBool.Opt_ServerQty])
|
||||
{
|
||||
//이미 수량업데이트된 경우이므로 복원시켜준다
|
||||
if (itemC.VisionData.QTY0.isEmpty() == false)
|
||||
{
|
||||
PUB.log.AddAT($"릴아이디 변경으로 인해 수량을 복원합니다({itemC.VisionData.QTY}->{itemC.VisionData.QTY0})");
|
||||
itemC.VisionData.QTY = itemC.VisionData.QTY0;
|
||||
itemC.VisionData.QTY0 = string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var logtime = VAR.TIME.RUN((int)eVarTime.LOG_NEWIDERROR);
|
||||
if (logtime.TotalSeconds >= 3000)
|
||||
{
|
||||
PUB.log.AddAT($"Reel_ID 생성실패 : {newid.message}");
|
||||
VAR.TIME.Update(eVarTime.LOG_NEWIDERROR);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,191 +0,0 @@
|
||||
//using System;
|
||||
//using System.Collections.Generic;
|
||||
//using System.Data;
|
||||
//using System.Diagnostics;
|
||||
//using System.Drawing;
|
||||
//using System.IO;
|
||||
//using System.Linq;
|
||||
//using System.Management;
|
||||
//using System.Net;
|
||||
//using System.Net.NetworkInformation;
|
||||
//using System.Runtime.Serialization.Formatters.Binary;
|
||||
//using System.Text;
|
||||
//using System.Windows.Forms;
|
||||
|
||||
//namespace Project
|
||||
//{
|
||||
|
||||
// public static partial class UTIL
|
||||
// {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// //public static Boolean SendMail(string title, string body, string from, string[] tolist, string file = "")
|
||||
// //{
|
||||
// // //메일을 전송하고 나간다
|
||||
// // Chilkat.MailMan mailman = new Chilkat.MailMan();
|
||||
// // bool success = mailman.UnlockComponent("BLUPRT.CBX012020_rzDFf7pQAsCS");
|
||||
// // if (success != true)
|
||||
// // {
|
||||
// // UTIL.MsgE("메일 전송이 실패되었습니다\n잠시 후 다시 시도하세요", true);
|
||||
// // return false;
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // mailman.SmtpHost = "10.101.10.6";
|
||||
// // mailman.SmtpPort = 25;
|
||||
// // Chilkat.Email email = new Chilkat.Email();
|
||||
// // email.Subject = title;
|
||||
// // //email.Body = this.textBox1.Text;
|
||||
// // email.SetHtmlBody(body.Replace("\r", "").Replace("\n", "<br/>"));
|
||||
// // email.From = from;
|
||||
|
||||
// // foreach (var to in tolist)
|
||||
// // email.AddTo(to.Substring(0, to.IndexOf('@')), to);
|
||||
|
||||
// // if (System.IO.File.Exists(file))
|
||||
// // email.AddFileAttachment(file);
|
||||
|
||||
// // success = mailman.SendEmail(email);
|
||||
// // if (success != true)
|
||||
// // {
|
||||
// // UTIL.MsgE("발송 실패", true);
|
||||
// // return false;
|
||||
// // }
|
||||
|
||||
// // success = mailman.CloseSmtpConnection();
|
||||
// // if (success != true)
|
||||
// // {
|
||||
// // UTIL.MsgE("Connection to SMTP server not closed cleanly.", true);
|
||||
// // return false;
|
||||
// // }
|
||||
// // }
|
||||
|
||||
// // return true;
|
||||
// //}
|
||||
|
||||
|
||||
// //public static string JobListToFile(Class.CHistoryJOB data, string jobdate, string jobseq, out int cnt)
|
||||
// //{
|
||||
// // cnt = 0;
|
||||
// // if (string.IsNullOrEmpty(jobdate)) return string.Empty;
|
||||
// // //이미저장된 목록을 가져오고 중복된것은 피한다
|
||||
// // var preSavedFile = System.IO.Path.Combine(COMM.SETTING.Data.Path_Data, "JobData", jobdate.Substring(0, 6), jobdate + "-" + jobseq + ".txt");
|
||||
// // List<string> preList = new List<string>();
|
||||
// // if (System.IO.File.Exists(preSavedFile)) preList.AddRange(System.IO.File.ReadAllLines(preSavedFile, System.Text.Encoding.UTF8));
|
||||
|
||||
// // //Temp
|
||||
// // var fiName = System.IO.Path.Combine(COMM.SETTING.Data.Path_Data, "UploadTemp", jobdate + "_" + jobseq + ".tab");
|
||||
// // var fi = new System.IO.FileInfo(fiName);
|
||||
// // if (fi.Directory.Exists == false) fi.Directory.Create();
|
||||
// // var sb = new System.Text.StringBuilder();
|
||||
|
||||
// // sb.AppendLine("#Time\tSID\tRID\tRAW");
|
||||
// // var oklist = data.Items.Where(t => t.VisionData.RID.isEmpty() == false).ToArray();
|
||||
// // foreach (var item in oklist)
|
||||
// // {
|
||||
// // //기존에 전송한 목록에 없어야 한다
|
||||
// // if (item.error == Class.JobData.ErrorCode.None && item.VisionData.RID.isEmpty() == false)
|
||||
// // {
|
||||
// // sb.AppendLine(string.Format("{0}\t{1}\t{2}\t{3}",
|
||||
// // item.JobStart.ToString("yyyy-MM-dd HH:mm:sss"), item.VisionData.SID, item.VisionData.RID, item.VisionData.QROutRaw));
|
||||
// // cnt += 1;
|
||||
// // }
|
||||
// // }
|
||||
// // try
|
||||
// // {
|
||||
// // System.IO.File.WriteAllText(fi.FullName, sb.ToString(), System.Text.Encoding.UTF8);
|
||||
// // return fi.FullName;
|
||||
// // }
|
||||
// // catch (Exception ex)
|
||||
// // {
|
||||
// // PUB.log.AddE("JobListToFile:" + ex.Message);
|
||||
// // return string.Empty;
|
||||
// // }
|
||||
// //}
|
||||
|
||||
// //public static bool SendMail(string seqdate, string seqno)
|
||||
// //{
|
||||
// // Chilkat.MailMan mailman = new Chilkat.MailMan();
|
||||
// // bool success = mailman.UnlockComponent("BLUPRT.CBX012020_rzDFf7pQAsCS");
|
||||
// // if (success != true)
|
||||
// // {
|
||||
// // Debug.WriteLine(mailman.LastErrorText);
|
||||
// // return false;
|
||||
// // }
|
||||
|
||||
// // mailman.SmtpHost = "10.101.10.6";
|
||||
|
||||
// // mailman.SmtpPort = 25;
|
||||
|
||||
// // // Create a new email object
|
||||
// // Chilkat.Email email = new Chilkat.Email();
|
||||
|
||||
// // var mailform = PUB.mailForm.FirstOrDefault();
|
||||
// // if (mailform == null)
|
||||
// // return false;
|
||||
|
||||
|
||||
|
||||
// // var subject = mailform.subject.Trim();
|
||||
// // subject = subject.Replace("{seqdate}", seqdate);
|
||||
// // subject = subject.Replace("{seqno}", seqno);
|
||||
|
||||
|
||||
// // var buffer = System.IO.File.ReadAllText(UTIL.CurrentPath + "\\Mailform.html");
|
||||
|
||||
// // //시드별집계데이터생성
|
||||
// // System.Text.StringBuilder sbFileSID = new StringBuilder();
|
||||
// // System.Text.StringBuilder sbFileREEL = new StringBuilder();
|
||||
// // sbFileSID.AppendLine(string.Format("NO,SID,작업수량,예정수량,UNIT"));
|
||||
// // sbFileREEL.AppendLine(string.Format("NO,SID,REEL,QTY,TIME"));
|
||||
|
||||
// // // int cntrid = 1;
|
||||
|
||||
// // System.IO.File.WriteAllText(UTIL.CurrentPath + "\\result_sidsummary.csv", sbFileSID.ToString(), System.Text.Encoding.Default);
|
||||
// // System.IO.File.WriteAllText(UTIL.CurrentPath + "\\result_reelist.csv", sbFileREEL.ToString(), System.Text.Encoding.Default);
|
||||
|
||||
// // //메일본문의 내용 치환
|
||||
// // var contents = buffer.Trim();
|
||||
// // contents = contents.Replace("{seqdate}", seqdate);
|
||||
// // contents = contents.Replace("{seqno}", seqno);
|
||||
|
||||
// // email.Subject = subject;
|
||||
// // email.SetHtmlBody(contents);
|
||||
// // email.From = "ReelSorter";
|
||||
// // email.AddFileAttachment(UTIL.CurrentPath + "\\result_sidsummary.csv");
|
||||
// // email.AddFileAttachment(UTIL.CurrentPath + "\\result_reelist.csv");
|
||||
|
||||
|
||||
// // System.Text.StringBuilder maillist = new StringBuilder();
|
||||
// // foreach (DataSet1.MailRecipientRow r in PUB.mailList.Rows)
|
||||
// // {
|
||||
// // success = email.AddTo(r.Name, r.Address);
|
||||
// // maillist.Append(string.Format("{0}({1})", r.Name, r.Address));
|
||||
// // }
|
||||
|
||||
|
||||
// // success = mailman.SendEmail(email);
|
||||
// // if (success != true)
|
||||
// // {
|
||||
// // Debug.WriteLine(mailman.LastErrorText);
|
||||
// // return false;
|
||||
// // }
|
||||
|
||||
// // success = mailman.CloseSmtpConnection();
|
||||
// // if (success != true)
|
||||
// // {
|
||||
// // Debug.WriteLine("Connection to SMTP server not closed cleanly.");
|
||||
// // PUB.log.AddE("메일 발송 실패(" + maillist.ToString() + ")");
|
||||
// // }
|
||||
|
||||
// // PUB.log.AddI("메일 발송 완료(" + maillist.ToString() + ")");
|
||||
// // return true;
|
||||
// //}
|
||||
|
||||
|
||||
// }
|
||||
//}
|
||||
@@ -385,9 +385,9 @@ namespace Project
|
||||
{
|
||||
if (SETTING.System.ReverseSIG_PortDetect2Up) curValue = !curValue;
|
||||
}
|
||||
else if (pin == eDIName.L_CONV1 || pin == eDIName.L_CONV4 || pin == eDIName.L_CONV3)
|
||||
else if (pin == eDIName.L_CONV1 || pin == eDIName.L_CONV4)
|
||||
curValue = !curValue;
|
||||
else if (pin == eDIName.R_CONV1 || pin == eDIName.R_CONV4 || pin == eDIName.R_CONV3)
|
||||
else if (pin == eDIName.R_CONV1 || pin == eDIName.R_CONV4)
|
||||
curValue = !curValue;
|
||||
return curValue;
|
||||
}
|
||||
@@ -541,9 +541,9 @@ namespace Project
|
||||
if (index == 2 && AR.SETTING.Data.Enable_Magnet2 == false) return true;
|
||||
}
|
||||
|
||||
if (index == 0) return DIO.SetOutput(eDOName.CART_MAG0, on);
|
||||
else if (index == 1) return DIO.SetOutput(eDOName.CART_MAG1, on);
|
||||
else return DIO.SetOutput(eDOName.CART_MAG2, on);
|
||||
if (index == 0) return DIO.SetOutput(eDOName.PORTL_MAGNET, on);
|
||||
else if (index == 1) return DIO.SetOutput(eDOName.PORTC_MAGNET, on);
|
||||
else return DIO.SetOutput(eDOName.PORTR_MAGNET, on);
|
||||
}
|
||||
/// <summary>
|
||||
/// CW = Up, CCW = Dn
|
||||
|
||||
691
Handler/Project/fMain.Designer.cs
generated
691
Handler/Project/fMain.Designer.cs
generated
@@ -31,6 +31,17 @@
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FMain));
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
arFrame.Control.ColorListItem colorListItem1 = new arFrame.Control.ColorListItem();
|
||||
arFrame.Control.ColorListItem colorListItem2 = new arFrame.Control.ColorListItem();
|
||||
arFrame.Control.ColorListItem colorListItem3 = new arFrame.Control.ColorListItem();
|
||||
@@ -180,17 +191,6 @@
|
||||
arCtl.ListView2.Cell cell95 = new arCtl.ListView2.Cell();
|
||||
arCtl.ListView2.Cell cell96 = new arCtl.ListView2.Cell();
|
||||
arCtl.ListView2.ItemStyle itemStyle2 = new arCtl.ListView2.ItemStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.tmDisplay = new System.Windows.Forms.Timer(this.components);
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.arLabel76 = new arCtl.arLabel();
|
||||
@@ -211,6 +211,30 @@
|
||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.panBottom = new System.Windows.Forms.Panel();
|
||||
this.arDatagridView1 = new arCtl.arDatagridView();
|
||||
this.target = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.JTYPE = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sTIMEDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.PTIME = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.rIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.VNAME = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dvc_loc = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.qTYDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.qtymax = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.MFGDATE = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.VLOT = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.PNO = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.MCN = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.PRNATTACH = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.PRNVALID = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.LOC = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.SID0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.RID0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.QTY0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.ETIME = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.JGUID = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.GUID = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.새로고침ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.bs = new System.Windows.Forms.BindingSource(this.components);
|
||||
@@ -318,10 +342,10 @@
|
||||
this.btLogViewer = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripButton6 = new System.Windows.Forms.ToolStripSplitButton();
|
||||
this.sWPLCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripButton10 = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.btManage = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.빠른실행ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btAutoReelOut = new System.Windows.Forms.ToolStripButton();
|
||||
this.btLightRoom = new System.Windows.Forms.ToolStripButton();
|
||||
this.btManualPrint = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
||||
@@ -348,6 +372,16 @@
|
||||
this.toolStripMenuItem20 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.resetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.webManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem23 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.loadMemoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem27 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem29 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem31 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem32 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem33 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem34 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem35 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem36 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.btHistory = new System.Windows.Forms.ToolStripButton();
|
||||
this.panel24 = new System.Windows.Forms.Panel();
|
||||
@@ -390,30 +424,6 @@
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.hmi1 = new UIControl.HMI();
|
||||
this.listView21 = new arCtl.ListView2();
|
||||
this.target = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.JTYPE = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sTIMEDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.PTIME = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.rIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.VNAME = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dvc_loc = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.qTYDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.qtymax = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.MFGDATE = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.VLOT = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.PNO = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.MCN = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.PRNATTACH = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.PRNVALID = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.LOC = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.SID0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.RID0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.QTY0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.ETIME = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.JGUID = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.GUID = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.panBottom.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.arDatagridView1)).BeginInit();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
@@ -469,7 +479,7 @@
|
||||
this.arLabel76.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
this.arLabel76.GradientRepeatBG = false;
|
||||
this.arLabel76.isButton = true;
|
||||
this.arLabel76.Location = new System.Drawing.Point(246, 1);
|
||||
this.arLabel76.Location = new System.Drawing.Point(312, 1);
|
||||
this.arLabel76.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.arLabel76.MouseDownColor = System.Drawing.Color.Yellow;
|
||||
this.arLabel76.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
@@ -565,7 +575,7 @@
|
||||
this.arLabel75.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
this.arLabel75.GradientRepeatBG = false;
|
||||
this.arLabel75.isButton = true;
|
||||
this.arLabel75.Location = new System.Drawing.Point(244, 1);
|
||||
this.arLabel75.Location = new System.Drawing.Point(311, 1);
|
||||
this.arLabel75.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.arLabel75.MouseDownColor = System.Drawing.Color.Yellow;
|
||||
this.arLabel75.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
@@ -661,7 +671,7 @@
|
||||
this.arLabel11.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
this.arLabel11.GradientRepeatBG = false;
|
||||
this.arLabel11.isButton = true;
|
||||
this.arLabel11.Location = new System.Drawing.Point(244, 1);
|
||||
this.arLabel11.Location = new System.Drawing.Point(311, 1);
|
||||
this.arLabel11.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.arLabel11.MouseDownColor = System.Drawing.Color.Yellow;
|
||||
this.arLabel11.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
@@ -777,7 +787,7 @@
|
||||
this.lbMsg.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||
this.lbMsg.SignColor = System.Drawing.Color.Yellow;
|
||||
this.lbMsg.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||
this.lbMsg.Size = new System.Drawing.Size(1037, 42);
|
||||
this.lbMsg.Size = new System.Drawing.Size(1237, 42);
|
||||
this.lbMsg.TabIndex = 1;
|
||||
this.lbMsg.Text = "--";
|
||||
this.lbMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
@@ -1021,7 +1031,7 @@
|
||||
this.panBottom.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panBottom.Location = new System.Drawing.Point(1, 549);
|
||||
this.panBottom.Name = "panBottom";
|
||||
this.panBottom.Size = new System.Drawing.Size(1037, 389);
|
||||
this.panBottom.Size = new System.Drawing.Size(1237, 389);
|
||||
this.panBottom.TabIndex = 3;
|
||||
//
|
||||
// arDatagridView1
|
||||
@@ -1079,11 +1089,230 @@
|
||||
this.arDatagridView1.Name = "arDatagridView1";
|
||||
this.arDatagridView1.ReadOnly = true;
|
||||
this.arDatagridView1.RowTemplate.Height = 23;
|
||||
this.arDatagridView1.Size = new System.Drawing.Size(1037, 366);
|
||||
this.arDatagridView1.Size = new System.Drawing.Size(1237, 366);
|
||||
this.arDatagridView1.TabIndex = 6;
|
||||
this.arDatagridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.arDatagridView1_CellContentClick);
|
||||
this.arDatagridView1.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.arDatagridView1_DataError);
|
||||
//
|
||||
// target
|
||||
//
|
||||
this.target.DataPropertyName = "target";
|
||||
this.target.HeaderText = "R";
|
||||
this.target.Name = "target";
|
||||
this.target.ReadOnly = true;
|
||||
this.target.Width = 45;
|
||||
//
|
||||
// JTYPE
|
||||
//
|
||||
this.JTYPE.DataPropertyName = "JTYPE";
|
||||
this.JTYPE.HeaderText = "MODEL";
|
||||
this.JTYPE.Name = "JTYPE";
|
||||
this.JTYPE.ReadOnly = true;
|
||||
this.JTYPE.Width = 81;
|
||||
//
|
||||
// sTIMEDataGridViewTextBoxColumn
|
||||
//
|
||||
this.sTIMEDataGridViewTextBoxColumn.DataPropertyName = "STIME";
|
||||
dataGridViewCellStyle1.Format = "HH:mm:ss";
|
||||
this.sTIMEDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.sTIMEDataGridViewTextBoxColumn.HeaderText = "START";
|
||||
this.sTIMEDataGridViewTextBoxColumn.Name = "sTIMEDataGridViewTextBoxColumn";
|
||||
this.sTIMEDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.sTIMEDataGridViewTextBoxColumn.Width = 74;
|
||||
//
|
||||
// PTIME
|
||||
//
|
||||
this.PTIME.DataPropertyName = "BATCH";
|
||||
dataGridViewCellStyle2.Format = "HH:mm:ss";
|
||||
this.PTIME.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.PTIME.HeaderText = "BATCH";
|
||||
this.PTIME.Name = "PTIME";
|
||||
this.PTIME.ReadOnly = true;
|
||||
this.PTIME.Width = 77;
|
||||
//
|
||||
// sIDDataGridViewTextBoxColumn
|
||||
//
|
||||
this.sIDDataGridViewTextBoxColumn.DataPropertyName = "SID";
|
||||
dataGridViewCellStyle3.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.sIDDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.sIDDataGridViewTextBoxColumn.HeaderText = "SID";
|
||||
this.sIDDataGridViewTextBoxColumn.Name = "sIDDataGridViewTextBoxColumn";
|
||||
this.sIDDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.sIDDataGridViewTextBoxColumn.Width = 57;
|
||||
//
|
||||
// rIDDataGridViewTextBoxColumn
|
||||
//
|
||||
this.rIDDataGridViewTextBoxColumn.DataPropertyName = "RID";
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.rIDDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.rIDDataGridViewTextBoxColumn.HeaderText = "RID";
|
||||
this.rIDDataGridViewTextBoxColumn.Name = "rIDDataGridViewTextBoxColumn";
|
||||
this.rIDDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.rIDDataGridViewTextBoxColumn.Width = 58;
|
||||
//
|
||||
// VNAME
|
||||
//
|
||||
this.VNAME.DataPropertyName = "VNAME";
|
||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.VNAME.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.VNAME.HeaderText = "VENDER";
|
||||
this.VNAME.Name = "VNAME";
|
||||
this.VNAME.ReadOnly = true;
|
||||
this.VNAME.Width = 87;
|
||||
//
|
||||
// dvc_loc
|
||||
//
|
||||
this.dvc_loc.DataPropertyName = "LOC";
|
||||
this.dvc_loc.HeaderText = "LOC";
|
||||
this.dvc_loc.Name = "dvc_loc";
|
||||
this.dvc_loc.ReadOnly = true;
|
||||
this.dvc_loc.Visible = false;
|
||||
this.dvc_loc.Width = 55;
|
||||
//
|
||||
// qTYDataGridViewTextBoxColumn
|
||||
//
|
||||
this.qTYDataGridViewTextBoxColumn.DataPropertyName = "QTY";
|
||||
this.qTYDataGridViewTextBoxColumn.HeaderText = "QTY";
|
||||
this.qTYDataGridViewTextBoxColumn.Name = "qTYDataGridViewTextBoxColumn";
|
||||
this.qTYDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.qTYDataGridViewTextBoxColumn.Width = 61;
|
||||
//
|
||||
// qtymax
|
||||
//
|
||||
this.qtymax.DataPropertyName = "qtymax";
|
||||
this.qtymax.HeaderText = "(MAX)";
|
||||
this.qtymax.Name = "qtymax";
|
||||
this.qtymax.ReadOnly = true;
|
||||
this.qtymax.Width = 76;
|
||||
//
|
||||
// MFGDATE
|
||||
//
|
||||
this.MFGDATE.DataPropertyName = "MFGDATE";
|
||||
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.MFGDATE.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.MFGDATE.HeaderText = "MFG";
|
||||
this.MFGDATE.Name = "MFGDATE";
|
||||
this.MFGDATE.ReadOnly = true;
|
||||
this.MFGDATE.Width = 65;
|
||||
//
|
||||
// VLOT
|
||||
//
|
||||
this.VLOT.DataPropertyName = "VLOT";
|
||||
this.VLOT.HeaderText = "V.LOT";
|
||||
this.VLOT.Name = "VLOT";
|
||||
this.VLOT.ReadOnly = true;
|
||||
this.VLOT.Width = 71;
|
||||
//
|
||||
// PNO
|
||||
//
|
||||
this.PNO.DataPropertyName = "PARTNO";
|
||||
this.PNO.HeaderText = "PARTNO";
|
||||
this.PNO.Name = "PNO";
|
||||
this.PNO.ReadOnly = true;
|
||||
this.PNO.Width = 88;
|
||||
//
|
||||
// MCN
|
||||
//
|
||||
this.MCN.DataPropertyName = "MCN";
|
||||
this.MCN.HeaderText = "CPN";
|
||||
this.MCN.Name = "MCN";
|
||||
this.MCN.ReadOnly = true;
|
||||
this.MCN.Width = 63;
|
||||
//
|
||||
// Column1
|
||||
//
|
||||
this.Column1.DataPropertyName = "REMARK";
|
||||
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
this.Column1.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.Column1.HeaderText = "Remark";
|
||||
this.Column1.Name = "Column1";
|
||||
this.Column1.ReadOnly = true;
|
||||
this.Column1.Width = 84;
|
||||
//
|
||||
// PRNATTACH
|
||||
//
|
||||
this.PRNATTACH.DataPropertyName = "PRNATTACH";
|
||||
this.PRNATTACH.HeaderText = "Attach";
|
||||
this.PRNATTACH.Name = "PRNATTACH";
|
||||
this.PRNATTACH.ReadOnly = true;
|
||||
this.PRNATTACH.Width = 58;
|
||||
//
|
||||
// PRNVALID
|
||||
//
|
||||
this.PRNVALID.DataPropertyName = "PRNVALID";
|
||||
this.PRNVALID.HeaderText = "Validation";
|
||||
this.PRNVALID.Name = "PRNVALID";
|
||||
this.PRNVALID.ReadOnly = true;
|
||||
this.PRNVALID.Width = 80;
|
||||
//
|
||||
// LOC
|
||||
//
|
||||
this.LOC.DataPropertyName = "LOC";
|
||||
this.LOC.HeaderText = "L/R";
|
||||
this.LOC.Name = "LOC";
|
||||
this.LOC.ReadOnly = true;
|
||||
this.LOC.Width = 57;
|
||||
//
|
||||
// SID0
|
||||
//
|
||||
this.SID0.DataPropertyName = "SID0";
|
||||
dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(221)))), ((int)(((byte)(242)))));
|
||||
this.SID0.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.SID0.HeaderText = "SID(ORG)";
|
||||
this.SID0.Name = "SID0";
|
||||
this.SID0.ReadOnly = true;
|
||||
this.SID0.Width = 94;
|
||||
//
|
||||
// RID0
|
||||
//
|
||||
this.RID0.DataPropertyName = "RID0";
|
||||
dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(221)))), ((int)(((byte)(242)))));
|
||||
this.RID0.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.RID0.HeaderText = "RID(ORG)";
|
||||
this.RID0.Name = "RID0";
|
||||
this.RID0.ReadOnly = true;
|
||||
this.RID0.Width = 95;
|
||||
//
|
||||
// QTY0
|
||||
//
|
||||
this.QTY0.DataPropertyName = "QTY0";
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(221)))), ((int)(((byte)(242)))));
|
||||
this.QTY0.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.QTY0.FillWeight = 55F;
|
||||
this.QTY0.HeaderText = "QTY(ORG)";
|
||||
this.QTY0.Name = "QTY0";
|
||||
this.QTY0.ReadOnly = true;
|
||||
this.QTY0.Width = 98;
|
||||
//
|
||||
// ETIME
|
||||
//
|
||||
this.ETIME.DataPropertyName = "ETIME";
|
||||
dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle11.Format = "mm:ss.fff";
|
||||
this.ETIME.DefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.ETIME.HeaderText = "END";
|
||||
this.ETIME.Name = "ETIME";
|
||||
this.ETIME.ReadOnly = true;
|
||||
this.ETIME.Width = 63;
|
||||
//
|
||||
// JGUID
|
||||
//
|
||||
this.JGUID.DataPropertyName = "JGUID";
|
||||
this.JGUID.HeaderText = "JGUID";
|
||||
this.JGUID.Name = "JGUID";
|
||||
this.JGUID.ReadOnly = true;
|
||||
this.JGUID.Width = 73;
|
||||
//
|
||||
// GUID
|
||||
//
|
||||
this.GUID.DataPropertyName = "GUID";
|
||||
this.GUID.HeaderText = "GUID";
|
||||
this.GUID.Name = "GUID";
|
||||
this.GUID.ReadOnly = true;
|
||||
this.GUID.Width = 68;
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
@@ -1114,7 +1343,7 @@
|
||||
this.progressBarRefresh.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.progressBarRefresh.Location = new System.Drawing.Point(0, 0);
|
||||
this.progressBarRefresh.Name = "progressBarRefresh";
|
||||
this.progressBarRefresh.Size = new System.Drawing.Size(1037, 23);
|
||||
this.progressBarRefresh.Size = new System.Drawing.Size(1237, 23);
|
||||
this.progressBarRefresh.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
|
||||
this.progressBarRefresh.TabIndex = 1;
|
||||
this.progressBarRefresh.Visible = false;
|
||||
@@ -1207,11 +1436,11 @@
|
||||
this.panel37.Controls.Add(this.arLabel76);
|
||||
this.panel37.Controls.Add(this.arLabel74);
|
||||
this.panel37.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel37.Location = new System.Drawing.Point(690, 0);
|
||||
this.panel37.Location = new System.Drawing.Point(824, 0);
|
||||
this.panel37.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.panel37.Name = "panel37";
|
||||
this.panel37.Padding = new System.Windows.Forms.Padding(1);
|
||||
this.panel37.Size = new System.Drawing.Size(347, 56);
|
||||
this.panel37.Size = new System.Drawing.Size(413, 56);
|
||||
this.panel37.TabIndex = 155;
|
||||
//
|
||||
// lbLock2
|
||||
@@ -1252,7 +1481,7 @@
|
||||
this.lbLock2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||
this.lbLock2.SignColor = System.Drawing.Color.Yellow;
|
||||
this.lbLock2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||
this.lbLock2.Size = new System.Drawing.Size(145, 54);
|
||||
this.lbLock2.Size = new System.Drawing.Size(211, 54);
|
||||
this.lbLock2.TabIndex = 15;
|
||||
this.lbLock2.Tag = "2";
|
||||
this.lbLock2.Text = "Port Lock";
|
||||
@@ -1268,11 +1497,11 @@
|
||||
this.panel10.Controls.Add(this.arLabel75);
|
||||
this.panel10.Controls.Add(this.arLabel73);
|
||||
this.panel10.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel10.Location = new System.Drawing.Point(345, 0);
|
||||
this.panel10.Location = new System.Drawing.Point(412, 0);
|
||||
this.panel10.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.panel10.Name = "panel10";
|
||||
this.panel10.Padding = new System.Windows.Forms.Padding(1);
|
||||
this.panel10.Size = new System.Drawing.Size(345, 56);
|
||||
this.panel10.Size = new System.Drawing.Size(412, 56);
|
||||
this.panel10.TabIndex = 154;
|
||||
//
|
||||
// lbLock1
|
||||
@@ -1313,7 +1542,7 @@
|
||||
this.lbLock1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||
this.lbLock1.SignColor = System.Drawing.Color.Yellow;
|
||||
this.lbLock1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||
this.lbLock1.Size = new System.Drawing.Size(143, 54);
|
||||
this.lbLock1.Size = new System.Drawing.Size(210, 54);
|
||||
this.lbLock1.TabIndex = 15;
|
||||
this.lbLock1.Tag = "1";
|
||||
this.lbLock1.Text = "Port Lock";
|
||||
@@ -1333,7 +1562,7 @@
|
||||
this.panel15.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.panel15.Name = "panel15";
|
||||
this.panel15.Padding = new System.Windows.Forms.Padding(1);
|
||||
this.panel15.Size = new System.Drawing.Size(345, 56);
|
||||
this.panel15.Size = new System.Drawing.Size(412, 56);
|
||||
this.panel15.TabIndex = 155;
|
||||
//
|
||||
// lbLock0
|
||||
@@ -1374,7 +1603,7 @@
|
||||
this.lbLock0.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||
this.lbLock0.SignColor = System.Drawing.Color.Yellow;
|
||||
this.lbLock0.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||
this.lbLock0.Size = new System.Drawing.Size(143, 54);
|
||||
this.lbLock0.Size = new System.Drawing.Size(210, 54);
|
||||
this.lbLock0.TabIndex = 15;
|
||||
this.lbLock0.Tag = "0";
|
||||
this.lbLock0.Text = "Port Lock";
|
||||
@@ -1531,7 +1760,7 @@
|
||||
//
|
||||
this.dIOMonitorToolStripMenuItem.Name = "dIOMonitorToolStripMenuItem";
|
||||
this.dIOMonitorToolStripMenuItem.Size = new System.Drawing.Size(255, 22);
|
||||
this.dIOMonitorToolStripMenuItem.Text = "new barcode";
|
||||
this.dIOMonitorToolStripMenuItem.Text = "Test Barcode Process";
|
||||
this.dIOMonitorToolStripMenuItem.Click += new System.EventHandler(this.dIOMonitorToolStripMenuItem_Click);
|
||||
//
|
||||
// refreshControklToolStripMenuItem
|
||||
@@ -1810,7 +2039,7 @@
|
||||
this.panStatusBar.Location = new System.Drawing.Point(1, 938);
|
||||
this.panStatusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.panStatusBar.Name = "panStatusBar";
|
||||
this.panStatusBar.Size = new System.Drawing.Size(1382, 46);
|
||||
this.panStatusBar.Size = new System.Drawing.Size(1582, 46);
|
||||
this.panStatusBar.TabIndex = 136;
|
||||
//
|
||||
// panel3
|
||||
@@ -1821,7 +2050,7 @@
|
||||
this.panel3.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel3.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(1378, 42);
|
||||
this.panel3.Size = new System.Drawing.Size(1578, 42);
|
||||
this.panel3.TabIndex = 4;
|
||||
//
|
||||
// IOState
|
||||
@@ -1889,7 +2118,7 @@
|
||||
this.IOState.ShadowColor = System.Drawing.Color.Transparent;
|
||||
this.IOState.showDebugInfo = false;
|
||||
this.IOState.ShowIndexString = false;
|
||||
this.IOState.Size = new System.Drawing.Size(1060, 42);
|
||||
this.IOState.Size = new System.Drawing.Size(1260, 42);
|
||||
this.IOState.TabIndex = 6;
|
||||
this.IOState.Tags = null;
|
||||
this.IOState.Text = "gridView2";
|
||||
@@ -2025,6 +2254,7 @@
|
||||
this.toolStripSeparator6,
|
||||
this.toolStripButton6,
|
||||
this.toolStripButton10,
|
||||
this.btAutoReelOut,
|
||||
this.btLightRoom,
|
||||
this.btManualPrint,
|
||||
this.toolStripSeparator9,
|
||||
@@ -2037,7 +2267,7 @@
|
||||
this.panTopMenu.Location = new System.Drawing.Point(1, 1);
|
||||
this.panTopMenu.Name = "panTopMenu";
|
||||
this.panTopMenu.Padding = new System.Windows.Forms.Padding(0);
|
||||
this.panTopMenu.Size = new System.Drawing.Size(1382, 47);
|
||||
this.panTopMenu.Size = new System.Drawing.Size(1582, 47);
|
||||
this.panTopMenu.TabIndex = 137;
|
||||
this.panTopMenu.Text = "toolStrip1";
|
||||
//
|
||||
@@ -2271,8 +2501,6 @@
|
||||
//
|
||||
// toolStripButton6
|
||||
//
|
||||
this.toolStripButton6.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.sWPLCToolStripMenuItem});
|
||||
this.toolStripButton6.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton6.Image")));
|
||||
this.toolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton6.Name = "toolStripButton6";
|
||||
@@ -2282,13 +2510,6 @@
|
||||
this.toolStripButton6.ButtonClick += new System.EventHandler(this.toolStripButton6_ButtonClick);
|
||||
this.toolStripButton6.Click += new System.EventHandler(this.button6_Click);
|
||||
//
|
||||
// sWPLCToolStripMenuItem
|
||||
//
|
||||
this.sWPLCToolStripMenuItem.Name = "sWPLCToolStripMenuItem";
|
||||
this.sWPLCToolStripMenuItem.Size = new System.Drawing.Size(120, 22);
|
||||
this.sWPLCToolStripMenuItem.Text = "S/W PLC";
|
||||
this.sWPLCToolStripMenuItem.Click += new System.EventHandler(this.sWPLCToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripButton10
|
||||
//
|
||||
this.toolStripButton10.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
@@ -2317,6 +2538,15 @@
|
||||
this.빠른실행ToolStripMenuItem.Text = "Quick Run";
|
||||
this.빠른실행ToolStripMenuItem.Click += new System.EventHandler(this.quickExecutionToolStripMenuItem_Click);
|
||||
//
|
||||
// btAutoReelOut
|
||||
//
|
||||
this.btAutoReelOut.Image = ((System.Drawing.Image)(resources.GetObject("btAutoReelOut.Image")));
|
||||
this.btAutoReelOut.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btAutoReelOut.Name = "btAutoReelOut";
|
||||
this.btAutoReelOut.Size = new System.Drawing.Size(97, 44);
|
||||
this.btAutoReelOut.Text = "AutoOut";
|
||||
this.btAutoReelOut.Click += new System.EventHandler(this.btAutoReelOut_Click);
|
||||
//
|
||||
// btLightRoom
|
||||
//
|
||||
this.btLightRoom.Image = ((System.Drawing.Image)(resources.GetObject("btLightRoom.Image")));
|
||||
@@ -2329,13 +2559,11 @@
|
||||
//
|
||||
// btManualPrint
|
||||
//
|
||||
this.btManualPrint.ForeColor = System.Drawing.Color.Red;
|
||||
this.btManualPrint.Image = ((System.Drawing.Image)(resources.GetObject("btManualPrint.Image")));
|
||||
this.btManualPrint.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btManualPrint.Name = "btManualPrint";
|
||||
this.btManualPrint.Size = new System.Drawing.Size(119, 44);
|
||||
this.btManualPrint.Text = "Manual Print";
|
||||
this.btManualPrint.Visible = false;
|
||||
this.btManualPrint.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// toolStripSeparator9
|
||||
@@ -2464,7 +2692,9 @@
|
||||
this.disConnectToolStripMenuItem,
|
||||
this.toolStripMenuItem20,
|
||||
this.resetToolStripMenuItem,
|
||||
this.webManagerToolStripMenuItem});
|
||||
this.webManagerToolStripMenuItem,
|
||||
this.toolStripMenuItem23,
|
||||
this.loadMemoryToolStripMenuItem});
|
||||
this.바코드키엔스ToolStripMenuItem.Image = global::Project.Properties.Resources.Barcode;
|
||||
this.바코드키엔스ToolStripMenuItem.Name = "바코드키엔스ToolStripMenuItem";
|
||||
this.바코드키엔스ToolStripMenuItem.Size = new System.Drawing.Size(196, 46);
|
||||
@@ -2541,6 +2771,82 @@
|
||||
this.webManagerToolStripMenuItem.Text = "Web Manager";
|
||||
this.webManagerToolStripMenuItem.Click += new System.EventHandler(this.webManagerToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem23
|
||||
//
|
||||
this.toolStripMenuItem23.Name = "toolStripMenuItem23";
|
||||
this.toolStripMenuItem23.Size = new System.Drawing.Size(169, 6);
|
||||
//
|
||||
// loadMemoryToolStripMenuItem
|
||||
//
|
||||
this.loadMemoryToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripMenuItem27,
|
||||
this.toolStripMenuItem29,
|
||||
this.toolStripMenuItem31,
|
||||
this.toolStripMenuItem32,
|
||||
this.toolStripMenuItem33,
|
||||
this.toolStripMenuItem34,
|
||||
this.toolStripMenuItem35,
|
||||
this.toolStripMenuItem36});
|
||||
this.loadMemoryToolStripMenuItem.Name = "loadMemoryToolStripMenuItem";
|
||||
this.loadMemoryToolStripMenuItem.Size = new System.Drawing.Size(172, 46);
|
||||
this.loadMemoryToolStripMenuItem.Text = "Load Memory";
|
||||
//
|
||||
// toolStripMenuItem27
|
||||
//
|
||||
this.toolStripMenuItem27.Name = "toolStripMenuItem27";
|
||||
this.toolStripMenuItem27.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem27.Text = "1";
|
||||
this.toolStripMenuItem27.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripMenuItem29
|
||||
//
|
||||
this.toolStripMenuItem29.Name = "toolStripMenuItem29";
|
||||
this.toolStripMenuItem29.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem29.Text = "2";
|
||||
this.toolStripMenuItem29.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripMenuItem31
|
||||
//
|
||||
this.toolStripMenuItem31.Name = "toolStripMenuItem31";
|
||||
this.toolStripMenuItem31.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem31.Text = "3";
|
||||
this.toolStripMenuItem31.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripMenuItem32
|
||||
//
|
||||
this.toolStripMenuItem32.Name = "toolStripMenuItem32";
|
||||
this.toolStripMenuItem32.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem32.Text = "4";
|
||||
this.toolStripMenuItem32.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripMenuItem33
|
||||
//
|
||||
this.toolStripMenuItem33.Name = "toolStripMenuItem33";
|
||||
this.toolStripMenuItem33.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem33.Text = "5";
|
||||
this.toolStripMenuItem33.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripMenuItem34
|
||||
//
|
||||
this.toolStripMenuItem34.Name = "toolStripMenuItem34";
|
||||
this.toolStripMenuItem34.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem34.Text = "6";
|
||||
this.toolStripMenuItem34.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripMenuItem35
|
||||
//
|
||||
this.toolStripMenuItem35.Name = "toolStripMenuItem35";
|
||||
this.toolStripMenuItem35.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem35.Text = "7";
|
||||
this.toolStripMenuItem35.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripMenuItem36
|
||||
//
|
||||
this.toolStripMenuItem36.Name = "toolStripMenuItem36";
|
||||
this.toolStripMenuItem36.Size = new System.Drawing.Size(80, 22);
|
||||
this.toolStripMenuItem36.Text = "8";
|
||||
this.toolStripMenuItem36.Click += new System.EventHandler(this.toolStripMenuItem27_Click);
|
||||
//
|
||||
// toolStripSeparator7
|
||||
//
|
||||
this.toolStripSeparator7.Name = "toolStripSeparator7";
|
||||
@@ -2571,7 +2877,7 @@
|
||||
this.panel24.Controls.Add(this.groupBox3);
|
||||
this.panel24.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.panel24.ForeColor = System.Drawing.Color.White;
|
||||
this.panel24.Location = new System.Drawing.Point(1038, 48);
|
||||
this.panel24.Location = new System.Drawing.Point(1238, 48);
|
||||
this.panel24.Name = "panel24";
|
||||
this.panel24.Padding = new System.Windows.Forms.Padding(10, 3, 10, 10);
|
||||
this.panel24.Size = new System.Drawing.Size(345, 890);
|
||||
@@ -2999,6 +3305,7 @@
|
||||
this.tbVisionL.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.tbVisionL.TextShadow = true;
|
||||
this.tbVisionL.TextVisible = true;
|
||||
this.tbVisionL.Click += new System.EventHandler(this.tbBarcodeR_Click);
|
||||
//
|
||||
// label5
|
||||
//
|
||||
@@ -3058,6 +3365,7 @@
|
||||
this.tbBarcodeR.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.tbBarcodeR.TextShadow = true;
|
||||
this.tbBarcodeR.TextVisible = true;
|
||||
this.tbBarcodeR.Click += new System.EventHandler(this.tbBarcodeR_Click);
|
||||
//
|
||||
// label6
|
||||
//
|
||||
@@ -3117,6 +3425,7 @@
|
||||
this.tbVisionR.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.tbVisionR.TextShadow = true;
|
||||
this.tbVisionR.TextVisible = true;
|
||||
this.tbVisionR.Click += new System.EventHandler(this.tbBarcodeR_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
@@ -3189,6 +3498,7 @@
|
||||
this.tbBarcodeF.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.tbBarcodeF.TextShadow = true;
|
||||
this.tbBarcodeF.TextVisible = true;
|
||||
this.tbBarcodeF.Click += new System.EventHandler(this.tbBarcodeR_Click);
|
||||
//
|
||||
// panel28
|
||||
//
|
||||
@@ -3342,7 +3652,7 @@
|
||||
this.panel9.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel9.Location = new System.Drawing.Point(1, 48);
|
||||
this.panel9.Name = "panel9";
|
||||
this.panel9.Size = new System.Drawing.Size(1037, 42);
|
||||
this.panel9.Size = new System.Drawing.Size(1237, 42);
|
||||
this.panel9.TabIndex = 144;
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
@@ -3360,7 +3670,7 @@
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 1;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(1037, 56);
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(1237, 56);
|
||||
this.tableLayoutPanel1.TabIndex = 159;
|
||||
//
|
||||
// panel1
|
||||
@@ -3370,7 +3680,7 @@
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel1.Location = new System.Drawing.Point(1, 90);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(1037, 403);
|
||||
this.panel1.Size = new System.Drawing.Size(1237, 403);
|
||||
this.panel1.TabIndex = 160;
|
||||
//
|
||||
// hmi1
|
||||
@@ -3600,7 +3910,7 @@
|
||||
this.hmi1.R_PICK_BW = false;
|
||||
this.hmi1.R_PICK_FW = false;
|
||||
this.hmi1.Scean = UIControl.HMI.eScean.Nomal;
|
||||
this.hmi1.Size = new System.Drawing.Size(586, 403);
|
||||
this.hmi1.Size = new System.Drawing.Size(786, 403);
|
||||
this.hmi1.TabIndex = 0;
|
||||
this.hmi1.ZoneItemClick += new System.EventHandler<UIControl.HMI.ZoneItemClickEventargs>(this.hmi1_ZoneItemClick);
|
||||
//
|
||||
@@ -3720,7 +4030,7 @@
|
||||
this.listView21.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.listView21.Font = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.listView21.ForeColor = System.Drawing.Color.White;
|
||||
this.listView21.Location = new System.Drawing.Point(586, 0);
|
||||
this.listView21.Location = new System.Drawing.Point(786, 0);
|
||||
this.listView21.MinimumSize = new System.Drawing.Size(30, 30);
|
||||
this.listView21.Name = "listView21";
|
||||
this.listView21.RowHeight = 25;
|
||||
@@ -4854,229 +5164,10 @@
|
||||
this.listView21.TabIndex = 7;
|
||||
this.listView21.Text = "listView21";
|
||||
//
|
||||
// target
|
||||
//
|
||||
this.target.DataPropertyName = "target";
|
||||
this.target.HeaderText = "R";
|
||||
this.target.Name = "target";
|
||||
this.target.ReadOnly = true;
|
||||
this.target.Width = 45;
|
||||
//
|
||||
// JTYPE
|
||||
//
|
||||
this.JTYPE.DataPropertyName = "JTYPE";
|
||||
this.JTYPE.HeaderText = "MODEL";
|
||||
this.JTYPE.Name = "JTYPE";
|
||||
this.JTYPE.ReadOnly = true;
|
||||
this.JTYPE.Width = 81;
|
||||
//
|
||||
// sTIMEDataGridViewTextBoxColumn
|
||||
//
|
||||
this.sTIMEDataGridViewTextBoxColumn.DataPropertyName = "STIME";
|
||||
dataGridViewCellStyle1.Format = "HH:mm:ss";
|
||||
this.sTIMEDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.sTIMEDataGridViewTextBoxColumn.HeaderText = "START";
|
||||
this.sTIMEDataGridViewTextBoxColumn.Name = "sTIMEDataGridViewTextBoxColumn";
|
||||
this.sTIMEDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.sTIMEDataGridViewTextBoxColumn.Width = 74;
|
||||
//
|
||||
// PTIME
|
||||
//
|
||||
this.PTIME.DataPropertyName = "BATCH";
|
||||
dataGridViewCellStyle2.Format = "HH:mm:ss";
|
||||
this.PTIME.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.PTIME.HeaderText = "BATCH";
|
||||
this.PTIME.Name = "PTIME";
|
||||
this.PTIME.ReadOnly = true;
|
||||
this.PTIME.Width = 77;
|
||||
//
|
||||
// sIDDataGridViewTextBoxColumn
|
||||
//
|
||||
this.sIDDataGridViewTextBoxColumn.DataPropertyName = "SID";
|
||||
dataGridViewCellStyle3.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.sIDDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.sIDDataGridViewTextBoxColumn.HeaderText = "SID";
|
||||
this.sIDDataGridViewTextBoxColumn.Name = "sIDDataGridViewTextBoxColumn";
|
||||
this.sIDDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.sIDDataGridViewTextBoxColumn.Width = 57;
|
||||
//
|
||||
// rIDDataGridViewTextBoxColumn
|
||||
//
|
||||
this.rIDDataGridViewTextBoxColumn.DataPropertyName = "RID";
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.rIDDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.rIDDataGridViewTextBoxColumn.HeaderText = "RID";
|
||||
this.rIDDataGridViewTextBoxColumn.Name = "rIDDataGridViewTextBoxColumn";
|
||||
this.rIDDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.rIDDataGridViewTextBoxColumn.Width = 58;
|
||||
//
|
||||
// VNAME
|
||||
//
|
||||
this.VNAME.DataPropertyName = "VNAME";
|
||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.VNAME.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.VNAME.HeaderText = "VENDER";
|
||||
this.VNAME.Name = "VNAME";
|
||||
this.VNAME.ReadOnly = true;
|
||||
this.VNAME.Width = 87;
|
||||
//
|
||||
// dvc_loc
|
||||
//
|
||||
this.dvc_loc.DataPropertyName = "LOC";
|
||||
this.dvc_loc.HeaderText = "LOC";
|
||||
this.dvc_loc.Name = "dvc_loc";
|
||||
this.dvc_loc.ReadOnly = true;
|
||||
this.dvc_loc.Visible = false;
|
||||
this.dvc_loc.Width = 61;
|
||||
//
|
||||
// qTYDataGridViewTextBoxColumn
|
||||
//
|
||||
this.qTYDataGridViewTextBoxColumn.DataPropertyName = "QTY";
|
||||
this.qTYDataGridViewTextBoxColumn.HeaderText = "QTY";
|
||||
this.qTYDataGridViewTextBoxColumn.Name = "qTYDataGridViewTextBoxColumn";
|
||||
this.qTYDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
this.qTYDataGridViewTextBoxColumn.Width = 61;
|
||||
//
|
||||
// qtymax
|
||||
//
|
||||
this.qtymax.DataPropertyName = "qtymax";
|
||||
this.qtymax.HeaderText = "(MAX)";
|
||||
this.qtymax.Name = "qtymax";
|
||||
this.qtymax.ReadOnly = true;
|
||||
this.qtymax.Width = 76;
|
||||
//
|
||||
// MFGDATE
|
||||
//
|
||||
this.MFGDATE.DataPropertyName = "MFGDATE";
|
||||
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.MFGDATE.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.MFGDATE.HeaderText = "MFG";
|
||||
this.MFGDATE.Name = "MFGDATE";
|
||||
this.MFGDATE.ReadOnly = true;
|
||||
this.MFGDATE.Width = 65;
|
||||
//
|
||||
// VLOT
|
||||
//
|
||||
this.VLOT.DataPropertyName = "VLOT";
|
||||
this.VLOT.HeaderText = "V.LOT";
|
||||
this.VLOT.Name = "VLOT";
|
||||
this.VLOT.ReadOnly = true;
|
||||
this.VLOT.Width = 71;
|
||||
//
|
||||
// PNO
|
||||
//
|
||||
this.PNO.DataPropertyName = "PARTNO";
|
||||
this.PNO.HeaderText = "PARTNO";
|
||||
this.PNO.Name = "PNO";
|
||||
this.PNO.ReadOnly = true;
|
||||
this.PNO.Width = 88;
|
||||
//
|
||||
// MCN
|
||||
//
|
||||
this.MCN.DataPropertyName = "MCN";
|
||||
this.MCN.HeaderText = "CPN";
|
||||
this.MCN.Name = "MCN";
|
||||
this.MCN.ReadOnly = true;
|
||||
this.MCN.Width = 63;
|
||||
//
|
||||
// Column1
|
||||
//
|
||||
this.Column1.DataPropertyName = "REMARK";
|
||||
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
this.Column1.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.Column1.HeaderText = "Remark";
|
||||
this.Column1.Name = "Column1";
|
||||
this.Column1.ReadOnly = true;
|
||||
this.Column1.Width = 84;
|
||||
//
|
||||
// PRNATTACH
|
||||
//
|
||||
this.PRNATTACH.DataPropertyName = "PRNATTACH";
|
||||
this.PRNATTACH.HeaderText = "Attach";
|
||||
this.PRNATTACH.Name = "PRNATTACH";
|
||||
this.PRNATTACH.ReadOnly = true;
|
||||
this.PRNATTACH.Width = 58;
|
||||
//
|
||||
// PRNVALID
|
||||
//
|
||||
this.PRNVALID.DataPropertyName = "PRNVALID";
|
||||
this.PRNVALID.HeaderText = "Validation";
|
||||
this.PRNVALID.Name = "PRNVALID";
|
||||
this.PRNVALID.ReadOnly = true;
|
||||
this.PRNVALID.Width = 80;
|
||||
//
|
||||
// LOC
|
||||
//
|
||||
this.LOC.DataPropertyName = "LOC";
|
||||
this.LOC.HeaderText = "L/R";
|
||||
this.LOC.Name = "LOC";
|
||||
this.LOC.ReadOnly = true;
|
||||
this.LOC.Width = 57;
|
||||
//
|
||||
// SID0
|
||||
//
|
||||
this.SID0.DataPropertyName = "SID0";
|
||||
dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(221)))), ((int)(((byte)(242)))));
|
||||
this.SID0.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.SID0.HeaderText = "SID(ORG)";
|
||||
this.SID0.Name = "SID0";
|
||||
this.SID0.ReadOnly = true;
|
||||
this.SID0.Width = 94;
|
||||
//
|
||||
// RID0
|
||||
//
|
||||
this.RID0.DataPropertyName = "RID0";
|
||||
dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(221)))), ((int)(((byte)(242)))));
|
||||
this.RID0.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.RID0.HeaderText = "RID(ORG)";
|
||||
this.RID0.Name = "RID0";
|
||||
this.RID0.ReadOnly = true;
|
||||
this.RID0.Width = 95;
|
||||
//
|
||||
// QTY0
|
||||
//
|
||||
this.QTY0.DataPropertyName = "QTY0";
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(221)))), ((int)(((byte)(242)))));
|
||||
this.QTY0.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.QTY0.FillWeight = 55F;
|
||||
this.QTY0.HeaderText = "QTY(ORG)";
|
||||
this.QTY0.Name = "QTY0";
|
||||
this.QTY0.ReadOnly = true;
|
||||
this.QTY0.Width = 98;
|
||||
//
|
||||
// ETIME
|
||||
//
|
||||
this.ETIME.DataPropertyName = "ETIME";
|
||||
dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle11.Format = "mm:ss.fff";
|
||||
this.ETIME.DefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.ETIME.HeaderText = "END";
|
||||
this.ETIME.Name = "ETIME";
|
||||
this.ETIME.ReadOnly = true;
|
||||
this.ETIME.Width = 63;
|
||||
//
|
||||
// JGUID
|
||||
//
|
||||
this.JGUID.DataPropertyName = "JGUID";
|
||||
this.JGUID.HeaderText = "JGUID";
|
||||
this.JGUID.Name = "JGUID";
|
||||
this.JGUID.ReadOnly = true;
|
||||
this.JGUID.Width = 73;
|
||||
//
|
||||
// GUID
|
||||
//
|
||||
this.GUID.DataPropertyName = "GUID";
|
||||
this.GUID.HeaderText = "GUID";
|
||||
this.GUID.Name = "GUID";
|
||||
this.GUID.ReadOnly = true;
|
||||
this.GUID.Width = 68;
|
||||
//
|
||||
// FMain
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1384, 985);
|
||||
this.ClientSize = new System.Drawing.Size(1584, 985);
|
||||
this.Controls.Add(this.panBottom);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Controls.Add(this.panel1);
|
||||
@@ -5320,7 +5411,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem postDataToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem manualPrintToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSplitButton toolStripButton6;
|
||||
private System.Windows.Forms.ToolStripMenuItem sWPLCToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem apiCheckToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem barcodeTestToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem6;
|
||||
@@ -5355,6 +5445,17 @@
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn ETIME;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn JGUID;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn GUID;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem23;
|
||||
private System.Windows.Forms.ToolStripMenuItem loadMemoryToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem27;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem29;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem31;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem32;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem33;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem34;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem35;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem36;
|
||||
private System.Windows.Forms.ToolStripButton btAutoReelOut;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -286,32 +286,41 @@ namespace Project
|
||||
PUB.log.Add($"ListFormmatData");
|
||||
|
||||
arDatagridView1.SuspendLayout();
|
||||
foreach (DataGridViewRow item in this.arDatagridView1.Rows)
|
||||
|
||||
try
|
||||
{
|
||||
var drv = item.DataBoundItem as System.Data.DataRowView;
|
||||
var dr = drv.Row as DataSet1.K4EE_Component_Reel_ResultRow;
|
||||
foreach (DataGridViewRow item in this.arDatagridView1.Rows)
|
||||
{
|
||||
var drv = item.DataBoundItem as System.Data.DataRowView;
|
||||
var dr = drv.Row as DataSet1.K4EE_Component_Reel_ResultRow;
|
||||
|
||||
if (dr.REMARK.StartsWith("(BYPASS"))
|
||||
{
|
||||
item.DefaultCellStyle.BackColor = Color.LightSkyBlue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dr.LOC == "L")
|
||||
item.DefaultCellStyle.BackColor = Color.FromArgb(220, 220, 220);
|
||||
if (dr.REMARK.StartsWith("(BYPASS"))
|
||||
{
|
||||
item.DefaultCellStyle.BackColor = Color.LightSkyBlue;
|
||||
}
|
||||
else
|
||||
item.DefaultCellStyle.BackColor = Color.FromArgb(250, 250, 250);
|
||||
}
|
||||
{
|
||||
if (dr.LOC == "L")
|
||||
item.DefaultCellStyle.BackColor = Color.FromArgb(220, 220, 220);
|
||||
else
|
||||
item.DefaultCellStyle.BackColor = Color.FromArgb(250, 250, 250);
|
||||
}
|
||||
|
||||
if (dr.REMARK.StartsWith("(BYPASS"))
|
||||
item.DefaultCellStyle.ForeColor = Color.Black;
|
||||
else if (dr.PRNATTACH == false)
|
||||
item.DefaultCellStyle.ForeColor = Color.FromArgb(0xfe, 0x2a, 0x00);
|
||||
else if (dr.PRNVALID == false)
|
||||
item.DefaultCellStyle.ForeColor = Color.FromArgb(0x1f, 0x3b, 0x34);
|
||||
else
|
||||
item.DefaultCellStyle.ForeColor = Color.Black;
|
||||
if (dr.REMARK.StartsWith("(BYPASS"))
|
||||
item.DefaultCellStyle.ForeColor = Color.Black;
|
||||
else if (dr.PRNATTACH == false)
|
||||
item.DefaultCellStyle.ForeColor = Color.FromArgb(0xfe, 0x2a, 0x00);
|
||||
else if (dr.PRNVALID == false)
|
||||
item.DefaultCellStyle.ForeColor = Color.FromArgb(0x1f, 0x3b, 0x34);
|
||||
else
|
||||
item.DefaultCellStyle.ForeColor = Color.Black;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
arDatagridView1.ResumeLayout();
|
||||
}
|
||||
async private void __Load(object sender, EventArgs e)
|
||||
@@ -329,10 +338,6 @@ namespace Project
|
||||
PUB.logKeyence.RaiseMsg += Log_RaiseMsg;
|
||||
PUB.logWS.RaiseMsg += LogWS_RaiseMsg;
|
||||
|
||||
//Turn off position layout.
|
||||
//this.pPosL.Visible = false;
|
||||
//this.pPosC.Visible = false;
|
||||
//this.pPosR.Visible = false;
|
||||
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
@@ -428,7 +433,7 @@ namespace Project
|
||||
PUB.plc.Start();
|
||||
|
||||
VAR.I32[eVarInt32.Front_Laser_Cleaning] += 1;
|
||||
|
||||
|
||||
//Keyence connection
|
||||
if (SETTING.Data.Keyence_IPF.isEmpty() == false)
|
||||
{
|
||||
@@ -455,6 +460,7 @@ namespace Project
|
||||
PUB.log.Add("Program Start");
|
||||
if (SETTING.Data.OnlineMode)
|
||||
PUB.CheckNRegister3(Application.ProductName, "chi", Application.ProductVersion);
|
||||
else PUB.GetIPMac();
|
||||
|
||||
if (SETTING.Data.EnableDebugMode)
|
||||
{
|
||||
@@ -464,11 +470,12 @@ namespace Project
|
||||
}
|
||||
|
||||
//swPLC program execution
|
||||
var swplcfile = UTIL.MakePath("swplc", "swplc.exe");
|
||||
var swplcfile = UTIL.MakePath("swplc", "SoftwarePLC.exe");
|
||||
if (System.IO.File.Exists(swplcfile))
|
||||
{
|
||||
UTIL.RunProcess(swplcfile);
|
||||
}
|
||||
else PUB.log.AddE($"No SoftwarePLC Execute File({swplcfile})");
|
||||
|
||||
await RefreshList();
|
||||
UpdateControl();
|
||||
@@ -494,10 +501,17 @@ namespace Project
|
||||
var data = e.StrValue.Replace("\r", "").Replace("\n", "");
|
||||
bool findregex = false;
|
||||
PUB.log.Add($"Fixed barcode received\n{data}");
|
||||
var cnt = BarcodeRegExProcess(
|
||||
PUB.Result.BCDPattern,
|
||||
PUB.Result.BCDIgnorePattern,
|
||||
PUB.Result.ItemDataC.VisionData, string.Empty, data, out bool IgnoreBarcode, out findregex);
|
||||
|
||||
Tuple<int, List<string>> cnt = null;
|
||||
bool IgnoreBarcode = false;
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
cnt = BarcodeRegExProcess(
|
||||
PUB.Result.BCDPattern,
|
||||
PUB.Result.BCDIgnorePattern,
|
||||
PUB.Result.ItemDataC.VisionData, string.Empty, data, out IgnoreBarcode, out findregex);
|
||||
}
|
||||
|
||||
|
||||
if (IgnoreBarcode) PUB.log.AddE("This is an ignore barcode");
|
||||
else if (cnt.Item1 == 0) PUB.log.AddAT("(Manual) No applicable barcode value");
|
||||
@@ -1087,9 +1101,49 @@ namespace Project
|
||||
|
||||
private void dIOMonitorToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var sid = UTIL.InputBox("input sid");
|
||||
if (sid.Item1 == false || sid.Item2.isEmpty()) return;
|
||||
var c = PUB.MakeNewREELID(sid.Item2);// Amkor.RestfulService.Allocation_Unique_ReelID_AmkorSTD("2000", "4", "A", out string error);
|
||||
using (var f = new fManualPrint0())
|
||||
{
|
||||
f.Text = "Barcode Process Test";
|
||||
if (f.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
var reelinfo = f.reelinfo;
|
||||
var vdata = new Class.JobData(9);
|
||||
PUB.Result.ItemDataC.CopyTo(ref vdata);
|
||||
vdata.Clear("TEST");
|
||||
vdata.VisionData.BarcodeTouched = true;
|
||||
if (reelinfo.SID.isEmpty() == false)
|
||||
{
|
||||
vdata.VisionData.SID = reelinfo.SID;
|
||||
vdata.VisionData.SID_Trust = true;
|
||||
}
|
||||
if (reelinfo.venderLot.isEmpty() == false)
|
||||
{
|
||||
vdata.VisionData.VLOT = reelinfo.venderLot;
|
||||
vdata.VisionData.VLOT_Trust = true;
|
||||
}
|
||||
if (reelinfo.id.isEmpty() == false)
|
||||
{
|
||||
vdata.VisionData.SetRID(reelinfo.id, "TEST");
|
||||
vdata.VisionData.RID_Trust = true;
|
||||
}
|
||||
if (reelinfo.mfg.isEmpty() == false)
|
||||
{
|
||||
vdata.VisionData.MFGDATE = reelinfo.mfg;
|
||||
vdata.VisionData.MFGDATE_Trust = true;
|
||||
}
|
||||
if (reelinfo.qty > 0)
|
||||
{
|
||||
vdata.VisionData.QTY = reelinfo.qty.ToString();
|
||||
vdata.VisionData.QTY_Trust = true;
|
||||
}
|
||||
//vdata.VisionData.VLOT = reelinfo.venderLot;
|
||||
|
||||
BCDProcess_ALL(vdata, "TEST", true);
|
||||
var msg = vdata.VisionData.ToString();
|
||||
PUB.log.Add(msg);
|
||||
UTIL.MsgE(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void refreshControklToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
@@ -1441,16 +1495,16 @@ namespace Project
|
||||
return;
|
||||
}
|
||||
|
||||
bool curMag = DIO.GetIOOutput(eDOName.CART_MAG0);
|
||||
bool curMag = DIO.GetIOOutput(eDOName.PORTL_MAGNET);
|
||||
bool curLim = DIO.GetIOInput(eDIName.PORTL_LIM_DN);
|
||||
if (index == 1)
|
||||
{
|
||||
curMag = DIO.GetIOOutput(eDOName.CART_MAG1);
|
||||
curMag = DIO.GetIOOutput(eDOName.PORTC_MAGNET);
|
||||
curLim = DIO.GetIOInput(eDIName.PORTC_LIM_DN);
|
||||
}
|
||||
else if (index == 2)
|
||||
{
|
||||
curMag = DIO.GetIOOutput(eDOName.CART_MAG2);
|
||||
curMag = DIO.GetIOOutput(eDOName.PORTR_MAGNET);
|
||||
curLim = DIO.GetIOInput(eDIName.PORTR_LIM_DN);
|
||||
}
|
||||
|
||||
@@ -1731,9 +1785,12 @@ namespace Project
|
||||
|
||||
private void bcdRegProcessClearToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
PUB.Result.BCDPattern.Clear();
|
||||
PUB.Result.BCDIgnorePattern.Clear();
|
||||
}
|
||||
|
||||
PUB.Result.BCDPattern.Clear();
|
||||
PUB.Result.BCDIgnorePattern.Clear();
|
||||
|
||||
|
||||
if (PUB.Result.ItemDataC.VisionData == null) return;
|
||||
@@ -1752,6 +1809,18 @@ namespace Project
|
||||
{
|
||||
using (var f = new Dialog.RegExRule())
|
||||
f.ShowDialog();
|
||||
|
||||
if (PUB.sm.Step != eSMStep.IDLE)
|
||||
{
|
||||
lock (PUB.Result.BCDPatternLock)
|
||||
{
|
||||
var modelName = PUB.Result.vModel.Title;
|
||||
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
|
||||
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
|
||||
PUB.log.Add($"Model pattern loading: {PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1778,7 +1847,11 @@ namespace Project
|
||||
{
|
||||
var ok = PUB.SelectModelV(f.Value);
|
||||
var motionmode = VAR.BOOL[eVarBool.Use_Conveyor] ? "Conveyor" : "Default";
|
||||
PUB.SelectModelM(motionmode);
|
||||
var changeMot = PUB.SelectModelM(motionmode);
|
||||
if (changeMot == false)
|
||||
{
|
||||
PUB.log.AddE($"No Motion model (Conveyor)");
|
||||
}
|
||||
UpdateControl();
|
||||
}
|
||||
}
|
||||
@@ -1978,13 +2051,6 @@ namespace Project
|
||||
f.ShowDialog();
|
||||
}
|
||||
|
||||
private void sWPLCToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new Dialog.fswPLC();
|
||||
f.Show();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void apiCheckToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -2022,8 +2088,6 @@ namespace Project
|
||||
private void OpenProgramToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var fn = AR.SETTING.Data.Sidinfofilename;
|
||||
if (fn.isEmpty()) fn = UTIL.MakePath("sidinfo", "update.exe");
|
||||
|
||||
var fi = new System.IO.FileInfo(fn);
|
||||
if (fi.Exists == false)
|
||||
{
|
||||
@@ -2168,5 +2232,36 @@ namespace Project
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void toolStripMenuItem27_Click(object sender, EventArgs e)
|
||||
{
|
||||
var bt = sender as ToolStripMenuItem;
|
||||
var txt = bt.Text;
|
||||
if (int.TryParse(txt, out int memno) == false)
|
||||
{
|
||||
UTIL.MsgE($"Keyence MemoryNo Error : {txt}");
|
||||
return;
|
||||
}
|
||||
PUB.log.Add($"Keyence Send BLOAD({memno})");
|
||||
if (PUB.keyenceF != null) PUB.keyenceF.BLoad(memno);
|
||||
if (PUB.keyenceR != null) PUB.keyenceR.BLoad(memno);
|
||||
}
|
||||
|
||||
private void btAutoReelOut_Click(object sender, EventArgs e)
|
||||
{
|
||||
PUB.Result.AutoReelOut = !PUB.Result.AutoReelOut;
|
||||
}
|
||||
|
||||
private void tbBarcodeR_Click(object sender, EventArgs e)
|
||||
{
|
||||
var lb = sender as arCtl.arLabel;
|
||||
if (lb == null) return;
|
||||
var txt = lb.Text.Trim();
|
||||
if(txt.isEmpty()==false)
|
||||
{
|
||||
Clipboard.SetText(txt);
|
||||
PUB.log.AddI($"Clipboard copy : {txt}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -427,6 +427,21 @@ If pressed while motion is moving, motion will also stop.
|
||||
h1xzduEFXhy81ZRuDPA7ugkK3oHbfIm6fIFtvAIXbBRWcnfQz19N9N7I95zrGxjDwDZ1+7I6LhZT05da
|
||||
NDXXhWR/bzZfVgFt6m44NdcNDfowC4O5jCM8m82Pq4FNCFXLNZjLkB2dCzdvp1zhP4rz2TwnOzppIRb2
|
||||
ZnMjXgObEn35EnogO96gQK0kbrfHdjQmchlcuRnNhfx/RCJ/AHn/AbVQ1jdKAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btAutoReelOut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btLightRoom.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -458,16 +473,16 @@ If pressed while motion is moving, motion will also stop.
|
||||
<data name="btManualPrint.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIVSURBVGhD7ZPNShtRGIanN1DvIZDu0ngH2l1/KMSd7ioI
|
||||
FaHSQiiDLUQSxJ9S1IW1Y8HMmMKY0RKN2Buo3oCibnThD+nWbrPIMQffMJOZ70AhM8kHzgPPbr7zPiLR
|
||||
YmJiHhBDfxuvMrX6TaYmRBS+rtWvM7XGC8yFz/0APR6e9SvMhQ89GL6YCx9qLAoxFz7UWBRiLiSyJ4fa
|
||||
xzMhpcaisLWnZU//oKIDWo/14g+QdoznMWosCr2bqOgAz2PUWBR6N1HRAZ7HqLEo9G6i4v+Z1PMvx/X8
|
||||
9Ts9Lzh531R4jkw1HONbTuj5S2SqoQ45iUw11BEnkamGOuIkMtVQR5xEphrqiJPIVOM/GH7zVqSepkUy
|
||||
meyqcnNkdLytRYpMNf6DXsS3TKX721qkyFTjP6Ae7qb+HmSq8R9Qj3ZTfw8y1YxN6sJrIpHoqf4eZAax
|
||||
7P0nZrl62FRYzh5L0XYgW5HtIuP9B4w9QLbLmvPrH/EhU6u3yHYpOjvH9McMtatHyHYxN/c2yI85Wt61
|
||||
kO3S/A18ID/m6XtkuxTtyqBZ3m3+0vlrlasDyHYplX4/XjKsxrpdEZyVjYbj9CG7HcPavPjxc1uwtrR1
|
||||
jtwgK+v29reiLZi7hdwgi0bx05JhNv9NjP1uTiE3yPzyyrO55VXB2dnF1UHkBhFCPPo882Unl8s1pme/
|
||||
Ck7KpqnCQkU2IjcmJiYm5sGjaXd6XrcwjAKGHQAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIUSURBVGhD7ZPBShtRFIanL1DfIZDu1L5B7U4tQty1uxYK
|
||||
FUGxIDKokBIptinFSrGaCmamEcaMlmhEX0B9gUrbTbtoU9Jtu80ip7n4h5nMnAuFzCQHnA++3Zz7f1nE
|
||||
SEhIuEZM/m7ey9QbvzJ1ojicqDdqmXpzDHPRczXAj0dn4yfmoocfjF7MRQ83FoeYix5uLA4xFxHzny+M
|
||||
ha+k5MbisL1nzH85Q0UXtB/rxw9Qdo3vMW4sDv2bqOgC32PcWBz6N1HRBb7HuLE49G+i4v+ZNXPjU2au
|
||||
NmPmSJJXTSujyNQjMb7ttJn7gUw93KEkkamHO5IkMvVwR5JEph7uSJLI1MMdSRKZeoIH9x8+ocGhYUqn
|
||||
0z1VbT54NNXRokSmnuBBP+LbDg7f7mhRIlNP8IB7uJcGe5CpJ3jAPdpLgz3I1PN41iS/qVSqrwZ7kBnG
|
||||
dk5uWeXqRUuy3WORou1ctSLbQ8UHDwR7jmyP9+7Hv8yHQq3+QbZH0T285D8WqFP9hGwPa+/4A/uxRMtH
|
||||
NrI9Wv+Bp+zHMp1DtkfRqYxY5aPWP12+drl6B9kepdLpzfzb7eaOUyHJqsaC6w4gu5OCvfd9e/eARFva
|
||||
/4bcMBs7zsG7okPC3UdumLVCcelNwSLRblmLyA3zcn3j7ov1TZLs6trmCHLDENGN5eevDrPZbPPZ6muS
|
||||
pGpaXMlXVCNyExISEhKuPYbxDwvXtwz5x5voAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btJobCancle.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -556,7 +571,7 @@ If pressed while motion is moving, motion will also stop.
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0
|
||||
dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABlTeXN0ZW0uRHJh
|
||||
d2luZy5SZWN0YW5nbGVGBAAAAAF4AXkFd2lkdGgGaGVpZ2h0AAAAAAsLCwsCAAAAAABkQgCAgkMAAMxC
|
||||
d2luZy5SZWN0YW5nbGVGBAAAAAF4AXkFd2lkdGgGaGVpZ2h0AAAAAAsLCwsCAAAAAACWQgAAd0MAAAlD
|
||||
AADIQgs=
|
||||
</value>
|
||||
</data>
|
||||
@@ -564,7 +579,7 @@ If pressed while motion is moving, motion will also stop.
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0
|
||||
dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABlTeXN0ZW0uRHJh
|
||||
d2luZy5SZWN0YW5nbGVGBAAAAAF4AXkFd2lkdGgGaGVpZ2h0AAAAAAsLCwsCAAAAAAByQwCAgkMAAMxC
|
||||
d2luZy5SZWN0YW5nbGVGBAAAAAF4AXkFd2lkdGgGaGVpZ2h0AAAAAAsLCwsCAAAAAACiQwAAd0MAAAlD
|
||||
AADIQgs=
|
||||
</value>
|
||||
</data>
|
||||
@@ -572,7 +587,7 @@ If pressed while motion is moving, motion will also stop.
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0
|
||||
dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABlTeXN0ZW0uRHJh
|
||||
d2luZy5SZWN0YW5nbGVGBAAAAAF4AXkFd2lkdGgGaGVpZ2h0AAAAAAsLCwsCAAAAAIDVQwCAgkMAAMxC
|
||||
d2luZy5SZWN0YW5nbGVGBAAAAAF4AXkFd2lkdGgGaGVpZ2h0AAAAAAsLCwsCAAAAAEAPRAAAd0MAAAlD
|
||||
AADIQgs=
|
||||
</value>
|
||||
</data>
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
# ATV Reel Label Attach, Modify & Transfer System
|
||||
|
||||
Data Source=10.201.11.21,50150;Initial Catalog=WMS;Persist Security Info=True;User ID=wmsadm;Password=78#4AmWnh1!!;Encrypt=False;TrustServerCertificate=True
|
||||
Data Source=V1SPCSQL,51122;Initial Catalog=WMS;Persist Security Info=True;User ID=wmsadm;Password="2!x2$yY8R;}$";Encrypt=False;TrustServerCertificate=True
|
||||
|
||||
## 개요
|
||||
|
||||
ATV(Automatic Test Vehicle) 릴 라벨 부착, 수정 및 전송을 위한 산업 자동화 시스템입니다. 이 시스템은 Windows Forms를 사용하여 C# (.NET Framework 4.8)로 구축되었으며, 모션 컨트롤러, 바코드 리더, 프린터, PLC 등 다양한 하드웨어 구성 요소와 통합됩니다.
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="Enum.cs" />
|
||||
<Compile Include="Enum_IO.cs" />
|
||||
<Compile Include="Enum_Mot.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="RS232.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -82,10 +82,27 @@ namespace AR
|
||||
Option_AutoConf,
|
||||
Opt_SIDConvert,
|
||||
Opt_ApplySIDConv,
|
||||
Opt_ApplyWMSInfo,
|
||||
Opt_ApplySIDInfo,
|
||||
Opt_ApplyJobInfo,
|
||||
Opt_CheckSIDExist,
|
||||
|
||||
|
||||
|
||||
Opt_WMS_Apply_PartNo,
|
||||
Opt_WMS_Apply_CustCode,
|
||||
Opt_WMS_Apply_SID,
|
||||
Opt_WMS_Apply_VenderName,
|
||||
Opt_WMS_Apply_batch,
|
||||
Opt_WMS_Apply_qty,
|
||||
Opt_WMS_Where_PartNo,
|
||||
Opt_WMS_Where_CustCode,
|
||||
Opt_WMS_Where_SID,
|
||||
Opt_WMS_Where_VLOT,
|
||||
Opt_WMS_Where_MC,
|
||||
Opt_WMS_WriteServer,
|
||||
|
||||
|
||||
Opt_SID_Apply_PartNo,
|
||||
Opt_SID_Apply_CustCode,
|
||||
Opt_SID_Apply_SID,
|
||||
@@ -293,6 +310,9 @@ namespace AR
|
||||
FG_MINSPACE,
|
||||
FG_DEBUG,
|
||||
|
||||
FG_AUTOOUTCONVL,
|
||||
FG_AUTOOUTCONVR,
|
||||
|
||||
VS_DETECT_REEL_L,
|
||||
VS_DETECT_REEL_R,
|
||||
VS_DETECT_CONV_L,
|
||||
@@ -397,7 +417,6 @@ namespace AR
|
||||
CONVR_RUNTIME,
|
||||
}
|
||||
|
||||
|
||||
public enum eECode : byte
|
||||
{
|
||||
|
||||
@@ -405,13 +424,8 @@ namespace AR
|
||||
EMERGENCY = 1,
|
||||
NOMODELV = 2,//작업모델
|
||||
NOMODELM = 3,//모션모델
|
||||
//DOORSAFTY = 6,
|
||||
//AREASAFTY = 7,
|
||||
//VIS_LICENSE = 8,
|
||||
HOME_TIMEOUT = 9,
|
||||
//AIRNOOUT = 10,
|
||||
NOFUNCTION = 11,
|
||||
//AIRNOTDETECT = 12,
|
||||
|
||||
DOOFF = 27,//출력 off
|
||||
DOON = 28,//출력 on
|
||||
@@ -421,16 +435,9 @@ namespace AR
|
||||
MESSAGE_INFO = 32,
|
||||
MESSAGE_ERROR = 33,
|
||||
|
||||
//VISION_NOTREADY = 34,
|
||||
//VISION_NOCONN = 35,
|
||||
//VISION_TRIGERROR = 36,
|
||||
//VISION_COMMERROR = 37,
|
||||
//VISION_NORECV = 38,
|
||||
|
||||
AZJINIT = 39, //DIO 혹은 모션카드 초기화 X
|
||||
//MOT_HSET = 41,
|
||||
MOT_SVOFF = 42,
|
||||
//MOT_HSEARCH = 43,
|
||||
|
||||
MOT_CMD = 71,
|
||||
USER_STOP = 72,
|
||||
|
||||
@@ -34,11 +34,11 @@ namespace AR
|
||||
R_PICK_BW = 0x20, R_PICK_FW, R_PICK_VAC,
|
||||
L_PICK_BW = 0x24, L_PICK_FW, L_PICK_VAC,
|
||||
|
||||
L_CONV1 = 0x30, L_CONV3 = 0x32, L_CONV4 = 0x33,
|
||||
R_CONV1 = 0x34, R_CONV3 = 0x36, R_CONV4 = 0x37,
|
||||
L_CONV1 = 0x30, L_CONV4 = 0x33,
|
||||
R_CONV1 = 0x34, R_CONV4 = 0x37,
|
||||
|
||||
R_CYLUP = 0x38, R_CYLDN,
|
||||
L_CYLUP = 0x3A, L_CYLDN,
|
||||
L_CYLDN = 0x3A, L_CYLUP,
|
||||
|
||||
L_EXT_READY = 0x3E,
|
||||
R_EXT_READY = 0x3F,
|
||||
@@ -65,9 +65,9 @@ namespace AR
|
||||
|
||||
TWR_GRNF = 0x0D, TWR_YELF, TWR_REDF,
|
||||
|
||||
PORTL_MOT_RUN = 0x1A, PORTL_MOT_DIR, CART_MAG0,
|
||||
PORTC_MOT_RUN = 0x10, PORTC_MOT_DIR, CART_MAG1,
|
||||
PORTR_MOT_RUN = 0x14, PORTR_MOT_DIR, CART_MAG2,
|
||||
PORTL_MOT_RUN = 0x1A, PORTL_MOT_DIR, PORTL_MAGNET,
|
||||
PORTC_MOT_RUN = 0x10, PORTC_MOT_DIR, PORTC_MAGNET,
|
||||
PORTR_MOT_RUN = 0x14, PORTR_MOT_DIR, PORTR_MAGNET,
|
||||
|
||||
PRINTL_VACO = 0x1E, PRINTL_VACI,
|
||||
PRINTR_VACO = 0x18, PRINTR_VACI,
|
||||
@@ -75,11 +75,8 @@ namespace AR
|
||||
PICK_VAC1 = 0x23, PICK_VAC2, PICK_VAC3, PICK_VAC4,
|
||||
|
||||
SVR_PWR_0 = 0x28, SVR_PWR_1, SVR_PWR_2, SVR_PWR_3, SVR_PWR_4, SVR_PWR_5, SVR_PWR_6,
|
||||
R_CYLDN = 0x38, L_CYLDN = 0x39,
|
||||
PRINTL_FWD = 0x38, R_CYLDN = 0x39,
|
||||
LEFT_CONV = 0x3A, RIGHT_CONV = 0x3B,
|
||||
PRINTL_FWD = 0x3D,
|
||||
PRINTR_FWD = 0x3C,
|
||||
|
||||
//SVR_EMG_0 = 0x30, SVR_EMG_1, SVR_EMG_2, SVR_EMG_3, SVR_EMG_4, SVR_EMG_5, SVR_EMG_6,
|
||||
PRINTR_FWD = 0x3C, L_CYLDN = 0x3D,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Project
|
||||
namespace AR
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -30,6 +30,6 @@ namespace Project
|
||||
PrinterL_UpDn,
|
||||
PrinterR_Move,
|
||||
PrinterR_UpDn,
|
||||
Spare_00,
|
||||
Theta,
|
||||
}
|
||||
}
|
||||
@@ -16,28 +16,26 @@ namespace AR
|
||||
{
|
||||
this.filename = UTIL.MakePath("Data", "Setting.xml");
|
||||
}
|
||||
public string WebAPI_R1 { get; set; }
|
||||
public string WebAPI_R2 { get; set; }
|
||||
public string WebAPI_R3 { get; set; }
|
||||
|
||||
|
||||
#region "log"
|
||||
|
||||
[Category("System Log - Main")]
|
||||
public Boolean Log_CameraConn { get; set; }
|
||||
[Category("System Log - Main"), DisplayName("Digital Input"),
|
||||
Description("입/출력 장치의 상태 변화를 기록 합니다.")]
|
||||
Description("Records status changes of input/output devices.")]
|
||||
public Boolean Log_DI { get; set; }
|
||||
[Category("System Log - Main"), DisplayName("Digital Output"),
|
||||
Description("입/출력 장치의 상태 변화를 기록 합니다.")]
|
||||
Description("Records status changes of input/output devices.")]
|
||||
public Boolean Log_DO { get; set; }
|
||||
[Category("System Log - Main"), DisplayName("Network Alive Check(Ping)"),
|
||||
Description("디버그 메세지 사용")]
|
||||
Description("Use debug messages")]
|
||||
public Boolean Log_Debug { get; set; }
|
||||
[Category("System Log - Main"), DisplayName("S/M Step Change"),
|
||||
Description("상태머신의 변화 상태를 기록 합니다.")]
|
||||
Description("Records state machine transition status.")]
|
||||
public Boolean Log_StepChange { get; set; }
|
||||
[Category("System Log - Main"), DisplayName("Motion State Change"),
|
||||
Description("모션 상태 변화를 기록 합니다.")]
|
||||
Description("Records motion state changes.")]
|
||||
public Boolean Log_motState { get; set; }
|
||||
[Category("System Log - Main")]
|
||||
public Boolean Log_flag { get; set; }
|
||||
@@ -57,32 +55,23 @@ namespace AR
|
||||
|
||||
|
||||
|
||||
[Category("Communication"), DisplayName("키엔스바코드IP(LEFT)"), Description("키엔스 바코드 프로그램의 접속 IP Address")]
|
||||
[Category("Communication"), DisplayName("Keynece IP(Front)"), Description("Keyence Barcode IP Address")]
|
||||
public string Keyence_IPF { get; set; }
|
||||
[Category("Communication"), DisplayName("키엔스바코드IP(RIGHT)"), Description("키엔스 바코드 프로그램의 접속 IP Address")]
|
||||
[Category("Communication"), DisplayName("Keyence IP(Rear)"), Description("Keyence Barcode IP Address")]
|
||||
public string Keyence_IPR { get; set; }
|
||||
|
||||
[Category("Communication"), DisplayName("키엔스통신포트"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Communication"), DisplayName("Keyence Port"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Keyence_Port { get; set; }
|
||||
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Communication"), DisplayName("Left Printer (Port)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string PrintL_Port { get; set; }
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Communication"), DisplayName("Left Printer (Baud)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int PrintL_Baud { get; set; }
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Communication"), DisplayName("Right Printer (Port)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string PrintR_Port { get; set; }
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Communication"), DisplayName("Right Printer (Baud)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int PrintR_Baud { get; set; }
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public bool PrintL_RS232 { get; set; }
|
||||
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public bool PrintR_RS232 { get; set; }
|
||||
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string PrintL_AddSend { get; set; }
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string PrintR_AddSend { get; set; }
|
||||
|
||||
|
||||
[Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
@@ -98,27 +87,29 @@ namespace AR
|
||||
[Category("Timeout Setting"), DisplayName(), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_AutoConfirm { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("작업 완료 대기시간(단위:초)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Timeout Setting"), DisplayName("Job completion wait time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_JOBEnd { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("최대비젼분석시간(로더)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Timeout Setting"), DisplayName("Max vision analysis time (Loader)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_VisionProcessL { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("최대비젼분석시간(언로더)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Timeout Setting"), DisplayName("Max vision analysis time (Unloader)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_VisionProcessU { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("장비 초기화 대기시간(단위:초)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Timeout Setting"), DisplayName("Equipment initialization wait time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_HomeSearch { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("개별 동작의 대기시간(단위:초)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Timeout Setting"), DisplayName("Individual operation wait time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public double Timeout_StepMaxTime { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("모션의 최대 동작시간(단위:초)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Timeout Setting"), DisplayName("Max motion operation time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_MotionCommand { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("DIO의 최대 동작시간(단위:초)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Timeout Setting"), DisplayName("Max DIO operation time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_DIOCommand { get; set; }
|
||||
|
||||
[Category("Timeout Setting"), DisplayName("Auto Conveyor output time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Timeout_AutoOutConvSignal { get; set; }
|
||||
|
||||
|
||||
#endregion
|
||||
@@ -135,7 +126,7 @@ namespace AR
|
||||
#region "Advanced Parameter"
|
||||
|
||||
|
||||
[Category("Advanced Parameter"), DisplayName("Remote Contoller Port"), Description("디버그 포트 정보(시리얼통신), 입력 예) COM1:9600"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Advanced Parameter"), DisplayName("Remote Controller Port"), Description("Debug port info (serial communication), Input example) COM1:9600"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string Serial_Remocon { get; set; }
|
||||
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
@@ -198,38 +189,26 @@ namespace AR
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public bool Disable_vacum { get; set; }
|
||||
|
||||
[Category("Advanced Parameter"), DisplayName("*.속도제한")]
|
||||
[Category("Advanced Parameter"), DisplayName("*.Speed Limit")]
|
||||
public Boolean Enable_SpeedLimit { get; set; }
|
||||
[Category("Advanced Parameter"), DisplayName("*.최대속도"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Advanced Parameter"), DisplayName("*.Max Speed"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int LimitSpeed { get; set; }
|
||||
|
||||
[Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_SidQtyCheck { get; set; }
|
||||
|
||||
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_Axis0 { get; set; }
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_Axis1 { get; set; }
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_Axis2 { get; set; }
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_Axis3 { get; set; }
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_Axis4 { get; set; }
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_Axis5 { get; set; }
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Disable_Axis6 { get; set; }
|
||||
|
||||
[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean EnableDebugMode { get; set; }
|
||||
|
||||
//[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
//public int AutoConveyorReelOut { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region "function"
|
||||
[Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Force_JobEndBuzzer { get; set; }
|
||||
|
||||
|
||||
|
||||
[Browsable(false)]
|
||||
public Boolean Disable_Buzzer { get; set; }
|
||||
@@ -252,36 +231,36 @@ namespace AR
|
||||
return di.FullName;
|
||||
}
|
||||
|
||||
[Category("Function"), DisplayName("라벨QR코드검증"), Description("부착된 라벨의 QR코드를 인쇄데이터와 검증 합니다"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Function"), DisplayName("Label QR Code Verification"), Description("Verifies QR code of attached label with print data"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Enable_Unloader_QRValidation { get; set; }
|
||||
|
||||
[Category("Function"), DisplayName("촬영이미지저장"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Function"), DisplayName("Save Captured Images"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Save_Image { get; set; }
|
||||
|
||||
[Category("Function"), DisplayName("피커자동이동(전면도어)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Function"), DisplayName("Picker Auto Move (Front Door)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean PickerAutoMoveForDoor { get; set; }
|
||||
|
||||
[Category("Function"), DisplayName("Data Save Path"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string Path_Data { get; set; }
|
||||
|
||||
[Category("Function"), Browsable(false), DisplayName("실내등 자동 제어"),
|
||||
Description("도어 상태에 따라서 내부 조명을 자동 ON/OFF 합니다"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Function"), Browsable(false), DisplayName("Room Light Auto Control"),
|
||||
Description("Automatically turns room light ON/OFF according to door status"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean Enable_AutoLight { get; set; }
|
||||
|
||||
//[Category("Function"), DisplayName("AIR OFF Timer(ms)"),
|
||||
//Description("공압 OFF시 유지 시간(ms), 지정 시간 동안 스위치를 ON 시켜야 공압이 OFF 됩니다.")]
|
||||
//public int AirOFFTimer { get; set; }
|
||||
|
||||
[Category("Function"), DisplayName("부저 동작시간(ms)"),
|
||||
Description("부저 발생시 지정된 시간(ms) 동안 부저가 울립니다"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Function"), DisplayName("Buzzer Duration (ms)"),
|
||||
Description("Buzzer sounds for specified duration (ms) when triggered"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int buzz_run_ms { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region "Vision"
|
||||
[Category("Vision"), DisplayName("13' 이미지 중앙 위치"), Description("키엔스 이미지의 회전축 좌표")]
|
||||
[Category("Vision"), DisplayName("13' Image Center Position"), Description("Keyence image rotation axis coordinates")]
|
||||
public System.Drawing.Point CenterPosition13 { get; set; }
|
||||
[Category("Vision"), DisplayName("7' 이미지 중앙 위치"), Description("키엔트 이미지의 회전축 좌표")]
|
||||
[Category("Vision"), DisplayName("7' Image Center Position"), Description("Keyence image rotation axis coordinates")]
|
||||
public System.Drawing.Point CenterPosition7 { get; set; }
|
||||
|
||||
[Category("Vision"), DisplayName("Disable Left Camera"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
@@ -308,66 +287,66 @@ namespace AR
|
||||
#region "Count Reset Setting"
|
||||
|
||||
[Category("Count Reset Setting"), Browsable(false), DisplayName("A/M Clear Enable"),
|
||||
Description("오전 초기화 여부\n작업수량을 초기화 하려면 True 로 설정하세요"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
Description("AM reset enabled\nSet to True to reset work count"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean datetime_Check_1 { get; set; }
|
||||
[Category("Count Reset Setting"), Browsable(false), DisplayName("P/M Clear Enable"),
|
||||
Description("오후 초기화 여부\n작업수량을 초기화 하려면 True 로 설정하세요"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
Description("PM reset enabled\nSet to True to reset work count"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean datetime_Check_2 { get; set; }
|
||||
[Category("Count Reset Setting"), Browsable(false), DisplayName("A/M Clear Time(HH:mm)"),
|
||||
Description("오전 초기화 시간(시:분)\n예) 09:00"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
Description("AM reset time(HH:mm)\nExample) 09:00"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string datetime_Reset_1 { get; set; }
|
||||
[Category("Count Reset Setting"), Browsable(false), DisplayName("P/M Clear Time(HH:mm)"),
|
||||
Description("오후 초기화 시간(시:분)\n예) 19:00"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
Description("PM reset time(HH:mm)\nExample) 19:00"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string datetime_Reset_2 { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region "Sensitive"
|
||||
[Category("Sensitive"), DisplayName("언/로더포트 감지(fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Sensitive"), DisplayName("Un/Loader Port Detect (fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort PortDetectFall { get; set; }
|
||||
[Category("Sensitive"), DisplayName("언/로더포트 감지(rise)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Sensitive"), DisplayName("Un/Loader Port Detect (rise)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort PortDetectRise { get; set; }
|
||||
[Category("Sensitive"), DisplayName("도어 감지센서(rise)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Sensitive"), DisplayName("Door Detection Sensor (rise)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort SaftyDetectRise { get; set; }
|
||||
[Category("Sensitive"), DisplayName("도어 감지센서(rise)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Sensitive"), DisplayName("Door Detection Sensor (fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort SaftyDetectFall { get; set; }
|
||||
[Category("Sensitive"), DisplayName("AIR 버튼(rise/fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Sensitive"), DisplayName("AIR Button (rise/fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort AirChange { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region "Operation Delay"
|
||||
[Category("Operation Delay(ms)"), DisplayName("라벨 붙인 후 대기 시간"), Description("라벨 부착 후 PURGE 대기 시간"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(ms)"), DisplayName("Wait time after label attach"), Description("PURGE wait time after label attachment"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int PrintVacOffPurgeMS { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("카트감지대기시간(좌)"), Description("지정된 시간 이후에 카트가 HOLD 됩니다- ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Cart detect wait time (Left)"), Description("Cart will be HELD after specified time - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort WaitTime_Magnet0 { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("카트감지대기시간(중앙)"), Description("지정된 시간 이후에 카트가 HOLD 됩니다- ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Cart detect wait time (Center)"), Description("Cart will be HELD after specified time - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort WaitTime_Magnet1 { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("카트감지대기시간(우)"), Description("지정된 시간 이후에 카트가 HOLD 됩니다 - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Cart detect wait time (Right)"), Description("Cart will be HELD after specified time - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort WaitTime_Magnet2 { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("프린트후대기시간(좌s)"), Description("프린터 라벨 출력 후 대기 시간(좌)- ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Print wait time (Left)"), Description("Wait time after printer label output (Left) - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int PrintLWaitMS { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("프린트후대기시간(우)"), Description("프린터 라벨 출력 후 대기 시간(우)- ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Print wait time (Right)"), Description("Wait time after printer label output (Right) - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int PrintRWaitMS { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("포트 하강 시간(Unloader)"), Description("포트 정렬시 지정된 시간동안 하강 합니다"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Port Down Time (Unloader)"), Description("Port descends for specified time during alignment"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public float PortAlignDownTimeU { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("포트 하강 시간(Loader)"), Description("포트 정렬시 지정된 시간동안 하강 합니다"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Port Down Time (Loader)"), Description("Port descends for specified time during alignment"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public float PortAlignDownTimeL { get; set; }
|
||||
[Category("Operation Delay(sec)"), DisplayName("Loder포트 하강 시간(Finish)"), Description("작업 완료 후 지정된 시간(ms) 만큼 하강 합니다"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Operation Delay(sec)"), DisplayName("Loader Port Down Time (Finish)"), Description("Descends for specified time (ms) after job completion"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public ushort Port1FisnishDownTime { get; set; }
|
||||
#endregion
|
||||
|
||||
#region "GENERAL
|
||||
[Category("General Setting"), DisplayName("내부조명자동OFF시간(분)")]
|
||||
[Category("General Setting"), DisplayName("Room Light Auto OFF Time (min)")]
|
||||
public int AutoOffRoomLightMin { get; set; }
|
||||
|
||||
[Category("General Setting"), DisplayName("장비 자산 번호"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("General Setting"), DisplayName("Equipment Asset Number"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string Asset { get; set; }
|
||||
|
||||
[Category("General Setting"), DisplayName("장비식별이름"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("General Setting"), DisplayName("Equipment Name"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string McName { get; set; }
|
||||
|
||||
[Category("General Setting"), DisplayName("무시바코드"), Description("입려된 값으로 시작하는 바코드를 무시합니다. 여러개 입력하려면 콤마(,) 로 구분 하세요"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("General Setting"), DisplayName("Ignore Barcode"), Description("Ignores barcodes starting with entered value. Separate multiple entries with comma (,)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string IgnoreBarcode { get; set; }
|
||||
|
||||
[Category("General Setting"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
@@ -390,19 +369,15 @@ namespace AR
|
||||
|
||||
//public Boolean STDLabelFormat7 { get; set; }
|
||||
#region "Printer"
|
||||
[Category("Printer"), DisplayName("바코드 외곽 박스 그리기"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("Printer"), DisplayName("Draw Barcode Outer Box"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean DrawOutbox { get; set; }
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
[Category("Joystick"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Jostick_vid { get; set; }
|
||||
[Category("Joystick"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int Jostick_pid { get; set; }
|
||||
|
||||
[DisplayName("바코드위치별회전(뒤)")]
|
||||
[DisplayName("Barcode Position Rotation (Rear)")]
|
||||
public float RearBarcodeRotate { get; set; }
|
||||
[DisplayName("바코드위치별회전(앞)")]
|
||||
[DisplayName("Barcode Position Rotation (Front)")]
|
||||
public float FrontBarcodeRotate { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
@@ -413,14 +388,14 @@ namespace AR
|
||||
|
||||
[Category("General Setting"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string Sidinfofilename { get; set; }
|
||||
[Category("General Setting"), DisplayName("버그리포트수신자"), Description("버그리포트 수신자 목록, 다중 목록의 각 대상은 세미콜론으로 구분 합니다"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
[Category("General Setting"), DisplayName("Bug Report Recipients"), Description("Bug report recipient list. Separate multiple recipients with semicolon"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public string BugreportToList { get; set; }
|
||||
|
||||
[Category("General Setting"), Browsable(false),
|
||||
Description("데이터 자동 소거 기간(일) 비활성=0"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
Description("Data auto-delete period (days) disabled=0"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int AutoDeleteDay { get; set; }
|
||||
[Category("General Setting"), Browsable(false),
|
||||
Description("데이터 자동 소거 조건(남은용량 %)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
Description("Data auto-delete condition (remaining capacity %)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public int AutoDeleteThreshold { get; set; }
|
||||
|
||||
[Category("General Setting"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
@@ -430,7 +405,7 @@ namespace AR
|
||||
public string Language { get; set; }
|
||||
|
||||
[Category("General Setting"), DisplayName("Full Screen Window State"),
|
||||
Description("화면을 전체화면으로 사용 합니다."), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
Description("Use full screen mode."), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||
public Boolean FullScreen { get; set; }
|
||||
|
||||
|
||||
@@ -453,15 +428,15 @@ namespace AR
|
||||
|
||||
#region "Report"
|
||||
[Category("Report"),
|
||||
Description("상태기록시 장비 식별코드(4자리)"),
|
||||
Description("Equipment identification code for status recording (4 digits)"),
|
||||
DisplayName("M/C ID")]
|
||||
public string MCID { get; set; }
|
||||
|
||||
[Category("Report"),
|
||||
Description("작업 기록을 장비기술(EE) Database 에 기록 합니다. 원격으로 장비 현황을 모니터링 할 수 있습니다"),
|
||||
Description("Saves work records to Equipment Engineering (EE) Database. Allows remote monitoring of equipment status"),
|
||||
DisplayName("SAVE EE-DB")]
|
||||
public Boolean Save_EEDatabase { get; set; }
|
||||
[Category("Report"), Description("상태값을 전송하는 간격(초)")]
|
||||
[Category("Report"), Description("Status transmission interval (sec)")]
|
||||
public int StatusInterval { get; set; }
|
||||
#endregion
|
||||
|
||||
@@ -475,23 +450,17 @@ namespace AR
|
||||
|
||||
public override void AfterLoad()
|
||||
{
|
||||
if (Timeout_AutoOutConvSignal < 1) Timeout_AutoOutConvSignal = 5;
|
||||
if (WMS_CENTER_CD.isEmpty()) WMS_CENTER_CD = "V1";
|
||||
if (WMS_PROGRAM_ID.isEmpty()) WMS_PROGRAM_ID = "LABEL ATTACH";
|
||||
if (WMS_REG_USERID.isEmpty()) WMS_REG_USERID = "ATVLA1";
|
||||
|
||||
if (WebAPI_R1.isEmpty()) WebAPI_R1 = "http://10.131.32.31:9001";
|
||||
if (WebAPI_R2.isEmpty()) WebAPI_R2 = "http://10.131.32.24:9001";
|
||||
if (WebAPI_R3.isEmpty()) WebAPI_R3 = "http://10.131.32.22:9001";
|
||||
|
||||
if (swplc_size < 1) swplc_size = 100;
|
||||
if (swplc_name.isEmpty()) swplc_name = "swplc";
|
||||
|
||||
|
||||
if (StatusInterval < 10) StatusInterval = 300; //5분간격
|
||||
|
||||
var currentpath = AppDomain.CurrentDomain.BaseDirectory;
|
||||
if (AutoOffRoomLightMin == 0) AutoOffRoomLightMin = 5;
|
||||
|
||||
|
||||
if (RetryPickOnAngle == 0) RetryPickOnAngle = 79;
|
||||
|
||||
if (Barcode_Baud == 0) Barcode_Baud = 9600;
|
||||
@@ -530,9 +499,6 @@ namespace AR
|
||||
PortAlignDownTimeU = 1.0f;
|
||||
}
|
||||
|
||||
if (Jostick_vid == 0) Jostick_vid = 121;
|
||||
if (Jostick_pid == 0) Jostick_pid = 17;
|
||||
|
||||
if (PrintLWaitMS == 0) PrintLWaitMS = 1500;
|
||||
if (PrintRWaitMS == 0) PrintRWaitMS = 1500;
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.ComponentModel;
|
||||
|
||||
namespace AR
|
||||
{
|
||||
public class CounterSetting : Setting
|
||||
public class CountSetting : Setting
|
||||
{
|
||||
public int seq { get; set; }
|
||||
public string DateStr { get; set; }
|
||||
@@ -62,7 +62,7 @@ namespace AR
|
||||
public int CountV2 { get; set; }
|
||||
|
||||
|
||||
public CounterSetting()
|
||||
public CountSetting()
|
||||
{
|
||||
this.filename = AR.UTIL.MakePath("Data", "counter.xml");
|
||||
}
|
||||
@@ -6,7 +6,7 @@ namespace AR
|
||||
public static class SETTING
|
||||
{
|
||||
public static SystemSetting System;
|
||||
public static CounterSetting Counter;
|
||||
public static CountSetting Counter;
|
||||
public static CommonSetting Data;
|
||||
public static UserSetting User;
|
||||
public static Boolean isInit { get; private set; } = false;
|
||||
@@ -18,7 +18,7 @@ namespace AR
|
||||
User.Load();
|
||||
if (System == null) System = new SystemSetting();
|
||||
System.Load();
|
||||
if (Counter == null) Counter = new CounterSetting();
|
||||
if (Counter == null) Counter = new CountSetting();
|
||||
Counter.Load();
|
||||
isInit = true;
|
||||
}
|
||||
|
||||
@@ -49,12 +49,12 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Common.cs" />
|
||||
<Compile Include="CounterSetting.cs" />
|
||||
<Compile Include="Model\Common.cs" />
|
||||
<Compile Include="Model\Count.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SETTING.cs" />
|
||||
<Compile Include="System_Setting.cs" />
|
||||
<Compile Include="UserSetting.cs" />
|
||||
<Compile Include="Model\System.cs" />
|
||||
<Compile Include="Model\User.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -73,6 +73,17 @@ namespace UIControl
|
||||
public bool CVRightReady = false;
|
||||
#endregion
|
||||
|
||||
RectangleF rect_vision = RectangleF.Empty;
|
||||
|
||||
public string arVision_RID { get; set; }
|
||||
public string arVision_SID { get; set; }
|
||||
|
||||
RectangleF rect_zlaxis = RectangleF.Empty;// new RectangleF((float)motZLPosX, (float)motZPosY, motZwPx, (float)motZhPx);
|
||||
|
||||
public Boolean arVisionProcessL { get; set; }
|
||||
public Boolean arVisionProcessC { get; set; }
|
||||
public Boolean arVisionProcessR { get; set; }
|
||||
|
||||
#region "Property"
|
||||
|
||||
public int arCountV0 { get; set; }
|
||||
@@ -919,13 +930,13 @@ namespace UIControl
|
||||
g.FillRectangle(new SolidBrush(Color.FromArgb(20, 20, 20)), crect);
|
||||
|
||||
if (arPickerSafeZone)
|
||||
g.DrawString("홈 검색이 가능합니다", new Font("맑은 고딕", 20, FontStyle.Bold), Brushes.Lime, crect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
g.DrawString("Home search is possible", new Font("Tahoma", 20, FontStyle.Bold), Brushes.Lime, crect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
else
|
||||
{
|
||||
if (MessageOn)
|
||||
g.DrawString("피커를 움직여 안전위치로 이동하세요", new Font("맑은 고딕", 12, FontStyle.Bold), Brushes.Red, crect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
g.DrawString("Move the picker to a safe position", new Font("Tahoma", 12, FontStyle.Bold), Brushes.Red, crect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
else
|
||||
g.DrawString("피커를 움직여 안전위치로 이동하세요", new Font("맑은 고딕", 12, FontStyle.Bold), Brushes.White, crect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
g.DrawString("Move the picker to a safe position", new Font("Tahoma", 12, FontStyle.Bold), Brushes.White, crect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
}
|
||||
|
||||
g.DrawRect(crect, Color.White, 5);
|
||||
@@ -1025,24 +1036,12 @@ namespace UIControl
|
||||
|
||||
void Scean_Normal(Graphics g)
|
||||
{
|
||||
|
||||
|
||||
//Draw_Icon(g);
|
||||
|
||||
//전체 영역 테두리
|
||||
g.DrawRectangle(new Pen(Color.White, 2), rect_main.Left, rect_main.Top, rect_main.Width, rect_main.Height);
|
||||
|
||||
//컨베어 그리기
|
||||
//Draw_Conveyor(g, rect_conveyor);
|
||||
|
||||
//셔틀표시
|
||||
//Draw_BallScrewRail(g, rect_frontShuttle, 50, 5, false, true, this.arMOT_Origin[(int)eAxis.X_F], arMOT_LimDn[(int)eAxis.X_F], arMOT_LimUp[(int)eAxis.X_F]);
|
||||
|
||||
//포트표시(셔틀위에 표시됨)
|
||||
Draw_Port(g); //front
|
||||
Draw_Vision(g);
|
||||
|
||||
|
||||
|
||||
|
||||
//프린터영역그리기 201228
|
||||
var printareahei = 50;
|
||||
@@ -1051,37 +1050,24 @@ namespace UIControl
|
||||
var rectpl = new RectangleF(arVar_Port[0].Rect.Right + printbordersize, arVar_Port[0].Rect.Top - 85, printareaw, printareahei);
|
||||
var fColorPrn = arFGPrinter0END ? Color.Lime : (arFGPrinter0RDY ? Color.Gold : Color.Gray);
|
||||
g.DrawRect(rectpl, fColorPrn, printbordersize);
|
||||
var prnstrbase = "";// "인쇄수량:" + arCountPrint0.ToString("000") + "\n";
|
||||
var prnstr = prnstrbase + (arFGPrinter0END ? "인쇄완료" : (arFGPrinter0RDY ? "인쇄중" : "인쇄대기"));
|
||||
var prnstrbase = "";// "Print Qty:" + arCountPrint0.ToString("000") + "\n";
|
||||
var prnstr = prnstrbase + (arFGPrinter0END ? "Print Complete" : (arFGPrinter0RDY ? "Printing" : "Print Ready"));
|
||||
prnstr += "\n" + arCountPrint0.ToString("0000");
|
||||
g.DrawString(prnstr, new Font("맑은 고딕", 10, FontStyle.Bold), new SolidBrush(fColorPrn), rectpl,
|
||||
g.DrawString(prnstr, new Font("Tahoma", 10, FontStyle.Bold), new SolidBrush(fColorPrn), rectpl,
|
||||
new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
//g.DrawString(string.Format("AIR:{0}\nVI:{1}\nVO:{2}", PrintLAIRO, PrintLVACI, PrintLVACO), new Font("Consolas", 11, FontStyle.Bold),
|
||||
// Brushes.Tomato, rectpl.Left, rectpl.Top);
|
||||
|
||||
|
||||
|
||||
rectpl = new RectangleF(arVar_Port[2].Rect.Left - 90 - printbordersize, arVar_Port[2].Rect.Top - 85, printareaw, printareahei);
|
||||
fColorPrn = arFGPrinter1END ? Color.Lime : (arFGPrinter1RDY ? Color.Gold : Color.Gray);
|
||||
g.DrawRect(rectpl, fColorPrn, printbordersize);
|
||||
prnstrbase = "";// "인쇄수량:" + arCountPrint1.ToString("000") + "\n";
|
||||
prnstr = prnstrbase + (arFGPrinter1END ? "인쇄완료" : (arFGPrinter1RDY ? "인쇄중" : "인쇄대기"));
|
||||
prnstrbase = "";// "Print Qty:" + arCountPrint1.ToString("000") + "\n";
|
||||
prnstr = prnstrbase + (arFGPrinter1END ? "Print Complete" : (arFGPrinter1RDY ? "Printing" : "Print Ready"));
|
||||
prnstr += "\n" + arCountPrint1.ToString("0000");
|
||||
g.DrawString(prnstr, new Font("맑은 고딕", 10, FontStyle.Bold), new SolidBrush(fColorPrn), rectpl,
|
||||
g.DrawString(prnstr, new Font("Tahoma", 10, FontStyle.Bold), new SolidBrush(fColorPrn), rectpl,
|
||||
new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
//g.DrawString(string.Format("AIR:{0}\nVI:{1}\nVO:{2}", PrintRAIRO, PrintRVACI, PrintRVACO), new Font("Consolas", 11, FontStyle.Bold),
|
||||
// Brushes.Tomato, rectpl.Left, rectpl.Top);
|
||||
|
||||
|
||||
//Y축 레일표시
|
||||
//Draw_BallScrewRail(g, rect_picker, 50, 5, true, LockYP, this.arMOT_Origin[(int)eAxis.Y_P], arMOT_LimDn[(int)eAxis.Y_P], arMOT_LimUp[(int)eAxis.Y_P]);
|
||||
|
||||
|
||||
|
||||
|
||||
//모터 Y/Z축
|
||||
Draw_PickerY(g, rect_picker);
|
||||
|
||||
|
||||
//왼쪽 프린터
|
||||
Draw_PickerPrinter(g, rect_printl, 2, 3, false, arMotILockPLM, arMotILockPLZ, arPLItemON, PrintLPICK, L_PICK_FW, L_PICK_BW);
|
||||
|
||||
@@ -1089,14 +1075,11 @@ namespace UIControl
|
||||
Draw_PickerPrinter(g, rect_printr, 4, 5, true, arMotILockPRM, arMotILockPRZ, arPRItemON, PrintRPICK, R_PICK_FW, R_PICK_BW);
|
||||
|
||||
//정보 표시 (나중에 제거해야함) 별도 인포박스형태를 취해야 함
|
||||
Draw_Info(g, rect_conveyor);
|
||||
Draw_Error(g);
|
||||
|
||||
//메뉴는 최상위에 표시한다
|
||||
Draw_Menu(g);
|
||||
|
||||
//arDebugMode = true;
|
||||
|
||||
if (arDebugMode)
|
||||
{
|
||||
|
||||
@@ -1111,16 +1094,6 @@ namespace UIControl
|
||||
var sb2 = new System.Text.StringBuilder();
|
||||
if (arVar_Port != null && arVar_Port.Length > 0)
|
||||
{
|
||||
//sb2.AppendLine(string.Format("입(PICKER)/출(SS:DET1)/겹침(SS:DET1) : {0}/{1}/{2}",
|
||||
// ar_cnt_in, ar_cnt_out, ar_cnt_outdup));
|
||||
|
||||
//sb2.AppendLine(string.Format("바코드 입/출:CMD/DUP/READ/ERR/중복수신/할당실패 {0}/{1}:{2}/{3}/{4}/{5}/{6}/{7}",
|
||||
// ar_cnt_barcodein, ar_cnt_barcodeot, ar_cnt_barcodecmd, ar_cnt_barcodedup, ar_cnt_barcoderead, ar_cnt_barcodereaderr, ar_cnt_barcodereaddup, ar_cnt_barcodeAssignErr));
|
||||
|
||||
//sb2.AppendLine(string.Format("언로더 입/출:CMD/DUP {0}/{1}:{2}/{3}",
|
||||
// ar_cnt_plcin, ar_cnt_plcot, ar_cnt_plccmd, ar_cnt_plcdup));
|
||||
|
||||
|
||||
sb.AppendLine(string.Format("DIO:{4},BCD:{5},PLC:{6}\n" +
|
||||
"YP_RDY {7},{8},{9},{10}\n" +
|
||||
"YP_CMD {7},{8},{9},{10}\n",
|
||||
@@ -1134,62 +1107,9 @@ namespace UIControl
|
||||
arFG_CMD_YP_FPICKON, arFG_CMD_YP_RPICKON));
|
||||
|
||||
}
|
||||
|
||||
var pad = 10;
|
||||
using (Font f = new Font("맑은 고딕", 9))
|
||||
{
|
||||
var smgsize = g.MeasureString(sb.ToString(), f);
|
||||
var dbgrect = new RectangleF(rect_main.Left + pad, rect_main.Top + pad, smgsize.Width + pad * 2f, smgsize.Height + pad * 2f);
|
||||
|
||||
//g.FillRectangle(new SolidBrush(Color.FromArgb(252, 0, 0, 0)), dbgrect);
|
||||
//g.DrawString(sb.ToString(), f, Brushes.SkyBlue, dbgrect, new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Draw_Info(Graphics g, RectangleF rect)
|
||||
{
|
||||
|
||||
//디자인 모드에서는 표시하지 않는다 200714
|
||||
//if (DesignMode == true) return;
|
||||
|
||||
//if (this.arFlag_UnloaderBusy) ShowPopupMessage(g, "언로더 작업 대기 중\nBUSY", Properties.Resources.info);
|
||||
//if (this.arIsRunning)
|
||||
//{
|
||||
// if (this.arFlag_UnloaderErr == true) ShowPopupMessage(g, "언로더 오류 발생", "STOP된 언로더를 확인하세요", Properties.Resources.error, false);
|
||||
// else if (this.arFlag_WaitPLC && arUnloaderSeq > 0)
|
||||
// {
|
||||
// if (arUnloaderSeq == 1) ShowPopupMessage(g, "언로더 작업 대기 중", "상태확인(#1)", Properties.Resources.info, false);
|
||||
// else if (arUnloaderSeq == 2) ShowPopupMessage(g, "언로더 작업 대기 중", "BUSY(#2)", Properties.Resources.info, false);
|
||||
// else if (arUnloaderSeq == 3) ShowPopupMessage(g, "언로더 작업 대기 중", "ITEM CHECK(#3)", Properties.Resources.info, false);
|
||||
// else if (arUnloaderSeq == 4) ShowPopupMessage(g, "언로더 작업 대기 중", "NO SETTING(#4)", Properties.Resources.info, false);
|
||||
// else if (arUnloaderSeq == 5) ShowPopupMessage(g, "언로더 작업 대기 중", "SIZE SETTING(#5)", Properties.Resources.info, false);
|
||||
// else if (arUnloaderSeq == 6) ShowPopupMessage(g, "언로더 작업 대기 중", "No.ZERO CHECK(#6)", Properties.Resources.info, false);
|
||||
// }
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
//void Draw_PickerRail(Graphics g, RectangleF rect)
|
||||
//{
|
||||
// RectangleF rectRailL = new RectangleF(rect.Left, rect.Top, rect.Width / 2.0f + 1, rect.Height);
|
||||
// RectangleF rectRailR = new RectangleF(rect.Left + rect.Width / 2.0f, rect.Top, rect.Width / 2.0f, rect.Height);
|
||||
// var brR = new LinearGradientBrush(rect, Color.FromArgb(60, 60, 60), Color.FromArgb(80, 80, 80), LinearGradientMode.Horizontal);
|
||||
// var brL = new LinearGradientBrush(rect, Color.FromArgb(80, 80, 80), Color.FromArgb(60, 60, 60), LinearGradientMode.Horizontal);
|
||||
// g.FillRectangle(brL, rectRailL);
|
||||
// //g.FillRectangle(brR, rectRailR);
|
||||
// brL.Dispose();
|
||||
// brR.Dispose();
|
||||
// g.DrawRectangle(Pens.DimGray, rect.Left, rect.Top, rect.Width, rect.Height);
|
||||
|
||||
//}
|
||||
|
||||
RectangleF rect_zlaxis = RectangleF.Empty;// new RectangleF((float)motZLPosX, (float)motZPosY, motZwPx, (float)motZhPx);
|
||||
//RectangleF rect_zraxis = RectangleF.Empty;//new RectangleF((float)motZRPosX, (float)motZPosY, motZwPx, (float)motZhPx);
|
||||
|
||||
void Draw_Screw(Graphics g, Rectangle rect)
|
||||
{
|
||||
//모터표시(X축)
|
||||
@@ -1207,22 +1127,7 @@ namespace UIControl
|
||||
g.DrawLine(p, pt1, pt2);
|
||||
}
|
||||
p.Dispose();
|
||||
//e.Graphics.DrawRectangle(Pens.Gray, motr_rect.Left, motr_rect.Top, motr_rect.Width, motr_rect.Height);
|
||||
//e.Graphics.DrawRectangle(Pens.Gray, motf_rect.Left, motf_rect.Top, motf_rect.Width, motf_rect.Height);
|
||||
|
||||
|
||||
//RectangleF rectRailT = new RectangleF(rect.Left, rect.Top, rect.Width, rect.Height / 2.0f + 1);
|
||||
//RectangleF rectRailB = new RectangleF(rect.Left, rect.Top + rect.Height / 2.0f, rect.Width, rect.Height / 2.0f);
|
||||
//var brR = new LinearGradientBrush(rect, Color.FromArgb(100, 60, 60, 60), Color.FromArgb(100, 80, 80, 80), LinearGradientMode.Vertical);
|
||||
//var brL = new LinearGradientBrush(rect, Color.FromArgb(100, 80, 80, 80), Color.FromArgb(100, 60, 60, 60), LinearGradientMode.Vertical);
|
||||
////g.FillRectangle(brL, rectRailT);
|
||||
////g.FillRectangle(brR, rectRailB);
|
||||
//brL.Dispose();
|
||||
//brR.Dispose();
|
||||
|
||||
g.DrawRectangle(new Pen(Color.FromArgb(50, Color.Gray)), rect.Left, rect.Top, rect.Width, rect.Height);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Draw_BallScrewRail(Graphics g, RectangleF rect, int divCount, int alpha, Boolean downDirection, Boolean MLock, Boolean Org, Boolean LimDn, Boolean LimUp)
|
||||
@@ -1291,11 +1196,11 @@ namespace UIControl
|
||||
//디자인 모드에서는 표시하지 않는다 200714
|
||||
if (DesignMode == true) return;
|
||||
|
||||
if (arConn_DIO && this.arDI_Emergency == true) ShowPopupMessage(g, "EMERGENCY BUTTON", "비상정지 확인\nEMERGENCY or POWER LOSS", Properties.Resources.error, true);
|
||||
else if (this.arDI_SaftyOk == false) ShowPopupMessage(g, "SAFTY SENSOR", "안전 센서 확인", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_Alm[0] == true) ShowPopupMessage(g, "SERVO ALARM", "Y-PICKER 모터 알람 발생", Properties.Resources.error, true);
|
||||
else if (arConn_MOT && this.arMOT_Alm[1] == true) ShowPopupMessage(g, "SERVO ALARM", "Z-FRONT 모터 알람 발생", Properties.Resources.error, true);
|
||||
else if (arConn_MOT && this.arMOT_Alm[2] == true) ShowPopupMessage(g, "SERVO ALARM", "Z-REAR 모터 알람 발생", Properties.Resources.error, true);
|
||||
if (arConn_DIO && this.arDI_Emergency == true) ShowPopupMessage(g, "EMERGENCY BUTTON", "Check emergency stop\nEMERGENCY or POWER LOSS", Properties.Resources.error, true);
|
||||
else if (this.arDI_SaftyOk == false) ShowPopupMessage(g, "SAFTY SENSOR", "Check safety sensor", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_Alm[0] == true) ShowPopupMessage(g, "SERVO ALARM", "Y-PICKER motor alarm occurred", Properties.Resources.error, true);
|
||||
else if (arConn_MOT && this.arMOT_Alm[1] == true) ShowPopupMessage(g, "SERVO ALARM", "Z-FRONT motor alarm occurred", Properties.Resources.error, true);
|
||||
else if (arConn_MOT && this.arMOT_Alm[2] == true) ShowPopupMessage(g, "SERVO ALARM", "Z-REAR motor alarm occurred", Properties.Resources.error, true);
|
||||
|
||||
else if (arConn_MOT && this.arMOT_SVOn[0] == false) ShowPopupMessage(g, "SERVO ALARM", "Y-PICKER\nSERVO-OFF", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_SVOn[1] == false) ShowPopupMessage(g, "SERVO ALARM", "Z-PICKER\nSERVO-OFF", Properties.Resources.alert, true);
|
||||
@@ -1303,7 +1208,7 @@ namespace UIControl
|
||||
else if (arConn_MOT && this.arMOT_SVOn[3] == false) ShowPopupMessage(g, "SERVO ALARM", "L-PRINT-Z\nSERVO-OFF", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_SVOn[4] == false) ShowPopupMessage(g, "SERVO ALARM", "R-PRINT-Y\nSERVO-OFF", Properties.Resources.alert, true);
|
||||
|
||||
else if (arConn_DIO && this.arAIRDetect == false) ShowPopupMessage(g, "AIR DETECT", "*전면의 AIR버튼(청색)을 눌러 AIR를 공급하세요\n* AIR 라인을 확인하세요", Properties.Resources.error, true);
|
||||
else if (arConn_DIO && this.arAIRDetect == false) ShowPopupMessage(g, "AIR DETECT", "*Press the blue AIR button on the front to supply AIR\n* Check the AIR line", Properties.Resources.error, true);
|
||||
|
||||
else if (arConn_MOT && (this.arMOT_HSet[0] == false || this.arMOT_HSet[1] == false || this.arMOT_HSet[2] == false))
|
||||
{
|
||||
@@ -1313,33 +1218,22 @@ namespace UIControl
|
||||
if (arVar_Port[1].SaftyErr == true) SaftyMessage += (string.IsNullOrEmpty(SaftyMessage) == false ? "," : string.Empty) + "DOOR:CENTER";
|
||||
if (arVar_Port[2].SaftyErr == true) SaftyMessage += (string.IsNullOrEmpty(SaftyMessage) == false ? "," : string.Empty) + "DOOR:RIGHT";
|
||||
|
||||
if (arPickerSafeZone == false) SaftyMessage += (string.IsNullOrEmpty(SaftyMessage) == false ? "\n" : string.Empty) + "피커안전위치 : OFF";
|
||||
else SaftyMessage += "피커안전위치 : ON"; ;
|
||||
if (arPickerSafeZone == false) SaftyMessage += (string.IsNullOrEmpty(SaftyMessage) == false ? "\n" : string.Empty) + "Picker safety position: OFF";
|
||||
else SaftyMessage += "Picker safety position: ON"; ;
|
||||
|
||||
ShowPopupMessage(g, "SYSTEM NOT READY", "초기화가 필요 합니다\n" + SaftyMessage, Properties.Resources.error, true);
|
||||
ShowPopupMessage(g, "SYSTEM NOT READY", "Initialization required\n" + SaftyMessage, Properties.Resources.error, true);
|
||||
}
|
||||
else if (arConn_MOT && this.arMOT_HSet[0] == false) ShowPopupMessage(g, "SERVO ALARM", "Y-PICKER 홈 검색 필요", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_HSet[1] == false) ShowPopupMessage(g, "SERVO ALARM", "Z-FRONT 홈 검색 필요", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_HSet[2] == false) ShowPopupMessage(g, "SERVO ALARM", "Z-REAR 홈 검색 필요", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_HSet[0] == false) ShowPopupMessage(g, "SERVO ALARM", "Y-PICKER home search required", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_HSet[1] == false) ShowPopupMessage(g, "SERVO ALARM", "Z-FRONT home search required", Properties.Resources.alert, true);
|
||||
else if (arConn_MOT && this.arMOT_HSet[2] == false) ShowPopupMessage(g, "SERVO ALARM", "Z-REAR home search required", Properties.Resources.alert, true);
|
||||
|
||||
else if (arVar_Port[0].OverLoad) ShowPopupMessage(g, "## OVERLOAD ##", "FRONT-LEFT", Properties.Resources.alert, true);
|
||||
else if (arVar_Port[1].OverLoad) ShowPopupMessage(g, "## OVERLOAD ##", "FRONT-RIGHT", Properties.Resources.alert, true);
|
||||
|
||||
//else if (arFlag_UnloaderBusy) ShowPopupMessage(g, "## UNLOADER ##\nBUSY", Properties.Resources.alert);
|
||||
//else if (arFlag_UnloaderErr) ShowPopupMessage(g, "## UNLOADER ##\nERROR", Properties.Resources.alert);
|
||||
}
|
||||
|
||||
|
||||
void Draw_Menu(Graphics g)
|
||||
{
|
||||
//var buttonOk = new CMenuButton("OK", "1");
|
||||
//var buttonNo = new CMenuButton("CANCLE", "0");
|
||||
//var newmenu = new CMenu("body str", "title", eMsgIcon.Error, buttonOk, buttonNo)
|
||||
//{
|
||||
// BorderColor = Color.Gray
|
||||
//};
|
||||
//this.menus.Push(newmenu);
|
||||
|
||||
if (arMenus == null || arMenus.Length < 1) { this.HasPopupMenu = false; return; }
|
||||
else HasPopupMenu = true;
|
||||
|
||||
@@ -1434,18 +1328,7 @@ namespace UIControl
|
||||
g.DrawString(item.Text, item.Font, new SolidBrush(item.ForeColor), rectC);
|
||||
}
|
||||
|
||||
//외각 테두리
|
||||
//g.DrawRectangle(new Pen(Color.FromArgb(20,20,20), 10) { Alignment = PenAlignment.Center }, rect.Left + 1, rect.Top + 1, rect.Width, rect.Height);
|
||||
|
||||
g.DrawRectangle(new Pen(Color.FromArgb(180, 180, 180), 10) { Alignment = PenAlignment.Center }, rect.Left, rect.Top, rect.Width, rect.Height);
|
||||
|
||||
|
||||
//g.DrawRectangle(Pens.Black, rect.Left, rect.Top, rect.Width, rect.Height);
|
||||
|
||||
//g.DrawRectangle(Pens.Red, rectT); //제목표시줄
|
||||
//g.DrawRectangle(Pens.Blue, rectI); //아이콘
|
||||
//g.DrawRectangle(Pens.Green, rectB); //버튼영역
|
||||
//g.DrawRectangle(Pens.Black, rectC); //본문영역
|
||||
}
|
||||
|
||||
void ShowMaskLayer(Graphics g, Color maskColor)
|
||||
@@ -1454,18 +1337,11 @@ namespace UIControl
|
||||
|
||||
}
|
||||
|
||||
public Font MessageBody { get; set; } = new Font("맑은 고딕", 20, FontStyle.Bold);
|
||||
public Font MessageTitle { get; set; } = new Font("맑은 고딕", 10, FontStyle.Bold);
|
||||
public Font MessageBody { get; set; } = new Font("Tahoma", 20, FontStyle.Bold);
|
||||
public Font MessageTitle { get; set; } = new Font("Tahoma", 10, FontStyle.Bold);
|
||||
|
||||
void ShowPopupMessage(Graphics g, string title, string msg, Image icon, Boolean isError)
|
||||
{
|
||||
//팝업표시할때마다 배경 마스킹을 한다
|
||||
//var maskColor = Color.FromArgb(100, Color.White);
|
||||
//ShowMaskLayer(g, maskColor);
|
||||
|
||||
//var msgf = new Font("맑은 고딕", 20, FontStyle.Bold);
|
||||
//var msgt = new Font("맑은 고딕", 10, FontStyle.Bold);
|
||||
|
||||
if (isError == false)
|
||||
{
|
||||
//팝업표시할때마다 배경 마스킹을 한다
|
||||
@@ -1546,9 +1422,6 @@ namespace UIControl
|
||||
if (errstep < 255) errstep += 1;
|
||||
else errstep = 0;
|
||||
}
|
||||
|
||||
//msgf.Dispose();
|
||||
//msgt.Dispose();
|
||||
}
|
||||
|
||||
void Draw_Port(Graphics g)
|
||||
@@ -1557,7 +1430,7 @@ namespace UIControl
|
||||
var convmode = VAR.BOOL?[eVarBool.Use_Conveyor] ?? false;
|
||||
using (Font fCnt = new Font("consolas", fSizeCnt, FontStyle.Bold))
|
||||
{
|
||||
using (Font fMSg = new Font("맑은 고딕", 15, FontStyle.Bold))
|
||||
using (Font fMSg = new Font("Tahoma", 15, FontStyle.Bold))
|
||||
{
|
||||
if (convmode)
|
||||
this.arVar_Port[0].DisplayConv(g, fCnt, fMSg, arMagnet0, arFGVision0RDY, arFGVision0END, arPortLItemOn, arMotILockVS0, arCountV0, CVLeftBusy, CVLeftReady);
|
||||
@@ -1574,65 +1447,8 @@ namespace UIControl
|
||||
}
|
||||
}
|
||||
|
||||
void Draw_Vision(Graphics g)
|
||||
{
|
||||
|
||||
//var NewX0 = arVar_Port[0].Rect.Right;
|
||||
|
||||
//var NewXDist = arVar_Port[1].Rect.Left - arVar_Port[0].Rect.Right;
|
||||
//var NewYDist = arVar_Port[0].Rect.Height;
|
||||
|
||||
//var NewY = arVar_Port[0].Rect.Top;
|
||||
//var portw_Px = arVar_Port[0].Rect.Width;
|
||||
|
||||
////둘사이의 공간으로 처리한다
|
||||
//var VisionRectSizePx = (int)Math.Min(NewXDist - 10, NewYDist - 10);
|
||||
//rect_vision = new RectangleF(
|
||||
// (float)(NewX0 + (NewXDist - VisionRectSizePx) / 2.0f),
|
||||
// (float)(NewY + (NewYDist - VisionRectSizePx) / 2.0f),
|
||||
// (float)VisionRectSizePx,
|
||||
// (float)VisionRectSizePx);
|
||||
|
||||
//g.DrawEllipse(Pens.Gray, rect_vision);
|
||||
|
||||
////가운에 영역(10% 작은)에. 감지된 릴 모양을 그려준다
|
||||
//var padval = rect_vision.Width * 0.05f;
|
||||
//var rellrect = new RectangleF(
|
||||
// rect_vision.Left + padval,
|
||||
// rect_vision.Top + padval,
|
||||
// rect_vision.Width - padval * 2,
|
||||
// rect_vision.Height - padval * 2);
|
||||
|
||||
//if (arVisionProcessC)
|
||||
//{
|
||||
// using (LinearGradientBrush br = new LinearGradientBrush(rellrect, Color.Lime, Color.Green, LinearGradientMode.BackwardDiagonal))
|
||||
// g.FillEllipse(br, rellrect);
|
||||
// g.DrawEllipse(Pens.Lime, rellrect);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// using (LinearGradientBrush br = new LinearGradientBrush(rellrect, Color.Yellow, Color.Gold, LinearGradientMode.BackwardDiagonal))
|
||||
// g.FillEllipse(br, rellrect);
|
||||
// g.DrawEllipse(Pens.Lime, rellrect);
|
||||
//}
|
||||
|
||||
////감지상태를 글자료 표시해준다.
|
||||
////비젼데이터가 있다면 그것을 사용해준다
|
||||
//var msg = string.IsNullOrEmpty(arVision_RID) ? "REEL ON" : arVision_RID;
|
||||
//using (var sb = new SolidBrush(Color.FromArgb(120, Color.Black)))
|
||||
// g.DrawString(msg, this.Font, sb, rellrect,
|
||||
// new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
|
||||
}
|
||||
RectangleF rect_vision = RectangleF.Empty;
|
||||
|
||||
public string arVision_RID { get; set; }
|
||||
public string arVision_SID { get; set; }
|
||||
|
||||
|
||||
public Boolean arVisionProcessL { get; set; }
|
||||
public Boolean arVisionProcessC { get; set; }
|
||||
public Boolean arVisionProcessR { get; set; }
|
||||
|
||||
|
||||
|
||||
private void Tm_Tick(object sender, EventArgs e)
|
||||
{
|
||||
@@ -1647,9 +1463,6 @@ namespace UIControl
|
||||
else this.arVar_Port[i].arrowIndex = 1;
|
||||
}
|
||||
this.Invalidate();
|
||||
|
||||
// var ts = DateTime.Now - updatetime;
|
||||
//if (ts.TotalMilliseconds >= tm.Interval) this.Invalidate();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Submodule Handler/swPLC updated: ed88f577cb...e583341e53
1375
SID Information/DSWms.Designer.cs
generated
Normal file
1375
SID Information/DSWms.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
9
SID Information/DSWms.xsc
Normal file
9
SID Information/DSWms.xsc
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--<autogenerated>
|
||||
This code was generated by a tool.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TableUISettings />
|
||||
</DataSetUISetting>
|
||||
101
SID Information/DSWms.xsd
Normal file
101
SID Information/DSWms.xsd
Normal file
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema id="DSWms" targetNamespace="http://tempuri.org/DSWms.xsd" xmlns:mstns="http://tempuri.org/DSWms.xsd" xmlns="http://tempuri.org/DSWms.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
|
||||
<xs:annotation>
|
||||
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<Connections>
|
||||
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="cs" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="cs (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.SIDConvInfoEditorII.Properties.Settings.GlobalReference.Default.cs" Provider="System.Data.SqlClient" />
|
||||
</Connections>
|
||||
<Tables>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VW_GET_MAX_QTY_VENDOR_LOTTableAdapter" GeneratorDataComponentClassName="VW_GET_MAX_QTY_VENDOR_LOTTableAdapter" Name="VW_GET_MAX_QTY_VENDOR_LOT" UserDataComponentName="VW_GET_MAX_QTY_VENDOR_LOTTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="cs (Settings)" DbObjectName="WMS.dbo.VW_GET_MAX_QTY_VENDOR_LOT" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT *
|
||||
FROM VW_GET_MAX_QTY_VENDOR_LOT</CommandText>
|
||||
<Parameters />
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="SID" DataSetColumn="SID" />
|
||||
<Mapping SourceColumn="PART_NO" DataSetColumn="PART_NO" />
|
||||
<Mapping SourceColumn="MFG_DATE" DataSetColumn="MFG_DATE" />
|
||||
<Mapping SourceColumn="VENDOR_NM" DataSetColumn="VENDOR_NM" />
|
||||
<Mapping SourceColumn="BATCH_NO" DataSetColumn="BATCH_NO" />
|
||||
<Mapping SourceColumn="QTY" DataSetColumn="QTY" />
|
||||
<Mapping SourceColumn="CUST_CODE" DataSetColumn="CUST_CODE" />
|
||||
<Mapping SourceColumn="VENDOR_LOT" DataSetColumn="VENDOR_LOT" />
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
</Tables>
|
||||
<Sources />
|
||||
</DataSource>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="DSWms" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DSWms" msprop:Generator_UserDSName="DSWms">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="VW_GET_MAX_QTY_VENDOR_LOT" msprop:Generator_TableClassName="VW_GET_MAX_QTY_VENDOR_LOTDataTable" msprop:Generator_TableVarName="tableVW_GET_MAX_QTY_VENDOR_LOT" msprop:Generator_TablePropName="VW_GET_MAX_QTY_VENDOR_LOT" msprop:Generator_RowDeletingName="VW_GET_MAX_QTY_VENDOR_LOTRowDeleting" msprop:Generator_RowChangingName="VW_GET_MAX_QTY_VENDOR_LOTRowChanging" msprop:Generator_RowEvHandlerName="VW_GET_MAX_QTY_VENDOR_LOTRowChangeEventHandler" msprop:Generator_RowDeletedName="VW_GET_MAX_QTY_VENDOR_LOTRowDeleted" msprop:Generator_UserTableName="VW_GET_MAX_QTY_VENDOR_LOT" msprop:Generator_RowChangedName="VW_GET_MAX_QTY_VENDOR_LOTRowChanged" msprop:Generator_RowEvArgName="VW_GET_MAX_QTY_VENDOR_LOTRowChangeEvent" msprop:Generator_RowClassName="VW_GET_MAX_QTY_VENDOR_LOTRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SID" msprop:Generator_ColumnVarNameInTable="columnSID" msprop:Generator_ColumnPropNameInRow="SID" msprop:Generator_ColumnPropNameInTable="SIDColumn" msprop:Generator_UserColumnName="SID">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="PART_NO" msprop:Generator_ColumnVarNameInTable="columnPART_NO" msprop:Generator_ColumnPropNameInRow="PART_NO" msprop:Generator_ColumnPropNameInTable="PART_NOColumn" msprop:Generator_UserColumnName="PART_NO" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="MFG_DATE" msprop:Generator_ColumnVarNameInTable="columnMFG_DATE" msprop:Generator_ColumnPropNameInRow="MFG_DATE" msprop:Generator_ColumnPropNameInTable="MFG_DATEColumn" msprop:Generator_UserColumnName="MFG_DATE" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="8" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="VENDOR_NM" msprop:Generator_ColumnVarNameInTable="columnVENDOR_NM" msprop:Generator_ColumnPropNameInRow="VENDOR_NM" msprop:Generator_ColumnPropNameInTable="VENDOR_NMColumn" msprop:Generator_UserColumnName="VENDOR_NM">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="200" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="BATCH_NO" msprop:Generator_ColumnVarNameInTable="columnBATCH_NO" msprop:Generator_ColumnPropNameInRow="BATCH_NO" msprop:Generator_ColumnPropNameInTable="BATCH_NOColumn" msprop:Generator_UserColumnName="BATCH_NO" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="QTY" msprop:Generator_ColumnVarNameInTable="columnQTY" msprop:Generator_ColumnPropNameInRow="QTY" msprop:Generator_ColumnPropNameInTable="QTYColumn" msprop:Generator_UserColumnName="QTY" type="xs:decimal" minOccurs="0" />
|
||||
<xs:element name="CUST_CODE" msprop:Generator_ColumnVarNameInTable="columnCUST_CODE" msprop:Generator_ColumnPropNameInRow="CUST_CODE" msprop:Generator_ColumnPropNameInTable="CUST_CODEColumn" msprop:Generator_UserColumnName="CUST_CODE">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="VENDOR_LOT" msprop:Generator_ColumnVarNameInTable="columnVENDOR_LOT" msprop:Generator_ColumnPropNameInRow="VENDOR_LOT" msprop:Generator_ColumnPropNameInTable="VENDOR_LOTColumn" msprop:Generator_UserColumnName="VENDOR_LOT">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
12
SID Information/DSWms.xss
Normal file
12
SID Information/DSWms.xss
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--<autogenerated>
|
||||
This code was generated by a tool to store the dataset designer's layout information.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:VW_GET_MAX_QTY_VENDOR_LOT" ZOrder="1" X="729" Y="229" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
||||
@@ -18,7 +18,7 @@
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\..\amkor\STDLabelAttach%28ATV%29\SidInfo\</OutputPath>
|
||||
<OutputPath>..\..\ReelSIDInfo\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
@@ -73,6 +73,11 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DSWms.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>DSWms.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="fMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -117,6 +122,17 @@
|
||||
<None Include="DataSet1.xss">
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="DSWms.xsc">
|
||||
<DependentUpon>DSWms.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="DSWms.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>DSWms.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="DSWms.xss">
|
||||
<DependentUpon>DSWms.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
|
||||
237
SID Information/fMain.Designer.cs
generated
237
SID Information/fMain.Designer.cs
generated
@@ -29,16 +29,31 @@
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fMain));
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage4 = new System.Windows.Forms.TabPage();
|
||||
this.dvWMS = new System.Windows.Forms.DataGridView();
|
||||
this.sIDDataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.pARTNODataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.mFGDATEDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.vENDORNMDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.bATCHNODataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.qTYDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.cUSTCODEDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.vENDORLOTDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.bsWMS = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.dSWms = new SIDConvInfoEditorII.DSWms();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.tbFindWMS = new System.Windows.Forms.TextBox();
|
||||
this.btFindWMS = new System.Windows.Forms.Button();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.dvI = new System.Windows.Forms.DataGridView();
|
||||
this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -142,7 +157,13 @@
|
||||
this.tam = new SIDConvInfoEditorII.DataSet1TableAdapters.TableAdapterManager();
|
||||
this.taP = new SIDConvInfoEditorII.DataSet1TableAdapters.K4EE_Component_Reel_Print_InformationTableAdapter();
|
||||
this.taI = new SIDConvInfoEditorII.DataSet1TableAdapters.K4EE_Component_Reel_SID_InformationTableAdapter();
|
||||
this.taWMS = new SIDConvInfoEditorII.DSWmsTableAdapters.VW_GET_MAX_QTY_VENDOR_LOTTableAdapter();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage4.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dvWMS)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bsWMS)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dSWms)).BeginInit();
|
||||
this.panel3.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dvI)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bsI)).BeginInit();
|
||||
@@ -165,6 +186,7 @@
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.tabPage4);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage3);
|
||||
@@ -175,6 +197,131 @@
|
||||
this.tabControl1.Size = new System.Drawing.Size(1061, 623);
|
||||
this.tabControl1.TabIndex = 0;
|
||||
//
|
||||
// tabPage4
|
||||
//
|
||||
this.tabPage4.Controls.Add(this.dvWMS);
|
||||
this.tabPage4.Controls.Add(this.panel3);
|
||||
this.tabPage4.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage4.Name = "tabPage4";
|
||||
this.tabPage4.Size = new System.Drawing.Size(1053, 597);
|
||||
this.tabPage4.TabIndex = 3;
|
||||
this.tabPage4.Text = "WMS";
|
||||
this.tabPage4.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// dvWMS
|
||||
//
|
||||
this.dvWMS.AllowUserToAddRows = false;
|
||||
this.dvWMS.AllowUserToDeleteRows = false;
|
||||
this.dvWMS.AutoGenerateColumns = false;
|
||||
this.dvWMS.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dvWMS.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.sIDDataGridViewTextBoxColumn1,
|
||||
this.pARTNODataGridViewTextBoxColumn,
|
||||
this.mFGDATEDataGridViewTextBoxColumn,
|
||||
this.vENDORNMDataGridViewTextBoxColumn,
|
||||
this.bATCHNODataGridViewTextBoxColumn,
|
||||
this.qTYDataGridViewTextBoxColumn,
|
||||
this.cUSTCODEDataGridViewTextBoxColumn,
|
||||
this.vENDORLOTDataGridViewTextBoxColumn});
|
||||
this.dvWMS.DataSource = this.bsWMS;
|
||||
this.dvWMS.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dvWMS.Location = new System.Drawing.Point(0, 0);
|
||||
this.dvWMS.Name = "dvWMS";
|
||||
this.dvWMS.ReadOnly = true;
|
||||
this.dvWMS.RowTemplate.Height = 23;
|
||||
this.dvWMS.Size = new System.Drawing.Size(1053, 557);
|
||||
this.dvWMS.TabIndex = 7;
|
||||
//
|
||||
// sIDDataGridViewTextBoxColumn1
|
||||
//
|
||||
this.sIDDataGridViewTextBoxColumn1.DataPropertyName = "SID";
|
||||
this.sIDDataGridViewTextBoxColumn1.HeaderText = "SID";
|
||||
this.sIDDataGridViewTextBoxColumn1.Name = "sIDDataGridViewTextBoxColumn1";
|
||||
//
|
||||
// pARTNODataGridViewTextBoxColumn
|
||||
//
|
||||
this.pARTNODataGridViewTextBoxColumn.DataPropertyName = "PART_NO";
|
||||
this.pARTNODataGridViewTextBoxColumn.HeaderText = "PART_NO";
|
||||
this.pARTNODataGridViewTextBoxColumn.Name = "pARTNODataGridViewTextBoxColumn";
|
||||
//
|
||||
// mFGDATEDataGridViewTextBoxColumn
|
||||
//
|
||||
this.mFGDATEDataGridViewTextBoxColumn.DataPropertyName = "MFG_DATE";
|
||||
this.mFGDATEDataGridViewTextBoxColumn.HeaderText = "MFG_DATE";
|
||||
this.mFGDATEDataGridViewTextBoxColumn.Name = "mFGDATEDataGridViewTextBoxColumn";
|
||||
//
|
||||
// vENDORNMDataGridViewTextBoxColumn
|
||||
//
|
||||
this.vENDORNMDataGridViewTextBoxColumn.DataPropertyName = "VENDOR_NM";
|
||||
this.vENDORNMDataGridViewTextBoxColumn.HeaderText = "VENDOR_NM";
|
||||
this.vENDORNMDataGridViewTextBoxColumn.Name = "vENDORNMDataGridViewTextBoxColumn";
|
||||
//
|
||||
// bATCHNODataGridViewTextBoxColumn
|
||||
//
|
||||
this.bATCHNODataGridViewTextBoxColumn.DataPropertyName = "BATCH_NO";
|
||||
this.bATCHNODataGridViewTextBoxColumn.HeaderText = "BATCH_NO";
|
||||
this.bATCHNODataGridViewTextBoxColumn.Name = "bATCHNODataGridViewTextBoxColumn";
|
||||
//
|
||||
// qTYDataGridViewTextBoxColumn
|
||||
//
|
||||
this.qTYDataGridViewTextBoxColumn.DataPropertyName = "QTY";
|
||||
this.qTYDataGridViewTextBoxColumn.HeaderText = "QTY";
|
||||
this.qTYDataGridViewTextBoxColumn.Name = "qTYDataGridViewTextBoxColumn";
|
||||
//
|
||||
// cUSTCODEDataGridViewTextBoxColumn
|
||||
//
|
||||
this.cUSTCODEDataGridViewTextBoxColumn.DataPropertyName = "CUST_CODE";
|
||||
this.cUSTCODEDataGridViewTextBoxColumn.HeaderText = "CUST_CODE";
|
||||
this.cUSTCODEDataGridViewTextBoxColumn.Name = "cUSTCODEDataGridViewTextBoxColumn";
|
||||
//
|
||||
// vENDORLOTDataGridViewTextBoxColumn
|
||||
//
|
||||
this.vENDORLOTDataGridViewTextBoxColumn.DataPropertyName = "VENDOR_LOT";
|
||||
this.vENDORLOTDataGridViewTextBoxColumn.HeaderText = "VENDOR_LOT";
|
||||
this.vENDORLOTDataGridViewTextBoxColumn.Name = "vENDORLOTDataGridViewTextBoxColumn";
|
||||
//
|
||||
// bsWMS
|
||||
//
|
||||
this.bsWMS.DataMember = "VW_GET_MAX_QTY_VENDOR_LOT";
|
||||
this.bsWMS.DataSource = this.dSWms;
|
||||
//
|
||||
// dSWms
|
||||
//
|
||||
this.dSWms.DataSetName = "DSWms";
|
||||
this.dSWms.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.Controls.Add(this.tbFindWMS);
|
||||
this.panel3.Controls.Add(this.btFindWMS);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panel3.Location = new System.Drawing.Point(0, 557);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(1053, 40);
|
||||
this.panel3.TabIndex = 6;
|
||||
//
|
||||
// tbFindWMS
|
||||
//
|
||||
this.tbFindWMS.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbFindWMS.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.tbFindWMS.Location = new System.Drawing.Point(0, 0);
|
||||
this.tbFindWMS.Name = "tbFindWMS";
|
||||
this.tbFindWMS.Size = new System.Drawing.Size(953, 39);
|
||||
this.tbFindWMS.TabIndex = 4;
|
||||
this.tbFindWMS.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// btFindWMS
|
||||
//
|
||||
this.btFindWMS.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btFindWMS.Font = new System.Drawing.Font("굴림", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btFindWMS.Location = new System.Drawing.Point(953, 0);
|
||||
this.btFindWMS.Name = "btFindWMS";
|
||||
this.btFindWMS.Size = new System.Drawing.Size(100, 40);
|
||||
this.btFindWMS.TabIndex = 5;
|
||||
this.btFindWMS.Text = "...";
|
||||
this.btFindWMS.UseVisualStyleBackColor = true;
|
||||
this.btFindWMS.Click += new System.EventHandler(this.btFineWMS_Click);
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.AutoScroll = true;
|
||||
@@ -217,9 +364,9 @@
|
||||
// dataGridViewTextBoxColumn6
|
||||
//
|
||||
this.dataGridViewTextBoxColumn6.DataPropertyName = "idx";
|
||||
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.dataGridViewTextBoxColumn6.DefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.dataGridViewTextBoxColumn6.DefaultCellStyle = dataGridViewCellStyle17;
|
||||
this.dataGridViewTextBoxColumn6.HeaderText = "idx";
|
||||
this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
|
||||
this.dataGridViewTextBoxColumn6.ReadOnly = true;
|
||||
@@ -227,50 +374,50 @@
|
||||
// dataGridViewTextBoxColumn8
|
||||
//
|
||||
this.dataGridViewTextBoxColumn8.DataPropertyName = "CustCode";
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle18;
|
||||
this.dataGridViewTextBoxColumn8.HeaderText = "CustCode";
|
||||
this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8";
|
||||
//
|
||||
// dataGridViewTextBoxColumn7
|
||||
//
|
||||
this.dataGridViewTextBoxColumn7.DataPropertyName = "SID";
|
||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.dataGridViewTextBoxColumn7.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
dataGridViewCellStyle19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.dataGridViewTextBoxColumn7.DefaultCellStyle = dataGridViewCellStyle19;
|
||||
this.dataGridViewTextBoxColumn7.HeaderText = "SID";
|
||||
this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7";
|
||||
//
|
||||
// dataGridViewTextBoxColumn9
|
||||
//
|
||||
this.dataGridViewTextBoxColumn9.DataPropertyName = "PartNo";
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.dataGridViewTextBoxColumn9.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.dataGridViewTextBoxColumn9.DefaultCellStyle = dataGridViewCellStyle20;
|
||||
this.dataGridViewTextBoxColumn9.HeaderText = "PartNo";
|
||||
this.dataGridViewTextBoxColumn9.Name = "dataGridViewTextBoxColumn9";
|
||||
//
|
||||
// PrintPosition
|
||||
//
|
||||
this.PrintPosition.DataPropertyName = "batch";
|
||||
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.PrintPosition.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.PrintPosition.DefaultCellStyle = dataGridViewCellStyle21;
|
||||
this.PrintPosition.HeaderText = "Batch";
|
||||
this.PrintPosition.Name = "PrintPosition";
|
||||
//
|
||||
// qtymax
|
||||
//
|
||||
this.qtymax.DataPropertyName = "qtymax";
|
||||
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.qtymax.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle22.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.qtymax.DefaultCellStyle = dataGridViewCellStyle22;
|
||||
this.qtymax.HeaderText = "Qty";
|
||||
this.qtymax.Name = "qtymax";
|
||||
//
|
||||
// VenderLot
|
||||
//
|
||||
this.VenderLot.DataPropertyName = "VenderLot";
|
||||
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
this.VenderLot.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle23.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
this.VenderLot.DefaultCellStyle = dataGridViewCellStyle23;
|
||||
this.VenderLot.HeaderText = "VenderLot";
|
||||
this.VenderLot.Name = "VenderLot";
|
||||
//
|
||||
@@ -397,7 +544,7 @@
|
||||
// toolStripLabel1
|
||||
//
|
||||
this.toolStripLabel1.Name = "toolStripLabel1";
|
||||
this.toolStripLabel1.Size = new System.Drawing.Size(27, 22);
|
||||
this.toolStripLabel1.Size = new System.Drawing.Size(26, 22);
|
||||
this.toolStripLabel1.Text = "/{0}";
|
||||
this.toolStripLabel1.ToolTipText = "전체 항목 수";
|
||||
//
|
||||
@@ -406,7 +553,7 @@
|
||||
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
|
||||
this.toolStripButton2.Name = "toolStripButton2";
|
||||
this.toolStripButton2.RightToLeftAutoMirrorImage = true;
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(68, 22);
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(67, 22);
|
||||
this.toolStripButton2.Text = "삭제(&D)";
|
||||
//
|
||||
// toolStripButton3
|
||||
@@ -474,7 +621,7 @@
|
||||
//
|
||||
this.toolStripButton7.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton7.Image")));
|
||||
this.toolStripButton7.Name = "toolStripButton7";
|
||||
this.toolStripButton7.Size = new System.Drawing.Size(66, 22);
|
||||
this.toolStripButton7.Size = new System.Drawing.Size(65, 22);
|
||||
this.toolStripButton7.Text = "저장(&S)";
|
||||
this.toolStripButton7.Click += new System.EventHandler(this.toolStripButton7_Click);
|
||||
//
|
||||
@@ -560,8 +707,8 @@
|
||||
// dataGridViewTextBoxColumn1
|
||||
//
|
||||
this.dataGridViewTextBoxColumn1.DataPropertyName = "idx";
|
||||
dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.dataGridViewTextBoxColumn1.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.dataGridViewTextBoxColumn1.DefaultCellStyle = dataGridViewCellStyle24;
|
||||
this.dataGridViewTextBoxColumn1.HeaderText = "idx";
|
||||
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
|
||||
this.dataGridViewTextBoxColumn1.ReadOnly = true;
|
||||
@@ -714,7 +861,7 @@
|
||||
// bindingNavigatorCountItem
|
||||
//
|
||||
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
|
||||
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22);
|
||||
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(26, 22);
|
||||
this.bindingNavigatorCountItem.Text = "/{0}";
|
||||
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
|
||||
//
|
||||
@@ -944,7 +1091,7 @@
|
||||
// toolStripLabel2
|
||||
//
|
||||
this.toolStripLabel2.Name = "toolStripLabel2";
|
||||
this.toolStripLabel2.Size = new System.Drawing.Size(27, 22);
|
||||
this.toolStripLabel2.Size = new System.Drawing.Size(26, 22);
|
||||
this.toolStripLabel2.Text = "/{0}";
|
||||
this.toolStripLabel2.ToolTipText = "전체 항목 수";
|
||||
//
|
||||
@@ -1099,6 +1246,10 @@
|
||||
//
|
||||
this.taI.ClearBeforeFill = true;
|
||||
//
|
||||
// taWMS
|
||||
//
|
||||
this.taWMS.ClearBeforeFill = true;
|
||||
//
|
||||
// fMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
@@ -1112,6 +1263,12 @@
|
||||
this.Text = "fSIDInformation";
|
||||
this.Load += new System.EventHandler(this.fSIDInformation_Load);
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage4.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dvWMS)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bsWMS)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dSWms)).EndInit();
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.panel3.PerformLayout();
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.tabPage2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dvI)).EndInit();
|
||||
@@ -1247,5 +1404,21 @@
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn batch;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn14;
|
||||
private System.Windows.Forms.TabPage tabPage4;
|
||||
private System.Windows.Forms.DataGridView dvWMS;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.TextBox tbFindWMS;
|
||||
private System.Windows.Forms.Button btFindWMS;
|
||||
private System.Windows.Forms.BindingSource bsWMS;
|
||||
private DSWms dSWms;
|
||||
private DSWmsTableAdapters.VW_GET_MAX_QTY_VENDOR_LOTTableAdapter taWMS;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn sIDDataGridViewTextBoxColumn1;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn pARTNODataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn mFGDATEDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn vENDORNMDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn bATCHNODataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn qTYDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn cUSTCODEDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn vENDORLOTDataGridViewTextBoxColumn;
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,10 @@ namespace SIDConvInfoEditorII
|
||||
this.dvC.DataError += DvC_DataError;
|
||||
this.dvI.DataError += DvC_DataError;
|
||||
this.dvP.DataError += DvC_DataError;
|
||||
this.tbFindWMS.KeyDown += (s1, e1) => {
|
||||
if (e1.KeyCode == Keys.Enter)
|
||||
btFindWMS.PerformClick();
|
||||
};
|
||||
}
|
||||
|
||||
private void DvC_DataError(object sender, DataGridViewDataErrorEventArgs e)
|
||||
@@ -63,10 +67,14 @@ namespace SIDConvInfoEditorII
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
private void fSIDInformation_Load(object sender, EventArgs e)
|
||||
{
|
||||
// TODO: 이 코드는 데이터를 'dSWms.VW_GET_MAX_QTY_VENDOR_LOT' 테이블에 로드합니다. 필요 시 이 코드를 이동하거나 제거할 수 있습니다.
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
|
||||
|
||||
SelectCombo();
|
||||
if (cmbRCode.SelectedIndex >= 0)
|
||||
@@ -74,8 +82,9 @@ namespace SIDConvInfoEditorII
|
||||
Refresh_SidInfo();
|
||||
Refresh_SidConv();
|
||||
Refresh_SidPrintInfo();
|
||||
this.Refresh_WMS();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
@@ -104,6 +113,20 @@ namespace SIDConvInfoEditorII
|
||||
this.taC.Fill(this.dataSet1.K4EE_Component_Reel_SID_Convert);//, PUB.setting.McName);
|
||||
dvC.AutoResizeColumns();
|
||||
this.bnC.Enabled = true;
|
||||
}
|
||||
void Refresh_WMS()
|
||||
{
|
||||
try
|
||||
{
|
||||
this.taWMS.Fill(this.dSWms.VW_GET_MAX_QTY_VENDOR_LOT);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AR.UTIL.MsgE(ex.Message);
|
||||
}
|
||||
dvWMS.AutoResizeColumns();
|
||||
|
||||
|
||||
}
|
||||
void Refresh_SidInfo()
|
||||
{
|
||||
@@ -492,7 +515,7 @@ namespace SIDConvInfoEditorII
|
||||
bsC.Filter = filter;
|
||||
tb.BackColor = Color.Lime;
|
||||
}
|
||||
catch
|
||||
catch
|
||||
{
|
||||
tb.BackColor = Color.Tomato;
|
||||
}
|
||||
@@ -527,5 +550,33 @@ namespace SIDConvInfoEditorII
|
||||
FindText(textBox1);
|
||||
}
|
||||
}
|
||||
|
||||
private void btFineWMS_Click(object sender, EventArgs e)
|
||||
{
|
||||
var search = tbFindWMS.Text.Trim();
|
||||
try
|
||||
{
|
||||
if(search.isEmpty())
|
||||
{
|
||||
bsWMS.Filter = "";
|
||||
tbFindWMS.BackColor = SystemColors.Control;
|
||||
}
|
||||
else
|
||||
{
|
||||
tbFindWMS.BackColor = Color.HotPink;
|
||||
var cols = new string[] { "SID", "PART_NO", "VENDOR_NM", "BATCH_NO", "CUST_CODE", "VENDOR_LOT" };
|
||||
var filter = string.Join($" like '%{search}%' or ", cols) + $" like '%{search}%'";
|
||||
bsWMS.Filter = filter;
|
||||
tbFindWMS.BackColor = Color.Lime;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
bsWMS.Filter = "";
|
||||
tbFindWMS.BackColor = Color.HotPink;
|
||||
}
|
||||
tbFindWMS.Focus();
|
||||
tbFindWMS.SelectAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,6 +117,24 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bsWMS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>839, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dSWms.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>932, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bnI.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>227, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bnC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>548, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bnP.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>766, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dSWms.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>932, 17</value>
|
||||
</metadata>
|
||||
<metadata name="PrintPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -135,6 +153,27 @@
|
||||
<metadata name="bsI.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>624, 17</value>
|
||||
</metadata>
|
||||
<metadata name="PrintPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="qtymax.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="VenderLot.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="attach.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="VenderName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="bsI.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>624, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>298, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>298, 17</value>
|
||||
</metadata>
|
||||
@@ -276,6 +315,36 @@
|
||||
<metadata name="bsC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>399, 17</value>
|
||||
</metadata>
|
||||
<metadata name="PartNo.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CustCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CustName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="MFG.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="batch.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="bsC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>399, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bnC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>548, 17</value>
|
||||
</metadata>
|
||||
@@ -398,6 +467,9 @@
|
||||
<metadata name="bsP.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>693, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bsP.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>693, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bnP.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>766, 17</value>
|
||||
</metadata>
|
||||
@@ -499,6 +571,9 @@
|
||||
<metadata name="taI.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>160, 17</value>
|
||||
</metadata>
|
||||
<metadata name="taWMS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1025, 17</value>
|
||||
</metadata>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA
|
||||
|
||||
BIN
keyence_front.ptc
Normal file
BIN
keyence_front.ptc
Normal file
Binary file not shown.
BIN
keyence_rear.ptc
Normal file
BIN
keyence_rear.ptc
Normal file
Binary file not shown.
Reference in New Issue
Block a user