Added change-language function
This commit is contained in:
@@ -77,6 +77,7 @@ namespace CMS_CORE_Application
|
||||
|
||||
CmsError cmsError = N.NC_Connect();
|
||||
cmsError = N.NC_RModelName(ref ModelName);
|
||||
cmsError = N.NC_WLanguage(new System.Globalization.CultureInfo("it"));
|
||||
bool error = false;
|
||||
string serial = "";
|
||||
|
||||
|
||||
@@ -253,6 +253,11 @@ namespace CMS_CORE.Demo
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
public override CmsError NC_WLanguage(CultureInfo Language)
|
||||
{
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
public override CmsError NC_RActiveAlarms(ref List<AlarmModel> alarms)
|
||||
{
|
||||
// Check if the NC Demo is Connected
|
||||
|
||||
@@ -137,6 +137,21 @@ namespace CMS_CORE.Fanuc
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
//Set the NC Language
|
||||
public override CmsError NC_WLanguage(CultureInfo Language)
|
||||
{
|
||||
// set but 7 to TRUE
|
||||
byte langToWrite = (byte)(ConvertToNCLanguage(Language) | 128);
|
||||
|
||||
// write the byte
|
||||
CmsError cmsError = MEM_RWByte(W,0, PARAM_LING_FANUC_W.MemType, PARAM_LING_FANUC_W.Address, 0, ref langToWrite);
|
||||
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
//Get the NC Serial Number
|
||||
public override CmsError NC_RSerialNumber(ref string SN)
|
||||
{
|
||||
@@ -1974,6 +1989,37 @@ namespace CMS_CORE.Fanuc
|
||||
}
|
||||
}
|
||||
|
||||
//Convert to NC Language
|
||||
private byte ConvertToNCLanguage(CultureInfo language)
|
||||
{
|
||||
switch (language.Name)
|
||||
{
|
||||
case "en": return 0;
|
||||
case "ja": return 1;
|
||||
case "de": return 2;
|
||||
case "fr": return 3;
|
||||
case "zh-CHT": return 4;
|
||||
case "it": return 5;
|
||||
case "ko": return 6;
|
||||
case "es": return 7;
|
||||
case "nl": return 8;
|
||||
case "da": return 9;
|
||||
case "pt": return 10;
|
||||
case "pl": return 11;
|
||||
case "hu": return 12;
|
||||
case "sv": return 13;
|
||||
case "cs": return 14;
|
||||
case "zh-CHS": return 15;
|
||||
case "ru": return 16;
|
||||
case "tr": return 17;
|
||||
case "bg": return 18;
|
||||
case "ro": return 19;
|
||||
case "sk": return 20;
|
||||
case "fi": return 21;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
//Manage the Status Process
|
||||
private PROC_STATUS ConverToSTEPStatus(Focas1.ODBST status)
|
||||
{
|
||||
|
||||
@@ -320,6 +320,18 @@ namespace CMS_CORE
|
||||
* */
|
||||
|
||||
public abstract CmsError NC_RLanguage(ref CultureInfo Language);
|
||||
/**
|
||||
* <summary>
|
||||
* Write the configured language of the NC
|
||||
* <para>
|
||||
* Compatibility: Fanuc | Osai | Demo | Siemens
|
||||
* </para>
|
||||
* </summary>
|
||||
* <returns cref="CmsError">Returns an error when an internal or a library error occours</returns>
|
||||
* <param name="Language">CultureInfo Variable with the new Language</param>
|
||||
* */
|
||||
|
||||
public abstract CmsError NC_WLanguage(CultureInfo Language);
|
||||
|
||||
/**
|
||||
* <summary>
|
||||
@@ -1831,6 +1843,7 @@ namespace CMS_CORE
|
||||
// TODO REMOVE
|
||||
//Lingua CN
|
||||
internal MEMORY_CELL PARAM_LING_FANUC = new MEMORY_CELL(MEMORY_TYPE.Null, 3281, 0, 1);
|
||||
internal MEMORY_CELL PARAM_LING_FANUC_W = new MEMORY_CELL(MEMORY_TYPE.Fanuc_G, 581, 0, 1);
|
||||
|
||||
//Matricola Macchina
|
||||
internal MEMORY_CELL MATR_MACCH_FANUC = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 4018, 0, 1);
|
||||
|
||||
@@ -182,6 +182,12 @@ namespace CMS_CORE.Osai
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
//Set the NC Language
|
||||
public override CmsError NC_WLanguage(CultureInfo Language)
|
||||
{
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
//Get the NC Serial Number
|
||||
public override CmsError NC_RSerialNumber(ref string SN)
|
||||
{
|
||||
|
||||
@@ -155,6 +155,7 @@ namespace CMS_CORE.Siemens
|
||||
SiemensAlarms = new Alarm[] { };
|
||||
SiemensAlmSvc = new AlarmSvc(ConvertToSTEPLanguage(SiemensLanguage).ThreeLetterISOLanguageName);
|
||||
SiemensAlmSvc.Subscribe(AlarmsChanged);
|
||||
Infrastructure.SubscribeLanguageChanged(NcLanguageChanged);
|
||||
|
||||
if (SiemensToolSvc == null)
|
||||
{
|
||||
@@ -401,6 +402,16 @@ namespace CMS_CORE.Siemens
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
||||
//Set the NC Language
|
||||
public override CmsError NC_WLanguage(CultureInfo Language)
|
||||
{
|
||||
// write write the language
|
||||
Infrastructure.CurrentLanguage = ConvertToNCLanguage(Language);
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
//Get the NC Serial number
|
||||
public override CmsError NC_RSerialNumber(ref string SN)
|
||||
{
|
||||
@@ -3225,6 +3236,14 @@ namespace CMS_CORE.Siemens
|
||||
SiemensAlarms = alarms;
|
||||
}
|
||||
|
||||
private void NcLanguageChanged(string language)
|
||||
{
|
||||
SiemensAlmSvc.UnSubscribe(AlarmsChanged);
|
||||
SiemensAlmSvc.Dispose();
|
||||
SiemensAlmSvc = new AlarmSvc(language);
|
||||
SiemensAlmSvc.Subscribe(AlarmsChanged);
|
||||
}
|
||||
|
||||
private bool GetBitValue(int b, int bitNumber)
|
||||
{
|
||||
return (b & (1 << bitNumber - 1)) != 0;
|
||||
@@ -3470,6 +3489,14 @@ namespace CMS_CORE.Siemens
|
||||
}
|
||||
}
|
||||
|
||||
//Convert to Step Language
|
||||
private String ConvertToNCLanguage(CultureInfo language)
|
||||
{
|
||||
return language.ThreeLetterISOLanguageName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private int SwapIntEndianFormat(int value)
|
||||
{
|
||||
var b1 = (value >> 0) & 0xff;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Nc_Demo_Application
|
||||
{
|
||||
@@ -74,6 +76,7 @@ namespace Nc_Demo_Application
|
||||
TRANSFER = 4,
|
||||
GENERIC = 5
|
||||
}
|
||||
|
||||
|
||||
// File
|
||||
public const string FILE_FOLDER = "C:/CMS/STEP/DEMO/part_program/";
|
||||
|
||||
Reference in New Issue
Block a user