Commit 99db120b LN

中英文完善

1 个父辈 122c0e55
......@@ -47,13 +47,13 @@ namespace DeviceLibrary
for (int i = 0; i < 15; i++)
{
Msg += $"第{i}次尝试打开轴:{Config.Explain}\r\n";
Msg +=crc.GetString("trayOpenAxis", "第{0}次尝试打开轴:{1}",i,Config.Explain) +"\r\n";
for (int j = 0; j < 10; j++)
{
if (AxisManager.GetAlarmStatus(portName, slvAddr) != 0)
{
AxisManager.AlarmClear(portName, slvAddr);
Msg += "...尝试清除报警第" + j + "次";
Msg +=crc.GetString("TrayClearAxisAlarm", "...尝试清除报警第{0}次",j);
Thread.Sleep(500);
continue;
}
......@@ -63,11 +63,11 @@ namespace DeviceLibrary
Thread.Sleep(50);
if (AxisManager.IsServeoOn(portName, slvAddr))
{
Msg += "...尝试使能成功";
Msg += crc.GetString("TrayServoNoAxis", "...尝试使能成功");
return true;
}
else
Msg += "...尝试使能失败";
Msg +=crc.GetString("TrayServoAxisFailed", "...尝试使能失败");
Thread.Sleep(2000);
Msg += "\r\n";
......@@ -235,7 +235,7 @@ namespace DeviceLibrary
}
else
{
msg = $"{MoveInfo.Name} {MoveInfo.MoveStep} {axis.DisplayStr},目标位置{targetPosition},当前位置{outCount},误差过大,需要报警";
msg = $"{MoveInfo.Name} {MoveInfo.MoveStep} {axis.DisplayStr},"+ crc.GetString("axisAbsMoveAlarm","目标位置{0},当前位置{1},误差过大,需要报警",targetPosition,outCount);
LogUtil.error(msg, 600);
}
}
......
位置,优先级,高度,宽度,料仓ID,旋转轴位置P2,升降轴库位入料高点P3,升降轴库位入料低点P4,进出轴库位点取料点P3
fix#7,1,24,7,1,139000,85635,76635,216000
fix#13,2,24,13,1,139000,114988,105988,216000
位置,优先级,高度,宽度,料仓ID,旋转轴位置P2,升降轴库位入料高点P3,升降轴库位入料低点P4,进出轴库位点取料点P3
fix#7,1,24,8,1,190628,1670385,1595385,130593
fix#13,2,72,13,1,229062,1888013,1813013,174046
......@@ -882,7 +882,7 @@ namespace DeviceLibrary
//IOValue(IO_Type.StringFront_Check).Equals(IO_VALUE.LOW) &&
if (IOValue(IO_Type.AGV_OnPosition).Equals(IO_VALUE.LOW) && IOValue(IO_Type.StringDoor_Close).Equals(IO_VALUE.LOW))
{
Msg.add("料串门光栅被遮挡", MsgLevel.warning);
Msg.add(crc.GetString("guangshanzhedang","料串门光栅被遮挡"), MsgLevel.warning);
if (lastStringSafetyStatus)
{
lastStringSafetyStatus = false;
......
......@@ -68,13 +68,25 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// 读取一个csv文件的所有内容
/// </summary>
protected static string[] ReadCSVFile(string filePath)
protected static string[] ReadCSVFile(string filePath, Encoding encoding = null)
{
if (!File.Exists(filePath))
{
throw new FileNotFoundException("未找到文件:" + filePath);
}
string[] lines = File.ReadAllLines(filePath, Encoding.GetEncoding("gbk"));
if (encoding == null)
{
if (!GetFileType(filePath).Equals(Encoding.UTF8))
{
encoding = Encoding.GetEncoding("gbk");
}
else
{
encoding = Encoding.UTF8;
}
}
string[] lines = File.ReadAllLines(filePath, encoding);
return lines;
}
/// <summary>
......@@ -167,6 +179,94 @@ namespace OnlineStore.LoadCSVLibrary
}
}
return titleIndex;
} /// <summary>
/// 给定文件的路径,读取文件的二进制数据,判断文件的编码类型
/// </summary>
/// <param name=“FILE_NAME“>文件路径</param>
/// <returns>文件的编码类型</returns>
public static System.Text.Encoding GetFileType(string FILE_NAME)
{
FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read);
Encoding r = GetStreamType(fs);
fs.Close();
return r;
}
/// <summary>
/// 通过给定的文件流,判断文件的编码类型
/// </summary>
/// <param name=“fs“>文件流</param>
/// <returns>文件的编码类型</returns>
public static System.Text.Encoding GetStreamType(FileStream fs)
{
byte[] Unicode = new byte[] { 0xFF, 0xFE, 0x41 };
byte[] UnicodeBIG = new byte[] { 0xFE, 0xFF, 0x00 };
byte[] UTF8 = new byte[] { 0xEF, 0xBB, 0xBF }; //带BOM
Encoding reVal = Encoding.Default;
BinaryReader r = new BinaryReader(fs, System.Text.Encoding.Default);
int i;
int.TryParse(fs.Length.ToString(), out i);
byte[] ss = r.ReadBytes(i);
if (IsUTF8Bytes(ss) || (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF))
{
reVal = Encoding.UTF8;
}
else if (ss[0] == 0xFE && ss[1] == 0xFF && ss[2] == 0x00)
{
reVal = Encoding.BigEndianUnicode;
}
else if (ss[0] == 0xFF && ss[1] == 0xFE && ss[2] == 0x41)
{
reVal = Encoding.Unicode;
}
r.Close();
return reVal;
}
/// <summary>
/// 判断是否是不带 BOM 的 UTF8 格式
/// </summary>
/// <param name=“data“></param>
/// <returns></returns>
private static bool IsUTF8Bytes(byte[] data)
{
int charByteCounter = 1; //计算当前正分析的字符应还有的字节数
byte curByte; //当前分析的字节.
for (int i = 0; i < data.Length; i++)
{
curByte = data[i];
if (charByteCounter == 1)
{
if (curByte >= 0x80)
{
//判断当前
while (((curByte <<= 1) & 0x80) != 0)
{
charByteCounter++;
}
//标记位首位若为非0 则至少以2个1开始 如:110XXXXX...........1111110X
if (charByteCounter == 1 || charByteCounter > 6)
{
return false;
}
}
}
else
{
//若是UTF-8 此时第一位必须为1
if ((curByte & 0xC0) != 0x80)
{
return false;
}
charByteCounter--;
}
}
if (charByteCounter > 1)
{
throw new Exception("非预期的byte格式");
}
return true;
}
}
......
......@@ -483,6 +483,12 @@ UC_LedConfig_tableLayoutPanel1_THoutRange_Text 温湿度超限 Temperature and h
UC_LedConfig_tableLayoutPanel1_InOut_Text 出入库中 In storage/retrieval process
PEnterPwd 请输入密码 Please enter the password
ledstate_Debug 调试 Debug
ledstate_SafetyLightCurtains 安全光栅 Safety light curtain
ledstate_AlarmStop 停机 Shut Down
ledstate_SafetyLightCurtains 安全光栅触发 Safety light curtain
ledstate_Stop 停机 Shut Down
guangshanzhedang 料串门光栅被遮挡 Material string door light curtain blocked
axisAbsMoveAlarm 目标位置{0},当前位置{1},误差过大,需要报警 Target position {0}, current position {1}, error is too large, alarm required
trayOpenAxis 第{0}次尝试打开轴:{1} {0}th attempt to open axis: {1}
TrayClearAxisAlarm ...尝试清除报警第{0}次 ...Attempting to clear alarm for the {0}th time
TrayServoNoAxis ...尝试使能成功 ...Attempt to enable successful
TrayServoAxisFailed ...尝试使能失败 ...Attempt to enable failed
......@@ -483,7 +483,13 @@ UC_LedConfig_tableLayoutPanel1_THoutRange_Text 温湿度超限 温湿度超過
UC_LedConfig_tableLayoutPanel1_InOut_Text 出入库中 入出庫中
PEnterPwd 请输入密码 パスワードを入力してください
ledstate_Debug 调试 デバック
ledstate_SafetyLightCurtains 安全光栅 ライトカーテン
ledstate_SafetyLightCurtains 安全光栅触发 ライトカーテン
ledstate_AlarmStop 停机 ていし
guangshanzhedang 料串门光栅被遮挡 料串ドアライトカーテンが遮られています
axisAbsMoveAlarm 目标位置{0},当前位置{1},误差过大,需要报警 目標位置{0}、現在位置{1}、誤差が大きすぎます、アラームが必要です
trayOpenAxis 第{0}次尝试打开轴:{1} {0}回目の軸{1}を開く試行
TrayClearAxisAlarm ...尝试清除报警第{0}次 ...{0}回目のアラームクリアを試行中
TrayServoNoAxis ...尝试使能成功 ...イネーブル試行成功
TrayServoAxisFailed ...尝试使能失败 ...イネーブル試行失敗
......@@ -483,5 +483,11 @@ UC_LedConfig_tableLayoutPanel1_THoutRange_Text 温湿度超限
UC_LedConfig_tableLayoutPanel1_InOut_Text 出入库中
PEnterPwd 请输入密码
ledstate_Debug 调试
ledstate_SafetyLightCurtains 安全光栅
ledstate_AlarmStop 停机
ledstate_SafetyLightCurtains 安全光栅触发
ledstate_Stop 停机
guangshanzhedang 料串门光栅被遮挡
axisAbsMoveAlarm 目标位置{0},当前位置{1},误差过大,需要报警
trayOpenAxis 第{0}次尝试打开轴:{1}
TrayClearAxisAlarm ...尝试清除报警第{0}次
TrayServoNoAxis ...尝试使能成功
TrayServoAxisFailed ...尝试使能失败
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!