小标
2018-10-11
来源 :
阅读 1376
评论 0
摘要:本文主要向大家介绍了机器人之机器实际产能,通过具体的内容向大家展现,希望对大家学习机器人有所帮助。
本文主要向大家介绍了机器人之机器实际产能,通过具体的内容向大家展现,希望对大家学习机器人有所帮助。
公式:(机器实际上班时间 - 停机时间) / 机器实际加工时间 * 标准夹具数
代码
CREATE FUNCTION [dbo].[udf_ActualCapacity]
(
@MachineId SMALLINT,
@OperatorDate DATETIME
)
RETURNS decimal(18,6)
AS
BEGIN
DECLARE @ReturnValue DECIMAL(18,6)
--取得机器实际上班时间
DECLARE @WorkTime DECIMAL(18,6)
SELECT @WorkTime = (SELECT SUM([WorkTime]) FROM [dbo].[udf_WorkTicketData_1]() WHERE [MachineId] = @MachineId AND [OperatorDate] = @OperatorDate)
--取得机器停机时间
DECLARE @MachineHaltTime DECIMAL(18,6)
SELECT @MachineHaltTime = (SELECT SUM([MachineHaltTime]) FROM [dbo].[udf_WorkTicketData_1]() WHERE [MachineId] = @MachineId AND [OperatorDate] = @OperatorDate)
--计算机器运作时间
DECLARE @RealWorkTime DECIMAL(18,6)
SELECT @RealWorkTime = (ISNULL(@WorkTime,0) * 3600 - ISNULL(@MachineHaltTime,0) * 60)
--机器实际加工时间
DECLARE @ProcessTime DECIMAL(18,6)
SELECT @ProcessTime = (SELECT (AVG(ISNULL([ProcessTime],0))) FROM dbo.udf_WorkTicketData_1() WHERE [MachineId] = @MachineId AND [OperatorDate] = @OperatorDate)
--从机器参数表,取得机器的标准夹具数
DECLARE @StandJigNumber TINYINT
SELECT @StandJigNumber = (SELECT [JigNumber] FROM [MachineParameter] WHERE [MachineId] = @MachineId AND (YEAR([MonthName])= YEAR(@OperatorDate)) AND (MONTH([MonthName]) = MONTH(@OperatorDate)))
--计算机器实际产能
SELECT @ReturnValue=(CASE WHEN @ProcessTime = 0 THEN NULL WHEN @ProcessTime IS NULL THEN NULL WHEN @ProcessTime <> 0 THEN ((ISNULL(@RealWorkTime,0) / @ProcessTime) * ISNULL(@StandJigNumber,0)) END)
RETURN @ReturnValue
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能智能机器人频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号