Commit d5595c80 几米阳光

轴三复位时,如果已经原点返回过且原点信号亮,需要先向前走一点再原点返回

1 个父辈 9a6597be
...@@ -85,12 +85,6 @@ ...@@ -85,12 +85,6 @@
<Compile Include="FrmIOStatus.Designer.cs"> <Compile Include="FrmIOStatus.Designer.cs">
<DependentUpon>FrmIOStatus.cs</DependentUpon> <DependentUpon>FrmIOStatus.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="FrmLogin.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmLogin.Designer.cs">
<DependentUpon>FrmLogin.cs</DependentUpon>
</Compile>
<Compile Include="FrmStoreBox.cs"> <Compile Include="FrmStoreBox.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
...@@ -112,9 +106,6 @@ ...@@ -112,9 +106,6 @@
<EmbeddedResource Include="FrmIOStatus.resx"> <EmbeddedResource Include="FrmIOStatus.resx">
<DependentUpon>FrmIOStatus.cs</DependentUpon> <DependentUpon>FrmIOStatus.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="FrmLogin.resx">
<DependentUpon>FrmLogin.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmStoreBox.resx"> <EmbeddedResource Include="FrmStoreBox.resx">
<DependentUpon>FrmStoreBox.cs</DependentUpon> <DependentUpon>FrmStoreBox.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
......
<?xml version="1.0"?> <?xml version="1.0"?>
<configuration> <configuration>
<configSections> <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections> </configSections>
<appSettings> <appSettings>
<!--是否开机自动启动料仓--> <!--是否开机自动启动料仓-->
<add key="App_AutoRun" value="0"/> <add key="App_AutoRun" value="1" />
<add key="App_Title" value="AC_SA_料仓"/> <add key="App_Title" value="AC_SA_料仓" />
<add key="scanner_start_command" value="S"/> <add key="scanner_start_command" value="S" />
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)--> <!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<add key="StartBlowValue" value="4"/> <add key="StartBlowValue" value="4" />
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)--> <!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<add key="StopBlowValue" value="4"/> <add key="StopBlowValue" value="4" />
<!--Server address--> <!--Server address-->
<!--<add key="http.server" value="http://localhost:80/"/>--> <!--<add key="http.server" value="http://localhost:80/"/>-->
<!--storeType--> <!--storeType-->
<add key="store_count" value="1"/> <add key="store_count" value="1" />
<!--start one store config--> <!--start one store config-->
<add key="Store_Position_Config" value="\StoreConfig\AC\linePositions.csv"/> <add key="Store_Position_Config" value="\StoreConfig\AC\linePositions.csv" />
<add key="Store_ConfigPath" value="\StoreConfig\AC\StoreConfig.csv"/> <add key="Store_ConfigPath" value="\StoreConfig\AC\StoreConfig.csv" />
<add key="Store_Type" value="RC_AC_SA"/> <add key="Store_Type" value="RC_AC_SA" />
<add key="Store_CID" value="ac1"/> <add key="Store_CID" value="bjac1" />
<!--end one store config--> <!--end one store config-->
<!--康泰克运动默认参数:速度倍率,起始速度,目标速度,加速时间,减速时间,SSpeed,目标位置,默认运动轴-->
<add key="KTK_MOVE_ResolveSpeed" value="10"/> <!--摄像机名称列表配置,用#分割-->
<add key="KTK_MOVE_StartSpeed" value="1000"/> <add key="CameraName" value="codeCamera" />
<add key="KTK_MOVE_TargetSpeed" value="20000"/>
<add key="KTK_MOVE_AccelTime" value="500"/>
<add key="KTK_MOVE_lDecelTime" value="500"/>
<add key="KTK_MOVE_SSpeed" value="5000"/>
<add key="KTK_MOVE_Distance" value="10000"/>
<add key="KTK_MOVE_AxisNo" value="1"/>
<!--摄像机名称列表配置,用#分割-->
<add key="CameraName" value="codeCamera"/>
<!--二维码类型列表配置,用#分割--> <!--二维码类型列表配置,用#分割-->
<add key="CodeType" value="QR Code"/> <add key="CodeType" value="QR Code" />
<!--<add key="CodeType" value="Data Matrix ECC 200"/>--> <!--<add key="CodeType" value="Data Matrix ECC 200"/>-->
<!--二维码参数文件所在路径,文件名与二维码类型名一样--> <!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<add key="CodeParamPath" value="\StoreConfig\AC\"/> <add key="CodeParamPath" value="\StoreConfig\AC\" />
</appSettings> </appSettings>
<log4net> <log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/SingleStore.log"/> <file value="logs/BJACStore.log" />
<appendToFile value="true"/> <appendToFile value="true" />
<rollingStyle value="Date"/> <rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd"/> <datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout"> <layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n"/> <conversionPattern value="[%date][%t]%-5p %m%n" />
</layout> </layout>
</appender> </appender>
<root> <root>
<level value="Info"/> <level value="Info" />
<appender-ref ref="RollingLogFileAppender"/> <appender-ref ref="RollingLogFileAppender" />
</root> </root>
</log4net> </log4net>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup> </startup>
<!-- 部署服务库项目时,必须将配置文件的内容添加到 <!-- 部署服务库项目时,必须将配置文件的内容添加到
主机的 app.config 文件中。System.Configuration 不支持库的配置文件。 --> 主机的 app.config 文件中。System.Configuration 不支持库的配置文件。 -->
<system.serviceModel> <system.serviceModel>
...@@ -69,13 +56,13 @@ ...@@ -69,13 +56,13 @@
<service name="AcStoreWCF.CWSMDBox"> <service name="AcStoreWCF.CWSMDBox">
<endpoint address="" binding="basicHttpBinding" contract="AcStoreWCF.ICWSMDBox"> <endpoint address="" binding="basicHttpBinding" contract="AcStoreWCF.ICWSMDBox">
<identity> <identity>
<dns value="localhost"/> <dns value="localhost" />
</identity> </identity>
</endpoint> </endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host> <host>
<baseAddresses> <baseAddresses>
<add baseAddress="http://localhost:8733/Design_Time_Addresses/AcStoreWCF/CWSMDBox/"/> <add baseAddress="http://localhost:8733/Design_Time_Addresses/AcStoreWCF/CWSMDBox/" />
</baseAddresses> </baseAddresses>
</host> </host>
</service> </service>
...@@ -85,13 +72,13 @@ ...@@ -85,13 +72,13 @@
<behavior> <behavior>
<!-- 为避免泄漏元数据信息, <!-- 为避免泄漏元数据信息,
请在部署前将以下值设置为 false --> 请在部署前将以下值设置为 false -->
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/> <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />
<!-- 要接收故障异常详细信息以进行调试, <!-- 要接收故障异常详细信息以进行调试,
请将以下值设置为 true。在部署前设置为 false 请将以下值设置为 true。在部署前设置为 false
以避免泄漏异常信息 --> 以避免泄漏异常信息 -->
<serviceDebug includeExceptionDetailInFaults="False"/> <serviceDebug includeExceptionDetailInFaults="False" />
</behavior> </behavior>
</serviceBehaviors> </serviceBehaviors>
</behaviors> </behaviors>
</system.serviceModel> </system.serviceModel>
</configuration> </configuration>
\ No newline at end of file \ No newline at end of file
...@@ -1226,5 +1226,11 @@ namespace OnlineStore.ACSingleStore ...@@ -1226,5 +1226,11 @@ namespace OnlineStore.ACSingleStore
FrmCodeLearn learn = new FrmCodeLearn(); FrmCodeLearn learn = new FrmCodeLearn();
learn.ShowDialog(); learn.ShowDialog();
} }
private void btnReadHomeSingle_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeSingle(GetPortName(), GetSlaveAddr());
this.txtHomeSingle.Text = value.ToString();
}
} }
} }
...@@ -12,4 +12,6 @@ ...@@ -12,4 +12,6 @@
料叉上的信号检测:复位时不检测此信号,等到复位完成再检测,如果料仓有信号,需要打开门让人把物料拿走 料叉上的信号检测:复位时不检测此信号,等到复位完成再检测,如果料仓有信号,需要打开门让人把物料拿走
轴三运动时要判断气缸到位
\ No newline at end of file \ No newline at end of file
轴三运动时要判断气缸到位
出库时等待拿走料盘与等待10秒有一个条件到达就完成
轴三复位时,如果已经原点返回过且原点信号亮,需要先相对走5000才能原点返回
\ No newline at end of file \ No newline at end of file
...@@ -19,81 +19,14 @@ namespace OnlineStore.Common ...@@ -19,81 +19,14 @@ namespace OnlineStore.Common
/// <summary> /// <summary>
/// 系统主界面标题 /// 系统主界面标题
/// </summary> /// </summary>
public static string App_Title = "App_Title"; public static string App_Title = "App_Title";
/// <summary>
/// 配置表中表示料门位置的层数
/// </summary>
public static int modbus_door_num = 1000;
public static string modbus_door_high_position = "modbus_door_high_position";
public static string modbus_door_low_position = "modbus_door_low_position";
//电钢配置
/// <summary>
/// 串口号
/// </summary>
public static string modbus_portName = "modbus_portName";
/// <summary>
/// 波特率
/// </summary>
public static string modbus_portBaudrate = "modbus_portBaudrate";
/// <summary>
/// 奇偶校验
/// </summary>
public static string modbus_portParity = "modbus_portParity";
/// <summary>
/// 停止位
/// </summary>
public static string modbus_stopBits = "modbus_stopBits";
/// <summary>
/// 控制模式
/// </summary>
public static string modbus_controlMode = "modbus_controlMode";
/// <summary>
/// 移动位置
/// </summary>
public static string modbus_position = "modbus_position";
/// <summary>
/// 移动速度
/// </summary>
public static string modbus_velocity = "modbus_velocity";
/// <summary>
/// 板卡卡号
/// </summary>
public static string pci_board_id = "pci_board_id";
/// <summary>
/// 板卡运动默认速度
/// </summary>
public static string pci_axis_move_speed = "pci_axis_move_speed";
/// <summary>
/// 电缸运动默认速度
/// </summary>
public static string modbus_move_speed = "modbus_move_speed";
/// <summary> /// <summary>
/// 扫码枪开始命令发送给socket的消息 /// 扫码枪开始命令发送给socket的消息
/// </summary> /// </summary>
public static string scanner_start_command = "scanner_start_command"; public static string scanner_start_command = "scanner_start_command";
/// <summary>
/// 预警温度
/// </summary>
public static string alert_temperate = "alert.temperate";
/// <summary>
/// 预警湿度
/// </summary>
public static string alert_humidity = "alert.humidity";
/// <summary>
/// 温度传感器端口号
/// </summary>
public static string temperate_port = "temperate.port";
public static string ClientSettingsProvider_ServiceUri = "ClientSettingsProvider.ServiceUri";
public static string app_cid = "app.cid";
public static string plc_no = "plc.no";
public static string http_server = "http.server"; public static string http_server = "http.server";
public static string Store_CID = "Store_CID";
/// <summary> /// <summary>
/// 料仓数量 /// 料仓数量
...@@ -103,107 +36,9 @@ namespace OnlineStore.Common ...@@ -103,107 +36,9 @@ namespace OnlineStore.Common
/// 料仓类型,1=在线料仓 /// 料仓类型,1=在线料仓
/// </summary> /// </summary>
public static string Store_Type = "Store_Type"; public static string Store_Type = "Store_Type";
/// <summary>
/// l料仓上下运动轴(轴或者电钢从站地址)
/// </summary>
public static string Store_UpDown_AxisOrSlv = "Store_UpDown_AxisOrSlv";
/// <summary>
/// 料仓对应料盘旋转轴,中轴
/// </summary>
public static string Store_Middle_Rotate_AxisNo = "Store_Middle_Rotate_AxisNo";
/// <summary>
/// 料仓对应扫码枪IP
/// </summary>
public static string Store_Scanner_IP = "Store_Scanner_IP";
/// <summary>
/// 料仓对应扫码枪端口
/// </summary>
public static string Store_Scanner_Port = "Store_Scanner_Port";
/// <summary>
/// 料仓对应温湿度传感器的地址(多个)
/// </summary>
public static string Store_Temperate_ServerAddress = "Store_Temperate_ServerAddress";
public static string Store_ForwardMove_DI = "Store_ForwardMove_DI";
public static string Store_BackMove_DI = "Store_BackMove_DI";
public static string Store_RotateMove_DI = "Store_RotateMove_DI";
public static string Store_ReturnHome_DI = "Store_ReturnHome_DI";
public static string Store_DoorUpSOL_DI = "Store_DoorUpSOL_DI";
public static string Store_DoorDownSOL_DI = "Store_DoorDownSOL_DI";
public static string Store_ForwardMove_DO = "Store_ForwardMove_DO";
public static string Store_BackMove_DO = "Store_BackMove_DO";
public static string Store_RotateMove_DO = "Store_RotateMove_DO";
public static string Store_ReturnHome_DO = "Store_ReturnHome_DO";
public static string Store_DoorUpSOL_DO = "Store_DoorUpSOL_DO";
public static string Store_DoorDownSOL_DO = "Store_DoorDownSOL_DO";
public static string Store_StartOrStopBlow_DO = "Store_StartOrStopBlow_DO";
public static string Store_DoorSignal_DI = "Store_DoorSignal_DI";
public static string Store_Board_Id = "Store_Board_Id";
public static string Store_CID = "Store_CID";
public static string Store_Run_Sign = "Store_Run_Sign";//设备运行可
public static string Store_AutoRun_HddLed = "Store_AutoRun_HddLed";//设备自动运行指示灯
public static string Store_Alarm_HddLed = "Store_Alarm_HddLed";//设备报警指示灯
public static string Store_SuddenStop_BTN = "Store_SuddenStop_BTN";//设备急停按钮
public static string Store_Reset_BTN = "Store_Reset_BTN";//设备复位按钮
public static string Store_MiddleAxis_Move_Speed = "Store_MiddleAxis_Move_Speed";//中轴转动速度
public static string Store_Updown_Move_Speed = "Store_Updown_Move_Speed";//上下轴移动速度
public static string Store_Updown_Move_Speed_Low = "Store_Updown_Move_Speed_Low";//上下轴慢运动速度(托起料盘和放下料盘使用此速度)
//以下为康塔克料仓特殊配置
public static string Store_PI_BoardName = "Store_PI_BoardName";
public static string Store_PO_BoardName = "Store_PO_BoardName";
public static string Store_Middle_BoardName = "Store_Middle_BoardName";
public static string Store_UpDown_BoardName = "Store_UpDown_BoardName";
/// <summary>
/// 康泰克IO输入卡名称
/// </summary>
public static string KTK_PI_BoardName = "KTK_PI_BoardName";
/// <summary>
/// 康泰克IO输出卡名称
/// </summary>
public static string KTK_PO_BoardName = "KTK_PO_BoardName";
/// <summary>
/// 康泰克运动版卡名称
/// </summary>
public static string KTK_SMC_BoardName = "KTK_SMC_BoardName";
public static string KTK_MOVE_ResolveSpeed = "KTK_MOVE_ResolveSpeed";
public static string KTK_MOVE_StartSpeed = "KTK_MOVE_StartSpeed";
public static string KTK_MOVE_TargetSpeed = "KTK_MOVE_TargetSpeed";
public static string KTK_MOVE_AccelTime = "KTK_MOVE_AccelTime";
public static string KTK_MOVE_lDecelTime = "KTK_MOVE_lDecelTime";
public static string KTK_MOVE_SSpeed = "KTK_MOVE_SSpeed";
public static string KTK_MOVE_Distance = "KTK_MOVE_Distance";
public static string KTK_MOVE_AxisNo = "KTK_MOVE_AxisNo";
//以下为流水线料仓的配置
public static string Store_ConfigPath = "Store_ConfigPath"; public static string Store_ConfigPath = "Store_ConfigPath";
public static string Store_Position_Config = "Store_Position_Config"; public static string Store_Position_Config = "Store_Position_Config";
public static string UserName = "UserName";
public static string UserPwd = "UserPwd";
//双层在线料仓新加配置
public static string ManchineID = "ManchineID";
public static string RemoteURL = "RemoteURL";
public static string RemoteUsername = "RemoteUsername";
public static string RemotePassword = "RemotePassword";
/// <summary>
/// 过滤 条件
/// </summary>
public static string FileListerFilter = "FileListerFilter";
public static string ProgramConfig = "ProgramConfig";
public static string RemoteWriteURL = "RemoteWriteURL";
public static string LineNoWaitSingle = "LineNoWaitSingle";
public static string TheLineId = "TheLineId";
public static string File_UpdateTime = "File_UpdateTime";
/// <summary> /// <summary>
/// 摄像机名称,多个中间使用#分割 /// 摄像机名称,多个中间使用#分割
/// </summary> /// </summary>
...@@ -212,10 +47,7 @@ namespace OnlineStore.Common ...@@ -212,10 +47,7 @@ namespace OnlineStore.Common
/// 需要识别的二维码类型,多个中间使用#分割 /// 需要识别的二维码类型,多个中间使用#分割
/// </summary> /// </summary>
public static string CodeType = "CodeType"; public static string CodeType = "CodeType";
/// <summary>
/// 当叉子不在待机位,升降轴可以走的最远距离,目标距离-当前距离的最大值,超过此值不允许升降
/// </summary>
public static string UpdownMaxValue = "UpdownMaxValue";
/// <summary> /// <summary>
/// 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值) /// 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)
/// </summary> /// </summary>
...@@ -229,7 +61,6 @@ namespace OnlineStore.Common ...@@ -229,7 +61,6 @@ namespace OnlineStore.Common
/// 配置文件路径 Data Matrix ECC 200.dcm /// 配置文件路径 Data Matrix ECC 200.dcm
/// </summary> /// </summary>
public static string CodeParamPath = "CodeParamPath"; public static string CodeParamPath = "CodeParamPath";
} }
} }
...@@ -8,6 +8,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -8,6 +8,11 @@ namespace OnlineStore.DeviceLibrary
public class ACCMDManager public class ACCMDManager
{ {
/// <summary> /// <summary>
/// 0132h 原点接近传感器输入 (HOME) 状态 ReadOnly 0: 输入 OFF 1: 输入 ON
/// </summary>
public static string Home_Single = "0132";
/// <summary>
///速度 4601 ///速度 4601
/// </summary> /// </summary>
public static string Speed_Addr = "4601"; public static string Speed_Addr = "4601";
......
...@@ -301,17 +301,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -301,17 +301,17 @@ namespace OnlineStore.DeviceLibrary
if (portName.Equals(ACStoreManager.store.Config.Middle_Axis.DeviceName)) if (portName.Equals(ACStoreManager.store.Config.Middle_Axis.DeviceName))
{ {
UpdateBlock(portName, slvAddr, ACCMDManager.Block_HomeMove0); UpdateBlock(portName, slvAddr, ACCMDManager.Block_HomeMove0);
LogUtil.debug("旋转轴原点返回方向:正方向"); LogUtil.info("旋转轴原点返回方向:正方向");
} }
else if (portName.Equals(ACStoreManager.store.Config.InOut_Axis.DeviceName)) else if (portName.Equals(ACStoreManager.store.Config.InOut_Axis.DeviceName))
{ {
UpdateBlock(portName, slvAddr, ACCMDManager.Block_HomeMove0); UpdateBlock(portName, slvAddr, ACCMDManager.Block_HomeMove0);
LogUtil.debug("进出轴原点返回方向:正方向"); LogUtil.info("进出轴原点返回方向:正方向");
} }
else else
{ {
UpdateBlock(portName, slvAddr, ACCMDManager.Block_HomeMove1); UpdateBlock(portName, slvAddr, ACCMDManager.Block_HomeMove1);
LogUtil.debug("升降轴原点返回方向:反方向"); LogUtil.info("升降轴原点返回方向:反方向");
} }
Thread.Sleep(SleepMSendons); Thread.Sleep(SleepMSendons);
OpenAndCloseSTB(portName, slvAddr); OpenAndCloseSTB(portName, slvAddr);
......
...@@ -484,6 +484,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -484,6 +484,14 @@ namespace OnlineStore.DeviceLibrary
return GetCoilData(portName, reviceData, ACCMDManager.HOME_CMP_Status); return GetCoilData(portName, reviceData, ACCMDManager.HOME_CMP_Status);
} }
public static int GetHomeSingle(string portName, int slvAddr)
{
PreReadCoilAddr = ACCMDManager.Home_Single;
byte[] dataArray = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_ReadCoil, ACCMDManager.Home_Single, "0000", 1);
byte[] reviceData = SendCommand(portName, dataArray, 100, 6);
return GetCoilData(portName, reviceData, ACCMDManager.Home_Single);
}
} }
/// <summary> /// <summary>
/// 记录最后一次获得的寄存器的值 /// 记录最后一次获得的寄存器的值
......
...@@ -37,14 +37,13 @@ AXIS,(轴三)进出轴,InOut_Axis,1,COM5,0,,,, ...@@ -37,14 +37,13 @@ AXIS,(轴三)进出轴,InOut_Axis,1,COM5,0,,,,
PRO,温湿度传感器地址,Temperate_ServerAddress,192.168.200.14,,,,,, PRO,温湿度传感器地址,Temperate_ServerAddress,192.168.200.14,,,,,,
PRO,扫码枪IP,Scanner_Ip,192.168.200.13,,,,,, PRO,扫码枪IP,Scanner_Ip,192.168.200.13,,,,,,
PRO,扫码枪端口号,Scanner_Port,51236,,,,,, PRO,扫码枪端口号,Scanner_Port,51236,,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,687000,,,,,, PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,421300,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,705000,,,,,, PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,452000,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,705000,,,,,, PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,452000,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,688000,,,,,, PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,421300,,,,,,
,进出轴进料口取料点 P2,InOutAxis_DoorPosition_P2,28500,,,,,, PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,-200450,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,229500,,,,,, PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,500,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,-4800,,,,,, PRO,押金轴(轴4)P1待机原位点,CompressAxis_P1_Position,0,,,,,,
PRO,押金轴(轴4)P1待机原位点,CompressAxis_P1_Position,360,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,1,,,,,, PRO,是否使用定位气缸,IsHasLocationCylinder,1,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,0,,,,,, PRO,是否有左右侧门,IsHasDoorLimit,0,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,0,,,,, , PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,0,,,,, ,
...@@ -54,36 +53,36 @@ PRO,温湿度传感器地址,TemperateServer_Port,9001,,,,,, ...@@ -54,36 +53,36 @@ PRO,温湿度传感器地址,TemperateServer_Port,9001,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,, PRO,预警温度,WarnTemperate,80,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,, PRO,预警湿度,WarnHumidity,80,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,40,,,,,, PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,40,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,5000,,,,,, PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,2000,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,5000,,,,,, PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,2000,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,10,,,,,, PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,800,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,, PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,500,,,,,, PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,500,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,40,,,,,, PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,40,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,300,,,,,, PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,1000,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,300,,,,,, PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,1000,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,, PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,, PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,, PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,40,,,,,, PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,40,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,, PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,1500,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,, PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,1500,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,, PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,, PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,, PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,1200,,,,,, PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,800,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,1000,,,,,, PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,800,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,, PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,800,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,300,,,,,, PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,200,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,, PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,800,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,300,,,,,, PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,200,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,200,,,,,, PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,200,,,,,,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,200,,,,,, PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,200,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,400,,,,,, PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,400,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,300,,,,,, PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,400,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,150,,,,,, PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,180,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,120,,,,,, PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,180,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,120,,,,,, PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,180,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,, PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,, PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,
...@@ -100,7 +99,7 @@ PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,, ...@@ -100,7 +99,7 @@ PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,, PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,, PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,, PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,20,,,,,, PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,, PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,, PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,, PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,
...@@ -324,17 +324,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -324,17 +324,10 @@ namespace OnlineStore.DeviceLibrary
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
ACAxisHomeMove(Config.InOut_Axis); ACAxisHomeMove(Config.InOut_Axis);
LogUtil.info(LOGGER, StoreName + "开始原点返回,先把进出轴回原点"); LogUtil.info(LOGGER, StoreName + "开始原点返回,先把进出轴回原点");
//设置速度
SetShuokeSpeed();
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000)); StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
} }
private void SetShuokeSpeed()
{
if (!IsHasCompress_Axis)
{
return;
}
}
public void MoveToP1() public void MoveToP1()
{ {
//压紧轴回原点,叉子回到P1,关闭门旋转轴和升降轴回到P1 //压紧轴回原点,叉子回到P1,关闭门旋转轴和升降轴回到P1
...@@ -391,13 +384,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -391,13 +384,13 @@ namespace OnlineStore.DeviceLibrary
} }
if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0)) if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0))
{ {
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); InoutStartReset();
LogUtil.info(LOGGER, StoreName + "开始复位,先把进出轴回原点"); //StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
//LogUtil.info(LOGGER, StoreName + "开始复位,先把进出轴回原点");
ACAxisHomeMove(Config.InOut_Axis); //ACAxisHomeMove(Config.InOut_Axis);
//硕科压紧轴回原点 //StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
SetShuokeSpeed();
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
} }
else else
{ {
...@@ -408,7 +401,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -408,7 +401,27 @@ namespace OnlineStore.DeviceLibrary
} }
isInPro = false; isInPro = false;
} }
private void InoutStartReset()
{
string portName = Config.InOut_Axis.DeviceName;
int slvAddr = Config.InOut_Axis.GetAxisValue();
if (ACServerManager.GetHomeEndStatus(portName, slvAddr).Equals(1)
&& ACServerManager.GetHomeSingle(portName, slvAddr).Equals(1))
{
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutMove);
LogUtil.info(LOGGER, StoreName + "复位中,进出轴原点亮且已经原点返回过,先相对走3000");
int currPos = ACServerManager.GetActualtPosition(portName, slvAddr);
int targetPos = currPos + 3000;
ACAxisMove(Config.InOut_Axis, targetPos, Config.InoutAxis_HomeLowSpeed);
}
else
{
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
LogUtil.info(LOGGER, StoreName + "复位中,进出轴开始原点返回");
ACAxisHomeMove(Config.InOut_Axis);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
}
}
/// <summary> /// <summary>
/// 复位处理 /// 复位处理
/// </summary> /// </summary>
...@@ -425,9 +438,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -425,9 +438,16 @@ namespace OnlineStore.DeviceLibrary
switch (StoreMove.MoveStep) switch (StoreMove.MoveStep)
{ {
case StoreMoveStep.BOX_H_LocationCylinderBack: case StoreMoveStep.BOX_H_LocationCylinderBack:
//StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
//ACAxisHomeMove(Config.InOut_Axis);
//LogUtil.info(LOGGER, StoreName + "复位中:进出轴回原点。。");
//StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
InoutStartReset();
break;
case StoreMoveStep.BOX_H_InOutMove:
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
ACAxisHomeMove(Config.InOut_Axis); ACAxisHomeMove(Config.InOut_Axis);
LogUtil.info(LOGGER, StoreName + "复位中:进出轴回原点。。"); LogUtil.info(LOGGER, StoreName + "复位中:进出轴开始原点返回");
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000)); StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
break; break;
case StoreMoveStep.BOX_H_InOutBack: case StoreMoveStep.BOX_H_InOutBack:
...@@ -746,14 +766,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -746,14 +766,16 @@ namespace OnlineStore.DeviceLibrary
this.alarmType = alarmType; this.alarmType = alarmType;
if (alarmType.Equals(StoreAlarmType.AxisAlarm) | alarmType.Equals(StoreAlarmType.AxisMoveError)) if (alarmType.Equals(StoreAlarmType.AxisAlarm) | alarmType.Equals(StoreAlarmType.AxisMoveError))
{ {
LogUtil.error(LOGGER, StoreName + "轴报警,关闭轴,打开报警灯"); LogUtil.error(LOGGER, StoreName + "轴报警,关闭刹车,停止运动,关闭轴,打开报警灯");
KNDIOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
StopMove(); StopMove();
CloseAllAxis(); CloseAllAxis();
} }
else if (alarmType == StoreAlarmType.SuddenStop) else if (alarmType == StoreAlarmType.SuddenStop)
{ {
isInSuddenDown = true; isInSuddenDown = true;
LogUtil.error(LOGGER, StoreName + "收到急停信号,关闭所有轴卡,关闭所有IO,停止所有运动"); LogUtil.error(LOGGER, StoreName + "收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 ");
KNDIOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
StopMove(); StopMove();
CloseAllAxis(); CloseAllAxis();
StoreMove.EndMove(); StoreMove.EndMove();
...@@ -762,7 +784,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -762,7 +784,8 @@ namespace OnlineStore.DeviceLibrary
else if (alarmType.Equals(StoreAlarmType.NoAirCheck)) else if (alarmType.Equals(StoreAlarmType.NoAirCheck))
{ {
isNoAirCheck = true; isNoAirCheck = true;
LogUtil.error(LOGGER, StoreName + " 未检测到气压信号 ,关闭所有轴卡,关闭所有IO,停止所有运动"); LogUtil.error(LOGGER, StoreName + " 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 ");
KNDIOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
StopMove(); StopMove();
CloseAllAxis(); CloseAllAxis();
StoreMove.EndMove(); StoreMove.EndMove();
...@@ -1131,7 +1154,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1131,7 +1154,7 @@ namespace OnlineStore.DeviceLibrary
//在回原点,复位,出入库时,检测报警间隔减小 //在回原点,复位,出入库时,检测报警间隔减小
if (storeRunStatus.Equals(StoreRunStatus.Busy) || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset)) if (storeRunStatus.Equals(StoreRunStatus.Busy) || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset))
{ {
if (span.TotalSeconds < 1) if (span.TotalSeconds < 0.5)
{ {
return false; return false;
} }
......
...@@ -211,14 +211,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -211,14 +211,16 @@ namespace OnlineStore.DeviceLibrary
/// 料仓原点返回和重置步骤,,定位气缸下降 /// 料仓原点返回和重置步骤,,定位气缸下降
/// </summary> /// </summary>
BOX_H_LocationCylinderBack=010, BOX_H_LocationCylinderBack=010,
/// <summary> /// <summary>
/// 料仓原点返回和重置步骤,,轴三进出轴先返回原点 /// 料仓原点返回和重置步骤,轴三先相对走3000
/// </summary> /// </summary>
BOX_H_InOutBack = 011, BOX_H_InOutMove=011,
/// <summary> /// <summary>
/// 料仓原点返回和重置步骤,,轴三进出轴返回原点后,需要等待500毫秒,然后再清空 /// 料仓原点返回和重置步骤,,轴三进出轴先返回原点
/// </summary> /// </summary>
//BOX_H_InOutBackWait = 012, BOX_H_InOutBack = 012,
/// <summary> /// <summary>
/// 料仓原点返回和重置步骤,,轴三返回P1点 /// 料仓原点返回和重置步骤,,轴三返回P1点
/// </summary> /// </summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!