2026-01-26 14:51:28 +09:00

118 lines
5.2 KiB
C#

using Hermes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WeldingCommon.Devices;
namespace ILSOS_SampleWeldEquipment.Device
{
partial class PLCControllerSampleWeldEquipment
{
public override void MappingPLCAddr()
{
AutoCompleteAddr = (int)eBitOutput.PC_AUTO_COMPLETE;
ManualCompleteAddr = (int)eBitOutput.PC_MANUAL_COMPLETE;
AutoReqAddr = (int)eBitInput.PLC_AUTO_REQ;
ManualReqAddr = (int)eBitInput.PLC_MANUAL_REQ;
RecipeReqAddr = (int)eBitInput.PLC_RECIPE_CHANGE_REQ;
RecipeNoAddr = (int)eWordInput.PLC_RECIPE_NO;
LightAlarmStatusAddr = (int)eBitOutput.PC_LIGHT_ALARM_STATUS;
HeavyAlarmStatusAddr = (int)eBitOutput.PC_HEAVY_ALARM_STATUS;
PLCLiveStatusAddr = (int)eBitInput.PLC_LIVE_STATUS;
PLCEMOStatusAddr = (int)eBitInput.PLC_EMO_STATUS;
}
public double ReadDWordByDivision(eWordInput input)
{
var result = ReadDWord((int)input);
if (result.err != E1.OK) {
// 로그 에러 넣기
//Log.E("Error While Reading Double Word Division {0}", result.err.ToString());
}
int divisionIndex = ConvertTo2WordDivisionIndex(input);
return (double)(result.data / divisionIndex);
}
public int ConvertTo2WordDivisionIndex(eWordInput input)
{
var id = input.ToString();
if (id.Contains("RAMPING_START_POWER") || id.Contains("RAMPING_END_POWER") || id.Contains("NUM") || id.Contains("TIME"))
return 1;
else if (id.Contains("SPEED") || id.Contains("POWER_CORE") || id.Contains("POWER_RING"))
return 10;
//else if (id.Contains("POWER_CORE") || id.Contains("POWER_RING"))
// return 100;
else// if (id.Contains("DIST"))
return 1000;
//if (id == "PLC_HOR_WELDING_RECIPE_NUM1" ||
// id == "PLC_VER_WELDING_MAIN_POWER_CORE1" ||
// id == "PLC_VER_WELDING_MAIN_POWER_RING1" ||
// id == "PLC_VER_WELDING_MAIN_RAMPING_START_POWER1" ||
// id == "PLC_VER_WELDING_MAIN_RAMPING_END_POWER1" ||
// id == "PLC_VER_WELDING_SUB_POWER_CORE1" ||
// id == "PLC_VER_WELDING_SUB_POWER_RING1" ||
// id == "PLC_VER_WELDING_RECIPE_NUM1" ||
// id == "PLC_HOR_WELDING_MAIN_POWER_CORE1" ||
// id == "PLC_HOR_WELDING_MAIN_POWER_RING1" ||
// id == "PC_HOR_WELDING_RECIPE_NUM1" ||
// id == "PC_HOR_WELDING_MAIN_POWER_CORE1" ||
// id == "PC_HOR_WELDING_MAIN_POWER_RING1" ||
// id == "PC_VER_WELDING_RECIPE_NUM1" ||
// id == "PC_VER_WELDING_MAIN_POWER_CORE1" ||
// id == "PC_VER_WELDING_MAIN_POWER_RING1" ||
// id == "PC_VER_WELDING_SUB_POWER_CORE1" ||
// id == "PC_VER_WELDING_SUB_POWER_RING1" ||
// id == "PC_VER_WELDING_MAIN_RAMPING_START_POWER1"||
// id == "PC_VER_WELDING_MAIN_RAMPING_END_POWER1"
// )
// return true;
//else
// return false;
}
public int ConvertTo2WordDivisionIndex(eWordOutput input)
{
var id = input.ToString();
if (id.Contains("RAMPING_START_POWER") || id.Contains("RAMPING_END_POWER") || id.Contains("NUM") || id.Contains("TIME"))
return 1;
else if (id.Contains("SPEED") || id.Contains("POWER_CORE") || id.Contains("POWER_RING"))
return 10;
//else if (id.Contains("POWER_CORE") || id.Contains("POWER_RING"))
// return 100;
else// if (id.Contains("DIST"))
return 1000;
//if (id == "PLC_HOR_WELDING_RECIPE_NUM1" ||
// id == "PLC_VER_WELDING_MAIN_POWER_CORE1" ||
// id == "PLC_VER_WELDING_MAIN_POWER_RING1" ||
// id == "PLC_VER_WELDING_MAIN_RAMPING_START_POWER1" ||
// id == "PLC_VER_WELDING_MAIN_RAMPING_END_POWER1" ||
// id == "PLC_VER_WELDING_SUB_POWER_CORE1" ||
// id == "PLC_VER_WELDING_SUB_POWER_RING1" ||
// id == "PLC_VER_WELDING_RECIPE_NUM1" ||
// id == "PLC_HOR_WELDING_MAIN_POWER_CORE1" ||
// id == "PLC_HOR_WELDING_MAIN_POWER_RING1" ||
// id == "PC_HOR_WELDING_RECIPE_NUM1" ||
// id == "PC_HOR_WELDING_MAIN_POWER_CORE1" ||
// id == "PC_HOR_WELDING_MAIN_POWER_RING1" ||
// id == "PC_VER_WELDING_RECIPE_NUM1" ||
// id == "PC_VER_WELDING_MAIN_POWER_CORE1" ||
// id == "PC_VER_WELDING_MAIN_POWER_RING1" ||
// id == "PC_VER_WELDING_SUB_POWER_CORE1" ||
// id == "PC_VER_WELDING_SUB_POWER_RING1" ||
// id == "PC_VER_WELDING_MAIN_RAMPING_START_POWER1"||
// id == "PC_VER_WELDING_MAIN_RAMPING_END_POWER1"
// )
// return true;
//else
// return false;
}
}
}