Commit 122c4d64 renym1968

增加轴四,自动上料轴的配置数据

1 个父辈 7cc71f8b
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<HintPath>..\..\dll\CodeLibrary.dll</HintPath> <HintPath>..\..\dll\CodeLibrary.dll</HintPath>
</Reference> </Reference>
<Reference Include="halcondotnet"> <Reference Include="halcondotnet">
<HintPath>C:\Program Files\MVTec\HALCON-12.0\bin\dotnet35\halcondotnet.dll</HintPath> <HintPath>..\..\dll\halcondotnet.dll</HintPath>
</Reference> </Reference>
<Reference Include="log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
......
...@@ -42,6 +42,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -42,6 +42,16 @@ namespace OnlineStore.DeviceLibrary
/// 1020h Save all parameters - 0 - 4294967295 2 R/W 参数写入 EEPROM 写入“6173h”后,实行 EEPROM 写入 /// 1020h Save all parameters - 0 - 4294967295 2 R/W 参数写入 EEPROM 写入“6173h”后,实行 EEPROM 写入
/// </summary> /// </summary>
public static string EEPROM_Param_Addr = "1020"; public static string EEPROM_Param_Addr = "1020";
///add 2018-11-23 by renym
/// <summary>
/// 0022h 负方向驱动禁止输入(NOT) ReadOnly 0: 输入 OFF、 1: 输入 ON
/// </summary>
public static string NOT_Addr = "0022";
/// <summary>
/// 0023h 正方向驱动禁止输入(POT) ReadOnly 0: 输入 OFF、 1: 输入 ON
/// </summary>
public static string POT_Addr = "0023";
/// <summary> /// <summary>
/// 目标位置=600B /// 目标位置=600B
/// </summary> /// </summary>
......
...@@ -292,7 +292,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -292,7 +292,9 @@ namespace OnlineStore.DeviceLibrary
OpenAndCloseSTB(portName, slvAddr); OpenAndCloseSTB(portName, slvAddr);
} }
public static void HomeMove(string portName, int slvAddr, int speed) public static void HomeMove
(string portName, int slvAddr, int speed)
{ {
//默认负方向原点返回 //默认负方向原点返回
//byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_HomeMove1, 2); //byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_HomeMove1, 2);
......
...@@ -208,9 +208,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -208,9 +208,9 @@ namespace OnlineStore.DeviceLibrary
if (data == null) if (data == null)
{ {
return; return;
} }
byte[] returnData = SendCommand(portName, data, 50, 8); byte[] returnData = SendCommand(portName, data, 50, 8);
if (returnData != null) if (returnData!=null)
{ {
string strSend = ""; string strSend = "";
for (int i = 0; i < returnData.Length; i++) for (int i = 0; i < returnData.Length; i++)
...@@ -231,10 +231,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -231,10 +231,6 @@ namespace OnlineStore.DeviceLibrary
/// <returns>返回值的长度</returns> /// <returns>返回值的长度</returns>
public static byte[] SendCommand(string portName, byte[] data, int outTime, int reviceLength) public static byte[] SendCommand(string portName, byte[] data, int outTime, int reviceLength)
{ {
if (outTime > 80)
{
outTime = 80;
}
byte[] returnData = null; byte[] returnData = null;
try try
...@@ -495,6 +491,24 @@ namespace OnlineStore.DeviceLibrary ...@@ -495,6 +491,24 @@ namespace OnlineStore.DeviceLibrary
byte[] reviceData = SendCommand(portName, dataArray, 100, 6); byte[] reviceData = SendCommand(portName, dataArray, 100, 6);
return GetCoilData(portName, reviceData, ACCMDManager.Home_Single); return GetCoilData(portName, reviceData, ACCMDManager.Home_Single);
} }
//add by Renym 2018-11-23
// Read NOT 负方向驱动禁止输入(NOT) ReadOnly 0: 输入 OFF、 1: 输入 ON
public static int GetNotStatus(string portName, int slvAddr)
{
PreReadCoilAddr = ACCMDManager.NOT_Addr;
byte[] dataArray = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_ReadCoil, ACCMDManager.NOT_Addr, "0000", 1);
byte[] reviceData = SendCommand(portName, dataArray, 100, 6);
return GetCoilData(portName, reviceData, ACCMDManager.NOT_Addr);
}
// Read 正方向驱动禁止输入(POT)
public static int GetPotStatus(string portName, int slvAddr)
{
PreReadCoilAddr = ACCMDManager.POT_Addr;
byte[] dataArray = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_ReadCoil, ACCMDManager.POT_Addr, "0000", 1);
byte[] reviceData = SendCommand(portName, dataArray, 100, 6);
return GetCoilData(portName, reviceData, ACCMDManager.POT_Addr);
}
} }
/// <summary> /// <summary>
......
...@@ -115,7 +115,25 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -115,7 +115,25 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_DelSpeed")] [ConfigProAttribute("InoutAxis_DelSpeed")]
public short InoutAxis_DelSpeed { get; set; } public short InoutAxis_DelSpeed { get; set; }
#region
/// add by renym 2018-11-22
/// <summary>
/// PRO (轴四)进料轴轴原点目标速度 ChargingAxis_TargetSpeed 120000
/// </summary>
[ConfigProAttribute("ChargingAxis_TargetSpeed", false)]
public int ChargingAxis_TargetSpeed { get; set; }
/// <summary>
/// PRO (轴四)进料轴轴加速度 ChargingAxis_AddSpeed 200
/// </summary>
[ConfigProAttribute("ChargingAxis_AddSpeed", false)]
public short ChargingAxis_AddSpeed { get; set; }
/// <summary>
/// PRO (轴四)进料轴轴减速度 ChargingAxis_DelSpeed 200
/// </summary>
[ConfigProAttribute("ChargingAxis_DelSpeed", false)]
public short ChargingAxis_DelSpeed { get; set; }
#endregion
/// <summary> /// <summary>
/// PRO (轴一)旋转轴原点低速度 MiddleAxis_HomeLowSpeed 50 /// PRO (轴一)旋转轴原点低速度 MiddleAxis_HomeLowSpeed 50
...@@ -171,7 +189,26 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -171,7 +189,26 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("InoutAxis_HomeAddSpeed")] [ConfigProAttribute("InoutAxis_HomeAddSpeed")]
public short InoutAxis_HomeAddSpeed { get; set; } public short InoutAxis_HomeAddSpeed { get; set; }
#region
/// <summary>
/// PRO (轴四)进料轴轴原点低速度 ChargingAxis_HomeLowSpeed 50
/// </summary>
[ConfigProAttribute("ChargingAxis_HomeLowSpeed", false)]
public short ChargingAxis_HomeLowSpeed { get; set; }
/// <summary>
/// PRO (轴四)进料轴轴原点高速 ChargingnAxis_HomeHighSpeed 100
/// </summary>
[ConfigProAttribute("ChargingAxis_HomeHighSpeed", false)]
public short ChargingAxis_HomeHighSpeed { get; set; }
/// <summary>
/// PRO (轴四)进料轴轴原点加速度 ChargingAxis_HomeAddSpeed 30
/// </summary>
[ConfigProAttribute("ChargingAxis_HomeAddSpeed", false)]
public short ChargingAxis_HomeAddSpeed { get; set; }
#endregion
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P1速度 UpDownAxis_P1_Speed /// PRO 升降轴(轴2)P1速度 UpDownAxis_P1_Speed
/// </summary> /// </summary>
...@@ -262,6 +299,12 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -262,6 +299,12 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("InoutAxis_ErrorCountMin")] [ConfigProAttribute("InoutAxis_ErrorCountMin")]
public int InoutAxis_ErrorCountMin { get; set; } public int InoutAxis_ErrorCountMin { get; set; }
///add 2018-11-22 by renym
/// <summary>
/// PRO (轴四)进料轴停止时可误差的脉冲数的最小值 ChargingAxis_ErrorCountMin 200
/// </summary>
[ConfigProAttribute("ChargingAxis_ErrorCountMin", false)]
public int ChargingAxis_ErrorCountMin { get; set; }
/// <summary> /// <summary>
/// PRO (轴一)旋转轴停止时可误差的脉冲数的最大值 MiddleAxis_ErrorCountMax 500 /// PRO (轴一)旋转轴停止时可误差的脉冲数的最大值 MiddleAxis_ErrorCountMax 500
...@@ -279,6 +322,13 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -279,6 +322,13 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("InoutAxis_ErrorCountMax")] [ConfigProAttribute("InoutAxis_ErrorCountMax")]
public int InoutAxis_ErrorCountMax { get; set; } public int InoutAxis_ErrorCountMax { get; set; }
///Add 2018-11-22 by renym
/// <summary>
/// PRO (轴四)进料轴停止时可误差的脉冲数的最大值 ChargingAxis_ErrorCountMax 500
/// </summary>
[ConfigProAttribute("ChargingAxis_ErrorCountMax", false)]
public int ChargingAxis_ErrorCountMax { get; set; }
/// <summary> /// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,, /// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
/// </summary> /// </summary>
...@@ -368,7 +418,14 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -368,7 +418,14 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
[ConfigProAttribute("InOut_Axis")] [ConfigProAttribute("InOut_Axis")]
public ConfigMoveAxis InOut_Axis { get; set; } public ConfigMoveAxis InOut_Axis { get; set; }
/// <summary>
/// 轴4进料轴(上/下)
/// add by renym 2018-11-21
/// </summary>
[ConfigProAttribute("Charging_Axis", false)]
public ConfigMoveAxis Charging_Axis { get; set; }
/// <summary> /// <summary>
/// PRO 硕科步进电机(压紧轴)控制端口号 CompressAxis_PortName COM4 /// PRO 硕科步进电机(压紧轴)控制端口号 CompressAxis_PortName COM4
/// </summary> /// </summary>
...@@ -438,9 +495,20 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -438,9 +495,20 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary> /// <summary>
/// PRO (轴三)进出轴最小限位 InoutAxis_PositionMin /// PRO (轴三)进出轴最小限位 InoutAxis_PositionMin
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_PositionMin", false)] [ConfigProAttribute("InoutAxis_PositionMin", false)]
public int InoutAxis_PositionMin { get; set; } public int InoutAxis_PositionMin { get; set; }
/// <summary> /// <summary>
/// PRO (轴四)进出轴最小限位 ChargingAxis_PositionMin
/// </summary>
[ConfigProAttribute("ChargingAxis_PositionMin", false)]
public int ChargingAxis_PositionMin { get; set; }
/// <summary>
/// PRO (轴四)进料轴最大限位 ChargingAxis_PositionMax
/// </summary>
[ConfigProAttribute("ChargingAxis_PositionMax", false)]
public int ChargingAxis_PositionMax { get; set; }
/// <summary>
/// PRO (轴一)旋转轴最大限位 MiddleAxis_PositionMax /// PRO (轴一)旋转轴最大限位 MiddleAxis_PositionMax
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_PositionMax", false)] [ConfigProAttribute("MiddleAxis_PositionMax", false)]
...@@ -454,6 +522,9 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -454,6 +522,9 @@ namespace OnlineStore.LoadCSVLibrary
/// PRO (轴三)进出轴最大限位 InoutAxis_PositionMax /// PRO (轴三)进出轴最大限位 InoutAxis_PositionMax
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_PositionMax", false)] [ConfigProAttribute("InoutAxis_PositionMax", false)]
//
/// <summary> /// <summary>
/// PRO 需要吹气的温度(温度标准) Max_Temperature 10 /// PRO 需要吹气的温度(温度标准) Max_Temperature 10
/// </summary> /// </summary>
...@@ -595,12 +666,34 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -595,12 +666,34 @@ namespace OnlineStore.LoadCSVLibrary
Config.UpDown_Axis.HomeHighSpeed = Config.UpdownAxis_HomeHighSpeed; Config.UpDown_Axis.HomeHighSpeed = Config.UpdownAxis_HomeHighSpeed;
Config.UpDown_Axis.HomeLowSpeed = Config.UpdownAxis_HomeLowSpeed; Config.UpDown_Axis.HomeLowSpeed = Config.UpdownAxis_HomeLowSpeed;
//add 2018-11-22
if (Config.Charging_Axis != null)
{
Config.Charging_Axis.TargetSpeed = Config.ChargingAxis_TargetSpeed;
Config.Charging_Axis.AddSpeed = Config.ChargingAxis_AddSpeed;
Config.Charging_Axis.DelSpeed = Config.ChargingAxis_DelSpeed;
Config.Charging_Axis.HomeAddSpeed = Config.ChargingAxis_HomeAddSpeed;
Config.Charging_Axis.HomeHighSpeed = Config.ChargingAxis_HomeHighSpeed;
Config.Charging_Axis.HomeLowSpeed = Config.ChargingAxis_HomeLowSpeed;
}
Config.Middle_Axis.CanErrorCountMin = Config.MiddleAxis_ErrorCountMin; Config.Middle_Axis.CanErrorCountMin = Config.MiddleAxis_ErrorCountMin;
Config.InOut_Axis.CanErrorCountMin = Config.InoutAxis_ErrorCountMin; Config.InOut_Axis.CanErrorCountMin = Config.InoutAxis_ErrorCountMin;
Config.UpDown_Axis.CanErrorCountMin = Config.UpdownAxis_ErrorCountMin; Config.UpDown_Axis.CanErrorCountMin = Config.UpdownAxis_ErrorCountMin;
//
if (Config.Charging_Axis != null)
{
Config.Charging_Axis.CanErrorCountMin = Config.ChargingAxis_ErrorCountMin;
}
Config.Middle_Axis.CanErrorCountMax = Config.MiddleAxis_ErrorCountMax; Config.Middle_Axis.CanErrorCountMax = Config.MiddleAxis_ErrorCountMax;
Config.InOut_Axis.CanErrorCountMax = Config.InoutAxis_ErrorCountMax; Config.InOut_Axis.CanErrorCountMax = Config.InoutAxis_ErrorCountMax;
Config.UpDown_Axis.CanErrorCountMax = Config.UpdownAxis_ErrorCountMax; Config.UpDown_Axis.CanErrorCountMax = Config.UpdownAxis_ErrorCountMax;
//add
if (Config.Charging_Axis != null)
{
Config.Charging_Axis.CanErrorCountMax = Config.ChargingAxis_ErrorCountMax;
}
Config.Middle_Axis.PositionMin = Config.MiddleAxis_PositionMin; Config.Middle_Axis.PositionMin = Config.MiddleAxis_PositionMin;
Config.Middle_Axis.PositionMax = Config.MiddleAxis_PositionMax; Config.Middle_Axis.PositionMax = Config.MiddleAxis_PositionMax;
...@@ -608,6 +701,12 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -608,6 +701,12 @@ namespace OnlineStore.LoadCSVLibrary
Config.InOut_Axis.PositionMax = Config.InoutAxis_PositionMax; Config.InOut_Axis.PositionMax = Config.InoutAxis_PositionMax;
Config.UpDown_Axis.PositionMin = Config.UpdownAxis_PositionMin; Config.UpDown_Axis.PositionMin = Config.UpdownAxis_PositionMin;
Config.UpDown_Axis.PositionMax = Config.UpdownAxis_PositionMax; Config.UpDown_Axis.PositionMax = Config.UpdownAxis_PositionMax;
//
if (Config.Charging_Axis != null)
{
Config.Charging_Axis.PositionMin = Config.ChargingAxis_PositionMin;
Config.Charging_Axis.PositionMax = Config.ChargingAxis_PositionMax;
}
//Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed; //Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed;
......
...@@ -171,13 +171,19 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -171,13 +171,19 @@ namespace OnlineStore.LoadCSVLibrary
} }
else else
{ {
if (prop.PropertyType.Equals(typeof(int))) if (prop.PropertyType.Equals(typeof(int))|| prop.PropertyType.Equals(typeof(short))) //modify by renym 2018-11-22
{ {
prop.SetValue(this, Convert.ChangeType(0, prop.PropertyType), null);//赋值****在这里需要考虑类型问题 prop.SetValue(this, Convert.ChangeType(0, prop.PropertyType), null);//赋值****在这里需要考虑类型问题
} }
else else
{ {
prop.SetValue(this, Convert.ChangeType("", prop.PropertyType), null);//赋值****在这里需要考虑类型问题 try
{
prop.SetValue(this, Convert.ChangeType("", prop.PropertyType), null);//赋值****在这里需要考虑类型问题
}
catch
{
}
} }
} }
} }
......
...@@ -320,5 +320,71 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -320,5 +320,71 @@ namespace OnlineStore.LoadCSVLibrary
public static string TrayCheck_3 = "TrayCheck_3"; public static string TrayCheck_3 = "TrayCheck_3";
public static string TrayCheck_4 = "TrayCheck_4"; public static string TrayCheck_4 = "TrayCheck_4";
//add by renym 2018-11-22 增加I/O端口定义
/// <summary>
/// 料仓,流水线 DI。吸盘气缸上升端(料仓) Chuck_Up
/// </summary>
public static string Chuck_Up = "Chuck_Up";
/// <summary>
/// 料仓,流水线 DI。吸盘气缸下降端(料仓) Chuck_Down
/// </summary>
public static string Chuck_Down = "Chuck_Downp";
/// <summary>
/// 料仓,流水线 DI。料盘宽度检测1(料仓) TrayWidth_Check1
/// </summary>
public static string TrayWidth_Check1 = "TrayWidth_Check1";
/// <summary>
/// 料仓,流水线 DI。料盘宽度检测2(料仓) TrayWidth_Check2
/// </summary>
public static string TrayWidth_Check2 = "TrayWidth_Check2";
/// <summary>
/// 料仓,流水线 DI。上料机构出料检测 (料仓) Load_OutCheck
/// </summary>
public static string Load_OutCheck = "Load_OutCheck";
/// <summary>
/// 料仓,流水线 DI。门锁气缸打开端 (料仓) GateLock_Open
/// </summary>
public static string GateLock_Open = "GateLock_Open";
/// <summary>
/// 料仓,流水线 DI。门锁气缸关闭端 (料仓) GateLock_Close
/// </summary>
public static string GateLock_Close = "GateLock_Close";
/// <summary>
/// 料仓,流水线 DI。压紧机构计量检测 (料仓) CompressCount_Check
/// </summary>
public static string CompressCount_Check = "CompressCount_Check";
/// <summary>
/// 料仓,流水线 DI。上料机构门关闭 (料仓) Load_DoorClose
/// </summary>
public static string Load_DoorClose = "Load_DoorClose";
/// <summary>
/// 料仓,流水线 DI。吸盘压力确认信号 (料仓) Chuck_PressureOK
/// </summary>
public static string Chuck_PressureOK = "Chuck_PressureOK";
// Output
/// <summary>
/// 自动上料料仓 DO。吸盘吸料SOL Sucker_SuctionSOL
/// </summary>
public static string Sucker_SuctionSOL = "Sucker_SuctionSOL";
/// <summary>
/// 自动上料料仓 DO。吸盘气缸上升SOL Sucker_UpSOL
/// </summary>
public static string Sucker_UpSOL = "Sucker_UpSOL";
/// <summary>
/// 自动上料料仓 DO。吸盘气缸下降SOL Sucker_DownSOL
/// </summary>
public static string Sucker_DownSOL = "Sucker_DownSOL";
/// <summary>
/// 自动上料料仓 DO。门锁气缸打开SOL GateLock_OpenSOL
/// </summary>
public static string GateLock_OpenSOL = "GateLock_OpenSOL";
/// <summary>
/// 自动上料料仓 DO。门锁气缸关闭SOL GateLock_CloseSOL
/// </summary>
public static string GateLock_CloseSOL = "GateLock_CloseSOL";
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!