912 lines
45 KiB
C#
912 lines
45 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using ICommLayer;
|
|||
|
using DBFactory;
|
|||
|
using System.Data;
|
|||
|
using Microsoft.VisualBasic;
|
|||
|
namespace OPCClient
|
|||
|
{
|
|||
|
public class CSendDeviceOrder:ISendDeviceOrder
|
|||
|
{
|
|||
|
Model.MDevice devinfo;
|
|||
|
string _commLayerError;
|
|||
|
StringBuilder sql = new StringBuilder();
|
|||
|
StringBuilder sss = new StringBuilder();
|
|||
|
public string CommLayerError
|
|||
|
{
|
|||
|
get { return _commLayerError; }
|
|||
|
set { _commLayerError = value; }
|
|||
|
}
|
|||
|
DBOperator dbo = CCommonOPCClient.dbo;
|
|||
|
//Model.MDevice devinfo;
|
|||
|
public CSendDeviceOrder()
|
|||
|
{
|
|||
|
dbo.Open();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ͶѶ<CDB6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="MessageIndex"><3E><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIndex"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="Order"><3E>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
///1-<2D><>λ
|
|||
|
///2-<2D><>ȡ
|
|||
|
///3-<2D><><EFBFBD><EFBFBD>
|
|||
|
///4-ȡ<><C8A1>
|
|||
|
///5-<2D>Ż<EFBFBD>
|
|||
|
///6-ȡ<>Ż<EFBFBD>
|
|||
|
/// <param name="DeviceIndex"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="StartX"><3E><>ʼx<CABC><78><EFBFBD>꣬<EFBFBD><EAA3AC>-<2D>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="StartY"><3E><>ʼy<CABC><79><EFBFBD>꣬<EFBFBD><EAA3AC>-<2D>߶ȷ<DFB6><C8B7><EFBFBD></param>
|
|||
|
/// <param name="StartZ"><3E><>ʼz<CABC><7A><EFBFBD>꣬<EFBFBD><EAA3AC>-<2D><><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬1-<2D><><EFBFBD>࣬2-<2D>Ҳ<EFBFBD></param>
|
|||
|
/// <param name="EndX">Ŀ<><C4BF>x<EFBFBD><78><EFBFBD>꣬<EFBFBD><EAA3AC>-<2D>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="EndY">Ŀ<><C4BF>y<EFBFBD><79><EFBFBD>꣬<EFBFBD><EAA3AC>-<2D>߶ȷ<DFB6><C8B7><EFBFBD></param>
|
|||
|
/// <param name="EndZ">Ŀ<><C4BF>z<EFBFBD><7A><EFBFBD>꣬<EFBFBD><EAA3AC>-<2D><><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬1-<2D><><EFBFBD>࣬2-<2D>Ҳ<EFBFBD></param>
|
|||
|
/// <returns><3E><><EFBFBD>ͶѶ<CDB6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD></returns>
|
|||
|
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ)
|
|||
|
{
|
|||
|
string[] itemnames;
|
|||
|
string[] itemvalues;
|
|||
|
|
|||
|
//if (MessageIndex == 2)//20101220
|
|||
|
//{
|
|||
|
// Order = 100;
|
|||
|
//}
|
|||
|
try
|
|||
|
{
|
|||
|
int StartZ1 = 0; int EndZ1 = 0;
|
|||
|
int sn = 0; int UseAwayFork = 0; int UseAwayFork1 = 0;
|
|||
|
DataView dv = dbo.ExceSQL("SELECT F_DBW1Address,F_DBWSendLength,F_DeviceIndex,F_DeviceKindIndex,F_OPCProgID, F_RemoteIP FROM T_Base_Device where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
if (dv.Count == 0)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>û<EFBFBD>ҵ<EFBFBD><D2B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
return false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ((dv[0]["F_DeviceKindIndex"].ToString() != "1"))
|
|||
|
{//<2F>Ѷ<EFBFBD><D1B6><EFBFBD>ʹ<EFBFBD>ô˷<C3B4><CBB7><EFBFBD>
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<F3A3BAB6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ʹ<E8B1B8>ô˷<C3B4><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ!";
|
|||
|
return false;
|
|||
|
}
|
|||
|
#region <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (dv[0]["F_DeviceKindIndex"].ToString() == "1")
|
|||
|
{
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(DeviceIndex);
|
|||
|
if (devinfo.IfCorrelDoubleFork == "1")
|
|||
|
{
|
|||
|
//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ȡ<EFBFBD><C8A1>ָ<EFBFBD><EFBFBD>ڴ˾<DAB4><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>桢ͬ<E6A1A2><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽<EFBFBD><ECB2BD><EFBFBD><EFBFBD>20100323
|
|||
|
if ((Order == 4) || (Order == 2))
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
string[] rr = Model.CGeneralFunction.GetDoubleForkMonitorInfo(TaskIndex, DeviceIndex);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1A3BAB8>ݻ<EFBFBD>λ<EFBFBD><CEBB>ż<EFBFBD>ͶѶ<CDB6><D1B6><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (rr == null)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>F_UseAwayFork='-',<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٷ<EFBFBD><D9B7><EFBFBD>
|
|||
|
if (Model.CGeneralFunction.GetUseAwayFork(TaskIndex) == "-")
|
|||
|
{
|
|||
|
switch (Model.CGeneralFunction.GetDoubleForkFromST_CELL(StartZ, StartX, StartY, Model.CGeneralFunction.GetWAREHOUSEFromSTCELL(DeviceIndex)))
|
|||
|
{
|
|||
|
case 1: // ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
UseAwayFork = 0;
|
|||
|
break;
|
|||
|
case 2: // ָ<><D6B8>Զ<EFBFBD><D4B6>
|
|||
|
UseAwayFork = 1;
|
|||
|
break;
|
|||
|
case 0: // û<><C3BB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>棬Ҫ<E6A3AC><D2AA><EFBFBD><EFBFBD>11001-11005 <20><><EFBFBD><EFBFBD>11006-11010<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>෴<EFBFBD><E0B7B4>
|
|||
|
// 20120422 <20>ϲ<EFBFBD>
|
|||
|
if (DeviceIndex > 11000 && DeviceIndex < 11006)
|
|||
|
{
|
|||
|
if ((StartX % 2) == 0 || StartX == 1) // ˫<><CBAB><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>1<EFBFBD><31> 20120529
|
|||
|
{
|
|||
|
UseAwayFork = 1; // Զ<><D4B6>
|
|||
|
}
|
|||
|
else // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
UseAwayFork = 0; // <20><><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ((StartX % 2) == 0) // ˫<><CBAB><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
UseAwayFork = 0; // <20><><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
UseAwayFork = 1; // Զ<><D4B6>
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
//dbo.ExceSQL("UPDATE T_Monitor_Task SET F_UseAwayFork = '" + UseAwayFork + "' WHERE (F_ManageTaskIndex = " +
|
|||
|
// Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex) + ") AND (F_ManageTASKKINDINDEX = " +
|
|||
|
// Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex) + ")");//20101220
|
|||
|
|
|||
|
dbo.ExceSQL("UPDATE T_Monitor_Task SET F_UseAwayFork = '" + UseAwayFork + "' WHERE (F_ManageTaskIndex = " +
|
|||
|
Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex) + ") AND (F_ManageTASKKINDINDEX = " +
|
|||
|
Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex) + ") AND (F_DeviceIndex = " + DeviceIndex +")");//20120615 <20>Կ<EFBFBD><D4BF>Ѷ<EFBFBD><D1B6><EFBFBD>ֻ<EFBFBD>ı<DEB8><C4B1><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>
|
|||
|
}
|
|||
|
else // <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><F1A3ACB0><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|||
|
{
|
|||
|
UseAwayFork = Convert.ToInt32(Model.CGeneralFunction.GetUseAwayFork(TaskIndex));
|
|||
|
}
|
|||
|
|
|||
|
// ӡ<><D3A1><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> X= <20><>X+1<><31>/2 <20><><EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//if (UseAwayFork == 1)//Զ<><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//{
|
|||
|
// if (DeviceIndex > 11000 && DeviceIndex < 11006)
|
|||
|
// {
|
|||
|
// if (StartX != 1)
|
|||
|
// {
|
|||
|
// StartX = StartX - 1;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// if (StartX != 1)
|
|||
|
// {
|
|||
|
// StartX = StartX + 1;
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
//}
|
|||
|
|
|||
|
}
|
|||
|
// ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
else
|
|||
|
{
|
|||
|
if (Model.CGeneralFunction.GetUseAwayFork(TaskIndex) == "-")
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>棺<EFBFBD><E6A3BA><EFBFBD>ݻ<EFBFBD>λ<EFBFBD><CEBB>ż<EFBFBD>ͶѶ<CDB6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϡ<D0B6>
|
|||
|
//UseAwayFork = Model.CGeneralFunction.GetUseAwayFork(TaskIndex, DeviceIndex, Order);
|
|||
|
if (DeviceIndex > 11000 && DeviceIndex < 11006)
|
|||
|
{
|
|||
|
if (StartX % 2 == 1) // <20><><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
UseAwayFork = 0;// <20><><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
UseAwayFork = 1;// Զ<><D4B6>
|
|||
|
}
|
|||
|
}
|
|||
|
else // 11006-11010 <20>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
{
|
|||
|
if (StartX % 2 == 0)// ż<><C5BC>
|
|||
|
{
|
|||
|
UseAwayFork = 0;// <20><><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
UseAwayFork = 1;// Զ<><D4B6>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//dbo.ExceSQL("UPDATE T_Monitor_Task SET F_UseAwayFork = '" + UseAwayFork + "' WHERE (F_ManageTaskIndex = " +
|
|||
|
// Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex) + ") AND (F_ManageTASKKINDINDEX = " +
|
|||
|
// Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex) + ")");//20101220
|
|||
|
|
|||
|
dbo.ExceSQL("UPDATE T_Monitor_Task SET F_UseAwayFork = '" + UseAwayFork + "' WHERE (F_ManageTaskIndex = " +
|
|||
|
Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex) + ") AND (F_ManageTASKKINDINDEX = " +
|
|||
|
Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex) + ") AND (F_DeviceIndex = " + DeviceIndex + ")");//20120615 <20>Կ<EFBFBD><D4BF>Ѷ<EFBFBD><D1B6><EFBFBD>ֻ<EFBFBD>ı<DEB8><C4B1><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
|
|||
|
UseAwayFork = Convert.ToInt32(Model.CGeneralFunction.GetUseAwayFork(TaskIndex));
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int TaskIndex1 = Convert.ToInt32(rr[0]); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (UseAwayFork == 1)
|
|||
|
{
|
|||
|
UseAwayFork1 = 0;
|
|||
|
//if (StartX != 1)
|
|||
|
//{
|
|||
|
// StartX = StartX - 1;
|
|||
|
//}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
UseAwayFork1 = 1;
|
|||
|
|
|||
|
}
|
|||
|
// <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>
|
|||
|
dbo.ExceSQL("UPDATE T_Monitor_Task SET F_UseAwayFork = '" + UseAwayFork1 + "' WHERE (F_ManageTaskIndex = " +
|
|||
|
Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex1) + ") AND (F_ManageTASKKINDINDEX = " +
|
|||
|
Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex1) + ") AND (F_DeviceIndex = " + DeviceIndex + ")");//20120615 <20>Կ<EFBFBD><D4BF>Ѷ<EFBFBD><D1B6><EFBFBD>ֻ<EFBFBD>ı<DEB8><C4B1><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (Model.CGeneralFunction.DoubleForkIfSync(TaskIndex, DeviceIndex, devinfo.DeviceKind) == true)
|
|||
|
{
|
|||
|
if (UseAwayFork == 1)//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
StartZ = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order);//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
EndZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = Model.CGeneralFunction.GetDoubleForkZ(Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex),
|
|||
|
Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex), DeviceIndex, Order); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ = Model.CGeneralFunction.GetDoubleForkZ(Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex),
|
|||
|
Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex), DeviceIndex, Order);//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
EndZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
if (UseAwayFork == 1)//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
StartZ = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order);//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
EndZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
EndZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|
|||
|
//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD>ͻ<EFBFBD>ָ<EFBFBD>ȡ<EEA3AC><C8A1>ʱ<EFBFBD>Ѿ<EFBFBD>ָ<EFBFBD><D6B8>Զ<EFBFBD><D4B6><EFBFBD>棬<EFBFBD>ڴ˾<DAB4><CBBE><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽<EFBFBD><ECB2BD><EFBFBD><EFBFBD>20100323
|
|||
|
//if ((Order == 5) || (Order == 3)) // 20120527<32><37><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ָ<EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
|
|||
|
if (Order == 5)
|
|||
|
{
|
|||
|
UseAwayFork = Convert.ToInt32(Model.CGeneralFunction.GetUseAwayFork(TaskIndex));
|
|||
|
#region ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (Model.CGeneralFunction.DoubleForkIfSync(TaskIndex, DeviceIndex, devinfo.DeviceKind) == true)
|
|||
|
{
|
|||
|
|
|||
|
if (UseAwayFork == 1)//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
EndZ = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order);//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
StartZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = Model.CGeneralFunction.GetDoubleForkZ(Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex),
|
|||
|
Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex), DeviceIndex, Order); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ = Model.CGeneralFunction.GetDoubleForkZ(Model.CGeneralFunction.GetManageTaskKindIndexFromMonitor(TaskIndex),
|
|||
|
Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex), DeviceIndex, Order);//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
StartZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
if (UseAwayFork == 1)//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
EndZ = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order);//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
StartZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
EndZ1 = Model.CGeneralFunction.GetZCoorFromMonitor(TaskIndex, DeviceIndex, Order); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ1 = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
EndZ = 0;//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
#endregion
|
|||
|
//if (Model.CGeneralFunction.GetUseAwayFork(TaskIndex) == "1")//Զ<><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//{
|
|||
|
// if (EndX != 1)
|
|||
|
// {
|
|||
|
// EndX = EndX - 1;
|
|||
|
// }
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
itemnames = new string[11];//20101220
|
|||
|
itemvalues = new string[11];
|
|||
|
//byte0,byte1,byte2,byte3,byte4
|
|||
|
// int1 int3
|
|||
|
//int0(byte0,byte1);int1(byte1,byte2);int2(byte2,byte3);int3(byte3,byte4)
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ת<EFBFBD><EFBFBD>ΪPLC<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#region ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
////01-29-23;01-30-23;01-24-23;01-23-23,[01-22-23,01-28-23]Ϊ<><CEAA>¥<EFBFBD><C2A5><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2>䣬1<E4A3AC>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĻ<D0B5>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>+1<><31>2<EFBFBD><32>23<32>㶼<EFBFBD><E3B6BC>+1
|
|||
|
//if ((((StartZ == 1) || (StartZ1 == 1)) && (StartY == 23) && ((StartX != 23) && (StartX != 22) && (StartX != 24) && (StartX != 28) && (StartX != 29) && (StartX != 30)))
|
|||
|
// || (((StartZ == 2) || (StartZ1 == 2)) && (StartY == 23)))
|
|||
|
//{
|
|||
|
// StartY++;
|
|||
|
//}
|
|||
|
|
|||
|
//if ((((EndZ == 1) || (EndZ1 == 1)) && (EndY == 23) && ((EndX != 23) && (EndX != 22) && (EndX != 24) && (EndX != 28) && (EndX != 29) && (EndX != 30)))
|
|||
|
// || (((EndZ == 2) || (EndZ1 == 2)) && (EndY == 23)))
|
|||
|
//{
|
|||
|
// EndY++;
|
|||
|
//}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (StartZ != 0)
|
|||
|
{
|
|||
|
if (StartZ % 2 == 0)
|
|||
|
{
|
|||
|
StartZ = 2;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
StartZ = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
if (EndZ != 0)
|
|||
|
{
|
|||
|
if (EndZ % 2 == 0)
|
|||
|
{
|
|||
|
EndZ = 2;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
EndZ = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
////////////////
|
|||
|
if (StartZ1 != 0)
|
|||
|
{
|
|||
|
if (StartZ1 % 2 == 0)
|
|||
|
{
|
|||
|
StartZ1 = 2;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
StartZ1 = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
if (EndZ1 != 0)
|
|||
|
{
|
|||
|
if (EndZ1 % 2 == 0)
|
|||
|
{
|
|||
|
EndZ1 = 2;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
EndZ1 = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
sn = Convert.ToInt32(dv[0]["F_DBW1Address"]);
|
|||
|
itemnames[0] = "DB1,byte" + Convert.ToString(sn + 0);//<2F><>Ϣͷ
|
|||
|
itemvalues[0] = "0";
|
|||
|
itemnames[1] = "DB1,byte" + Convert.ToString(sn + 1);//<2F><><EFBFBD><EFBFBD>
|
|||
|
itemvalues[1] = Order.ToString();
|
|||
|
|
|||
|
itemnames[2] = "DB1,int" + Convert.ToString(sn + 2);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
itemvalues[2] = TaskIndex.ToString();
|
|||
|
|
|||
|
itemnames[3] = "DB1,byte" + Convert.ToString(sn + 4);
|
|||
|
itemvalues[3] = StartX.ToString();
|
|||
|
|
|||
|
itemnames[4] = "DB1,byte" + Convert.ToString(sn + 5);
|
|||
|
itemvalues[4] = StartY.ToString();
|
|||
|
|
|||
|
itemnames[5] = "DB1,byte" + Convert.ToString(sn + 6);
|
|||
|
itemvalues[5] = StartZ.ToString();//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
itemnames[6] = "DB1,byte" + Convert.ToString(sn + 9);
|
|||
|
itemvalues[6] = EndX.ToString();
|
|||
|
|
|||
|
itemnames[7] = "DB1,byte" + Convert.ToString(sn + 10);
|
|||
|
itemvalues[7] = EndY.ToString();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
itemnames[8] = "DB1,byte" + Convert.ToString(sn + 11);
|
|||
|
itemvalues[8] = EndZ.ToString();//Զ<><D4B6><EFBFBD><EFBFBD>
|
|||
|
//˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Z<EFBFBD><5A><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CCommonOPCClient.Hostname = CommonClassLib.AppSettings.GetValue("HostName");//20090922 devinfo.RemoteIP;
|
|||
|
CCommonOPCClient.ProgID = CommonClassLib.AppSettings.GetValue("OPCProgID");
|
|||
|
CCommonOPCClient.PlcConnectionID = devinfo.S7Connection;//20110216
|
|||
|
|
|||
|
if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
itemnames[0] = "DB1,byte" + Convert.ToString(sn + 0);//<2F><>Ϣͷ
|
|||
|
itemvalues[0] = MessageIndex.ToString();
|
|||
|
|
|||
|
|
|||
|
if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 10; j++)
|
|||
|
{
|
|||
|
sss += "***" + itemvalues[j];
|
|||
|
}
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "SendDeviceOrder", DeviceIndex.ToString(), sss);
|
|||
|
if (WriteBarcode(DeviceIndex, TaskIndex) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
#region RGV
|
|||
|
|
|||
|
//if (dv[0]["F_DeviceKindIndex"].ToString() == "4")
|
|||
|
//{
|
|||
|
// itemnames = new string[5];
|
|||
|
// itemvalues = new string[5];
|
|||
|
// //byte0,byte1,byte2,byte3,byte4
|
|||
|
// // int1 int3
|
|||
|
// //int0(byte0,byte1);int1(byte1,byte2);int2(byte2,byte3);int3(byte3,byte4)
|
|||
|
// sn = Convert.ToInt32(dv[0]["F_DBW1Address"]);
|
|||
|
|
|||
|
// itemnames[0] = "DB1,byte" + Convert.ToString(sn + 1);
|
|||
|
// itemvalues[0] = Order.ToString();
|
|||
|
// itemnames[1] = "DB1,int" + Convert.ToString(sn + 2);
|
|||
|
// itemvalues[1] = TaskIndex.ToString();
|
|||
|
// itemnames[2] = "DB1,int" + Convert.ToString(sn + 4);
|
|||
|
// itemvalues[2] = StartX.ToString();
|
|||
|
// itemnames[3] = "DB1,byte" + Convert.ToString(sn + 0);
|
|||
|
// itemvalues[3] = "0";
|
|||
|
|
|||
|
// CCommonOPCClient.Hostname = CommonClassLib.AppSettings.GetValue("HostName");//20090922 devinfo.RemoteIP;
|
|||
|
// CCommonOPCClient.ProgID = CommonClassLib.AppSettings.GetValue("OPCProgID");
|
|||
|
// if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
// {
|
|||
|
// _commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CCommonOPCClient.OpcError;
|
|||
|
// return false;
|
|||
|
// }
|
|||
|
// itemnames[3] = "DB1,byte" + Convert.ToString(sn + 0);
|
|||
|
// itemvalues[3] = MessageIndex.ToString();
|
|||
|
// if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
// {
|
|||
|
// _commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CCommonOPCClient.OpcError;
|
|||
|
// return false;
|
|||
|
// }
|
|||
|
// string sss = "";
|
|||
|
// for (int j = 0; j <= 3; j++)
|
|||
|
// {
|
|||
|
// sss += "***" + itemvalues[j];
|
|||
|
// }
|
|||
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "SendDeviceOrder", DeviceIndex.ToString(), sss);
|
|||
|
//}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
return false;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
|
|||
|
itemnames = null;
|
|||
|
|
|||
|
itemvalues = null;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><F3B3B5A1><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="MessageIndex"><3E><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIndex"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="Order"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>
|
|||
|
///1-<2D><>λ
|
|||
|
///2-<2D><><EFBFBD>ӻ<EFBFBD>
|
|||
|
///3-<2D><><EFBFBD>ͻ<EFBFBD>
|
|||
|
///4-<2D>ҽӻ<D2BD>
|
|||
|
///5-<2D><><EFBFBD>ͻ<EFBFBD>
|
|||
|
///6-ֹͣ
|
|||
|
///7-<2D>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34>5<EFBFBD>ֽ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>
|
|||
|
///1-<2D><><EFBFBD>⣨<EFBFBD><E2A3A8><EFBFBD><EFBFBD><EFBFBD>⣩
|
|||
|
///2-<2D><><EFBFBD>⣨<EFBFBD><E2A3A8><EFBFBD><EFBFBD><EFBFBD>⣩
|
|||
|
///3-<2D>ͻ<EFBFBD>
|
|||
|
///4-<2D>ӻ<EFBFBD>
|
|||
|
///5-ֹͣ
|
|||
|
/// <param name="DeviceIndex"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
///<param name="ArrowDeviceIndex"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3B3B5B4><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>65535<33><35><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns><3E><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><F3B3B5A1><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD></returns>
|
|||
|
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int ArrowDeviceIndex)
|
|||
|
{
|
|||
|
StringBuilder[] itemnames;
|
|||
|
StringBuilder[] itemvalues;
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(DeviceIndex);
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
int[] sendmes = new int[5] { MessageIndex, TaskIndex, Order, DeviceIndex, ArrowDeviceIndex };
|
|||
|
int boxtype = 0;// <20><><EFBFBD><EFBFBD>
|
|||
|
int QUANTITY = 0; // <20><><EFBFBD><EFBFBD> 20131203
|
|||
|
int outtimes=0;
|
|||
|
// devinfo.SendMessage = sendmes;
|
|||
|
Model.CGetInfo.SetDeviceMessage(devinfo);
|
|||
|
|
|||
|
if (devinfo.UseCommonDB == "1")
|
|||
|
{
|
|||
|
itemnames = new StringBuilder[5] { new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder("") }; ;
|
|||
|
itemvalues = new StringBuilder[5] { new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder("") }; ;
|
|||
|
}
|
|||
|
else if (12505 == ArrowDeviceIndex || 12116 == ArrowDeviceIndex)
|
|||
|
{
|
|||
|
itemnames = new StringBuilder[6] { new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder("") }; ;
|
|||
|
itemvalues = new StringBuilder[6] { new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder("") , new StringBuilder("")}; ;
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
itemnames = new StringBuilder[4] { new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder("") }; ;
|
|||
|
itemvalues = new StringBuilder[4] { new StringBuilder(""), new StringBuilder(""), new StringBuilder(""), new StringBuilder("") }; ;
|
|||
|
}
|
|||
|
|
|||
|
int sn = 0;
|
|||
|
|
|||
|
if (devinfo == null)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (12505 == ArrowDeviceIndex || 12116 == ArrowDeviceIndex)
|
|||
|
{
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>̵ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (12505 == ArrowDeviceIndex || 12116 == ArrowDeviceIndex)
|
|||
|
{
|
|||
|
Model.CGeneralFunction.GetBoxTypeAndQUANTITYFromMonitor(TaskIndex, out boxtype, out QUANTITY);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//itemnames = new StringBuilder[4];
|
|||
|
//itemvalues = new StringBuilder[4];
|
|||
|
//outtimes = 3;
|
|||
|
}
|
|||
|
if (devinfo.DeviceKind == 7)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
if (devinfo.DeviceKind == 1)
|
|||
|
{//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô˷<C3B4><CBB7><EFBFBD>
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<F3A3BAB6><D1B6><EFBFBD><EFBFBD><EFBFBD>RGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô˷<C3B4><CBB7><EFBFBD>!";
|
|||
|
return false;
|
|||
|
}
|
|||
|
//byte0,byte1,byte2,byte3,byte4
|
|||
|
// int1 int3
|
|||
|
//int0(byte0,byte1);int1(byte1,byte2);int2(byte2,byte3);int3(byte3,byte4)
|
|||
|
sn = Convert.ToInt32(devinfo.Dbw1Address);
|
|||
|
if (12505 == ArrowDeviceIndex || 12116 == ArrowDeviceIndex)
|
|||
|
{//20110318
|
|||
|
itemnames[0].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 1));
|
|||
|
itemvalues[0].Append(Order.ToString());
|
|||
|
itemnames[1].Append(Model.CGeneralFunction.DBSend).Append(",int").Append(Convert.ToString(sn + 2));
|
|||
|
itemvalues[1].Append(TaskIndex.ToString());
|
|||
|
itemnames[2].Append(Model.CGeneralFunction.DBSend).Append(",int").Append(Convert.ToString(sn + 4));
|
|||
|
itemvalues[2].Append(ArrowDeviceIndex.ToString());
|
|||
|
itemnames[3].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 0));
|
|||
|
itemvalues[3].Append("0");
|
|||
|
itemnames[4].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 6));
|
|||
|
itemvalues[4].Append(boxtype);
|
|||
|
itemnames[5].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 7));
|
|||
|
itemvalues[5].Append(QUANTITY);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
itemnames[0].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 1));
|
|||
|
itemvalues[0].Append(Order.ToString());
|
|||
|
itemnames[1].Append(Model.CGeneralFunction.DBSend).Append(",int").Append(Convert.ToString(sn + 2));
|
|||
|
itemvalues[1].Append(TaskIndex.ToString());
|
|||
|
itemnames[2].Append(Model.CGeneralFunction.DBSend).Append(",int").Append(Convert.ToString(sn + 4));
|
|||
|
itemvalues[2].Append(ArrowDeviceIndex.ToString());
|
|||
|
itemnames[3].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 0));
|
|||
|
itemvalues[3].Append("0");
|
|||
|
}
|
|||
|
if (devinfo.UseCommonDB == "1")
|
|||
|
{
|
|||
|
itemnames[4].Append(Model.CGeneralFunction.DBSend).Append(",int").Append(Convert.ToString(sn + 6));
|
|||
|
itemvalues[4].Append(DeviceIndex.ToString());
|
|||
|
}
|
|||
|
CCommonOPCClient.Hostname = CommonClassLib.AppSettings.GetValue("HostName");//20090922 devinfo.RemoteIP;
|
|||
|
CCommonOPCClient.ProgID = CommonClassLib.AppSettings.GetValue("OPCProgID");
|
|||
|
CCommonOPCClient.PlcConnectionID = devinfo.S7Connection;//20110216
|
|||
|
if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
itemnames[3].Remove(0, itemnames[3].Length);
|
|||
|
itemnames[3].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 0));
|
|||
|
itemvalues[3].Remove(0, itemvalues[3].Length);
|
|||
|
itemvalues[3].Append(MessageIndex);
|
|||
|
if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append("**д<><D0B4>־").Append(MessageIndex.ToString()).Append ("<22><>ʼ<EFBFBD><CABC>ַ").Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 0)). Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + Order.ToString()).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + TaskIndex.ToString())
|
|||
|
.Append("**Ŀ<><C4BF>λ<EFBFBD><CEBB>" + ArrowDeviceIndex.ToString());
|
|||
|
if (ArrowDeviceIndex == 12505 || 12116 == ArrowDeviceIndex)
|
|||
|
{
|
|||
|
|
|||
|
sss.Append ("**<2A><><EFBFBD><EFBFBD>"+boxtype .ToString ()).Append ("**<2A><><EFBFBD><EFBFBD>"+QUANTITY .ToString ());
|
|||
|
}
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>", DeviceIndex.ToString(), sss.ToString());
|
|||
|
if (MessageIndex == 1)
|
|||
|
{
|
|||
|
if (WriteBarcode(DeviceIndex, TaskIndex) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
return false;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
devinfo = null;
|
|||
|
itemnames = null;
|
|||
|
itemvalues = null;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䰴Ʒ<E4B0B4><C6B7><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>Ϣ<EFBFBD><CFA2>15<31>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱд<CAB1><D0B4>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>д<EFBFBD><D0B4>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIndex"><3E><><EFBFBD><EFBFBD>λ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TobaccoCode"><3E><>3--15<31>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="HaveFirstProjectCode"><3E><>1<EFBFBD>ֽ<EFBFBD>,1-<2D><>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD>,0-<2D><>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="IfSmallTobacco"><3E><>2<EFBFBD>ֽ<EFBFBD>,1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䰴Ʒ<E4B0B4><C6B7><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>Ϣ<EFBFBD>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD></returns>
|
|||
|
public bool SendDeviceOrder(int DeviceIndex, string TobaccoCode, bool HaveFirstProjectCode, bool IfSmallTobacco,int Count)
|
|||
|
{
|
|||
|
StringBuilder[] itemnames=new StringBuilder[16];
|
|||
|
StringBuilder[] itemvalues = new StringBuilder[16];
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(DeviceIndex);
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
int sn = 0;
|
|||
|
|
|||
|
if (devinfo==null )
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sn = Convert.ToInt32(devinfo.Dbw1Address);
|
|||
|
|
|||
|
itemnames[0].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append((sn + 0).ToString());
|
|||
|
if (HaveFirstProjectCode == true)
|
|||
|
{
|
|||
|
itemvalues[0].Append( "1");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
itemvalues[0] .Append( "0");
|
|||
|
}
|
|||
|
itemnames[1].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append((sn + 1).ToString());
|
|||
|
if (IfSmallTobacco == true)
|
|||
|
{
|
|||
|
itemvalues[1] .Append( "1");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
itemvalues[1] .Append( "0");
|
|||
|
}
|
|||
|
for (int i = 2; i <= 14; i++)
|
|||
|
{
|
|||
|
itemnames[i].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append((sn + i).ToString());
|
|||
|
itemvalues[i] .Append( Strings.Asc(TobaccoCode.Substring(i - 2, 1)).ToString());
|
|||
|
}
|
|||
|
itemnames[15].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append((sn + 15).ToString());
|
|||
|
itemvalues[15] .Append( Count.ToString());
|
|||
|
|
|||
|
CCommonOPCClient.Hostname = CommonClassLib.AppSettings.GetValue("HostName");//20090922 devinfo.RemoteIP;
|
|||
|
CCommonOPCClient.ProgID = CommonClassLib.AppSettings.GetValue("OPCProgID");
|
|||
|
CCommonOPCClient.PlcConnectionID = devinfo.S7Connection;//20110216
|
|||
|
if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
return false;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
devinfo = null;
|
|||
|
itemnames = null;
|
|||
|
itemvalues =null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public bool WriteBarcode(int deviceindex,int taskindex)
|
|||
|
{
|
|||
|
Model.MDevice devinfo;
|
|||
|
StringBuilder[] itemnames = new StringBuilder[11];
|
|||
|
StringBuilder[] itemvalues = new StringBuilder[11];
|
|||
|
|
|||
|
int sn = 0;
|
|||
|
try
|
|||
|
{
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceindex);
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append("SELECT F_MonitorIndex, F_TxtParam FROM T_Monitor_Task WHERE (F_MonitorIndex = " ).Append( taskindex).Append( ")");
|
|||
|
DataView dvb = dbo.ExceSQL(sss.ToString()).Tables[0].DefaultView;
|
|||
|
if (dvb.Count > 0)
|
|||
|
{
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append(dvb[0]["F_TxtParam"].ToString());
|
|||
|
|
|||
|
if ((sss.ToString() == "-") || (sss.ToString() == "")) return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>븽<EFBFBD><EBB8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
if (devinfo.AppendBarcode > 0)
|
|||
|
{
|
|||
|
Model.MDevice devinfo1 = Model.CGetInfo.GetDeviceInfo(devinfo.AppendBarcode);
|
|||
|
if (devinfo1.DeviceIndex == 0)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>븽<EFBFBD><EBB8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
//byte0,byte1,byte2,byte3,byte4
|
|||
|
// int1 int3
|
|||
|
//int0(byte0,byte1);int1(byte1,byte2);int2(byte2,byte3);int3(byte3,byte4)
|
|||
|
sn = Convert.ToInt32(devinfo1.Dbw1Address);
|
|||
|
// devinfo1 = null;
|
|||
|
if (devinfo1.DeviceIndex == 61070)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
for (int i = 0; i <= 9; i++)
|
|||
|
{
|
|||
|
itemnames[i].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + i + 1));
|
|||
|
itemvalues[i] .Append( Strings.Asc(sss.ToString().Substring((i), 1)).ToString());
|
|||
|
}
|
|||
|
itemnames[10].Append(Model.CGeneralFunction.DBSend).Append(",byte").Append(Convert.ToString(sn + 0));
|
|||
|
itemvalues[10] .Append( "1");
|
|||
|
CCommonOPCClient.Hostname = CommonClassLib.AppSettings.GetValue("HostName");//20090922 devinfo.RemoteIP;
|
|||
|
CCommonOPCClient.ProgID = CommonClassLib.AppSettings.GetValue("OPCProgID");
|
|||
|
CCommonOPCClient.PlcConnectionID = devinfo.S7Connection;//20110216
|
|||
|
if (CCommonOPCClient.SyncWriteAllItemValue(itemnames, itemvalues) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "SendDeviceOrder", deviceindex.ToString(), sss.ToString());
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return true; ;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.WriteBarcode<64><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
return false;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
devinfo=null;
|
|||
|
itemnames =null;
|
|||
|
itemvalues =null;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>PLC<4C><43>DB<44><42>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="ItemNames"><3E><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="ItemValues"><3E><>ǩֵ<C7A9><D6B5><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns></returns>
|
|||
|
public bool WriteDBData(StringBuilder[] ItemNames, StringBuilder[] ItemValues ,int deviceindex)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceindex);
|
|||
|
CCommonOPCClient.PlcConnectionID = devinfo.S7Connection;//20110216
|
|||
|
if (CCommonOPCClient.SyncWriteAllItemValue(ItemNames, ItemValues) == false)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append("**" + ItemNames[0].ToString() + "**" + ItemValues[0].ToString());
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>־", deviceindex.ToString (), sss.ToString());
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_commLayerError = "OPCClient.CSendDeviceOrder.WriteDBData<74><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
return false;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
ItemNames = null;
|
|||
|
ItemValues=null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ, string DoubleFork)
|
|||
|
{
|
|||
|
return true;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|