using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using Mesnac.Action.Base; using Mesnac.Controls.Base; using System.Windows.Forms; using Mesnac.Codd.Session; using Mesnac.Equips; using System.Xml; using System.IO; namespace Mesnac.Action.Feeding { public class WritePLCAction : DatabaseAction { protected bool ProcessWrite(string dataName, int shifting, object[] dataValue) { bool Result = false; foreach (Mesnac.Equips.BaseEquip equip in Factory.Instance.AllEquips.Values) { foreach (Mesnac.Equips.BaseInfo.Group group in equip.Group.Values) { if (group.Access == System.IO.FileAccess.Write || group.Access == System.IO.FileAccess.ReadWrite) { foreach (Mesnac.Equips.BaseInfo.Data data in group.Data.Values) { if (data.Name == dataName) { return equip.Write(Convert.ToInt32(group.Block), group.Start + data.Start + shifting, dataValue); } } } } } return Result; } protected bool ProcessWrite(string dataName, object[] dataValue) { return ProcessWrite(dataName, 0, dataValue); } protected bool ProcessRead(string dataName, out object[] dataValue) { bool Result = false; dataValue = null; foreach (Mesnac.Equips.BaseEquip equip in Factory.Instance.AllEquips.Values) { foreach (Mesnac.Equips.BaseInfo.Group group in equip.Group.Values) { if (group.Access == System.IO.FileAccess.Read || group.Access == System.IO.FileAccess.ReadWrite) { foreach (Mesnac.Equips.BaseInfo.Data data in group.Data.Values) { if (data.Name == dataName) { return equip.Read(group.Block, group.Start + data.Start, data.Len, out dataValue); } } } } } return Result; } } public class FeedingPlcAction : WritePLCAction { public DataSet CurrentRecipe() { DataSet Result = new DataSet(); DataTable dt_recipe = new DataTable(); DataTable dt_mixing = new DataTable(); DataTable dt_weight = new DataTable(); string sqlstr = @"SELECT * FROM dbo.PmtRecipe t1 INNER JOIN dbo.SysKeyValue t2 ON t1.ObjID = t2.ssValue AND t2.ssKey='RecipeID'"; DbHelper dbHelper = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.local); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = sqlstr; dt_recipe = dbHelper.ToDataTable(); sqlstr = @"SELECT * FROM dbo.PmtRecipeMixing t1 INNER JOIN dbo.SysKeyValue t2 ON t1.RecipeObjID= t2.ssValue AND t2.ssKey='RecipeID' ORDER BY MixingStep"; dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = sqlstr; dt_mixing = dbHelper.ToDataTable(); sqlstr = @"SELECT * FROM dbo.PmtRecipeWeight t1 INNER JOIN dbo.SysKeyValue t2 ON t1.RecipeObjID= t2.ssValue AND t2.ssKey='RecipeID' ORDER BY t1.WeightType,WeightID"; dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = sqlstr; dt_weight = dbHelper.ToDataTable(); Result.Tables.Add(dt_recipe); Result.Tables.Add(dt_mixing); Result.Tables.Add(dt_weight); return Result; } public bool IsHaveXiaoliao() { bool Result = false; return Result; } } }