Commit 93b20862 张东亮

存储机构-添加出入库、初始化、点位配置

1 个父辈 5d42698f
正在显示 36 个修改的文件 包含 539 行增加207 行删除
...@@ -29,8 +29,8 @@ namespace OnlineStore.Common ...@@ -29,8 +29,8 @@ namespace OnlineStore.Common
public static string ConfigPath_XLRStore = "ConfigPath_XLRStore"; public static string ConfigPath_XLRStore = "ConfigPath_XLRStore";
public static string ConfigPath_Input = "ConfigPath_Input"; public static string ConfigPath_Input = "ConfigPath_Input";
public static string ConfigPath_Box = "ConfigPath_Box"; public static string ConfigPath_Box = "ConfigPath_Box";
public static string ConfigPath_BoxPosition = "ConfigPath_BoxPosition";
/// <summary> /// <summary>
/// 需要识别的二维码类型,多个中间使用#分割 /// 需要识别的二维码类型,多个中间使用#分割
/// </summary> /// </summary>
......
...@@ -262,6 +262,6 @@ namespace OnlineStore.Common ...@@ -262,6 +262,6 @@ namespace OnlineStore.Common
public static string rfidLoc = "rfidLoc"; public static string rfidLoc = "rfidLoc";
public static string barcode = "barcode"; public static string barcode = "barcode";
} }
} }
...@@ -104,5 +104,35 @@ namespace OnlineStore.Common ...@@ -104,5 +104,35 @@ namespace OnlineStore.Common
} }
return span.Hours.ToString().PadLeft(2, '0') + ":" + span.Minutes.ToString().PadLeft(2, '0') + ":" + seconds; return span.Hours.ToString().PadLeft(2, '0') + ":" + span.Minutes.ToString().PadLeft(2, '0') + ":" + seconds;
} }
public static bool GetBoolData(Dictionary<string, string> data, string key, bool defaultValue = false)
{
if (data.ContainsKey(key))
{
try
{
return Convert.ToBoolean(data[key]);
}
catch (Exception ex)
{
}
}
return defaultValue;
}
public static int GetIntData(Dictionary<string, string> data, string key, int defaultValue = 0)
{
if (data.ContainsKey(key))
{
try
{
return Convert.ToInt32(data[key]);
}
catch (Exception ex)
{
}
}
return defaultValue;
}
} }
} }
...@@ -52,6 +52,79 @@ namespace OnlineStore.Common ...@@ -52,6 +52,79 @@ namespace OnlineStore.Common
} }
public class HttpHelper public class HttpHelper
{ {
public static Operation PostOperation(string url, Operation operation, bool simulate = false)
{
try
{
if (operation == null)
{
return null;
}
if (simulate)
{//模拟服务器返回
operation.status = 200;
operation.data.Clear();
operation.data.Add("posId", "A001");
string pos = "D100-111#D102-222#D104-333";
operation.data.Add("pos", pos);
if (operation.op == 1 || operation.op == 2)
{//入库或出库
string json = JsonHelper.SerializeObject(operation);
LogUtil.error("模拟HTTP服务器返回出库入库信息:" + json);
return operation;
}
return null;
}
try
{
if (url.ToLower().IndexOf("https", System.StringComparison.Ordinal) > -1)
{
ServicePointManager.ServerCertificateValidationCallback =
new RemoteCertificateValidationCallback((sender, certificate, chain, errors) => { return true; });
}
string json = JsonHelper.SerializeObject(operation);
var wc = new MyWebClient(5000);
if (string.IsNullOrEmpty(wc.Headers["Content-Type"]))
wc.Headers.Add("Content-Type", "application/json;charset=UTF-8");
wc.Encoding = Encoding.UTF8;
string result = wc.UploadString(url, "POST", json);
if (!string.IsNullOrEmpty(result))
{
try
{
Operation reOP = JsonHelper.DeserializeJsonToObject<Operation>(result);
if (isLog == 1 || reOP.op > 0)
{
//LogUtil.info("【"+url+"】发送【" + json + "】收到【" + result + "】");
}
return reOP;
}
catch (Exception ex)
{
LogUtil.error("JsonHelper.DeserializeJsonToObject 出错【result=" + result + "】" + ex);
}
}
}
catch (WebException ex)
{
LogUtil.error("POST [" + url + "] WebException :" + ex.ToString(), 101);
}
catch (Exception e)
{
LogUtil.error("POST [" + url + "] ERROR:" + e.ToString(), 101);
}
}
catch (Exception ex)
{
LogUtil.error("Post 出错【operation.op=" + operation.op + "】:" + ex);
}
return null;
}
public static bool PingURLIP(string url, int ms = 100) public static bool PingURLIP(string url, int ms = 100)
{ {
string[] urlArray = url.Split('/'); string[] urlArray = url.Split('/');
......
...@@ -11,10 +11,10 @@ AXIS,0,B面移栽旋转轴,MiddleAxis_B,8,HC,,35000,60000,60000,1000,5000,20000,10,100 ...@@ -11,10 +11,10 @@ AXIS,0,B面移栽旋转轴,MiddleAxis_B,8,HC,,35000,60000,60000,1000,5000,20000,10,100
AXIS,0,B面移栽压紧轴,ComAxis_B,9,HC,,35000,60000,60000,1000,5000,20000,10,100,0,0 AXIS,0,B面移栽压紧轴,ComAxis_B,9,HC,,35000,60000,60000,1000,5000,20000,10,100,0,0
,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,,,,,,,, PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,,,,,,,,
PRO,0,温湿度端口号,Humiture_Port,0,,,,,,,,,,,,
,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,
PRO,0,行走机构_待机点P1,MoveAxis_P1,100,,,,,,,,,,,, PRO,0,行走机构_待机点P1,MoveAxis_P1,100,,,,,,,,,,,,
PRO,0,行走机构_进出料机构取放点P2,MoveAxis_P2,100,,,,,,,,,,,, PRO,0,行走机构_进出料机构取放点P2,MoveAxis_P2,100,,,,,,,,,,,,
PRO,0,行走机构_存储库位取放点位P3,MoveAxis_P3,100,,,,,,,,,,,,
,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_待机点P1,PullAxis_Inout_P1,100,,,,,,,,,,,, PRO,0,料斗拉取进出轴_待机点P1,PullAxis_Inout_P1,100,,,,,,,,,,,,
,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,
......
位置,优先级,高度,宽度,料仓ID,料斗进出轴料屉提取点P2P4,料斗进出轴料屉库位点P3P5,料斗升降轴料屉提取高点P3,料斗升降轴料屉提取低点P4,移栽升降轴料屉上方过渡点P6P12,移栽升降轴料屉取放点P7P13,AB移栽X轴料屉库位取放料点P3,AB移栽压紧轴压紧前点P2,AB移栽压紧轴压紧点P3 位置,优先级,高度,宽度,料仓ID,料斗进出轴料屉提取点P2P4,料斗进出轴料屉库位点P3P5,料斗升降轴料屉提取高点P3,料斗升降轴料屉提取低点P4,存储库位取放点位P3,移栽升降轴料屉上方过渡点P6P12,移栽升降轴料屉取放点P7P13,AB移栽X轴料屉库位取放料点P3,AB移栽压紧轴压紧前点P2,AB移栽压紧轴压紧点P3
05AA03040102,1,20,7,1,190500,1779933,1790933,1790933,1779933,1779933,1779933,1779933,1779933 05AA03040102,1,20,7,2,190500,1779933,1790933,1790933,1779933,1779933,1779933,1779933,1779933,1779933
05BB03040102,1,20,7,2,190500,1779933,1790933,1790933,1779933,1779933,1779933,1779933,1779933,1779933
...@@ -79,8 +79,10 @@ ...@@ -79,8 +79,10 @@
<Compile Include="manager\StoreManager.cs" /> <Compile Include="manager\StoreManager.cs" />
<Compile Include="deviceLibrary\RFID\RFIDManagercs.cs" /> <Compile Include="deviceLibrary\RFID\RFIDManagercs.cs" />
<Compile Include="manager\SServerManager.cs" /> <Compile Include="manager\SServerManager.cs" />
<Compile Include="storeBean\boxBean\BoxEquip_RequestServer.cs" /> <Compile Include="storeBean\boxBean\BoxEquip_ConnectServerTimer.cs" />
<Compile Include="storeBean\boxBean\AutoInoutInfo.cs" /> <Compile Include="storeBean\boxBean\AutoInoutInfo.cs" />
<Compile Include="storeBean\boxBean\BoxEquip_InExecute.cs" />
<Compile Include="storeBean\boxBean\BoxEquip_OutExecute.cs" />
<Compile Include="storeBean\boxBean\Humiture\HumitureBean.cs" /> <Compile Include="storeBean\boxBean\Humiture\HumitureBean.cs" />
<Compile Include="storeBean\boxBean\Humiture\HumitureController.cs" /> <Compile Include="storeBean\boxBean\Humiture\HumitureController.cs" />
<Compile Include="storeBean\inputBean\BatchMoveBean.cs" /> <Compile Include="storeBean\inputBean\BatchMoveBean.cs" />
...@@ -201,7 +203,9 @@ ...@@ -201,7 +203,9 @@
<Content Include="huichuan_x86\IMC_API_x86.lib"> <Content Include="huichuan_x86\IMC_API_x86.lib">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<None Include="Config\linePositions.csv" /> <Content Include="Config\linePositions.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="packages.config" /> <None Include="packages.config" />
<Content Include="SDK\MotorMaster.config"> <Content Include="SDK\MotorMaster.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
......
...@@ -10,6 +10,39 @@ namespace OnlineStore.DeviceLibrary ...@@ -10,6 +10,39 @@ namespace OnlineStore.DeviceLibrary
{ {
public class SServerManager public class SServerManager
{ {
#region 存储机构使用的API
private static string api_communication = "service/store/communication"; //流水线状态通信接口
public static string GetPostApi(string host)
{
if (host == "")
{
host = ConfigAppSettings.GetValue(Setting_Init.http_server);
}
if (!host.StartsWith("http://"))
{
host = "http://" + host;
}
if (!host.EndsWith("/"))
{
host = host + "/";
}
return host + api_communication;
}
internal static string GetShelfIDByLoc(int rfidLoc, List<string> shelfPosList)
{
string shelfId = "";
if (rfidLoc.Equals(-1))
{
shelfId = shelfPosList[0];
}
if (rfidLoc >= 1 && rfidLoc <= 8 && rfidLoc <= shelfPosList.Count)
{
shelfId = shelfPosList[rfidLoc - 1];
}
return shelfId;
}
#endregion
//http://localhost/myproject/service/store/emptyPosForPutin //http://localhost/myproject/service/store/emptyPosForPutin
private static string Addr_PosForPutin = "/service/store/emptyPosForPutin"; private static string Addr_PosForPutin = "/service/store/emptyPosForPutin";
/// <summary> /// <summary>
......
...@@ -97,15 +97,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -97,15 +97,18 @@ namespace OnlineStore.DeviceLibrary
string inputConfigPath = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Input); string inputConfigPath = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Input);
InputEquip_Config inputConfig = CSVConfigReader.LoadInputConfig(1, DeviceType.InputEquip, inputConfigPath); InputEquip_Config inputConfig = CSVConfigReader.LoadInputConfig(1, DeviceType.InputEquip, inputConfigPath);
inputConfig.SetIO(1); inputConfig.SetIO(1);
allConfigMap.Add(1, inputConfig); allConfigMap.Add(1, inputConfig);
string boxPath = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Box); string boxPath = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Box);
BoxEquip_Config boxConfig = CSVConfigReader.LoadBoxConfig(2, DeviceType.BoxEquip, boxPath); BoxEquip_Config boxConfig = CSVConfigReader.LoadBoxConfig(2, DeviceType.BoxEquip, boxPath);
boxConfig.SetIO(2); boxConfig.SetIO(2);
allConfigMap.Add(2, boxConfig); allConfigMap.Add(2, boxConfig);
//加载点位
string positionConfigFile = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_BoxPosition);
CSVPositionReader<BoxPosition>.AddCSVFile(positionConfigFile);
XLRStore = new XLRStoreBean(Config, inputConfig, boxConfig); XLRStore = new XLRStoreBean(Config, inputConfig, boxConfig);
LogUtil.info("加载 完成!"); LogUtil.info("加载 完成!");
...@@ -144,25 +147,28 @@ namespace OnlineStore.DeviceLibrary ...@@ -144,25 +147,28 @@ namespace OnlineStore.DeviceLibrary
return false; return false;
} }
public static void SaveBoxConfig(BoxEquip_Config config) public static bool SaveBoxConfig(BoxEquip_Config config)
{ {
try try
{ {
//位置配置到文件中 //位置配置到文件中
string appPath = Application.StartupPath; string appPath = Application.StartupPath;
string boxConfig = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Box); string boxConfig = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Box);
allConfigMap[config.Id] = config; allConfigMap[config.Id] = config;
bool result = CSVConfigReader.SaveConfig(boxConfig, config, typeof(BoxEquip_Config)); bool result = CSVConfigReader.SaveConfig(boxConfig, config, typeof(BoxEquip_Config));
if (!result) if (!result)
{ {
LogUtil.error("保存配置文件失败:" + boxConfig); LogUtil.error("保存配置文件失败:" + boxConfig);
return false;
} }
return true;
} }
catch (Exception ex) catch (Exception ex)
{ {
LogUtil.error("出错:", ex); LogUtil.error("出错:", ex);
return false;
} }
} }
public static void SaveInputEquipConfig(InputEquip_Config config) public static void SaveInputEquipConfig(InputEquip_Config config)
...@@ -172,7 +178,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -172,7 +178,7 @@ namespace OnlineStore.DeviceLibrary
//位置配置到文件中 //位置配置到文件中
string appPath = Application.StartupPath; string appPath = Application.StartupPath;
string configFile = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Input); string configFile = appPath + ConfigAppSettings.GetValue(Setting_Init.ConfigPath_Input);
allConfigMap[config.Id] = config; allConfigMap[config.Id] = config;
bool result = CSVConfigReader.SaveConfig(configFile, config, typeof(InputEquip_Config)); bool result = CSVConfigReader.SaveConfig(configFile, config, typeof(InputEquip_Config));
if (!result) if (!result)
...@@ -185,7 +191,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -185,7 +191,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error("出错:", ex); LogUtil.error("出错:", ex);
} }
} }
private static List<int> trayHeightList = new List<int>(); private static List<int> trayHeightList = new List<int>();
public static List<int> GetTrayList() public static List<int> GetTrayList()
......
...@@ -30,7 +30,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -30,7 +30,6 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
public void StartAuto(int jiange, int currIndex, string shelfPosId) public void StartAuto(int jiange, int currIndex, string shelfPosId)
{ {
autoNext = true; autoNext = true;
...@@ -44,18 +43,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -44,18 +43,16 @@ namespace OnlineStore.DeviceLibrary
autoNext = false; autoNext = false;
} }
internal void InOutEndProcess(AC_BOX_Bean boxBean, StoreMoveType storeMoveType) internal void InOutEndProcess(BoxEquip boxBean, MoveType storeMoveType)
{ {
try try
{ {
CurrInOutCount++;
CurrInOutACount++;
//是否自动进入出库状态 //是否自动进入出库状态
if (!autoNext) if (!autoNext)
{ {
return; return;
} }
if (storeMoveType.Equals(StoreMoveType.InStore)) if (storeMoveType.Equals(MoveType.InStore))
{ {
int newIndex = positionIndex - 1; int newIndex = positionIndex - 1;
if (newIndex < 0) if (newIndex < 0)
...@@ -76,27 +73,26 @@ namespace OnlineStore.DeviceLibrary ...@@ -76,27 +73,26 @@ namespace OnlineStore.DeviceLibrary
{ {
positionIndex = newIndex; positionIndex = newIndex;
string posid = boxBean.PositionNumList[positionIndex]; string posid = boxBean.PositionNumList[positionIndex];
InOutParam param = new InOutParam(new InOutPosInfo("AAAA", posid));
InOutParam param = new InOutParam("AAAA", posid, shelfPosId);
//param.NeedOutShelf = false; //param.NeedOutShelf = false;
//param.NeedEnterShelf = false; //param.NeedEnterShelf = false;
//判断是否需要重置 //判断是否需要重置
if (CurrInOutACount >= boxBean.Config.Box_ResetACount) //if (CurrInOutACount >= boxBean.Config.Box_ResetACount)
{ //{
boxBean.LogInfo("自动进入下一个出库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把出库信息存入排队列表中"); // boxBean.LogInfo("自动进入下一个出库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把出库信息存入排队列表中");
boxBean.Reset(false); // boxBean.Reset(false);
autoMsg = "自动出库:" + posid; // autoMsg = "自动出库:" + posid;
boxBean.waitOutStoreList.Enqueue(param); // boxBean.waitOutStoreList.Enqueue(param);
} //}
else //else
{ {
boxBean.LogInfo("自动进入下一个出库:posid=" + posid); boxBean.LogInfo("自动进入下一个出库:posid=" + posid);
autoMsg = "自动出库:" + posid; autoMsg = "自动出库:" + posid;
boxBean.StartOutStoreMove(param); boxBean.StartOutstore(param);
} }
} }
} }
else if (storeMoveType.Equals(StoreMoveType.OutStore)) else if (storeMoveType.Equals(MoveType.OutStore))
{ {
int newIndex = positionIndex - Jiange; int newIndex = positionIndex - Jiange;
if (newIndex < 0) if (newIndex < 0)
...@@ -116,21 +112,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -116,21 +112,21 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
string posid = boxBean.PositionNumList[newIndex]; string posid = boxBean.PositionNumList[newIndex];
InOutParam param = new InOutParam("AAAA", posid, shelfPosId); InOutParam param = new InOutParam(new InOutPosInfo("AAAA", posid));
// param.NeedOutShelf = false; // param.NeedOutShelf = false;
//判断是否需要重置 //判断是否需要重置
if (CurrInOutACount >= boxBean.Config.Box_ResetACount) //if (CurrInOutACount >= boxBean.Config.Box_ResetACount)
{ //{
boxBean.LogInfo("自动进入下一个入库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把入库信息存入排队列表中"); // boxBean.LogInfo("自动进入下一个入库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把入库信息存入排队列表中");
boxBean.Reset(false); // boxBean.Reset(false);
autoMsg = "自动入库:" + posid; // autoMsg = "自动入库:" + posid;
boxBean.waitOutStoreList.Enqueue(param); // boxBean.waitOutStoreList.Enqueue(param);
} //}
else //else
{ {
boxBean.LogInfo("自动进入下一个入库:posid=" + posid); boxBean.LogInfo("自动进入下一个入库:posid=" + posid);
autoMsg = "自动入库:" + posid; autoMsg = "自动入库:" + posid;
boxBean.StartInStoreMove(param); boxBean.StartInstore(param);
} }
} }
} }
......
...@@ -16,6 +16,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -16,6 +16,11 @@ namespace OnlineStore.LoadCSVLibrary
public int StoreId { get; set; } public int StoreId { get; set; }
/// <summary> /// <summary>
/// PRO,0,行走机构_存储库位取放点位P3,MoveAxis_P3,100,,,,,,,,,,,,
/// </summary>
[CSVAttribute("存储库位取放点位P3")]
public int MoveAxis_P3 { get; set; }
/// <summary>
/// 料斗进出轴料屉提取点 /// 料斗进出轴料屉提取点
/// P2 对应 A面 /// P2 对应 A面
/// P4 对应 B面 /// P4 对应 B面
...@@ -72,7 +77,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -72,7 +77,7 @@ namespace OnlineStore.LoadCSVLibrary
[CSVAttribute("AB移栽压紧轴压紧点P3")] [CSVAttribute("AB移栽压紧轴压紧点P3")]
public int ComAxis_AB_P3 { get; set; } public int ComAxis_AB_P3 { get; set; }
public static bool CheckPosition(XLRPosition position, BoxEquip_Config Config) public static bool CheckPosition(BoxPosition position, BoxEquip_Config Config)
{ {
try try
{ {
......
...@@ -92,39 +92,10 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -92,39 +92,10 @@ namespace OnlineStore.LoadCSVLibrary
public int MoveAxis_P2 { get; set; } public int MoveAxis_P2 { get; set; }
/// <summary> /// <summary>
/// PRO,0,行走机构_存储库位取放点位P3,MoveAxis_P3,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("MoveAxis_P3")]
public int MoveAxis_P3 { get; set; }
/// <summary>
/// PRO,0,料斗拉取进出轴_待机点P1,PullAxis_Inout_P1,100,,,,,,,,,,,, /// PRO,0,料斗拉取进出轴_待机点P1,PullAxis_Inout_P1,100,,,,,,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("PullAxis_Inout_P1")] [ConfigProAttribute("PullAxis_Inout_P1")]
public int PullAxis_Inout_P1 { get; set; } public int PullAxis_Inout_P1 { get; set; }
/// <summary>
/// PRO,0,料斗拉取进出轴_A面料屉提取点P2,PullAxis_Inout_P2,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("PullAxis_Inout_P2")]
public int PullAxis_Inout_P2 { get; set; }
/// <summary>
/// PRO,0,料斗拉取进出轴_A面料屉库位点P3,PullAxis_Inout_P3,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("PullAxis_Inout_P3")]
public int PullAxis_Inout_P3 { get; set; }
/// <summary>
/// PRO,0,料斗拉取进出轴_B面料屉提取点P4,PullAxis_Inout_P4,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("PullAxis_Inout_P4")]
public int PullAxis_Inout_P4 { get; set; }
/// <summary>
///PRO,0,料斗拉取进出轴_B面料屉库位点P5,PullAxis_Inout_P5,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("PullAxis_Inout_P5")]
public int PullAxis_Inout_P5 { get; set; }
/// <summary> /// <summary>
/// PRO,0,移栽升降轴_待机点P1,Updown_P1,100,,,,,,,,,,,, /// PRO,0,移栽升降轴_待机点P1,Updown_P1,100,,,,,,,,,,,,
...@@ -157,18 +128,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -157,18 +128,6 @@ namespace OnlineStore.LoadCSVLibrary
public int Updown_P5 { get; set; } public int Updown_P5 { get; set; }
/// <summary> /// <summary>
/// PRO,0,移栽升降轴_A面料屉上方过渡点P6,Updown_P6,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("Updown_P6")]
public int Updown_P6 { get; set; }
/// <summary>
/// PRO,0,移栽升降轴_A面料屉取放点P7,Updown_P7,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("Updown_P7")]
public int Updown_P7 { get; set; }
/// <summary>
/// PRO,0,移栽升降轴_B上暂存区取料高点P8,Updown_P8,100,,,,,,,,,,,, /// PRO,0,移栽升降轴_B上暂存区取料高点P8,Updown_P8,100,,,,,,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("Updown_P8")] [ConfigProAttribute("Updown_P8")]
...@@ -193,18 +152,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -193,18 +152,6 @@ namespace OnlineStore.LoadCSVLibrary
public int Updown_P11 { get; set; } public int Updown_P11 { get; set; }
/// <summary> /// <summary>
/// PRO,0,移栽升降轴_B面料屉上方过渡点P12,Updown_P12,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("Updown_P12")]
public int Updown_P12 { get; set; }
/// <summary>
/// PRO,0,移栽升降轴_B面料屉取放点P13,Updown_P13,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("Updown_P13")]
public int Updown_P13 { get; set; }
/// <summary>
/// PRO,0,料斗拉取升降轴_待机点P1,PullAxis_Updown_P1,100,,,,,,,,,,,, /// PRO,0,料斗拉取升降轴_待机点P1,PullAxis_Updown_P1,100,,,,,,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("PullAxis_Updown_P1")] [ConfigProAttribute("PullAxis_Updown_P1")]
...@@ -217,18 +164,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -217,18 +164,6 @@ namespace OnlineStore.LoadCSVLibrary
public int PullAxis_Updown_P2 { get; set; } public int PullAxis_Updown_P2 { get; set; }
/// <summary> /// <summary>
/// PRO,0,料斗拉取升降轴_料屉提取高点P3,PullAxis_Updown_P3,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("PullAxis_Updown_P3")]
public int PullAxis_Updown_P3 { get; set; }
/// <summary>
/// PRO,0,料斗拉取升降轴_料屉提取低点P4,PullAxis_Updown_P4,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("PullAxis_Updown_P4")]
public int PullAxis_Updown_P4 { get; set; }
/// <summary>
/// PRO,0,A面移栽X轴_待机点P1,XAxis_A_P1,100,,,,,,,,,,,, /// PRO,0,A面移栽X轴_待机点P1,XAxis_A_P1,100,,,,,,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("XAxis_A_P1")] [ConfigProAttribute("XAxis_A_P1")]
...@@ -241,12 +176,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -241,12 +176,6 @@ namespace OnlineStore.LoadCSVLibrary
public int XAxis_A_P2 { get; set; } public int XAxis_A_P2 { get; set; }
/// <summary> /// <summary>
/// PRO,0,A面移栽X轴_A面料屉库位取放料点P3,XAxis_A_P3,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("XAxis_A_P3")]
public int XAxis_A_P3 { get; set; }
/// <summary>
/// PRO,0,A面移栽旋转轴_待机点P1,MiddleAxis_A_P1,100,,,,,,,,,,,, /// PRO,0,A面移栽旋转轴_待机点P1,MiddleAxis_A_P1,100,,,,,,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_A_P1")] [ConfigProAttribute("MiddleAxis_A_P1")]
...@@ -269,19 +198,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -269,19 +198,6 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
[ConfigProAttribute("ComAxis_A_P1")] [ConfigProAttribute("ComAxis_A_P1")]
public int ComAxis_A_P1 { get; set; } public int ComAxis_A_P1 { get; set; }
/// <summary>
/// PRO,0,A面移栽压紧轴_压紧前点P2,ComAxis_A_P2,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("ComAxis_A_P2")]
public int ComAxis_A_P2 { get; set; }
/// <summary>
/// PRO,0,A面移栽压紧轴_压紧点P3,ComAxis_A_P3,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("ComAxis_A_P3")]
public int ComAxis_A_P3 { get; set; }
/// <summary> /// <summary>
/// PRO,0,B面移栽X轴_待机点P1,XAxis_B_P1,100,,,,,,,,,,,, /// PRO,0,B面移栽X轴_待机点P1,XAxis_B_P1,100,,,,,,,,,,,,
/// </summary> /// </summary>
...@@ -295,12 +211,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -295,12 +211,6 @@ namespace OnlineStore.LoadCSVLibrary
public int XAxis_B_P2 { get; set; } public int XAxis_B_P2 { get; set; }
/// <summary> /// <summary>
/// PRO,0,B面移栽X轴_B面料屉库位取放料点P3,XAxis_B_P3,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("XAxis_B_P3")]
public int XAxis_B_P3 { get; set; }
/// <summary>
/// PRO,0,B面移栽旋转轴_待机点P1,MiddleAxis_B_P1,100,,,,,,,,,,,, /// PRO,0,B面移栽旋转轴_待机点P1,MiddleAxis_B_P1,100,,,,,,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_B_P1")] [ConfigProAttribute("MiddleAxis_B_P1")]
...@@ -324,18 +234,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -324,18 +234,6 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("ComAxis_B_P1")] [ConfigProAttribute("ComAxis_B_P1")]
public int ComAxis_B_P1 { get; set; } public int ComAxis_B_P1 { get; set; }
/// <summary>
/// PRO,0,B面移栽压紧轴_压紧前点P2,ComAxis_B_P2,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("ComAxis_B_P2")]
public int ComAxis_B_P2 { get; set; }
/// <summary>
/// PRO,0,B面移栽压紧轴_压紧点P3,ComAxis_B_P3,100,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("ComAxis_B_P3")]
public int ComAxComAxis_B_P3is_B_P1 { get; set; }
#endregion #endregion
#region 轴移动速度信息 #region 轴移动速度信息
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<add key="ConfigPath_XLRStore" value="\Config\Config_Store.csv" /> <add key="ConfigPath_XLRStore" value="\Config\Config_Store.csv" />
<add key="ConfigPath_Input" value="\Config\Config_InputEquip.csv" /> <add key="ConfigPath_Input" value="\Config\Config_InputEquip.csv" />
<add key="ConfigPath_Box" value="\Config\Config_BoxEquip.csv" /> <add key="ConfigPath_Box" value="\Config\Config_BoxEquip.csv" />
<add key="ConfigPath_BoxPosition" value="\Config\linePositions.csv" />
<add key="ConfigPath_TrayList" value="\LineConfig\TrayList.data" /> <add key="ConfigPath_TrayList" value="\LineConfig\TrayList.data" />
<add key="Line_CID" value="so827" /> <add key="Line_CID" value="so827" />
<!--end one store config--> <!--end one store config-->
......
namespace OnlineStore.XLRStore namespace OnlineStore.XLRStore
{ {
partial class FrmBase internal partial class FrmBase
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() internal void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBase)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBase));
this.SuspendLayout(); this.SuspendLayout();
......
...@@ -449,7 +449,7 @@ ...@@ -449,7 +449,7 @@
this.MainMenuStrip = this.menuStrip1; this.MainMenuStrip = this.menuStrip1;
this.Name = "FrmXLRStore"; this.Name = "FrmXLRStore";
this.Opacity = 0.1D; this.Opacity = 0.1D;
this.Text = "流水线系统"; this.Text = "方仓系统";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMain_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMain_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmLineStore_FormClosed); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmLineStore_FormClosed);
......
...@@ -5,11 +5,11 @@ using System.Runtime.InteropServices; ...@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下 // 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改 // 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。 // 与程序集关联的信息。
[assembly: AssemblyTitle("AssemblyLine")] [assembly: AssemblyTitle("XLRStore")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AssemblyLine")] [assembly: AssemblyProduct("XLRStore")]
[assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
......
...@@ -88,6 +88,12 @@ ...@@ -88,6 +88,12 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="boxForm\FrmAxisMove.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="boxForm\FrmAxisMove.Designer.cs">
<DependentUpon>FrmAxisMove.cs</DependentUpon>
</Compile>
<Compile Include="FrmBase.cs"> <Compile Include="FrmBase.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
...@@ -169,6 +175,9 @@ ...@@ -169,6 +175,9 @@
<Compile Include="useControl\EquipControl.Designer.cs"> <Compile Include="useControl\EquipControl.Designer.cs">
<DependentUpon>EquipControl.cs</DependentUpon> <DependentUpon>EquipControl.cs</DependentUpon>
</Compile> </Compile>
<EmbeddedResource Include="boxForm\FrmAxisMove.resx">
<DependentUpon>FrmAxisMove.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmBase.resx"> <EmbeddedResource Include="FrmBase.resx">
<DependentUpon>FrmBase.cs</DependentUpon> <DependentUpon>FrmBase.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
......
<?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>
</root>
\ No newline at end of file \ No newline at end of file
...@@ -36,13 +36,12 @@ ...@@ -36,13 +36,12 @@
this.groupDO = new System.Windows.Forms.GroupBox(); this.groupDO = new System.Windows.Forms.GroupBox();
this.lblThisSta = new System.Windows.Forms.Label(); this.lblThisSta = new System.Windows.Forms.Label();
this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage3 = new System.Windows.Forms.TabPage();
this.groupBox6 = new System.Windows.Forms.GroupBox(); this.groupBox6 = new System.Windows.Forms.GroupBox();
this.lblInoutInfo = new System.Windows.Forms.Label(); this.lblInoutInfo = new System.Windows.Forms.Label();
this.lblMoveInfo = new System.Windows.Forms.Label(); this.lblMoveInfo = new System.Windows.Forms.Label();
this.lblInstoreList = new System.Windows.Forms.Label(); this.lblInstoreList = new System.Windows.Forms.Label();
this.tabPage2 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.axisMoveControl1 = new OnlineStore.XLRStore.AxisMoveControl();
this.panBase = new System.Windows.Forms.Panel(); this.panBase = new System.Windows.Forms.Panel();
this.chbMoveStop = new System.Windows.Forms.CheckBox(); this.chbMoveStop = new System.Windows.Forms.CheckBox();
this.lblName = new System.Windows.Forms.Label(); this.lblName = new System.Windows.Forms.Label();
...@@ -50,16 +49,15 @@ ...@@ -50,16 +49,15 @@
this.lblStoreStatus = new System.Windows.Forms.Label(); this.lblStoreStatus = new System.Windows.Forms.Label();
this.btnStart = new System.Windows.Forms.Button(); this.btnStart = new System.Windows.Forms.Button();
this.btnStop = new System.Windows.Forms.Button(); this.btnStop = new System.Windows.Forms.Button();
this.tabPage3 = new System.Windows.Forms.TabPage(); this.btnDebugAxis = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage3.SuspendLayout();
this.groupBox6.SuspendLayout(); this.groupBox6.SuspendLayout();
this.tabPage2.SuspendLayout(); this.tabPage1.SuspendLayout();
this.panBase.SuspendLayout(); this.panBase.SuspendLayout();
this.tabPage3.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// timer1 // timer1
...@@ -298,26 +296,21 @@ ...@@ -298,26 +296,21 @@
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Location = new System.Drawing.Point(5, 56); this.tabControl1.Location = new System.Drawing.Point(5, 56);
this.tabControl1.Name = "tabControl1"; this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(993, 551); this.tabControl1.Size = new System.Drawing.Size(993, 551);
this.tabControl1.TabIndex = 257; this.tabControl1.TabIndex = 257;
// //
// tabPage1 // tabPage3
// //
this.tabPage1.Controls.Add(this.groupBox1); this.tabPage3.Controls.Add(this.groupBox6);
this.tabPage1.Controls.Add(this.groupDO); this.tabPage3.Location = new System.Drawing.Point(4, 26);
this.tabPage1.Controls.Add(this.groupBox3); this.tabPage3.Name = "tabPage3";
this.tabPage1.Controls.Add(this.groupBox4); this.tabPage3.Size = new System.Drawing.Size(985, 521);
this.tabPage1.Location = new System.Drawing.Point(4, 26); this.tabPage3.TabIndex = 2;
this.tabPage1.Name = "tabPage1"; this.tabPage3.Text = " 设备状态 ";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage3.UseVisualStyleBackColor = true;
this.tabPage1.Size = new System.Drawing.Size(985, 521);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = " IO列表 ";
this.tabPage1.UseVisualStyleBackColor = true;
// //
// groupBox6 // groupBox6
// //
...@@ -369,29 +362,26 @@ ...@@ -369,29 +362,26 @@
this.lblInstoreList.Size = new System.Drawing.Size(724, 74); this.lblInstoreList.Size = new System.Drawing.Size(724, 74);
this.lblInstoreList.TabIndex = 277; this.lblInstoreList.TabIndex = 277;
// //
// tabPage2 // tabPage1
//
this.tabPage2.Controls.Add(this.axisMoveControl1);
this.tabPage2.Location = new System.Drawing.Point(4, 26);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(985, 521);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = " 伺服信息 ";
this.tabPage2.UseVisualStyleBackColor = true;
//
// axisMoveControl1
// //
this.axisMoveControl1.Location = new System.Drawing.Point(4, 7); this.tabPage1.Controls.Add(this.groupBox1);
this.axisMoveControl1.Name = "axisMoveControl1"; this.tabPage1.Controls.Add(this.groupDO);
this.axisMoveControl1.Size = new System.Drawing.Size(490, 403); this.tabPage1.Controls.Add(this.groupBox3);
this.axisMoveControl1.TabIndex = 219; this.tabPage1.Controls.Add(this.groupBox4);
this.tabPage1.Location = new System.Drawing.Point(4, 26);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(985, 521);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = " IO列表 ";
this.tabPage1.UseVisualStyleBackColor = true;
// //
// panBase // panBase
// //
this.panBase.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.panBase.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.panBase.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panBase.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panBase.Controls.Add(this.btnDebugAxis);
this.panBase.Controls.Add(this.chbMoveStop); this.panBase.Controls.Add(this.chbMoveStop);
this.panBase.Controls.Add(this.lblName); this.panBase.Controls.Add(this.lblName);
this.panBase.Controls.Add(this.chbDebug); this.panBase.Controls.Add(this.chbDebug);
...@@ -424,7 +414,7 @@ ...@@ -424,7 +414,7 @@
this.lblName.Name = "lblName"; this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(120, 40); this.lblName.Size = new System.Drawing.Size(120, 40);
this.lblName.TabIndex = 250; this.lblName.TabIndex = 250;
this.lblName.Text = "进仓移栽"; this.lblName.Text = "存储机构";
this.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// chbDebug // chbDebug
...@@ -470,7 +460,7 @@ ...@@ -470,7 +460,7 @@
this.btnStop.BackColor = System.Drawing.Color.White; this.btnStop.BackColor = System.Drawing.Color.White;
this.btnStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStop.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnStop.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStop.Location = new System.Drawing.Point(238, 4); this.btnStop.Location = new System.Drawing.Point(351, 4);
this.btnStop.Name = "btnStop"; this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(105, 40); this.btnStop.Size = new System.Drawing.Size(105, 40);
this.btnStop.TabIndex = 87; this.btnStop.TabIndex = 87;
...@@ -478,15 +468,18 @@ ...@@ -478,15 +468,18 @@
this.btnStop.UseVisualStyleBackColor = false; this.btnStop.UseVisualStyleBackColor = false;
this.btnStop.Click += new System.EventHandler(this.btnStop_Click); this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
// //
// tabPage3 // btnDebugAxis
// //
this.tabPage3.Controls.Add(this.groupBox6); this.btnDebugAxis.BackColor = System.Drawing.Color.White;
this.tabPage3.Location = new System.Drawing.Point(4, 26); this.btnDebugAxis.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.tabPage3.Name = "tabPage3"; this.btnDebugAxis.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tabPage3.Size = new System.Drawing.Size(985, 521); this.btnDebugAxis.Location = new System.Drawing.Point(240, 3);
this.tabPage3.TabIndex = 2; this.btnDebugAxis.Name = "btnDebugAxis";
this.tabPage3.Text = " 设备状态 "; this.btnDebugAxis.Size = new System.Drawing.Size(105, 40);
this.tabPage3.UseVisualStyleBackColor = true; this.btnDebugAxis.TabIndex = 263;
this.btnDebugAxis.Text = "点位调试";
this.btnDebugAxis.UseVisualStyleBackColor = false;
this.btnDebugAxis.Click += new System.EventHandler(this.btnDebugAxis_Click);
// //
// FrmBoxEquip // FrmBoxEquip
// //
...@@ -508,13 +501,12 @@ ...@@ -508,13 +501,12 @@
this.groupBox4.ResumeLayout(false); this.groupBox4.ResumeLayout(false);
this.groupBox3.ResumeLayout(false); this.groupBox3.ResumeLayout(false);
this.tabControl1.ResumeLayout(false); this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false); this.tabPage3.ResumeLayout(false);
this.groupBox6.ResumeLayout(false); this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout(); this.groupBox6.PerformLayout();
this.tabPage2.ResumeLayout(false); this.tabPage1.ResumeLayout(false);
this.panBase.ResumeLayout(false); this.panBase.ResumeLayout(false);
this.panBase.PerformLayout(); this.panBase.PerformLayout();
this.tabPage3.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
...@@ -532,7 +524,6 @@ ...@@ -532,7 +524,6 @@
private System.Windows.Forms.Label lblThisSta; private System.Windows.Forms.Label lblThisSta;
private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.Button btnCloseAll; private System.Windows.Forms.Button btnCloseAll;
private System.Windows.Forms.GroupBox groupBox6; private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.Label lblInstoreList; private System.Windows.Forms.Label lblInstoreList;
...@@ -543,7 +534,6 @@ ...@@ -543,7 +534,6 @@
private System.Windows.Forms.Button btnWriteSingleDO; private System.Windows.Forms.Button btnWriteSingleDO;
private System.Windows.Forms.TextBox txtWriteTime; private System.Windows.Forms.TextBox txtWriteTime;
private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label5;
private AxisMoveControl axisMoveControl1;
private System.Windows.Forms.Label lblMoveInfo; private System.Windows.Forms.Label lblMoveInfo;
private System.Windows.Forms.Label lblInoutInfo; private System.Windows.Forms.Label lblInoutInfo;
private System.Windows.Forms.TextBox txtSlaveId; private System.Windows.Forms.TextBox txtSlaveId;
...@@ -555,6 +545,7 @@ ...@@ -555,6 +545,7 @@
protected System.Windows.Forms.Button btnStart; protected System.Windows.Forms.Button btnStart;
protected System.Windows.Forms.Button btnStop; protected System.Windows.Forms.Button btnStop;
private System.Windows.Forms.TabPage tabPage3; private System.Windows.Forms.TabPage tabPage3;
protected System.Windows.Forms.Button btnDebugAxis;
} }
} }
...@@ -23,7 +23,7 @@ namespace OnlineStore.XLRStore ...@@ -23,7 +23,7 @@ namespace OnlineStore.XLRStore
internal partial class FrmBoxEquip : FrmBase internal partial class FrmBoxEquip : FrmBase
{ {
private bool IsLoad = false; private bool IsLoad = false;
FrmAxisMove frmAxisMove =null;
private BoxEquip boxBean; private BoxEquip boxBean;
internal FrmBoxEquip(BoxEquip moveEquip) internal FrmBoxEquip(BoxEquip moveEquip)
{ {
...@@ -40,8 +40,6 @@ namespace OnlineStore.XLRStore ...@@ -40,8 +40,6 @@ namespace OnlineStore.XLRStore
lblName.Text = boxBean.Name; lblName.Text = boxBean.Name;
this.Text = boxBean.Name; this.Text = boxBean.Name;
IsLoad = true; IsLoad = true;
} }
protected Dictionary<string, IOTextControl> DIControlList = new Dictionary<string, IOTextControl>(); protected Dictionary<string, IOTextControl> DIControlList = new Dictionary<string, IOTextControl>();
...@@ -432,7 +430,26 @@ namespace OnlineStore.XLRStore ...@@ -432,7 +430,26 @@ namespace OnlineStore.XLRStore
} }
} }
protected void AddForm(TabControl tabcon, string text, Form form)
{
//text = text.PadRight(10, ' ');
TabPage lineTabPage = new TabPage(text);
// lineTabPage.AutoScroll = true;
// lineTabPage.Tag = StoreBean;
Panel linePan = new Panel();
linePan.Dock = DockStyle.Fill;
linePan.AutoScroll = true;
lineTabPage.Controls.Add(linePan);
form.FormBorderStyle = FormBorderStyle.None;
form.TopLevel = false;
linePan.Controls.Add(form);
form.Dock = DockStyle.Fill;
linePan.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Show();
//tabPageList.Add(lineTabPage);
tabcon.Controls.Add(lineTabPage);
}
private void chbMoveStop_CheckedChanged(object sender, EventArgs e) private void chbMoveStop_CheckedChanged(object sender, EventArgs e)
{ {
...@@ -444,7 +461,27 @@ namespace OnlineStore.XLRStore ...@@ -444,7 +461,27 @@ namespace OnlineStore.XLRStore
boxBean.MoveStop = chbMoveStop.Checked; boxBean.MoveStop = chbMoveStop.Checked;
LogUtil.info(boxBean.Name + "用户切换是否暂停: " + boxBean.MoveStop); LogUtil.info(boxBean.Name + "用户切换是否暂停: " + boxBean.MoveStop);
} }
private void btnDebugAxis_Click(object sender, EventArgs e)
{
if (frmAxisMove == null)
{
frmAxisMove = new FrmAxisMove(boxBean.IsDebug);
frmAxisMove.Show();
}
else
{
if (frmAxisMove.IsDisposed)
{
frmAxisMove = new FrmAxisMove(boxBean.IsDebug);
frmAxisMove.Show();
}
else
{
frmAxisMove.Activate();
}
}
}
} }
} }
......
<?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, 11</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>87</value>
</metadata>
</root>
\ No newline at end of file \ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!