From a61f54582ef1a0f01e1e22817c3467abe8892955 Mon Sep 17 00:00:00 2001 From: nodyang Date: Fri, 21 Jul 2023 13:21:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=A8=E4=BA=94=E7=89=B9=E5=88=AB=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasePlcHelper.cs | 1280 +++++++++- .../LjDevice/DeviceHelp.cs | 21 +- .../LjDry/UpAction.cs | 4 +- .../LjMetage/MetageDb.cs | 35 + .../LjPressure/PressureSettingDB.cs | 30 + .../Mesnac.Action.ChemicalWeighing.csproj | 2 + Main/MCEdit/Data/MCProject/nodeDevice.xml | 2197 +++++++++-------- 7 files changed, 2472 insertions(+), 1097 deletions(-) create mode 100644 Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjMetage/MetageDb.cs create mode 100644 Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPressure/PressureSettingDB.cs diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/BasePlcHelper.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/BasePlcHelper.cs index f1cd934..2e9f966 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/BasePlcHelper.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/BasePlcHelper.cs @@ -1069,7 +1069,7 @@ namespace Mesnac.Action.ChemicalWeighing - public DataKeyValue WatchDog = new DataKeyValue("WatchDog"); + /// @@ -1628,7 +1628,7 @@ namespace Mesnac.Action.ChemicalWeighing public DataKeyValue Dryer0_speed { get; set; } public DataKeyValue Dryer0_currnet { get; set; } public DataKeyValue Dryer0_pressure { get; set; } - + public DataKeyValue Dryer1_mode { get; set; } public DataKeyValue Dryer1_status { get; set; } public DataKeyValue Dryer1_batch { get; set; } @@ -1662,7 +1662,7 @@ namespace Mesnac.Action.ChemicalWeighing public DataKeyValue Dryer3_speed { get; set; } public DataKeyValue Dryer3_currnet { get; set; } public DataKeyValue Dryer3_pressure { get; set; } - + public DataKeyValue Gelater0_mode { get; set; } public DataKeyValue Gelater0_status { get; set; } public DataKeyValue Gelater0_batch { get; set; } @@ -1842,5 +1842,1279 @@ namespace Mesnac.Action.ChemicalWeighing + + /// + /// PLC通讯指示,大于0:正常,0:断线 + /// + public DataKeyValue WatchDog { get; set; } + + /// + /// 系统运行状态 + /// + public DataKeyValue RecipeRun { get; set; } + + /// + /// 系统暂停状态 + /// + public DataKeyValue RecipePause { get; set; } + + /// + /// 系统准备接收配方 + /// + public DataKeyValue Ready { get; set; } + + + /// + /// 报警指示 + /// + public DataKeyValue Alarm { get; set; } + + + /// + /// 系统急停 + /// + public DataKeyValue EMStop { get; set; } + + + + /// + /// 报表数据准备好Vessel A + /// + public DataKeyValue RdyRpt_V1 { get; set; } + + /// + /// 报表数据准备好Vessel B + /// + public DataKeyValue RdyRpt_V2 { get; set; } + + /// + /// 报表数据准备好Vessel C + /// + public DataKeyValue RdyRpt_V3 { get; set; } + + /// + /// 报表数据准备好Vessel D + /// + public DataKeyValue RdyRpt_V4 { get; set; } + + /// + /// 报表数据准备好Vessel E + /// + public DataKeyValue RdyRpt_V5 { get; set; } + + /// + /// 报表数据准备好热水秤 A + /// + + public DataKeyValue RdyRpt_W1 { get; set; } + + /// + /// 报表数据准备好冷水秤 A + /// + + public DataKeyValue RdyRpt_W2 { get; set; } + + /// + /// 报表数据准备好热水秤 B + /// + public DataKeyValue RdyRpt_W3 { get; set; } + + /// + /// 报表数据准备好冷水秤 B + /// + public DataKeyValue RdyRpt_W4 { get; set; } + + /// + /// 报表数据准备好干混机A + /// + public DataKeyValue RdyRpt_D1 { get; set; } + + public DataKeyValue RdyRpt_D2 { get; set; } + public DataKeyValue RdyRpt_D3 { get; set; } + public DataKeyValue RdyRpt_D4 { get; set; } + + /// + /// 报表数据准备糊化机A + /// + public DataKeyValue RdyRpt_G1 { get; set; } + + public DataKeyValue RdyRpt_G2 { get; set; } + public DataKeyValue RdyRpt_G3 { get; set; } + public DataKeyValue RdyRpt_G4 { get; set; } + public DataKeyValue RdyRpt_G5 { get; set; } + public DataKeyValue RdyRpt_G6 { get; set; } + public DataKeyValue RdyRpt_G7 { get; set; } + public DataKeyValue RdyRpt_G8 { get; set; } + + /// + /// 报表数据准备好湿混机A + /// + public DataKeyValue RdyRpt_M1 { get; set; } + + public DataKeyValue RdyRpt_M2 { get; set; } + public DataKeyValue RdyRpt_M3 { get; set; } + public DataKeyValue RdyRpt_M4 { get; set; } + public DataKeyValue RdyRpt_M5 { get; set; } + public DataKeyValue RdyRpt_M6 { get; set; } + public DataKeyValue RdyRpt_M7 { get; set; } + public DataKeyValue RdyRpt_M8 { get; set; } + + + /// + /// 自动模式,1:自动,0:手动 + /// + public DataKeyValue AutoMode { get; set; } + + /// + /// 本地模式,1:本地,0:远程 + /// + public DataKeyValue LocMode { get; set; } + + /// + /// 测试模式(仅供系统调试时使用) + /// + public DataKeyValue TestMode { get; set; } + + /// + /// 启动,1:有效(默认有效状态为1) + /// + public DataKeyValue Start { get; set; } + + /// + /// 暂停/恢复按钮 + /// + public DataKeyValue Pause { get; set; } + + /// + /// 停止系统 + /// + public DataKeyValue Stop { get; set; } + + /// + /// 系统复位 + /// + public DataKeyValue Reset { get; set; } + + + /// + /// 报警复位 + /// + public DataKeyValue AlarmAck { get; set; } + + /// + /// 灯测试 + /// + public DataKeyValue LampTest { get; set; } + + + + public DataKeyValue DryerD1Recip0_Bin { get; set; } + public DataKeyValue DryerD1Recip0_Set { get; set; } + public DataKeyValue DryerD1Recip0_Tolerance { get; set; } + public DataKeyValue DryerD1Recip1_Bin { get; set; } + public DataKeyValue DryerD1Recip1_Set { get; set; } + public DataKeyValue DryerD1Recip1_Tolerance { get; set; } + public DataKeyValue DryerD1Recip2_Bin { get; set; } + public DataKeyValue DryerD1Recip2_Set { get; set; } + public DataKeyValue DryerD1Recip2_Tolerance { get; set; } + public DataKeyValue DryerD1Recip3_Bin { get; set; } + public DataKeyValue DryerD1Recip3_Set { get; set; } + public DataKeyValue DryerD1Recip3_Tolerance { get; set; } + public DataKeyValue DryerD1Step0_mixCode { get; set; } + public DataKeyValue DryerD1Step0_mixTime { get; set; } + public DataKeyValue DryerD1Step0_mixTemp { get; set; } + public DataKeyValue DryerD1Step0_mixSpeed { get; set; } + public DataKeyValue DryerD1Step1_mixCode { get; set; } + public DataKeyValue DryerD1Step1_mixTime { get; set; } + public DataKeyValue DryerD1Step1_mixTemp { get; set; } + public DataKeyValue DryerD1Step1_mixSpeed { get; set; } + public DataKeyValue DryerD1Step2_mixCode { get; set; } + public DataKeyValue DryerD1Step2_mixTime { get; set; } + public DataKeyValue DryerD1Step2_mixTemp { get; set; } + public DataKeyValue DryerD1Step2_mixSpeed { get; set; } + public DataKeyValue DryerD1Step3_mixCode { get; set; } + public DataKeyValue DryerD1Step3_mixTime { get; set; } + public DataKeyValue DryerD1Step3_mixTemp { get; set; } + public DataKeyValue DryerD1Step3_mixSpeed { get; set; } + public DataKeyValue DryerD1Step4_mixCode { get; set; } + public DataKeyValue DryerD1Step4_mixTime { get; set; } + public DataKeyValue DryerD1Step4_mixTemp { get; set; } + public DataKeyValue DryerD1Step4_mixSpeed { get; set; } + public DataKeyValue DryerD1Step5_mixCode { get; set; } + public DataKeyValue DryerD1Step5_mixTime { get; set; } + public DataKeyValue DryerD1Step5_mixTemp { get; set; } + public DataKeyValue DryerD1Step5_mixSpeed { get; set; } + public DataKeyValue DryerD1Step6_mixCode { get; set; } + public DataKeyValue DryerD1Step6_mixTime { get; set; } + public DataKeyValue DryerD1Step6_mixTemp { get; set; } + public DataKeyValue DryerD1Step6_mixSpeed { get; set; } + public DataKeyValue DryerD1Step7_mixCode { get; set; } + public DataKeyValue DryerD1Step7_mixTime { get; set; } + public DataKeyValue DryerD1Step7_mixTemp { get; set; } + public DataKeyValue DryerD1Step7_mixSpeed { get; set; } + public DataKeyValue DryerD1Step8_mixCode { get; set; } + public DataKeyValue DryerD1Step8_mixTime { get; set; } + public DataKeyValue DryerD1Step8_mixTemp { get; set; } + public DataKeyValue DryerD1Step8_mixSpeed { get; set; } + public DataKeyValue DryerD1Step9_mixCode { get; set; } + public DataKeyValue DryerD1Step9_mixTime { get; set; } + public DataKeyValue DryerD1Step9_mixTemp { get; set; } + public DataKeyValue DryerD1Step9_mixSpeed { get; set; } + public DataKeyValue DryerD2Recip0_Bin { get; set; } + public DataKeyValue DryerD2Recip0_Set { get; set; } + public DataKeyValue DryerD2Recip0_Tolerance { get; set; } + public DataKeyValue DryerD2Recip1_Bin { get; set; } + public DataKeyValue DryerD2Recip1_Set { get; set; } + public DataKeyValue DryerD2Recip1_Tolerance { get; set; } + public DataKeyValue DryerD2Recip2_Bin { get; set; } + public DataKeyValue DryerD2Recip2_Set { get; set; } + public DataKeyValue DryerD2Recip2_Tolerance { get; set; } + public DataKeyValue DryerD2Recip3_Bin { get; set; } + public DataKeyValue DryerD2Recip3_Set { get; set; } + public DataKeyValue DryerD2Recip3_Tolerance { get; set; } + public DataKeyValue DryerD2Step0_mixCode { get; set; } + public DataKeyValue DryerD2Step0_mixTime { get; set; } + public DataKeyValue DryerD2Step0_mixTemp { get; set; } + public DataKeyValue DryerD2Step0_mixSpeed { get; set; } + public DataKeyValue DryerD2Step1_mixCode { get; set; } + public DataKeyValue DryerD2Step1_mixTime { get; set; } + public DataKeyValue DryerD2Step1_mixTemp { get; set; } + public DataKeyValue DryerD2Step1_mixSpeed { get; set; } + public DataKeyValue DryerD2Step2_mixCode { get; set; } + public DataKeyValue DryerD2Step2_mixTime { get; set; } + public DataKeyValue DryerD2Step2_mixTemp { get; set; } + public DataKeyValue DryerD2Step2_mixSpeed { get; set; } + public DataKeyValue DryerD2Step3_mixCode { get; set; } + public DataKeyValue DryerD2Step3_mixTime { get; set; } + public DataKeyValue DryerD2Step3_mixTemp { get; set; } + public DataKeyValue DryerD2Step3_mixSpeed { get; set; } + public DataKeyValue DryerD2Step4_mixCode { get; set; } + public DataKeyValue DryerD2Step4_mixTime { get; set; } + public DataKeyValue DryerD2Step4_mixTemp { get; set; } + public DataKeyValue DryerD2Step4_mixSpeed { get; set; } + public DataKeyValue DryerD2Step5_mixCode { get; set; } + public DataKeyValue DryerD2Step5_mixTime { get; set; } + public DataKeyValue DryerD2Step5_mixTemp { get; set; } + public DataKeyValue DryerD2Step5_mixSpeed { get; set; } + public DataKeyValue DryerD2Step6_mixCode { get; set; } + public DataKeyValue DryerD2Step6_mixTime { get; set; } + public DataKeyValue DryerD2Step6_mixTemp { get; set; } + public DataKeyValue DryerD2Step6_mixSpeed { get; set; } + public DataKeyValue DryerD2Step7_mixCode { get; set; } + public DataKeyValue DryerD2Step7_mixTime { get; set; } + public DataKeyValue DryerD2Step7_mixTemp { get; set; } + public DataKeyValue DryerD2Step7_mixSpeed { get; set; } + public DataKeyValue DryerD2Step8_mixCode { get; set; } + public DataKeyValue DryerD2Step8_mixTime { get; set; } + public DataKeyValue DryerD2Step8_mixTemp { get; set; } + public DataKeyValue DryerD2Step8_mixSpeed { get; set; } + public DataKeyValue DryerD2Step9_mixCode { get; set; } + public DataKeyValue DryerD2Step9_mixTime { get; set; } + public DataKeyValue DryerD2Step9_mixTemp { get; set; } + public DataKeyValue DryerD2Step9_mixSpeed { get; set; } + public DataKeyValue DryerD3Recip0_Bin { get; set; } + public DataKeyValue DryerD3Recip0_Set { get; set; } + public DataKeyValue DryerD3Recip0_Tolerance { get; set; } + public DataKeyValue DryerD3Recip1_Bin { get; set; } + public DataKeyValue DryerD3Recip1_Set { get; set; } + public DataKeyValue DryerD3Recip1_Tolerance { get; set; } + public DataKeyValue DryerD3Recip2_Bin { get; set; } + public DataKeyValue DryerD3Recip2_Set { get; set; } + public DataKeyValue DryerD3Recip2_Tolerance { get; set; } + public DataKeyValue DryerD3Recip3_Bin { get; set; } + public DataKeyValue DryerD3Recip3_Set { get; set; } + public DataKeyValue DryerD3Recip3_Tolerance { get; set; } + public DataKeyValue DryerD3Step0_mixCode { get; set; } + public DataKeyValue DryerD3Step0_mixTime { get; set; } + public DataKeyValue DryerD3Step0_mixTemp { get; set; } + public DataKeyValue DryerD3Step0_mixSpeed { get; set; } + public DataKeyValue DryerD3Step1_mixCode { get; set; } + public DataKeyValue DryerD3Step1_mixTime { get; set; } + public DataKeyValue DryerD3Step1_mixTemp { get; set; } + public DataKeyValue DryerD3Step1_mixSpeed { get; set; } + public DataKeyValue DryerD3Step2_mixCode { get; set; } + public DataKeyValue DryerD3Step2_mixTime { get; set; } + public DataKeyValue DryerD3Step2_mixTemp { get; set; } + public DataKeyValue DryerD3Step2_mixSpeed { get; set; } + public DataKeyValue DryerD3Step3_mixCode { get; set; } + public DataKeyValue DryerD3Step3_mixTime { get; set; } + public DataKeyValue DryerD3Step3_mixTemp { get; set; } + public DataKeyValue DryerD3Step3_mixSpeed { get; set; } + public DataKeyValue DryerD3Step4_mixCode { get; set; } + public DataKeyValue DryerD3Step4_mixTime { get; set; } + public DataKeyValue DryerD3Step4_mixTemp { get; set; } + public DataKeyValue DryerD3Step4_mixSpeed { get; set; } + public DataKeyValue DryerD3Step5_mixCode { get; set; } + public DataKeyValue DryerD3Step5_mixTime { get; set; } + public DataKeyValue DryerD3Step5_mixTemp { get; set; } + public DataKeyValue DryerD3Step5_mixSpeed { get; set; } + public DataKeyValue DryerD3Step6_mixCode { get; set; } + public DataKeyValue DryerD3Step6_mixTime { get; set; } + public DataKeyValue DryerD3Step6_mixTemp { get; set; } + public DataKeyValue DryerD3Step6_mixSpeed { get; set; } + public DataKeyValue DryerD3Step7_mixCode { get; set; } + public DataKeyValue DryerD3Step7_mixTime { get; set; } + public DataKeyValue DryerD3Step7_mixTemp { get; set; } + public DataKeyValue DryerD3Step7_mixSpeed { get; set; } + public DataKeyValue DryerD3Step8_mixCode { get; set; } + public DataKeyValue DryerD3Step8_mixTime { get; set; } + public DataKeyValue DryerD3Step8_mixTemp { get; set; } + public DataKeyValue DryerD3Step8_mixSpeed { get; set; } + public DataKeyValue DryerD3Step9_mixCode { get; set; } + public DataKeyValue DryerD3Step9_mixTime { get; set; } + public DataKeyValue DryerD3Step9_mixTemp { get; set; } + public DataKeyValue DryerD3Step9_mixSpeed { get; set; } + public DataKeyValue DryerD4Recip0_Bin { get; set; } + public DataKeyValue DryerD4Recip0_Set { get; set; } + public DataKeyValue DryerD4Recip0_Tolerance { get; set; } + public DataKeyValue DryerD4Recip1_Bin { get; set; } + public DataKeyValue DryerD4Recip1_Set { get; set; } + public DataKeyValue DryerD4Recip1_Tolerance { get; set; } + public DataKeyValue DryerD4Recip2_Bin { get; set; } + public DataKeyValue DryerD4Recip2_Set { get; set; } + public DataKeyValue DryerD4Recip2_Tolerance { get; set; } + public DataKeyValue DryerD4Recip3_Bin { get; set; } + public DataKeyValue DryerD4Recip3_Set { get; set; } + public DataKeyValue DryerD4Recip3_Tolerance { get; set; } + public DataKeyValue DryerD4Step0_mixCode { get; set; } + public DataKeyValue DryerD4Step0_mixTime { get; set; } + public DataKeyValue DryerD4Step0_mixTemp { get; set; } + public DataKeyValue DryerD4Step0_mixSpeed { get; set; } + public DataKeyValue DryerD4Step1_mixCode { get; set; } + public DataKeyValue DryerD4Step1_mixTime { get; set; } + public DataKeyValue DryerD4Step1_mixTemp { get; set; } + public DataKeyValue DryerD4Step1_mixSpeed { get; set; } + public DataKeyValue DryerD4Step2_mixCode { get; set; } + public DataKeyValue DryerD4Step2_mixTime { get; set; } + public DataKeyValue DryerD4Step2_mixTemp { get; set; } + public DataKeyValue DryerD4Step2_mixSpeed { get; set; } + public DataKeyValue DryerD4Step3_mixCode { get; set; } + public DataKeyValue DryerD4Step3_mixTime { get; set; } + public DataKeyValue DryerD4Step3_mixTemp { get; set; } + public DataKeyValue DryerD4Step3_mixSpeed { get; set; } + public DataKeyValue DryerD4Step4_mixCode { get; set; } + public DataKeyValue DryerD4Step4_mixTime { get; set; } + public DataKeyValue DryerD4Step4_mixTemp { get; set; } + public DataKeyValue DryerD4Step4_mixSpeed { get; set; } + public DataKeyValue DryerD4Step5_mixCode { get; set; } + public DataKeyValue DryerD4Step5_mixTime { get; set; } + public DataKeyValue DryerD4Step5_mixTemp { get; set; } + public DataKeyValue DryerD4Step5_mixSpeed { get; set; } + public DataKeyValue DryerD4Step6_mixCode { get; set; } + public DataKeyValue DryerD4Step6_mixTime { get; set; } + public DataKeyValue DryerD4Step6_mixTemp { get; set; } + public DataKeyValue DryerD4Step6_mixSpeed { get; set; } + public DataKeyValue DryerD4Step7_mixCode { get; set; } + public DataKeyValue DryerD4Step7_mixTime { get; set; } + public DataKeyValue DryerD4Step7_mixTemp { get; set; } + public DataKeyValue DryerD4Step7_mixSpeed { get; set; } + public DataKeyValue DryerD4Step8_mixCode { get; set; } + public DataKeyValue DryerD4Step8_mixTime { get; set; } + public DataKeyValue DryerD4Step8_mixTemp { get; set; } + public DataKeyValue DryerD4Step8_mixSpeed { get; set; } + public DataKeyValue DryerD4Step9_mixCode { get; set; } + public DataKeyValue DryerD4Step9_mixTime { get; set; } + public DataKeyValue DryerD4Step9_mixTemp { get; set; } + public DataKeyValue DryerD4Step9_mixSpeed { get; set; } + public DataKeyValue GelatG1Recip0_Bin { get; set; } + public DataKeyValue GelatG1Recip0_Set { get; set; } + public DataKeyValue GelatG1Recip0_Tolerance { get; set; } + public DataKeyValue GelatG1Recip1_Bin { get; set; } + public DataKeyValue GelatG1Recip1_Set { get; set; } + public DataKeyValue GelatG1Recip1_Tolerance { get; set; } + public DataKeyValue WaterSCRecip0_Bin { get; set; } + public DataKeyValue WaterSCRecip0_Set { get; set; } + public DataKeyValue WaterSCRecip0_Tolerance { get; set; } + public DataKeyValue WaterSCRecip1_Bin { get; set; } + public DataKeyValue WaterSCRecip1_Set { get; set; } + public DataKeyValue WaterSCRecip1_Tolerance { get; set; } + public DataKeyValue WaterSCStep0_mixCode { get; set; } + public DataKeyValue WaterSCStep0_mixTime { get; set; } + public DataKeyValue WaterSCStep0_mixTemp { get; set; } + public DataKeyValue WaterSCStep0_mixSpeed { get; set; } + public DataKeyValue WaterSCStep1_mixCode { get; set; } + public DataKeyValue WaterSCStep1_mixTime { get; set; } + public DataKeyValue WaterSCStep1_mixTemp { get; set; } + public DataKeyValue WaterSCStep1_mixSpeed { get; set; } + public DataKeyValue WaterSCStep2_mixCode { get; set; } + public DataKeyValue WaterSCStep2_mixTime { get; set; } + public DataKeyValue WaterSCStep2_mixTemp { get; set; } + public DataKeyValue WaterSCStep2_mixSpeed { get; set; } + public DataKeyValue WaterSCStep3_mixCode { get; set; } + public DataKeyValue WaterSCStep3_mixTime { get; set; } + public DataKeyValue WaterSCStep3_mixTemp { get; set; } + public DataKeyValue WaterSCStep3_mixSpeed { get; set; } + public DataKeyValue WaterSCStep4_mixCode { get; set; } + public DataKeyValue WaterSCStep4_mixTime { get; set; } + public DataKeyValue WaterSCStep4_mixTemp { get; set; } + public DataKeyValue WaterSCStep4_mixSpeed { get; set; } + public DataKeyValue WaterSCStep5_mixCode { get; set; } + public DataKeyValue WaterSCStep5_mixTime { get; set; } + public DataKeyValue WaterSCStep5_mixTemp { get; set; } + public DataKeyValue WaterSCStep5_mixSpeed { get; set; } + public DataKeyValue WaterSCStep6_mixCode { get; set; } + public DataKeyValue WaterSCStep6_mixTime { get; set; } + public DataKeyValue WaterSCStep6_mixTemp { get; set; } + public DataKeyValue WaterSCStep6_mixSpeed { get; set; } + public DataKeyValue WaterSCStep7_mixCode { get; set; } + public DataKeyValue WaterSCStep7_mixTime { get; set; } + public DataKeyValue WaterSCStep7_mixTemp { get; set; } + public DataKeyValue WaterSCStep7_mixSpeed { get; set; } + public DataKeyValue WaterSCStep8_mixCode { get; set; } + public DataKeyValue WaterSCStep8_mixTime { get; set; } + public DataKeyValue WaterSCStep8_mixTemp { get; set; } + public DataKeyValue WaterSCStep8_mixSpeed { get; set; } + public DataKeyValue WaterSCStep9_mixCode { get; set; } + public DataKeyValue WaterSCStep9_mixTime { get; set; } + public DataKeyValue WaterSCStep9_mixTemp { get; set; } + public DataKeyValue WaterSCStep9_mixSpeed { get; set; } + public DataKeyValue GelatG2Recip0_Bin { get; set; } + public DataKeyValue GelatG2Recip0_Set { get; set; } + public DataKeyValue GelatG2Recip0_Tolerance { get; set; } + public DataKeyValue GelatG2Recip1_Bin { get; set; } + public DataKeyValue GelatG2Recip1_Set { get; set; } + public DataKeyValue GelatG2Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_B_Recip0_Bin { get; set; } + public DataKeyValue WaterSC_B_Recip0_Set { get; set; } + public DataKeyValue WaterSC_B_Recip0_Tolerance { get; set; } + public DataKeyValue WaterSC_B_Recip1_Bin { get; set; } + public DataKeyValue WaterSC_B_Recip1_Set { get; set; } + public DataKeyValue WaterSC_B_Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_B_Step0_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step0_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step0_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step0_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step1_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step1_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step1_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step1_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step2_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step2_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step2_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step2_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step3_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step3_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step3_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step3_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step4_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step4_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step4_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step4_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step5_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step5_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step5_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step5_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step6_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step6_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step6_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step6_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step7_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step7_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step7_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step7_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step8_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step8_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step8_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step8_mixSpeed { get; set; } + public DataKeyValue WaterSC_B_Step9_mixCode { get; set; } + public DataKeyValue WaterSC_B_Step9_mixTime { get; set; } + public DataKeyValue WaterSC_B_Step9_mixTemp { get; set; } + public DataKeyValue WaterSC_B_Step9_mixSpeed { get; set; } + public DataKeyValue Gelat_G3Recip0_Bin { get; set; } + public DataKeyValue Gelat_G3Recip0_Set { get; set; } + public DataKeyValue Gelat_G3Recip0_Tolerance { get; set; } + public DataKeyValue Gelat_G3Recip1_Bin { get; set; } + public DataKeyValue Gelat_G3Recip1_Set { get; set; } + public DataKeyValue Gelat_G3Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_C_Recip0_Bin { get; set; } + public DataKeyValue WaterSC_C_Recip0_Set { get; set; } + public DataKeyValue WaterSC_C_Recip0_Tolerance { get; set; } + public DataKeyValue WaterSC_C_Recip1_Bin { get; set; } + public DataKeyValue WaterSC_C_Recip1_Set { get; set; } + public DataKeyValue WaterSC_C_Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_C_Step0_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step0_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step0_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step0_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step1_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step1_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step1_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step1_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step2_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step2_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step2_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step2_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step3_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step3_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step3_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step3_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step4_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step4_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step4_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step4_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step5_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step5_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step5_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step5_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step6_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step6_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step6_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step6_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step7_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step7_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step7_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step7_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step8_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step8_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step8_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step8_mixSpeed { get; set; } + public DataKeyValue WaterSC_C_Step9_mixCode { get; set; } + public DataKeyValue WaterSC_C_Step9_mixTime { get; set; } + public DataKeyValue WaterSC_C_Step9_mixTemp { get; set; } + public DataKeyValue WaterSC_C_Step9_mixSpeed { get; set; } + public DataKeyValue Gelat_G4Recip0_Bin { get; set; } + public DataKeyValue Gelat_G4Recip0_Set { get; set; } + public DataKeyValue Gelat_G4Recip0_Tolerance { get; set; } + public DataKeyValue Gelat_G4Recip1_Bin { get; set; } + public DataKeyValue Gelat_G4Recip1_Set { get; set; } + public DataKeyValue Gelat_G4Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_D_Recip0_Bin { get; set; } + public DataKeyValue WaterSC_D_Recip0_Set { get; set; } + public DataKeyValue WaterSC_D_Recip0_Tolerance { get; set; } + public DataKeyValue WaterSC_D_Recip1_Bin { get; set; } + public DataKeyValue WaterSC_D_Recip1_Set { get; set; } + public DataKeyValue WaterSC_D_Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_D_Step0_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step0_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step0_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step0_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step1_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step1_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step1_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step1_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step2_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step2_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step2_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step2_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step3_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step3_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step3_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step3_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step4_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step4_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step4_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step4_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step5_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step5_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step5_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step5_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step6_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step6_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step6_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step6_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step7_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step7_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step7_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step7_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step8_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step8_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step8_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step8_mixSpeed { get; set; } + public DataKeyValue WaterSC_D_Step9_mixCode { get; set; } + public DataKeyValue WaterSC_D_Step9_mixTime { get; set; } + public DataKeyValue WaterSC_D_Step9_mixTemp { get; set; } + public DataKeyValue WaterSC_D_Step9_mixSpeed { get; set; } + public DataKeyValue Gelat_G5Recip0_Bin { get; set; } + public DataKeyValue Gelat_G5Recip0_Set { get; set; } + public DataKeyValue Gelat_G5Recip0_Tolerance { get; set; } + public DataKeyValue Gelat_G5Recip1_Bin { get; set; } + public DataKeyValue Gelat_G5Recip1_Set { get; set; } + public DataKeyValue Gelat_G5Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G5_RD_Recip0_Bin { get; set; } + public DataKeyValue WaterSC_G5_RD_Recip0_Set { get; set; } + public DataKeyValue WaterSC_G5_RD_Recip0_Tolerance { get; set; } + public DataKeyValue WaterSC_G5_RD_Recip1_Bin { get; set; } + public DataKeyValue WaterSC_G5_RD_Recip1_Set { get; set; } + public DataKeyValue WaterSC_G5_RD_Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G5_RD_Step0_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step0_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step0_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step0_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step1_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step1_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step1_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step1_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step2_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step2_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step2_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step2_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step3_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step3_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step3_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step3_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step4_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step4_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step4_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step4_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step5_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step5_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step5_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step5_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step6_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step6_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step6_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step6_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step7_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step7_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step7_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step7_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step8_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step8_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step8_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step8_mixSpeed { get; set; } + public DataKeyValue WaterSC_G5_RD_Step9_mixCode { get; set; } + public DataKeyValue WaterSC_G5_RD_Step9_mixTime { get; set; } + public DataKeyValue WaterSC_G5_RD_Step9_mixTemp { get; set; } + public DataKeyValue WaterSC_G5_RD_Step9_mixSpeed { get; set; } + public DataKeyValue Gelat_G6Recip0_Bin { get; set; } + public DataKeyValue Gelat_G6Recip0_Set { get; set; } + public DataKeyValue Gelat_G6Recip0_Tolerance { get; set; } + public DataKeyValue Gelat_G6Recip1_Bin { get; set; } + public DataKeyValue Gelat_G6Recip1_Set { get; set; } + public DataKeyValue Gelat_G6Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G6_RD_Recip0_Bin { get; set; } + public DataKeyValue WaterSC_G6_RD_Recip0_Set { get; set; } + public DataKeyValue WaterSC_G6_RD_Recip0_Tolerance { get; set; } + public DataKeyValue WaterSC_G6_RD_Recip1_Bin { get; set; } + public DataKeyValue WaterSC_G6_RD_Recip1_Set { get; set; } + public DataKeyValue WaterSC_G6_RD_Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G6_RD_Step0_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step0_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step0_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step0_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step1_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step1_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step1_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step1_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step2_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step2_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step2_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step2_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step3_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step3_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step3_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step3_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step4_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step4_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step4_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step4_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step5_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step5_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step5_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step5_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step6_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step6_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step6_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step6_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step7_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step7_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step7_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step7_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step8_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step8_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step8_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step8_mixSpeed { get; set; } + public DataKeyValue WaterSC_G6_RD_Step9_mixCode { get; set; } + public DataKeyValue WaterSC_G6_RD_Step9_mixTime { get; set; } + public DataKeyValue WaterSC_G6_RD_Step9_mixTemp { get; set; } + public DataKeyValue WaterSC_G6_RD_Step9_mixSpeed { get; set; } + public DataKeyValue Gelat_G7Recip0_Bin { get; set; } + public DataKeyValue Gelat_G7Recip0_Set { get; set; } + public DataKeyValue Gelat_G7Recip0_Tolerance { get; set; } + public DataKeyValue Gelat_G7Recip1_Bin { get; set; } + public DataKeyValue Gelat_G7Recip1_Set { get; set; } + public DataKeyValue Gelat_G7Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G7_RD_Recip0_Bin { get; set; } + public DataKeyValue WaterSC_G7_RD_Recip0_Set { get; set; } + public DataKeyValue WaterSC_G7_RD_Recip0_Tolerance { get; set; } + public DataKeyValue WaterSC_G7_RD_Recip1_Bin { get; set; } + public DataKeyValue WaterSC_G7_RD_Recip1_Set { get; set; } + public DataKeyValue WaterSC_G7_RD_Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G7_RD_Step0_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step0_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step0_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step0_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step1_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step1_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step1_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step1_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step2_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step2_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step2_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step2_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step3_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step3_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step3_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step3_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step4_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step4_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step4_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step4_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step5_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step5_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step5_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step5_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step6_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step6_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step6_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step6_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step7_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step7_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step7_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step7_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step8_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step8_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step8_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step8_mixSpeed { get; set; } + public DataKeyValue WaterSC_G7_RD_Step9_mixCode { get; set; } + public DataKeyValue WaterSC_G7_RD_Step9_mixTime { get; set; } + public DataKeyValue WaterSC_G7_RD_Step9_mixTemp { get; set; } + public DataKeyValue WaterSC_G7_RD_Step9_mixSpeed { get; set; } + public DataKeyValue Gelat_G8Recip0_Bin { get; set; } + public DataKeyValue Gelat_G8Recip0_Set { get; set; } + public DataKeyValue Gelat_G8Recip0_Tolerance { get; set; } + public DataKeyValue Gelat_G8Recip1_Bin { get; set; } + public DataKeyValue Gelat_G8Recip1_Set { get; set; } + public DataKeyValue Gelat_G8Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G9_RD_Recip0_Bin { get; set; } + public DataKeyValue WaterSC_G9_RD_Recip0_Set { get; set; } + public DataKeyValue WaterSC_G9_RD_Recip0_Tolerance { get; set; } + public DataKeyValue WaterSC_G9_RD_Recip1_Bin { get; set; } + public DataKeyValue WaterSC_G9_RD_Recip1_Set { get; set; } + public DataKeyValue WaterSC_G9_RD_Recip1_Tolerance { get; set; } + public DataKeyValue WaterSC_G9_RD_Step0_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step0_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step0_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step0_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step1_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step1_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step1_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step1_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step2_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step2_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step2_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step2_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step3_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step3_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step3_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step3_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step4_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step4_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step4_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step4_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step5_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step5_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step5_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step5_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step6_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step6_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step6_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step6_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step7_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step7_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step7_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step7_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step8_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step8_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step8_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step8_mixSpeed { get; set; } + public DataKeyValue WaterSC_G9_RD_Step9_mixCode { get; set; } + public DataKeyValue WaterSC_G9_RD_Step9_mixTime { get; set; } + public DataKeyValue WaterSC_G9_RD_Step9_mixTemp { get; set; } + public DataKeyValue WaterSC_G9_RD_Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step0_mixCode { get; set; } + public DataKeyValue Weter_M1Step0_mixTime { get; set; } + public DataKeyValue Weter_M1Step0_mixTemp { get; set; } + public DataKeyValue Weter_M1Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step0_setValue { get; set; } + public DataKeyValue Weter_M1Step0_tolerance { get; set; } + public DataKeyValue Weter_M1Step1_mixCode { get; set; } + public DataKeyValue Weter_M1Step1_mixTime { get; set; } + public DataKeyValue Weter_M1Step1_mixTemp { get; set; } + public DataKeyValue Weter_M1Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step1_setValue { get; set; } + public DataKeyValue Weter_M1Step1_tolerance { get; set; } + public DataKeyValue Weter_M1Step2_mixCode { get; set; } + public DataKeyValue Weter_M1Step2_mixTime { get; set; } + public DataKeyValue Weter_M1Step2_mixTemp { get; set; } + public DataKeyValue Weter_M1Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step2_setValue { get; set; } + public DataKeyValue Weter_M1Step2_tolerance { get; set; } + public DataKeyValue Weter_M1Step3_mixCode { get; set; } + public DataKeyValue Weter_M1Step3_mixTime { get; set; } + public DataKeyValue Weter_M1Step3_mixTemp { get; set; } + public DataKeyValue Weter_M1Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step3_setValue { get; set; } + public DataKeyValue Weter_M1Step3_tolerance { get; set; } + public DataKeyValue Weter_M1Step4_mixCode { get; set; } + public DataKeyValue Weter_M1Step4_mixTime { get; set; } + public DataKeyValue Weter_M1Step4_mixTemp { get; set; } + public DataKeyValue Weter_M1Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step4_setValue { get; set; } + public DataKeyValue Weter_M1Step4_tolerance { get; set; } + public DataKeyValue Weter_M1Step5_mixCode { get; set; } + public DataKeyValue Weter_M1Step5_mixTime { get; set; } + public DataKeyValue Weter_M1Step5_mixTemp { get; set; } + public DataKeyValue Weter_M1Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step5_setValue { get; set; } + public DataKeyValue Weter_M1Step5_tolerance { get; set; } + public DataKeyValue Weter_M1Step6_mixCode { get; set; } + public DataKeyValue Weter_M1Step6_mixTime { get; set; } + public DataKeyValue Weter_M1Step6_mixTemp { get; set; } + public DataKeyValue Weter_M1Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step6_setValue { get; set; } + public DataKeyValue Weter_M1Step6_tolerance { get; set; } + public DataKeyValue Weter_M1Step7_mixCode { get; set; } + public DataKeyValue Weter_M1Step7_mixTime { get; set; } + public DataKeyValue Weter_M1Step7_mixTemp { get; set; } + public DataKeyValue Weter_M1Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step7_setValue { get; set; } + public DataKeyValue Weter_M1Step7_tolerance { get; set; } + public DataKeyValue Weter_M1Step8_mixCode { get; set; } + public DataKeyValue Weter_M1Step8_mixTime { get; set; } + public DataKeyValue Weter_M1Step8_mixTemp { get; set; } + public DataKeyValue Weter_M1Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step8_setValue { get; set; } + public DataKeyValue Weter_M1Step8_tolerance { get; set; } + public DataKeyValue Weter_M1Step9_mixCode { get; set; } + public DataKeyValue Weter_M1Step9_mixTime { get; set; } + public DataKeyValue Weter_M1Step9_mixTemp { get; set; } + public DataKeyValue Weter_M1Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M1Step9_setValue { get; set; } + public DataKeyValue Weter_M1Step9_tolerance { get; set; } + public DataKeyValue Weter_M2Step0_mixCode { get; set; } + public DataKeyValue Weter_M2Step0_mixTime { get; set; } + public DataKeyValue Weter_M2Step0_mixTemp { get; set; } + public DataKeyValue Weter_M2Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step0_setValue { get; set; } + public DataKeyValue Weter_M2Step0_tolerance { get; set; } + public DataKeyValue Weter_M2Step1_mixCode { get; set; } + public DataKeyValue Weter_M2Step1_mixTime { get; set; } + public DataKeyValue Weter_M2Step1_mixTemp { get; set; } + public DataKeyValue Weter_M2Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step1_setValue { get; set; } + public DataKeyValue Weter_M2Step1_tolerance { get; set; } + public DataKeyValue Weter_M2Step2_mixCode { get; set; } + public DataKeyValue Weter_M2Step2_mixTime { get; set; } + public DataKeyValue Weter_M2Step2_mixTemp { get; set; } + public DataKeyValue Weter_M2Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step2_setValue { get; set; } + public DataKeyValue Weter_M2Step2_tolerance { get; set; } + public DataKeyValue Weter_M2Step3_mixCode { get; set; } + public DataKeyValue Weter_M2Step3_mixTime { get; set; } + public DataKeyValue Weter_M2Step3_mixTemp { get; set; } + public DataKeyValue Weter_M2Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step3_setValue { get; set; } + public DataKeyValue Weter_M2Step3_tolerance { get; set; } + public DataKeyValue Weter_M2Step4_mixCode { get; set; } + public DataKeyValue Weter_M2Step4_mixTime { get; set; } + public DataKeyValue Weter_M2Step4_mixTemp { get; set; } + public DataKeyValue Weter_M2Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step4_setValue { get; set; } + public DataKeyValue Weter_M2Step4_tolerance { get; set; } + public DataKeyValue Weter_M2Step5_mixCode { get; set; } + public DataKeyValue Weter_M2Step5_mixTime { get; set; } + public DataKeyValue Weter_M2Step5_mixTemp { get; set; } + public DataKeyValue Weter_M2Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step5_setValue { get; set; } + public DataKeyValue Weter_M2Step5_tolerance { get; set; } + public DataKeyValue Weter_M2Step6_mixCode { get; set; } + public DataKeyValue Weter_M2Step6_mixTime { get; set; } + public DataKeyValue Weter_M2Step6_mixTemp { get; set; } + public DataKeyValue Weter_M2Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step6_setValue { get; set; } + public DataKeyValue Weter_M2Step6_tolerance { get; set; } + public DataKeyValue Weter_M2Step7_mixCode { get; set; } + public DataKeyValue Weter_M2Step7_mixTime { get; set; } + public DataKeyValue Weter_M2Step7_mixTemp { get; set; } + public DataKeyValue Weter_M2Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step7_setValue { get; set; } + public DataKeyValue Weter_M2Step7_tolerance { get; set; } + public DataKeyValue Weter_M2Step8_mixCode { get; set; } + public DataKeyValue Weter_M2Step8_mixTime { get; set; } + public DataKeyValue Weter_M2Step8_mixTemp { get; set; } + public DataKeyValue Weter_M2Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step8_setValue { get; set; } + public DataKeyValue Weter_M2Step8_tolerance { get; set; } + public DataKeyValue Weter_M2Step9_mixCode { get; set; } + public DataKeyValue Weter_M2Step9_mixTime { get; set; } + public DataKeyValue Weter_M2Step9_mixTemp { get; set; } + public DataKeyValue Weter_M2Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M2Step9_setValue { get; set; } + public DataKeyValue Weter_M2Step9_tolerance { get; set; } + public DataKeyValue Weter_M3Step0_mixCode { get; set; } + public DataKeyValue Weter_M3Step0_mixTime { get; set; } + public DataKeyValue Weter_M3Step0_mixTemp { get; set; } + public DataKeyValue Weter_M3Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step0_setValue { get; set; } + public DataKeyValue Weter_M3Step0_tolerance { get; set; } + public DataKeyValue Weter_M3Step1_mixCode { get; set; } + public DataKeyValue Weter_M3Step1_mixTime { get; set; } + public DataKeyValue Weter_M3Step1_mixTemp { get; set; } + public DataKeyValue Weter_M3Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step1_setValue { get; set; } + public DataKeyValue Weter_M3Step1_tolerance { get; set; } + public DataKeyValue Weter_M3Step2_mixCode { get; set; } + public DataKeyValue Weter_M3Step2_mixTime { get; set; } + public DataKeyValue Weter_M3Step2_mixTemp { get; set; } + public DataKeyValue Weter_M3Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step2_setValue { get; set; } + public DataKeyValue Weter_M3Step2_tolerance { get; set; } + public DataKeyValue Weter_M3Step3_mixCode { get; set; } + public DataKeyValue Weter_M3Step3_mixTime { get; set; } + public DataKeyValue Weter_M3Step3_mixTemp { get; set; } + public DataKeyValue Weter_M3Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step3_setValue { get; set; } + public DataKeyValue Weter_M3Step3_tolerance { get; set; } + public DataKeyValue Weter_M3Step4_mixCode { get; set; } + public DataKeyValue Weter_M3Step4_mixTime { get; set; } + public DataKeyValue Weter_M3Step4_mixTemp { get; set; } + public DataKeyValue Weter_M3Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step4_setValue { get; set; } + public DataKeyValue Weter_M3Step4_tolerance { get; set; } + public DataKeyValue Weter_M3Step5_mixCode { get; set; } + public DataKeyValue Weter_M3Step5_mixTime { get; set; } + public DataKeyValue Weter_M3Step5_mixTemp { get; set; } + public DataKeyValue Weter_M3Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step5_setValue { get; set; } + public DataKeyValue Weter_M3Step5_tolerance { get; set; } + public DataKeyValue Weter_M3Step6_mixCode { get; set; } + public DataKeyValue Weter_M3Step6_mixTime { get; set; } + public DataKeyValue Weter_M3Step6_mixTemp { get; set; } + public DataKeyValue Weter_M3Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step6_setValue { get; set; } + public DataKeyValue Weter_M3Step6_tolerance { get; set; } + public DataKeyValue Weter_M3Step7_mixCode { get; set; } + public DataKeyValue Weter_M3Step7_mixTime { get; set; } + public DataKeyValue Weter_M3Step7_mixTemp { get; set; } + public DataKeyValue Weter_M3Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step7_setValue { get; set; } + public DataKeyValue Weter_M3Step7_tolerance { get; set; } + public DataKeyValue Weter_M3Step8_mixCode { get; set; } + public DataKeyValue Weter_M3Step8_mixTime { get; set; } + public DataKeyValue Weter_M3Step8_mixTemp { get; set; } + public DataKeyValue Weter_M3Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step8_setValue { get; set; } + public DataKeyValue Weter_M3Step8_tolerance { get; set; } + public DataKeyValue Weter_M3Step9_mixCode { get; set; } + public DataKeyValue Weter_M3Step9_mixTime { get; set; } + public DataKeyValue Weter_M3Step9_mixTemp { get; set; } + public DataKeyValue Weter_M3Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M3Step9_setValue { get; set; } + public DataKeyValue Weter_M3Step9_tolerance { get; set; } + public DataKeyValue Weter_M4Step0_mixCode { get; set; } + public DataKeyValue Weter_M4Step0_mixTime { get; set; } + public DataKeyValue Weter_M4Step0_mixTemp { get; set; } + public DataKeyValue Weter_M4Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step0_setValue { get; set; } + public DataKeyValue Weter_M4Step0_tolerance { get; set; } + public DataKeyValue Weter_M4Step1_mixCode { get; set; } + public DataKeyValue Weter_M4Step1_mixTime { get; set; } + public DataKeyValue Weter_M4Step1_mixTemp { get; set; } + public DataKeyValue Weter_M4Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step1_setValue { get; set; } + public DataKeyValue Weter_M4Step1_tolerance { get; set; } + public DataKeyValue Weter_M4Step2_mixCode { get; set; } + public DataKeyValue Weter_M4Step2_mixTime { get; set; } + public DataKeyValue Weter_M4Step2_mixTemp { get; set; } + public DataKeyValue Weter_M4Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step2_setValue { get; set; } + public DataKeyValue Weter_M4Step2_tolerance { get; set; } + public DataKeyValue Weter_M4Step3_mixCode { get; set; } + public DataKeyValue Weter_M4Step3_mixTime { get; set; } + public DataKeyValue Weter_M4Step3_mixTemp { get; set; } + public DataKeyValue Weter_M4Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step3_setValue { get; set; } + public DataKeyValue Weter_M4Step3_tolerance { get; set; } + public DataKeyValue Weter_M4Step4_mixCode { get; set; } + public DataKeyValue Weter_M4Step4_mixTime { get; set; } + public DataKeyValue Weter_M4Step4_mixTemp { get; set; } + public DataKeyValue Weter_M4Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step4_setValue { get; set; } + public DataKeyValue Weter_M4Step4_tolerance { get; set; } + public DataKeyValue Weter_M4Step5_mixCode { get; set; } + public DataKeyValue Weter_M4Step5_mixTime { get; set; } + public DataKeyValue Weter_M4Step5_mixTemp { get; set; } + public DataKeyValue Weter_M4Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step5_setValue { get; set; } + public DataKeyValue Weter_M4Step5_tolerance { get; set; } + public DataKeyValue Weter_M4Step6_mixCode { get; set; } + public DataKeyValue Weter_M4Step6_mixTime { get; set; } + public DataKeyValue Weter_M4Step6_mixTemp { get; set; } + public DataKeyValue Weter_M4Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step6_setValue { get; set; } + public DataKeyValue Weter_M4Step6_tolerance { get; set; } + public DataKeyValue Weter_M4Step7_mixCode { get; set; } + public DataKeyValue Weter_M4Step7_mixTime { get; set; } + public DataKeyValue Weter_M4Step7_mixTemp { get; set; } + public DataKeyValue Weter_M4Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step7_setValue { get; set; } + public DataKeyValue Weter_M4Step7_tolerance { get; set; } + public DataKeyValue Weter_M4Step8_mixCode { get; set; } + public DataKeyValue Weter_M4Step8_mixTime { get; set; } + public DataKeyValue Weter_M4Step8_mixTemp { get; set; } + public DataKeyValue Weter_M4Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step8_setValue { get; set; } + public DataKeyValue Weter_M4Step8_tolerance { get; set; } + public DataKeyValue Weter_M4Step9_mixCode { get; set; } + public DataKeyValue Weter_M4Step9_mixTime { get; set; } + public DataKeyValue Weter_M4Step9_mixTemp { get; set; } + public DataKeyValue Weter_M4Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M4Step9_setValue { get; set; } + public DataKeyValue Weter_M4Step9_tolerance { get; set; } + public DataKeyValue Weter_M5Step0_mixCode { get; set; } + public DataKeyValue Weter_M5Step0_mixTime { get; set; } + public DataKeyValue Weter_M5Step0_mixTemp { get; set; } + public DataKeyValue Weter_M5Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step0_setValue { get; set; } + public DataKeyValue Weter_M5Step0_tolerance { get; set; } + public DataKeyValue Weter_M5Step1_mixCode { get; set; } + public DataKeyValue Weter_M5Step1_mixTime { get; set; } + public DataKeyValue Weter_M5Step1_mixTemp { get; set; } + public DataKeyValue Weter_M5Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step1_setValue { get; set; } + public DataKeyValue Weter_M5Step1_tolerance { get; set; } + public DataKeyValue Weter_M5Step2_mixCode { get; set; } + public DataKeyValue Weter_M5Step2_mixTime { get; set; } + public DataKeyValue Weter_M5Step2_mixTemp { get; set; } + public DataKeyValue Weter_M5Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step2_setValue { get; set; } + public DataKeyValue Weter_M5Step2_tolerance { get; set; } + public DataKeyValue Weter_M5Step3_mixCode { get; set; } + public DataKeyValue Weter_M5Step3_mixTime { get; set; } + public DataKeyValue Weter_M5Step3_mixTemp { get; set; } + public DataKeyValue Weter_M5Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step3_setValue { get; set; } + public DataKeyValue Weter_M5Step3_tolerance { get; set; } + public DataKeyValue Weter_M5Step4_mixCode { get; set; } + public DataKeyValue Weter_M5Step4_mixTime { get; set; } + public DataKeyValue Weter_M5Step4_mixTemp { get; set; } + public DataKeyValue Weter_M5Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step4_setValue { get; set; } + public DataKeyValue Weter_M5Step4_tolerance { get; set; } + public DataKeyValue Weter_M5Step5_mixCode { get; set; } + public DataKeyValue Weter_M5Step5_mixTime { get; set; } + public DataKeyValue Weter_M5Step5_mixTemp { get; set; } + public DataKeyValue Weter_M5Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step5_setValue { get; set; } + public DataKeyValue Weter_M5Step5_tolerance { get; set; } + public DataKeyValue Weter_M5Step6_mixCode { get; set; } + public DataKeyValue Weter_M5Step6_mixTime { get; set; } + public DataKeyValue Weter_M5Step6_mixTemp { get; set; } + public DataKeyValue Weter_M5Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step6_setValue { get; set; } + public DataKeyValue Weter_M5Step6_tolerance { get; set; } + public DataKeyValue Weter_M5Step7_mixCode { get; set; } + public DataKeyValue Weter_M5Step7_mixTime { get; set; } + public DataKeyValue Weter_M5Step7_mixTemp { get; set; } + public DataKeyValue Weter_M5Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step7_setValue { get; set; } + public DataKeyValue Weter_M5Step7_tolerance { get; set; } + public DataKeyValue Weter_M5Step8_mixCode { get; set; } + public DataKeyValue Weter_M5Step8_mixTime { get; set; } + public DataKeyValue Weter_M5Step8_mixTemp { get; set; } + public DataKeyValue Weter_M5Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step8_setValue { get; set; } + public DataKeyValue Weter_M5Step8_tolerance { get; set; } + public DataKeyValue Weter_M5Step9_mixCode { get; set; } + public DataKeyValue Weter_M5Step9_mixTime { get; set; } + public DataKeyValue Weter_M5Step9_mixTemp { get; set; } + public DataKeyValue Weter_M5Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M5Step9_setValue { get; set; } + public DataKeyValue Weter_M5Step9_tolerance { get; set; } + public DataKeyValue Weter_M6Step0_mixCode { get; set; } + public DataKeyValue Weter_M6Step0_mixTime { get; set; } + public DataKeyValue Weter_M6Step0_mixTemp { get; set; } + public DataKeyValue Weter_M6Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step0_setValue { get; set; } + public DataKeyValue Weter_M6Step0_tolerance { get; set; } + public DataKeyValue Weter_M6Step1_mixCode { get; set; } + public DataKeyValue Weter_M6Step1_mixTime { get; set; } + public DataKeyValue Weter_M6Step1_mixTemp { get; set; } + public DataKeyValue Weter_M6Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step1_setValue { get; set; } + public DataKeyValue Weter_M6Step1_tolerance { get; set; } + public DataKeyValue Weter_M6Step2_mixCode { get; set; } + public DataKeyValue Weter_M6Step2_mixTime { get; set; } + public DataKeyValue Weter_M6Step2_mixTemp { get; set; } + public DataKeyValue Weter_M6Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step2_setValue { get; set; } + public DataKeyValue Weter_M6Step2_tolerance { get; set; } + public DataKeyValue Weter_M6Step3_mixCode { get; set; } + public DataKeyValue Weter_M6Step3_mixTime { get; set; } + public DataKeyValue Weter_M6Step3_mixTemp { get; set; } + public DataKeyValue Weter_M6Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step3_setValue { get; set; } + public DataKeyValue Weter_M6Step3_tolerance { get; set; } + public DataKeyValue Weter_M6Step4_mixCode { get; set; } + public DataKeyValue Weter_M6Step4_mixTime { get; set; } + public DataKeyValue Weter_M6Step4_mixTemp { get; set; } + public DataKeyValue Weter_M6Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step4_setValue { get; set; } + public DataKeyValue Weter_M6Step4_tolerance { get; set; } + public DataKeyValue Weter_M6Step5_mixCode { get; set; } + public DataKeyValue Weter_M6Step5_mixTime { get; set; } + public DataKeyValue Weter_M6Step5_mixTemp { get; set; } + public DataKeyValue Weter_M6Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step5_setValue { get; set; } + public DataKeyValue Weter_M6Step5_tolerance { get; set; } + public DataKeyValue Weter_M6Step6_mixCode { get; set; } + public DataKeyValue Weter_M6Step6_mixTime { get; set; } + public DataKeyValue Weter_M6Step6_mixTemp { get; set; } + public DataKeyValue Weter_M6Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step6_setValue { get; set; } + public DataKeyValue Weter_M6Step6_tolerance { get; set; } + public DataKeyValue Weter_M6Step7_mixCode { get; set; } + public DataKeyValue Weter_M6Step7_mixTime { get; set; } + public DataKeyValue Weter_M6Step7_mixTemp { get; set; } + public DataKeyValue Weter_M6Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step7_setValue { get; set; } + public DataKeyValue Weter_M6Step7_tolerance { get; set; } + public DataKeyValue Weter_M6Step8_mixCode { get; set; } + public DataKeyValue Weter_M6Step8_mixTime { get; set; } + public DataKeyValue Weter_M6Step8_mixTemp { get; set; } + public DataKeyValue Weter_M6Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step8_setValue { get; set; } + public DataKeyValue Weter_M6Step8_tolerance { get; set; } + public DataKeyValue Weter_M6Step9_mixCode { get; set; } + public DataKeyValue Weter_M6Step9_mixTime { get; set; } + public DataKeyValue Weter_M6Step9_mixTemp { get; set; } + public DataKeyValue Weter_M6Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M6Step9_setValue { get; set; } + public DataKeyValue Weter_M6Step9_tolerance { get; set; } + public DataKeyValue Weter_M7Step0_mixCode { get; set; } + public DataKeyValue Weter_M7Step0_mixTime { get; set; } + public DataKeyValue Weter_M7Step0_mixTemp { get; set; } + public DataKeyValue Weter_M7Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step0_setValue { get; set; } + public DataKeyValue Weter_M7Step0_tolerance { get; set; } + public DataKeyValue Weter_M7Step1_mixCode { get; set; } + public DataKeyValue Weter_M7Step1_mixTime { get; set; } + public DataKeyValue Weter_M7Step1_mixTemp { get; set; } + public DataKeyValue Weter_M7Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step1_setValue { get; set; } + public DataKeyValue Weter_M7Step1_tolerance { get; set; } + public DataKeyValue Weter_M7Step2_mixCode { get; set; } + public DataKeyValue Weter_M7Step2_mixTime { get; set; } + public DataKeyValue Weter_M7Step2_mixTemp { get; set; } + public DataKeyValue Weter_M7Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step2_setValue { get; set; } + public DataKeyValue Weter_M7Step2_tolerance { get; set; } + public DataKeyValue Weter_M7Step3_mixCode { get; set; } + public DataKeyValue Weter_M7Step3_mixTime { get; set; } + public DataKeyValue Weter_M7Step3_mixTemp { get; set; } + public DataKeyValue Weter_M7Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step3_setValue { get; set; } + public DataKeyValue Weter_M7Step3_tolerance { get; set; } + public DataKeyValue Weter_M7Step4_mixCode { get; set; } + public DataKeyValue Weter_M7Step4_mixTime { get; set; } + public DataKeyValue Weter_M7Step4_mixTemp { get; set; } + public DataKeyValue Weter_M7Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step4_setValue { get; set; } + public DataKeyValue Weter_M7Step4_tolerance { get; set; } + public DataKeyValue Weter_M7Step5_mixCode { get; set; } + public DataKeyValue Weter_M7Step5_mixTime { get; set; } + public DataKeyValue Weter_M7Step5_mixTemp { get; set; } + public DataKeyValue Weter_M7Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step5_setValue { get; set; } + public DataKeyValue Weter_M7Step5_tolerance { get; set; } + public DataKeyValue Weter_M7Step6_mixCode { get; set; } + public DataKeyValue Weter_M7Step6_mixTime { get; set; } + public DataKeyValue Weter_M7Step6_mixTemp { get; set; } + public DataKeyValue Weter_M7Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step6_setValue { get; set; } + public DataKeyValue Weter_M7Step6_tolerance { get; set; } + public DataKeyValue Weter_M7Step7_mixCode { get; set; } + public DataKeyValue Weter_M7Step7_mixTime { get; set; } + public DataKeyValue Weter_M7Step7_mixTemp { get; set; } + public DataKeyValue Weter_M7Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step7_setValue { get; set; } + public DataKeyValue Weter_M7Step7_tolerance { get; set; } + public DataKeyValue Weter_M7Step8_mixCode { get; set; } + public DataKeyValue Weter_M7Step8_mixTime { get; set; } + public DataKeyValue Weter_M7Step8_mixTemp { get; set; } + public DataKeyValue Weter_M7Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step8_setValue { get; set; } + public DataKeyValue Weter_M7Step8_tolerance { get; set; } + public DataKeyValue Weter_M7Step9_mixCode { get; set; } + public DataKeyValue Weter_M7Step9_mixTime { get; set; } + public DataKeyValue Weter_M7Step9_mixTemp { get; set; } + public DataKeyValue Weter_M7Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M7Step9_setValue { get; set; } + public DataKeyValue Weter_M7Step9_tolerance { get; set; } + public DataKeyValue Weter_M8Step0_mixCode { get; set; } + public DataKeyValue Weter_M8Step0_mixTime { get; set; } + public DataKeyValue Weter_M8Step0_mixTemp { get; set; } + public DataKeyValue Weter_M8Step0_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step0_setValue { get; set; } + public DataKeyValue Weter_M8Step0_tolerance { get; set; } + public DataKeyValue Weter_M8Step1_mixCode { get; set; } + public DataKeyValue Weter_M8Step1_mixTime { get; set; } + public DataKeyValue Weter_M8Step1_mixTemp { get; set; } + public DataKeyValue Weter_M8Step1_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step1_setValue { get; set; } + public DataKeyValue Weter_M8Step1_tolerance { get; set; } + public DataKeyValue Weter_M8Step2_mixCode { get; set; } + public DataKeyValue Weter_M8Step2_mixTime { get; set; } + public DataKeyValue Weter_M8Step2_mixTemp { get; set; } + public DataKeyValue Weter_M8Step2_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step2_setValue { get; set; } + public DataKeyValue Weter_M8Step2_tolerance { get; set; } + public DataKeyValue Weter_M8Step3_mixCode { get; set; } + public DataKeyValue Weter_M8Step3_mixTime { get; set; } + public DataKeyValue Weter_M8Step3_mixTemp { get; set; } + public DataKeyValue Weter_M8Step3_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step3_setValue { get; set; } + public DataKeyValue Weter_M8Step3_tolerance { get; set; } + public DataKeyValue Weter_M8Step4_mixCode { get; set; } + public DataKeyValue Weter_M8Step4_mixTime { get; set; } + public DataKeyValue Weter_M8Step4_mixTemp { get; set; } + public DataKeyValue Weter_M8Step4_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step4_setValue { get; set; } + public DataKeyValue Weter_M8Step4_tolerance { get; set; } + public DataKeyValue Weter_M8Step5_mixCode { get; set; } + public DataKeyValue Weter_M8Step5_mixTime { get; set; } + public DataKeyValue Weter_M8Step5_mixTemp { get; set; } + public DataKeyValue Weter_M8Step5_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step5_setValue { get; set; } + public DataKeyValue Weter_M8Step5_tolerance { get; set; } + public DataKeyValue Weter_M8Step6_mixCode { get; set; } + public DataKeyValue Weter_M8Step6_mixTime { get; set; } + public DataKeyValue Weter_M8Step6_mixTemp { get; set; } + public DataKeyValue Weter_M8Step6_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step6_setValue { get; set; } + public DataKeyValue Weter_M8Step6_tolerance { get; set; } + public DataKeyValue Weter_M8Step7_mixCode { get; set; } + public DataKeyValue Weter_M8Step7_mixTime { get; set; } + public DataKeyValue Weter_M8Step7_mixTemp { get; set; } + public DataKeyValue Weter_M8Step7_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step7_setValue { get; set; } + public DataKeyValue Weter_M8Step7_tolerance { get; set; } + public DataKeyValue Weter_M8Step8_mixCode { get; set; } + public DataKeyValue Weter_M8Step8_mixTime { get; set; } + public DataKeyValue Weter_M8Step8_mixTemp { get; set; } + public DataKeyValue Weter_M8Step8_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step8_setValue { get; set; } + public DataKeyValue Weter_M8Step8_tolerance { get; set; } + public DataKeyValue Weter_M8Step9_mixCode { get; set; } + public DataKeyValue Weter_M8Step9_mixTime { get; set; } + public DataKeyValue Weter_M8Step9_mixTemp { get; set; } + public DataKeyValue Weter_M8Step9_mixSpeed { get; set; } + public DataKeyValue Weter_M8Step9_setValue { get; set; } + public DataKeyValue Weter_M8Step9_tolerance { get; set; } + + + + } } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDevice/DeviceHelp.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDevice/DeviceHelp.cs index 1b0f1b2..abca4df 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDevice/DeviceHelp.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDevice/DeviceHelp.cs @@ -1,9 +1,26 @@ -using Mesnac.Action.ChemicalWeighing.LjMaterial; +using System.Collections.Generic; +using System.Data; +using Mesnac.Action.ChemicalWeighing.LjMaterial; namespace Mesnac.Action.ChemicalWeighing.LjDevice { public class DeviceHelp:DBHelp { - + public static IList GetAllNameValue() + { + var dataTable = GetTable("select Id,Name from PressureSetting"); + var dr = dataTable.Rows; + IList ls = new List(); + foreach (DataRow o in dr) + { + ls.Add(new MyNameValue() + { + Id =(int)o["Id"], + Name = o["Name"].ToString() + }); + } + + return ls; + } } } \ No newline at end of file diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDry/UpAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDry/UpAction.cs index 1883e4f..ee2716d 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDry/UpAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDry/UpAction.cs @@ -28,9 +28,7 @@ namespace Mesnac.Action.ChemicalWeighing.LjDry }; } - - // select Id, Name, , , , , , , , , Currnet, Pressure from DrySetting; - + private void DoWord() { diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjMetage/MetageDb.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjMetage/MetageDb.cs new file mode 100644 index 0000000..87a4d1e --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjMetage/MetageDb.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; +using System.Data; +using System.Linq; +using Mesnac.Action.ChemicalWeighing.LjMaterial; + +namespace Mesnac.Action.ChemicalWeighing.LjMetage +{ + public class MetageDb:DBHelp + { + + public static IList GetRiGuan() + { + var myNameValues = + GetAllNameValue().Where(x => x.Id > 15 && x.Id < 28).ToList(); + return myNameValues; + } + + public static IList GetAllNameValue() + { + var dataTable = GetTable("select Id,Name from PressureSetting"); + var dr = dataTable.Rows; + IList ls = new List(); + foreach (DataRow o in dr) + { + ls.Add(new MyNameValue() + { + Id =(int)o["Id"], + Name = o["Name"].ToString() + }); + } + + return ls; + } + } +} \ No newline at end of file diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPressure/PressureSettingDB.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPressure/PressureSettingDB.cs new file mode 100644 index 0000000..02f2778 --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPressure/PressureSettingDB.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using System.Data; +using System.Linq; +using Mesnac.Action.ChemicalWeighing.LjMaterial; + +namespace Mesnac.Action.ChemicalWeighing.LjPressure +{ + public class PressureSettingDB:DBHelp + { + + + + public static IList GetAllNameValue() + { + var dataTable = GetTable("select Id,Name from PressureSetting"); + var dr = dataTable.Rows; + IList ls = new List(); + foreach (DataRow o in dr) + { + ls.Add(new MyNameValue() + { + Id =(int)o["Id"], + Name = o["Name"].ToString() + }); + } + + return ls; + } + } +} \ No newline at end of file diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj index dd08b22..7563327 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj @@ -268,6 +268,7 @@ FrmMetage.cs + @@ -281,6 +282,7 @@ + diff --git a/Main/MCEdit/Data/MCProject/nodeDevice.xml b/Main/MCEdit/Data/MCProject/nodeDevice.xml index c9b7427..25b7bf4 100644 --- a/Main/MCEdit/Data/MCProject/nodeDevice.xml +++ b/Main/MCEdit/Data/MCProject/nodeDevice.xml @@ -2619,7 +2619,7 @@ - + @@ -2641,6 +2641,7 @@ + @@ -2661,1094 +2662,1112 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +