Commit 151f2723 刘韬

Merge branch 'master' of http://106.15.194.121:8083/liutao/MIMO

2 个父辈 6ff5dd32 ef39d8c7
......@@ -3,12 +3,14 @@ using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.Layout;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
namespace OnlineStore
{
......@@ -285,12 +287,6 @@ namespace OnlineStore
private static void PreControlLanaguage(Control partentControl, string className)
{
string newStr = "";
//Con_GetTxt(partentControl, out string title);
//string newStr = GetString(GetTextIdStr(className, partentControl.Name), title);
//if (!newStr.Equals(""))
//{
//Con_SetTxt(partentControl, newStr.Replace("\\n", "\n"));
//}
foreach (Control con in partentControl.Controls)
{
string txt = "";
......
......@@ -33,8 +33,9 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="ConfigHelper">
<HintPath>..\..\ConfigHelper\ConfigHelper\bin\Debug\ConfigHelper.dll</HintPath>
<Reference Include="ConfigHelper, Version=1.0.0.2, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DLL\ConfigHelper.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
......
......@@ -89,7 +89,7 @@ namespace OnlineStore.Common
[MyConfigComment("摄像机名称列表#号分割")]
public static MyConfig<string> CameraScan_CameraName = "CameraName";
[MyConfigComment("扫码类型清单#号分割")]
public static MyConfig<string> CameraScan_CodeType = "QR Code#Data Matrix ECC 200";
public static MyConfig<string> CameraScan_CodeType = "QR Code#Data Matrix ECC 200#eyem";
[MyConfigComment("扫码学习文件保存目录")]
public static MyConfig<string> CameraScan_CodeParamPath = "CodeParam";
[MyConfigComment("二维码扫码最大数量")]
......@@ -98,5 +98,7 @@ namespace OnlineStore.Common
public static MyConfig<int> CameraScan_CodeTimeOut = 3000;
[MyConfigComment("校准库位料盘缓存")]
public static MyConfig<string> FixBuffInfo = "";
[MyConfigComment("校准库位升降轴速度")]
public static MyConfig<int> Updown_FixSpeed = 3000;
}
}
......@@ -59,8 +59,10 @@
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
......@@ -79,6 +81,7 @@
<Compile Include="DeviceLibrary\Camera.cs" />
<Compile Include="DeviceLibrary\CylinderManger.cs" />
<Compile Include="DeviceLibrary\IOMonitor.cs" />
<Compile Include="DeviceLibrary\IPCameraHelper.cs" />
<Compile Include="DeviceLibrary\I_SafetyDevice.cs" />
<Compile Include="DeviceLibrary\LiftMonitor.cs" />
<Compile Include="DeviceLibrary\LineRunMonitor.cs" />
......
using OnlineStore.Common;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration.Install;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
namespace DeviceLibrary
{
public class IPCameraHelper
{
//"E:\\Codes\\CSharp-Workspace\\MyProject\\WindowsService\\IPCamService\\bin\\Debug\\IPCamService.exe"
static string appPath = AppDomain.CurrentDomain.BaseDirectory;
static string serviceFilePath = ConfigHelper.Config.Get("IPCamService_FilePath", $"{appPath}IPCamService\\IPCamService.exe");
static string serviceName = ConfigHelper.Config.Get("IPCamService_ServiceName", "IPCamService");
/// <summary>
/// 安装服务
/// </summary>
public static void InstallService()
{
if (!File.Exists(serviceFilePath))
{
return;
}
if (!IsServiceExisted(serviceName))
{
InstallService(serviceFilePath);
LogUtil.info("安装监控相机服务");
ServiceStart(serviceName);
LogUtil.info("启动监控相机服务");
}
else
{
ServiceStart(serviceName);
LogUtil.info("启动监控相机服务");
}
}
static string baseDir = ConfigHelper.Config.Get("IPCameraService_HttpServer", "http://localhost:8088");
static string camName = ConfigHelper.Config.Get("IPCameraService_CamName", "cam1");
public static void StartRecord(string fileName = "")
{
if (!IsServiceExisted(serviceName)) return;
Task.Factory.StartNew(delegate
{
string url = $"{baseDir}/cam/startRecord?camName={camName}&filename={fileName}";
string res = HttpHelper.Get(url);
LogUtil.info($"开始记录视频:{fileName},{res}");
});
}
public static void StopRecord()
{
if (!IsServiceExisted(serviceName)) return;
Task.Factory.StartNew(delegate
{
string url = $"{baseDir}/cam/stopRecord?camName={camName}";
string res = HttpHelper.Get(url);
LogUtil.info($"停止记录视频:{res}");
});
}
//判断服务是否存在
static bool IsServiceExisted(string serviceName)
{
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController sc in services)
{
if (sc.ServiceName.ToLower() == serviceName.ToLower())
{
return true;
}
}
return false;
}
//安装服务
static void InstallService(string serviceFilePath)
{
try
{
using (AssemblyInstaller installer = new AssemblyInstaller())
{
installer.UseNewContext = true;
installer.Path = serviceFilePath;
IDictionary savedState = new Hashtable();
installer.Install(savedState);
installer.Commit(savedState);
}
}
catch (Exception ex)
{
LogUtil.error("安装监控相机服务失败", ex);
}
}
//卸载服务
static void UninstallService(string serviceFilePath)
{
using (AssemblyInstaller installer = new AssemblyInstaller())
{
installer.UseNewContext = true;
installer.Path = serviceFilePath;
installer.Uninstall(null);
}
}
//启动服务
static void ServiceStart(string serviceName)
{
try
{
using (ServiceController control = new ServiceController(serviceName))
{
if (control.Status == ServiceControllerStatus.Stopped)
{
control.Start();
}
}
}
catch (Exception ex)
{
LogUtil.error($"启动监控相机服务失败", ex);
}
}
//停止服务
static void ServiceStop(string serviceName)
{
using (ServiceController control = new ServiceController(serviceName))
{
if (control.Status == ServiceControllerStatus.Running)
{
control.Stop();
}
}
}
}
}
......@@ -24,6 +24,7 @@ namespace DeviceLibrary
if ((StringState >= StringStateE.OutStore) && IOValue(IO_Type.DoorClose_LoadMaterial).Equals(IO_VALUE.LOW))
{
MaterialDoorOpen = true;
RequestTakeOutReel = false;
StringState = StringStateE.None;
}
else if (IOValue(IO_Type.DoorClose_LoadMaterial).Equals(IO_VALUE.HIGH) && StringMoveInfo.MoveStep == MoveStep.Wait)
......
......@@ -116,6 +116,7 @@ namespace DeviceLibrary
IOMonitor.RegisterIO(IO_Type.Reset_BTN, Config, IO_VALUE.HIGH, Reset_BTN, 2500, 100);
IOMonitor.RegisterIO(IO_Type.AutoRun_Single, Config, IO_VALUE.HIGH, Run_BTN, 2500, 100);
LedProcessInit();
IPCameraHelper.InstallService();
}
......@@ -248,6 +249,7 @@ namespace DeviceLibrary
ServerCM.storeStatus = currnetstoreStatus;
}
}
IPCameraHelper.StopRecord();
LogUtil.info("主线程已退出.");
}
public void Start()
......@@ -459,16 +461,15 @@ namespace DeviceLibrary
boxTransport.Reset();
ResetMoveInfo.log("回原完成");
ResetMoveInfo.EndMove();
if ((RobotManage.HasReelInFixPos(out ReelParam reelParam)) && boxTransport.IsComplateOrFree && ClampMoveInfo.MoveStep == MoveStep.Wait && ConfigHelper.Config.Get("Device_Use_Fixpos", false))
if ((RobotManage.HasReelInFixPos(out ReelParam reelParam))
&& boxTransport.IsComplateOrFree &&
ClampMoveInfo.MoveStep == MoveStep.Wait && ConfigHelper.Config.Get("Device_Use_Fixpos", false)
&& IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.LOW))
{
StoreMoveInfo.NewMove(MoveStep.StoreOut_NGPre);
StoreMoveInfo.MoveParam = reelParam.clone();
StoreMoveInfo.MoveParam.PosID = "NG";
StoreMoveInfo.MoveParam.IsNg = true;
StoreMoveInfo.MoveParam.NgMsg = "检测到校准库位有料盘信息,请人工确认";
StoreMoveInfo.log($"开始校准库位料盘出库");
ServerCM.storeStatus = StoreStatus.OutStoreExecute;
//CloseFlipDoor(StoreMoveInfo);
var pos = BoxStorePosition.GetFixPos(Config, reelParam);
LogUtil.info($"复位完成,校准库位出库:{pos.posid}");
RobotManage.mainMachine.AddSingleStoreTask("", pos.posid, reelParam.PlateW, reelParam.PlateH);
RobotManage.ClearReelInFixPos();
}
runStatus = RunStatus.Running;
ServerCM.storeStatus = StoreStatus.StoreOnline;
......@@ -646,7 +647,8 @@ namespace DeviceLibrary
public void IgnoreX09()
{
boxTransport.IgnoreX09 = true;
LogUtil.info("按下X09忽略");
RobotManage.UserPause("按下X09忽略",false);
//LogUtil.info("按下X09忽略");
}
}
}
......@@ -28,18 +28,17 @@ namespace DeviceLibrary
public string doTakeOutReel()
{
LogUtil.info("请求下降出库料串");
var step = RobotManage.mainMachine.StringMoveInfo.MoveStep;
var stringStep = RobotManage.mainMachine.StringMoveInfo.MoveStep;
var clampstep = RobotManage.mainMachine.ClampMoveInfo.MoveStep;
if (step == MoveStep.StringReadyGet && clampstep >= MoveStep.ReelClamp_GetHeight)
if (stringStep == MoveStep.StringReadyGet && clampstep >= MoveStep.ReelClamp_GetHeight)
{
RobotManage.mainMachine.StringMoveInfo.NextMoveStep(MoveStep.StringOut_01);
StringState = StringStateE.ManualOut;
return crc.GetString(L.string_begin_release, "开始释放料串");
}
if (step == MoveStep.StringReadyPut)
if (stringStep == MoveStep.StringReadyPut)
{
RobotManage.mainMachine.StringMoveInfo.NextMoveStep(MoveStep.StringOut_01);
StringState = StringStateE.ManualOut;
RequestTakeOutReel = true;
return crc.GetString(L.string_begin_release, "开始释放料串");
}
LogUtil.info($"料串无法释放,料仓正在出入库中:{StringMoveInfo.MoveStep}");
......
......@@ -15,17 +15,18 @@ namespace DeviceLibrary
{
StoreJobList OutStoreJobList = new StoreJobList("批量");
StoreJobList OutSingleJobList = new StoreJobList("单盘");
public bool HasJob { get => OutStoreJobList.Count > 0 || OutSingleJobList.Count>0; }
public void AddOutStoreTask(string warecode, string posId,int plateW,int plateH) {
JobInfo jobInfo = new JobInfo(warecode, posId,plateW,plateH);
public bool HasJob { get => OutStoreJobList.Count > 0 || OutSingleJobList.Count > 0; }
public void AddOutStoreTask(string warecode, string posId, int plateW, int plateH)
{
JobInfo jobInfo = new JobInfo(warecode, posId, plateW, plateH);
OutStoreJobList.Enqueue(jobInfo);
LogUtil.info($"添加出库任务队列: {posId},当前任务数量: {OutStoreJobList.Count}");
}
public void AddSingleStoreTask(string warecode,string posId, int plateW, int plateH)
public void AddSingleStoreTask(string warecode, string posId, int plateW, int plateH)
{
JobInfo jobInfo = new JobInfo(warecode, posId, plateW, plateH);
OutSingleJobList.Enqueue(jobInfo);
LogUtil.info($"添加单盘出库任务队列: {posId},当前任务数量: {OutStoreJobList.Count}");
LogUtil.info($"添加单盘出库任务队列: {posId},当前任务数量: {OutSingleJobList.Count}");
}
void StoreProcess()
{
......@@ -85,7 +86,8 @@ namespace DeviceLibrary
ServerCM.storeStatus = StoreStatus.OutStoreExecute;
}
}
else if (OutStoreJobList.Count > 0 && !IsBatchDoorClosed) {
else if (OutStoreJobList.Count > 0 && !IsBatchDoorClosed)
{
Msg.add("出库任务等待关闭批量舱门", MsgLevel.warning);
}
//判断有没有出库任务, 需要入库空闲, 出口空闲
......@@ -96,7 +98,7 @@ namespace DeviceLibrary
if (!boxTransport.IgnoreX09 && IOMonitor.IODebound(IO_Type.TrayCheck_Fixture, Config, IO_VALUE.HIGH, 5000))
{
Msg.add("收到出库任务,但料叉上有料,无法启动,请检查", MsgLevel.alarm, ErrInfo.X09_BoxNotDetect);
}
else
Msg.add("收到出库任务,但料叉上有料,无法启动,请检查", MsgLevel.warning);
......@@ -105,7 +107,7 @@ namespace DeviceLibrary
else
boxTransport.IgnoreX09 = false;
TurnToOut();
if (IsPutReelReady && OutStoreJobList.Dequeue(out JobInfo jobInfo))
if (IsPutReelReady && !RequestTakeOutReel && OutStoreJobList.Dequeue(out JobInfo jobInfo))
{
StoreMoveInfo.NewMove(MoveStep.StoreOut10);
StoreMoveInfo.MoveParam.PosID = jobInfo.PosId;
......@@ -120,9 +122,10 @@ namespace DeviceLibrary
case MoveStep.StoreIn01:
if (!StoreMoveInfo.MoveParam.IsNg && !ServerCM.SendStoreState(StoreMoveInfo.MoveParam.PosID, StoreStatus.InStoreExecute))
{
Msg.add("服务器连接异常",MsgLevel.warning);
Msg.add("服务器连接异常", MsgLevel.warning);
return;
}
ServerCM.storeStatus = StoreStatus.InStoreExecute;
StoreMoveInfo.NextMoveStep(MoveStep.StoreIn03);
if (StoreMoveInfo.MoveParam.IsNg)
......@@ -131,9 +134,9 @@ namespace DeviceLibrary
{
var ac = CSVPositionReader<ACStorePosition>.GetPositon(StoreMoveInfo.MoveParam.PosID);
boxTransport.Start(new BoxStorePosition(Config, StoreMoveInfo.MoveParam.ReelOnFixture? StoreSide.NGDoor:StoreSide.Clamp, StoreMoveInfo.MoveParam), new BoxStorePosition(Config, ac, StoreMoveInfo.MoveParam), StoreMoveType.InStore, true);
boxTransport.Start(new BoxStorePosition(Config, StoreMoveInfo.MoveParam.ReelOnFixture ? StoreSide.NGDoor : StoreSide.Clamp, StoreMoveInfo.MoveParam), new BoxStorePosition(Config, ac, StoreMoveInfo.MoveParam), StoreMoveType.InStore, true);
}
StoreMoveInfo.log($"开始转运料盘");
StoreMoveInfo.log($"开始转运料盘");
break;
case MoveStep.StoreIn02:
break;
......@@ -160,7 +163,7 @@ namespace DeviceLibrary
StoreMoveInfo.log($"料盘已到达目的地");
if (StoreMoveInfo.MoveParam.IsNg)
{
NGPuted(StoreMoveInfo.MoveParam.NgMsg);
NGPuted(StoreMoveInfo.MoveParam.NgMsg);
}
StoreMoveInfo.NextMoveStep(MoveStep.StoreIn05);
}
......@@ -185,15 +188,16 @@ namespace DeviceLibrary
Msg.add("服务器连接异常", MsgLevel.warning);
return;
}
ServerCM.storeStatus = StoreStatus.OutStoreExecute;
StoreMoveInfo.NextMoveStep(MoveStep.StoreOut11);
var outFrom = CSVPositionReader<ACStorePosition>.GetPositon(StoreMoveInfo.MoveParam.PosID);
BoxStorePosition outTo;
if (StoreMoveInfo.MoveParam.IsNg)
outTo = new BoxStorePosition(Config, StoreSide.NGDoor, StoreMoveInfo.MoveParam);
else
outTo = new BoxStorePosition(Config, StoreSide.String, StoreMoveInfo.MoveParam);
boxTransport.Start(outFrom == null ? null : new BoxStorePosition(Config, outFrom, StoreMoveInfo.MoveParam), outTo, StoreMoveType.OutStore);
StoreMoveInfo.log($"开始转运料盘{(StoreMoveInfo.MoveParam.IsNg ? "单料口" : "料串")}");
var outFrom = CSVPositionReader<ACStorePosition>.GetPositon(StoreMoveInfo.MoveParam.PosID);
BoxStorePosition outTo;
if (StoreMoveInfo.MoveParam.IsNg)
outTo = new BoxStorePosition(Config, StoreSide.NGDoor, StoreMoveInfo.MoveParam);
else
outTo = new BoxStorePosition(Config, StoreSide.String, StoreMoveInfo.MoveParam);
boxTransport.Start(outFrom == null ? null : new BoxStorePosition(Config, outFrom, StoreMoveInfo.MoveParam), outTo, StoreMoveType.OutStore);
StoreMoveInfo.log($"开始转运料盘{(StoreMoveInfo.MoveParam.IsNg ? "单料口" : "料串")}");
break;
case MoveStep.StoreOut11:
......@@ -220,10 +224,10 @@ namespace DeviceLibrary
Msg.add("服务器连接异常", MsgLevel.warning);
return;
}
StoreMoveInfo.log($"料盘已到达目的地");
StoreMoveInfo.log($"料盘已到达目的地");
if (StoreMoveInfo.MoveParam.IsNg)
{
NGPuted(StoreMoveInfo.MoveParam.NgMsg);
OutSingleJobList.ClearLastPosid(StoreMoveInfo.MoveParam.PosID);
}
......@@ -232,7 +236,7 @@ namespace DeviceLibrary
ReelPutted(StoreMoveInfo.MoveParam.PlateH);
OutStoreJobList.ClearLastPosid(StoreMoveInfo.MoveParam.PosID);
}
StoreMoveInfo.EndMove();
}
break;
......@@ -241,8 +245,9 @@ namespace DeviceLibrary
break;
}
}
string StoreState() {
string state = crc.GetString(L.free,"空闲中");
string StoreState()
{
string state = crc.GetString(L.free, "空闲中");
if (StoreMoveInfo.MoveStep >= MoveStep.StoreOut10)
{
state = $"{crc.GetString(L.reel_outting, "出库中")},{crc.GetString(L.posnum, "出库中")}:{StoreMoveInfo.MoveParam.PosID}";
......
......@@ -186,7 +186,7 @@ namespace DeviceLibrary
reelParam = null;
try
{
string fix = ConfigHelper.Config.Get(Setting_Init.FixBuffInfo, "");
string fix = Setting_Init.FixBuffInfo;
if (!string.IsNullOrEmpty(fix))
{
reelParam = JsonHelper.DeserializeJsonToObject<ReelParam>(fix);
......@@ -201,11 +201,13 @@ namespace DeviceLibrary
}
public static void PutReelInFixPos(ReelParam reelParam)
{
ConfigHelper.Config.Set(Setting_Init.FixBuffInfo, JsonHelper.SerializeObject(reelParam));
string buff= JsonHelper.SerializeObject(reelParam);
Setting_Init.FixBuffInfo=buff;
LogUtil.info(buff);
}
public static void ClearReelInFixPos()
{
ConfigHelper.Config.Set(Setting_Init.FixBuffInfo, "");
Setting_Init.FixBuffInfo = "";
}
#endregion
}
......
......@@ -50,7 +50,8 @@ namespace TheMachine
this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 1, 4);
this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5);
this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel.Location = new System.Drawing.Point(9, 8);
this.tableLayoutPanel.Location = new System.Drawing.Point(21, 18);
this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(7, 7, 7, 7);
this.tableLayoutPanel.Name = "tableLayoutPanel";
this.tableLayoutPanel.RowCount = 6;
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
......@@ -59,17 +60,17 @@ namespace TheMachine
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
this.tableLayoutPanel.Size = new System.Drawing.Size(417, 245);
this.tableLayoutPanel.Size = new System.Drawing.Size(973, 551);
this.tableLayoutPanel.TabIndex = 0;
//
// labelProductName
//
this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelProductName.Location = new System.Drawing.Point(60, 0);
this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 16);
this.labelProductName.Location = new System.Drawing.Point(140, 0);
this.labelProductName.Margin = new System.Windows.Forms.Padding(14, 0, 7, 0);
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 36);
this.labelProductName.Name = "labelProductName";
this.labelProductName.Size = new System.Drawing.Size(354, 16);
this.labelProductName.Size = new System.Drawing.Size(826, 36);
this.labelProductName.TabIndex = 19;
this.labelProductName.Tag = "not";
this.labelProductName.Text = "产品名称";
......@@ -78,11 +79,11 @@ namespace TheMachine
// labelVersion
//
this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelVersion.Location = new System.Drawing.Point(60, 24);
this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 16);
this.labelVersion.Location = new System.Drawing.Point(140, 55);
this.labelVersion.Margin = new System.Windows.Forms.Padding(14, 0, 7, 0);
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 36);
this.labelVersion.Name = "labelVersion";
this.labelVersion.Size = new System.Drawing.Size(354, 16);
this.labelVersion.Size = new System.Drawing.Size(826, 36);
this.labelVersion.TabIndex = 0;
this.labelVersion.Tag = "not";
this.labelVersion.Text = "版本";
......@@ -92,11 +93,11 @@ namespace TheMachine
// labelCopyright
//
this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelCopyright.Location = new System.Drawing.Point(60, 48);
this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 16);
this.labelCopyright.Location = new System.Drawing.Point(140, 110);
this.labelCopyright.Margin = new System.Windows.Forms.Padding(14, 0, 7, 0);
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 36);
this.labelCopyright.Name = "labelCopyright";
this.labelCopyright.Size = new System.Drawing.Size(354, 16);
this.labelCopyright.Size = new System.Drawing.Size(826, 36);
this.labelCopyright.TabIndex = 21;
this.labelCopyright.Tag = "not";
this.labelCopyright.Text = "版权";
......@@ -105,11 +106,11 @@ namespace TheMachine
// labelCompanyName
//
this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelCompanyName.Location = new System.Drawing.Point(60, 72);
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 16);
this.labelCompanyName.Location = new System.Drawing.Point(140, 165);
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(14, 0, 7, 0);
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 36);
this.labelCompanyName.Name = "labelCompanyName";
this.labelCompanyName.Size = new System.Drawing.Size(354, 16);
this.labelCompanyName.Size = new System.Drawing.Size(826, 36);
this.labelCompanyName.TabIndex = 22;
this.labelCompanyName.Text = "公司名称";
this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
......@@ -117,13 +118,13 @@ namespace TheMachine
// textBoxDescription
//
this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBoxDescription.Location = new System.Drawing.Point(60, 99);
this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
this.textBoxDescription.Location = new System.Drawing.Point(140, 227);
this.textBoxDescription.Margin = new System.Windows.Forms.Padding(14, 7, 7, 7);
this.textBoxDescription.Multiline = true;
this.textBoxDescription.Name = "textBoxDescription";
this.textBoxDescription.ReadOnly = true;
this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.textBoxDescription.Size = new System.Drawing.Size(354, 116);
this.textBoxDescription.Size = new System.Drawing.Size(826, 261);
this.textBoxDescription.TabIndex = 23;
this.textBoxDescription.TabStop = false;
this.textBoxDescription.Tag = "not";
......@@ -133,9 +134,10 @@ namespace TheMachine
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.okButton.Location = new System.Drawing.Point(339, 222);
this.okButton.Location = new System.Drawing.Point(791, 502);
this.okButton.Margin = new System.Windows.Forms.Padding(7, 7, 7, 7);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(75, 20);
this.okButton.Size = new System.Drawing.Size(175, 42);
this.okButton.TabIndex = 24;
this.okButton.Text = "确定";
this.okButton.Click += new System.EventHandler(this.okButton_Click);
......@@ -143,15 +145,16 @@ namespace TheMachine
// AboutBox1
//
this.AcceptButton = this.okButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 27F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(435, 261);
this.ClientSize = new System.Drawing.Size(1015, 587);
this.Controls.Add(this.tableLayoutPanel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Margin = new System.Windows.Forms.Padding(7, 7, 7, 7);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "AboutBox1";
this.Padding = new System.Windows.Forms.Padding(9, 8, 9, 8);
this.Padding = new System.Windows.Forms.Padding(21, 18, 21, 18);
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
......
......@@ -3,7 +3,9 @@ using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
......@@ -53,7 +55,11 @@ namespace TheMachine
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
Process current = Process.GetCurrentProcess();
FileInfo fileInfo = new FileInfo(current.MainModule.FileName);
DateTime dateTime = fileInfo.LastWriteTime;
string version = $"{dateTime.Year % 10}.{dateTime.Month}.{dateTime.Day.ToString("00")}{dateTime.Hour.ToString("00")}";
return version;
}
}
......
......@@ -41,10 +41,12 @@ namespace TheMachine
this.uC_LedConfig1 = new TheMachine.UC.UC_LedConfig();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage_set = new System.Windows.Forms.TabPage();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.uC_SetUserPassword1 = new TheMachine.UC_SetUserPassword();
this.tabPage_ledtower = new System.Windows.Forms.TabPage();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.fixtureSizeConfigControl1 = new DeviceLibrary.FixtureSizeConfigControl();
this.uC_SetUserPassword1 = new TheMachine.UC_SetUserPassword();
this.tp.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage_set.SuspendLayout();
......@@ -56,10 +58,10 @@ namespace TheMachine
//
this.chbAutoRun.AutoSize = true;
this.tp.SetColumnSpan(this.chbAutoRun, 2);
this.chbAutoRun.Location = new System.Drawing.Point(10, 166);
this.chbAutoRun.Location = new System.Drawing.Point(10, 169);
this.chbAutoRun.Margin = new System.Windows.Forms.Padding(10);
this.chbAutoRun.Name = "chbAutoRun";
this.chbAutoRun.Size = new System.Drawing.Size(84, 16);
this.chbAutoRun.Size = new System.Drawing.Size(94, 17);
this.chbAutoRun.TabIndex = 1;
this.chbAutoRun.Text = "开机自启动";
this.chbAutoRun.UseVisualStyleBackColor = true;
......@@ -68,7 +70,7 @@ namespace TheMachine
//
this.cb_tempsensorport.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_tempsensorport.FormattingEnabled = true;
this.cb_tempsensorport.Location = new System.Drawing.Point(139, 6);
this.cb_tempsensorport.Location = new System.Drawing.Point(144, 6);
this.cb_tempsensorport.Margin = new System.Windows.Forms.Padding(6);
this.cb_tempsensorport.Name = "cb_tempsensorport";
this.cb_tempsensorport.Size = new System.Drawing.Size(121, 20);
......@@ -82,7 +84,7 @@ namespace TheMachine
this.label_tempsensor.Location = new System.Drawing.Point(10, 10);
this.label_tempsensor.Margin = new System.Windows.Forms.Padding(10);
this.label_tempsensor.Name = "label_tempsensor";
this.label_tempsensor.Size = new System.Drawing.Size(107, 12);
this.label_tempsensor.Size = new System.Drawing.Size(118, 13);
this.label_tempsensor.TabIndex = 3;
this.label_tempsensor.Text = "温湿度控制器端口:";
this.label_tempsensor.TextAlign = System.Drawing.ContentAlignment.TopRight;
......@@ -90,7 +92,7 @@ namespace TheMachine
// button_positiontool
//
this.tp.SetColumnSpan(this.button_positiontool, 2);
this.button_positiontool.Location = new System.Drawing.Point(10, 74);
this.button_positiontool.Location = new System.Drawing.Point(10, 76);
this.button_positiontool.Margin = new System.Windows.Forms.Padding(10);
this.button_positiontool.Name = "button_positiontool";
this.button_positiontool.Size = new System.Drawing.Size(181, 36);
......@@ -103,10 +105,10 @@ namespace TheMachine
//
this.lbl_hmdstate.AutoSize = true;
this.tp.SetColumnSpan(this.lbl_hmdstate, 2);
this.lbl_hmdstate.Location = new System.Drawing.Point(10, 42);
this.lbl_hmdstate.Location = new System.Drawing.Point(10, 43);
this.lbl_hmdstate.Margin = new System.Windows.Forms.Padding(10);
this.lbl_hmdstate.Name = "lbl_hmdstate";
this.lbl_hmdstate.Size = new System.Drawing.Size(53, 12);
this.lbl_hmdstate.Size = new System.Drawing.Size(59, 13);
this.lbl_hmdstate.TabIndex = 5;
this.lbl_hmdstate.Tag = "not";
this.lbl_hmdstate.Text = "当前状态";
......@@ -141,17 +143,17 @@ namespace TheMachine
this.tp.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tp.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tp.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tp.Size = new System.Drawing.Size(266, 192);
this.tp.Size = new System.Drawing.Size(276, 196);
this.tp.TabIndex = 6;
//
// cb_usefixpos
//
this.cb_usefixpos.AutoSize = true;
this.tp.SetColumnSpan(this.cb_usefixpos, 2);
this.cb_usefixpos.Location = new System.Drawing.Point(10, 130);
this.cb_usefixpos.Location = new System.Drawing.Point(10, 132);
this.cb_usefixpos.Margin = new System.Windows.Forms.Padding(10);
this.cb_usefixpos.Name = "cb_usefixpos";
this.cb_usefixpos.Size = new System.Drawing.Size(96, 16);
this.cb_usefixpos.Size = new System.Drawing.Size(107, 17);
this.cb_usefixpos.TabIndex = 6;
this.cb_usefixpos.Text = "启用校准库位";
this.cb_usefixpos.UseVisualStyleBackColor = true;
......@@ -180,6 +182,8 @@ namespace TheMachine
//
// tabPage_set
//
this.tabPage_set.Controls.Add(this.button2);
this.tabPage_set.Controls.Add(this.button1);
this.tabPage_set.Controls.Add(this.uC_SetUserPassword1);
this.tabPage_set.Controls.Add(this.tp);
this.tabPage_set.Location = new System.Drawing.Point(4, 22);
......@@ -190,6 +194,35 @@ namespace TheMachine
this.tabPage_set.Text = "常规设置";
this.tabPage_set.UseVisualStyleBackColor = true;
//
// button2
//
this.button2.Location = new System.Drawing.Point(53, 365);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(156, 59);
this.button2.TabIndex = 9;
this.button2.Text = "Stop Recording";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(53, 270);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(156, 59);
this.button1.TabIndex = 8;
this.button1.Text = "Start Recording";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click_2);
//
// uC_SetUserPassword1
//
this.uC_SetUserPassword1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uC_SetUserPassword1.Location = new System.Drawing.Point(335, 8);
this.uC_SetUserPassword1.Margin = new System.Windows.Forms.Padding(5);
this.uC_SetUserPassword1.Name = "uC_SetUserPassword1";
this.uC_SetUserPassword1.Size = new System.Drawing.Size(533, 596);
this.uC_SetUserPassword1.TabIndex = 7;
//
// tabPage_ledtower
//
this.tabPage_ledtower.Controls.Add(this.uC_LedConfig1);
......@@ -220,15 +253,6 @@ namespace TheMachine
this.fixtureSizeConfigControl1.Size = new System.Drawing.Size(1010, 708);
this.fixtureSizeConfigControl1.TabIndex = 0;
//
// uC_SetUserPassword1
//
this.uC_SetUserPassword1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uC_SetUserPassword1.Location = new System.Drawing.Point(335, 8);
this.uC_SetUserPassword1.Margin = new System.Windows.Forms.Padding(5);
this.uC_SetUserPassword1.Name = "uC_SetUserPassword1";
this.uC_SetUserPassword1.Size = new System.Drawing.Size(533, 596);
this.uC_SetUserPassword1.TabIndex = 7;
//
// SettingControl
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
......@@ -263,5 +287,7 @@ namespace TheMachine
private System.Windows.Forms.TabPage tabPage1;
private DeviceLibrary.FixtureSizeConfigControl fixtureSizeConfigControl1;
private UC_SetUserPassword uC_SetUserPassword1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button1;
}
}
......@@ -120,9 +120,14 @@ namespace TheMachine
lbl_hmdstate.Text += $"{crc.GetString(L.temperature, "温度")}:{t.Temperate}℃, {crc.GetString(L.humidity, "湿度")}:{t.Humidity}%";
}
private void button1_Click_1(object sender, EventArgs e)
private void button1_Click_2(object sender, EventArgs e)
{
DeviceLibrary.IPCameraHelper.StartRecord("manual");
}
private void button2_Click(object sender, EventArgs e)
{
DeviceLibrary.IPCameraHelper.StopRecord();
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!