台州海关TD3600上线版本
This commit is contained in:
292
JJMediSys/SensorStatus.cs
Normal file
292
JJMediSys/SensorStatus.cs
Normal file
@@ -0,0 +1,292 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using static JJMediSys.AlertForm;
|
||||
using static JJMediSys.SystemSet;
|
||||
using static JJMediSys.TubeLabelTool;
|
||||
|
||||
namespace JJMediSys
|
||||
{
|
||||
public partial class SensorStatus : Form
|
||||
{
|
||||
SystemSet fm1;
|
||||
//public SensorStatus(SystemSet form1)
|
||||
//{
|
||||
// InitializeComponent();
|
||||
// fm1 = form1;
|
||||
//}
|
||||
public SensorStatus()
|
||||
{
|
||||
InitializeComponent();
|
||||
fm1 = SystemSet.systemSet;
|
||||
}
|
||||
|
||||
private void label30_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void label48_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void SensorStatus_Load(object sender, EventArgs e)
|
||||
{
|
||||
PreseData();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
fm1.GetDeviceStatus();
|
||||
PreseData();
|
||||
}
|
||||
|
||||
public void PreseData()
|
||||
{
|
||||
try
|
||||
{
|
||||
DEVSTATUS dEVSTATUS = new DEVSTATUS();
|
||||
dEVSTATUS = SystemSet.mTubeLabelTool.stat;
|
||||
LabCommand.Text = dEVSTATUS.Command.ToString("X2");
|
||||
LabTubeState.Text = dEVSTATUS.TubeState.ToString("X2");
|
||||
LabPrintState.Text = dEVSTATUS.PrintState.ToString("X2");
|
||||
LabStickState.Text = dEVSTATUS.StickState.ToString("X2");
|
||||
LabBackPrintState.Text = dEVSTATUS.BackPrintState.ToString("X2");
|
||||
LabTubeBugCode.Text = dEVSTATUS.TubeBugCode.ToString("X2");
|
||||
LabPrintBugCode.Text = dEVSTATUS.PrintBugCode.ToString("X2");
|
||||
LabStickBugCode.Text = dEVSTATUS.StickBugCode.ToString("X2");
|
||||
LabBackPrintBugCode.Text = dEVSTATUS.BackPrintBugCode.ToString("X2");
|
||||
LabCarCommand.Text = dEVSTATUS.CarCommand.ToString("X2");
|
||||
LabCarUnitState.Text = dEVSTATUS.CarUnitState.ToString("X2");
|
||||
LabCarMotorState.Text = dEVSTATUS.CarMotorState.ToString("X2");
|
||||
LabCarOriginalSensor.Text = dEVSTATUS.CarOriginalSensor.ToString("X2");
|
||||
LabCarPositionSensor.Text = dEVSTATUS.CarPositionSensor.ToString("X2");
|
||||
LabPreSaveTubeSensor.Text = BitConverter.ToString(dEVSTATUS.PreSaveTubeSensor).Replace("-", " ");
|
||||
LabCarLeftSensor.Text = dEVSTATUS.CarLeftSensor.ToString("X2");
|
||||
LabCarMidSensor.Text = dEVSTATUS.CarMidSensor.ToString("X2");
|
||||
LabCarRightSensor.Text = dEVSTATUS.CarRightSensor.ToString("X2");
|
||||
LabFrontMagSensor.Text = BitConverter.ToString(dEVSTATUS.FrontMagSensor).Replace("-", " ");
|
||||
LabRearMagSensor.Text = BitConverter.ToString(dEVSTATUS.RearMagSensor).Replace("-", " ");
|
||||
LabStickCommand.Text = dEVSTATUS.StickCommand.ToString("X2");
|
||||
LabStickUnitState.Text = dEVSTATUS.StickUnitState.ToString("X2");
|
||||
LabRotateMotorState.Text = dEVSTATUS.RotateMotorState.ToString("X2");
|
||||
LabLeftWallMotorState.Text = dEVSTATUS.LeftWallMotorState.ToString("X2");
|
||||
LabRightWallMotorState.Text = dEVSTATUS.RightWallMotorState.ToString("X2");
|
||||
LabLiftMotorState.Text = dEVSTATUS.LiftMotorState.ToString("X2");
|
||||
LabLeftWallSensor.Text = dEVSTATUS.LeftWallSensor.ToString("X2");
|
||||
LabRightWallSensor.Text = dEVSTATUS.RightWallSensor.ToString("X2");
|
||||
LabLiftSensor.Text = dEVSTATUS.LiftSensor.ToString("X2");
|
||||
//LabStickLeftTubeSensor.Text = dEVSTATUS.StickLeftTubeSensor.ToString("X2");
|
||||
LabStickLeftTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickLeftTubeSensor).Replace("-", " ");
|
||||
//LabStickRightTubeSensor.Text = dEVSTATUS.StickRightTubeSensor.ToString("X2");
|
||||
LabStickRightTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickRightTubeSensor).Replace("-", " ");
|
||||
// LabStickUpTubeSensor.Text = dEVSTATUS.StickUpTubeSensor.ToString("X2");
|
||||
LabStickUpTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickUpTubeSensor).Replace("-", " ");
|
||||
//LabStickDownTubeSensor.Text = dEVSTATUS.StickDownTubeSensor.ToString("X2");
|
||||
LabStickDownTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickDownTubeSensor).Replace("-", " ");
|
||||
LabPrintCommand.Text = dEVSTATUS.PrintCommand.ToString("X2");
|
||||
LabPrintUnitState.Text = dEVSTATUS.PrintUnitState.ToString("X2");
|
||||
LabCarryMotorState.Text = dEVSTATUS.CarryMotorState.ToString("X2");
|
||||
LabRollMotorState.Text = dEVSTATUS.RollMotorState.ToString("X2");
|
||||
LabPaperGapSensor.Text = dEVSTATUS.PaperGapSensor.ToString("X2");
|
||||
LabPaperLessSensor.Text = dEVSTATUS.PaperLessSensor.ToString("X2");
|
||||
LabPrintTemperatureSensor.Text = dEVSTATUS.PrintTemperatureSensor.ToString("X2");
|
||||
LabBackPrintCommand.Text = dEVSTATUS.BackPrintCommand.ToString("X2");
|
||||
LabBackPrintUnitState.Text = dEVSTATUS.BackPrintUnitState.ToString("X2");
|
||||
LabBackPaperGapSensor.Text = dEVSTATUS.BackPaperGapSensor.ToString("X2");
|
||||
LabBackPaperLessSensor.Text = dEVSTATUS.BackPaperLessSensor.ToString("X2");
|
||||
LabBackPrintTemperatureSensor.Text = dEVSTATUS.BackPrintTemperatureSensor.ToString("X2");
|
||||
LabTubeTakeBoxSensorState.Text = dEVSTATUS.TubeTakeBoxSensorState.ToString("X2");
|
||||
LabSensorlnit.Text = dEVSTATUS.Sensorlnit.ToString("X2");
|
||||
LabParameterSet.Text = dEVSTATUS.ParameterSet.ToString("X2");
|
||||
LabTubeTakeBoxColorState.Text = dEVSTATUS.TubeTakeBoxColorState.ToString("X2");
|
||||
LabBackUp.Text = BitConverter.ToString(dEVSTATUS.BackUp).Replace("-", " ");
|
||||
PreseStatus(dEVSTATUS);
|
||||
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void PreseStatus(DEVSTATUS dEVSTATUS)
|
||||
{
|
||||
|
||||
StatusDetail statusDetail = new StatusDetail();
|
||||
statusDetail.TubeStat = new byte[7] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
statusDetail.BackUpSensorStat = new byte[8] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
statusDetail.TubeCar = fm1.TransCodemain(dEVSTATUS.TubeState.ToString("X2"));
|
||||
statusDetail.MainPrinter = fm1.TransCodemain(dEVSTATUS.PrintState.ToString("X2"));
|
||||
statusDetail.SecPrinter = fm1.TransCodemain(dEVSTATUS.BackPrintState.ToString("X2"));
|
||||
statusDetail.Stick = fm1.TransCodemain(dEVSTATUS.StickState.ToString("X2"));
|
||||
|
||||
statusDetail.TubeCarErrorCode = dEVSTATUS.TubeBugCode.ToString("X2");
|
||||
statusDetail.MainPrinterErrorCode = dEVSTATUS.PrintBugCode.ToString("X2");
|
||||
statusDetail.SecPrinterErrorCode = dEVSTATUS.BackPrintBugCode.ToString("X2");
|
||||
statusDetail.StickErrorCode = dEVSTATUS.StickBugCode.ToString("X2");
|
||||
|
||||
statusDetail.MainPrintPaper = dEVSTATUS.PaperLessSensor.ToString("X2") == "00" ? 0 : 1;
|
||||
statusDetail.SecPrintPaper = dEVSTATUS.BackPaperLessSensor.ToString("X2") == "00" ? 0 : 1;
|
||||
|
||||
statusDetail.MainPrintHeard = dEVSTATUS.PrintUnitState.ToString("X2") == "01" ? 0 : 2;
|
||||
statusDetail.SecPrintHeard = dEVSTATUS.BackPrintUnitState.ToString("X2") == "01" ? 0 : 2;
|
||||
|
||||
|
||||
string ErrorInfo = "";
|
||||
if (statusDetail.TubeCar == 1)
|
||||
ErrorInfo = ErrorInfo + "选管单元忙\r\n";
|
||||
else if (statusDetail.TubeCar == 2)
|
||||
ErrorInfo = ErrorInfo + "选管单元故障\r\n";
|
||||
|
||||
if (statusDetail.MainPrinter == 1)
|
||||
ErrorInfo = ErrorInfo + "主打印单元忙\r\n";
|
||||
else if (statusDetail.MainPrinter == 2)
|
||||
ErrorInfo = ErrorInfo + "主打印单元故障\r\n";
|
||||
|
||||
if (statusDetail.MainPrintHeard == 2)
|
||||
ErrorInfo = ErrorInfo + "主打印单元,打印头未到位\r\n";
|
||||
|
||||
if (statusDetail.MainPrintPaper == 1)
|
||||
ErrorInfo = ErrorInfo + "主打印单元,标签纸即将用完\r\n";
|
||||
|
||||
if (statusDetail.SecPrinter == 1)
|
||||
ErrorInfo = ErrorInfo + "副打印单元忙\r\n";
|
||||
else if (statusDetail.SecPrinter == 2)
|
||||
ErrorInfo = ErrorInfo + "副打印单元故障\r\n";
|
||||
if (statusDetail.SecPrintHeard == 2)
|
||||
ErrorInfo = ErrorInfo + "副打印单元,打印头未到位\r\n";
|
||||
if (statusDetail.SecPrintPaper == 1)
|
||||
ErrorInfo = ErrorInfo + "副打印单元,标签纸即将用完\r\n";
|
||||
|
||||
if (statusDetail.Stick == 1)
|
||||
ErrorInfo = ErrorInfo + "贴标单元忙\r\n";
|
||||
else if (statusDetail.Stick == 2)
|
||||
ErrorInfo = ErrorInfo + "贴标单元故障\r\n";
|
||||
ErrorInfo = ErrorInfo + fm1.TranErrorCode("Car", statusDetail.TubeCarErrorCode);
|
||||
ErrorInfo = ErrorInfo + fm1.TranErrorCode("MPrinter", statusDetail.MainPrinterErrorCode);
|
||||
ErrorInfo = ErrorInfo + fm1.TranErrorCode("SPrinter", statusDetail.SecPrinterErrorCode);
|
||||
ErrorInfo = ErrorInfo + fm1.TranErrorCode("Stick", statusDetail.StickErrorCode);
|
||||
Buffer.BlockCopy(dEVSTATUS.PreSaveTubeSensor, 0, statusDetail.TubeStat, 0, 7);
|
||||
if (statusDetail.TubeStat[0] == 0x00) { ErrorInfo = ErrorInfo + "1号管箱没有预存试管\r\n"; }
|
||||
if (statusDetail.TubeStat[1] == 0x00) { ErrorInfo = ErrorInfo + "2号管箱没有预存试管\r\n"; }
|
||||
if (statusDetail.TubeStat[2] == 0x00) { ErrorInfo = ErrorInfo + "3号管箱没有预存试管\r\n"; }
|
||||
if (statusDetail.TubeStat[3] == 0x00) { ErrorInfo = ErrorInfo + "4号管箱没有预存试管\r\n"; }
|
||||
if (statusDetail.TubeStat[4] == 0x00) { ErrorInfo = ErrorInfo + "5号管箱没有预存试管\r\n"; }
|
||||
if (statusDetail.TubeStat[5] == 0x00) { ErrorInfo = ErrorInfo + "6号管箱没有预存试管\r\n"; }
|
||||
if (statusDetail.TubeStat[6] == 0x00) { ErrorInfo = ErrorInfo + "7号管箱没有预存试管\r\n"; }
|
||||
Buffer.BlockCopy(dEVSTATUS.BackUp, 0, statusDetail.BackUpSensorStat, 0, 8);
|
||||
if (statusDetail.BackUpSensorStat[2] == 0x01)
|
||||
{
|
||||
ErrorInfo = ErrorInfo + "试管仓仓门打开\r\n";
|
||||
}
|
||||
if (statusDetail.BackUpSensorStat[3] == 0x01)
|
||||
{
|
||||
ErrorInfo = ErrorInfo + "标签打印仓门打开\r\n";
|
||||
}
|
||||
|
||||
textErrorInfo.Text = ErrorInfo;
|
||||
}
|
||||
|
||||
private void uiButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
fm1.GetDeviceStatus();
|
||||
PreseData();
|
||||
}
|
||||
|
||||
private void uiButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
string Input = TextStatStr.Text;
|
||||
string[] hexValuesSplit = Input.Split(' ');
|
||||
byte[] byteArray = new byte[hexValuesSplit.Length];
|
||||
if (byteArray.Length != 74)
|
||||
{
|
||||
AlertForm.ShowAlert("数据非法 无法解析", AlertType.Error, 3);
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < hexValuesSplit.Length; i++)
|
||||
{
|
||||
byteArray[i] = Convert.ToByte(hexValuesSplit[i], 16);
|
||||
}
|
||||
IntPtr ptr = Marshal.AllocHGlobal(100);//分配非托管内存空间
|
||||
Marshal.Copy(byteArray, 3, ptr, byteArray.Length - 4);//将数组数组拷贝到非托管内存指针
|
||||
DEVSTATUS dEVSTATUS = (DEVSTATUS)Marshal.PtrToStructure(ptr, typeof(DEVSTATUS));
|
||||
Marshal.FreeHGlobal(ptr);//释放内存
|
||||
|
||||
LabCommand.Text = dEVSTATUS.Command.ToString("X2");
|
||||
LabTubeState.Text = dEVSTATUS.TubeState.ToString("X2");
|
||||
LabPrintState.Text = dEVSTATUS.PrintState.ToString("X2");
|
||||
LabStickState.Text = dEVSTATUS.StickState.ToString("X2");
|
||||
LabBackPrintState.Text = dEVSTATUS.BackPrintState.ToString("X2");
|
||||
LabTubeBugCode.Text = dEVSTATUS.TubeBugCode.ToString("X2");
|
||||
LabPrintBugCode.Text = dEVSTATUS.PrintBugCode.ToString("X2");
|
||||
LabStickBugCode.Text = dEVSTATUS.StickBugCode.ToString("X2");
|
||||
LabBackPrintBugCode.Text = dEVSTATUS.BackPrintBugCode.ToString("X2");
|
||||
LabCarCommand.Text = dEVSTATUS.CarCommand.ToString("X2");
|
||||
LabCarUnitState.Text = dEVSTATUS.CarUnitState.ToString("X2");
|
||||
LabCarMotorState.Text = dEVSTATUS.CarMotorState.ToString("X2");
|
||||
LabCarOriginalSensor.Text = dEVSTATUS.CarOriginalSensor.ToString("X2");
|
||||
LabCarPositionSensor.Text = dEVSTATUS.CarPositionSensor.ToString("X2");
|
||||
LabPreSaveTubeSensor.Text = BitConverter.ToString(dEVSTATUS.PreSaveTubeSensor).Replace("-", " ");
|
||||
LabCarLeftSensor.Text = dEVSTATUS.CarLeftSensor.ToString("X2");
|
||||
LabCarMidSensor.Text = dEVSTATUS.CarMidSensor.ToString("X2");
|
||||
LabCarRightSensor.Text = dEVSTATUS.CarRightSensor.ToString("X2");
|
||||
LabFrontMagSensor.Text = BitConverter.ToString(dEVSTATUS.FrontMagSensor).Replace("-", " ");
|
||||
LabRearMagSensor.Text = BitConverter.ToString(dEVSTATUS.RearMagSensor).Replace("-", " ");
|
||||
LabStickCommand.Text = dEVSTATUS.StickCommand.ToString("X2");
|
||||
LabStickUnitState.Text = dEVSTATUS.StickUnitState.ToString("X2");
|
||||
LabRotateMotorState.Text = dEVSTATUS.RotateMotorState.ToString("X2");
|
||||
LabLeftWallMotorState.Text = dEVSTATUS.LeftWallMotorState.ToString("X2");
|
||||
LabRightWallMotorState.Text = dEVSTATUS.RightWallMotorState.ToString("X2");
|
||||
LabLiftMotorState.Text = dEVSTATUS.LiftMotorState.ToString("X2");
|
||||
LabLeftWallSensor.Text = dEVSTATUS.LeftWallSensor.ToString("X2");
|
||||
LabRightWallSensor.Text = dEVSTATUS.RightWallSensor.ToString("X2");
|
||||
LabLiftSensor.Text = dEVSTATUS.LiftSensor.ToString("X2");
|
||||
//LabStickLeftTubeSensor.Text = dEVSTATUS.StickLeftTubeSensor.ToString("X2");
|
||||
LabStickLeftTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickLeftTubeSensor).Replace("-", " ");
|
||||
//LabStickRightTubeSensor.Text = dEVSTATUS.StickRightTubeSensor.ToString("X2");
|
||||
LabStickRightTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickRightTubeSensor).Replace("-", " ");
|
||||
// LabStickUpTubeSensor.Text = dEVSTATUS.StickUpTubeSensor.ToString("X2");
|
||||
LabStickUpTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickUpTubeSensor).Replace("-", " ");
|
||||
//LabStickDownTubeSensor.Text = dEVSTATUS.StickDownTubeSensor.ToString("X2");
|
||||
LabStickDownTubeSensor.Text = BitConverter.ToString(dEVSTATUS.StickDownTubeSensor).Replace("-", " ");
|
||||
LabPrintCommand.Text = dEVSTATUS.PrintCommand.ToString("X2");
|
||||
LabPrintUnitState.Text = dEVSTATUS.PrintUnitState.ToString("X2");
|
||||
LabCarryMotorState.Text = dEVSTATUS.CarryMotorState.ToString("X2");
|
||||
LabRollMotorState.Text = dEVSTATUS.RollMotorState.ToString("X2");
|
||||
LabPaperGapSensor.Text = dEVSTATUS.PaperGapSensor.ToString("X2");
|
||||
LabPaperLessSensor.Text = dEVSTATUS.PaperLessSensor.ToString("X2");
|
||||
LabPrintTemperatureSensor.Text = dEVSTATUS.PrintTemperatureSensor.ToString("X2");
|
||||
LabBackPrintCommand.Text = dEVSTATUS.BackPrintCommand.ToString("X2");
|
||||
LabBackPrintUnitState.Text = dEVSTATUS.BackPrintUnitState.ToString("X2");
|
||||
LabBackPaperGapSensor.Text = dEVSTATUS.BackPaperGapSensor.ToString("X2");
|
||||
LabBackPaperLessSensor.Text = dEVSTATUS.BackPaperLessSensor.ToString("X2");
|
||||
LabBackPrintTemperatureSensor.Text = dEVSTATUS.BackPrintTemperatureSensor.ToString("X2");
|
||||
LabTubeTakeBoxSensorState.Text = dEVSTATUS.TubeTakeBoxSensorState.ToString("X2");
|
||||
LabSensorlnit.Text = dEVSTATUS.Sensorlnit.ToString("X2");
|
||||
LabParameterSet.Text = dEVSTATUS.ParameterSet.ToString("X2");
|
||||
LabTubeTakeBoxColorState.Text = dEVSTATUS.TubeTakeBoxColorState.ToString("X2");
|
||||
LabBackUp.Text = BitConverter.ToString(dEVSTATUS.BackUp).Replace("-", " ");
|
||||
PreseStatus(dEVSTATUS);
|
||||
}
|
||||
|
||||
private void PClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user