레이스컨디션 발생으로 수정함
This commit is contained in:
parent
bdd76349dc
commit
cb935e251e
@ -35,7 +35,14 @@ namespace ILSOS_CCW_H52A.Data
|
|||||||
{
|
{
|
||||||
private readonly Logger _log = new Logger("CellInfoScheduler");
|
private readonly Logger _log = new Logger("CellInfoScheduler");
|
||||||
public JigInfo Prefetch2 { get; private set; } // 전전 셀: 셀 정보 수신, 업로드 전
|
public JigInfo Prefetch2 { get; private set; } // 전전 셀: 셀 정보 수신, 업로드 전
|
||||||
public JigInfo Prefetch1 { get; private set; } // 전 셀: 업로드 완료, 실행 중 / 완료 체크 대상
|
|
||||||
|
// volatile: Shift()에서 Prefetch1 = Prefetch2 대입이 release fence 역할.
|
||||||
|
// EncoderMonitor 스레드가 Prefetch1을 읽을 때 acquire fence로 JigNo 등 모든 필드 가시성 보장.
|
||||||
|
private volatile JigInfo _prefetch1;
|
||||||
|
public JigInfo Prefetch1 {
|
||||||
|
get => _prefetch1;
|
||||||
|
private set => _prefetch1 = value;
|
||||||
|
}
|
||||||
|
|
||||||
/// 현재 보고 대상 JigInfo (CheckScannerListComplete에서 지정, 보고 완료 후 null)
|
/// 현재 보고 대상 JigInfo (CheckScannerListComplete에서 지정, 보고 완료 후 null)
|
||||||
public JigInfo ReportTarget { get; set; }
|
public JigInfo ReportTarget { get; set; }
|
||||||
|
|||||||
@ -964,7 +964,7 @@ namespace ILSOS_CCW_H52A.Sequences
|
|||||||
var executeTarget = _CellScheduler.Prefetch1;
|
var executeTarget = _CellScheduler.Prefetch1;
|
||||||
|
|
||||||
if (WeldingInPosition) {
|
if (WeldingInPosition) {
|
||||||
if (executeTarget != null && executeTarget.IsCanExist) {
|
if (executeTarget != null && executeTarget.IsCanExist && executeTarget.JigNo > 0) {
|
||||||
Log.I($"Fork Before Min Rotate Encoder X : ({encoderX}), Encoder Y : ({currentAngle}), PLC Rotary : ({CurrentPosPLC}), List {executeTarget.ListNo}, JigNo : ({executeTarget.JigNo})");
|
Log.I($"Fork Before Min Rotate Encoder X : ({encoderX}), Encoder Y : ({currentAngle}), PLC Rotary : ({CurrentPosPLC}), List {executeTarget.ListNo}, JigNo : ({executeTarget.JigNo})");
|
||||||
if (!_SystemParameter.BypassModeLBAD) {
|
if (!_SystemParameter.BypassModeLBAD) {
|
||||||
if (!executeTarget.CheckSendCellinfo) {
|
if (!executeTarget.CheckSendCellinfo) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user