668 lines
33 KiB
C#
668 lines
33 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using DBFactory;
|
|||
|
using ICommLayer;
|
|||
|
using System.Data;
|
|||
|
using Microsoft.VisualBasic;
|
|||
|
namespace SimensProdave6
|
|||
|
{
|
|||
|
public class CGetDeviceState:IGetDeviceState
|
|||
|
{
|
|||
|
string _commLayerError;
|
|||
|
|
|||
|
public string CommLayerError
|
|||
|
{
|
|||
|
get { return _commLayerError; }
|
|||
|
set { _commLayerError = value; }
|
|||
|
}
|
|||
|
DBOperator dbo = CSimensProdave6_S7.dbo;
|
|||
|
public CGetDeviceState()
|
|||
|
{
|
|||
|
dbo.Open();
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
///1<><31><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>Ϣ
|
|||
|
///<2F><><EFBFBD><EFBFBD>أ<EFBFBD> 0-<2D><EFBFBD>1-<2D>л<EFBFBD>
|
|||
|
///ȷ<>ϰ<EFBFBD>ť<EFBFBD><C5A5>
|
|||
|
///<2F><>1<EFBFBD>ֽڣ<D6BD>
|
|||
|
///һ<><D2BB><EFBFBD>仯<EFBFBD><E4BBAF>ֵ<EFBFBD><D6B5>ÿȷ<C3BF><C8B7>һ<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD>ֵ<EFBFBD>仯һ<E4BBAF>Σ<EFBFBD><CEA3>Ա<EFBFBD>־һ<D6BE><D2BB>
|
|||
|
///<2F>µ<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>仯<EFBFBD><E4BBAF>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>
|
|||
|
///<2F><><EFBFBD>仯<EFBFBD><E4BBAF>
|
|||
|
///<2F><>2<EFBFBD>ֽڣ<D6BD>
|
|||
|
///1-<2D><EFBFBD>ȷ<EFBFBD><C8B7>
|
|||
|
///2-<2D>л<EFBFBD>ȷ<EFBFBD><C8B7>
|
|||
|
///<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>
|
|||
|
///<2F><>1<EFBFBD><31> <09>ڣ<EFBFBD><DAA3>豸״̬
|
|||
|
///<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>
|
|||
|
///1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///2-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///3-Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///4-֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
///<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
/// <20><><EFBFBD><EFBFBD>
|
|||
|
/// 0-<2D><><EFBFBD><EFBFBD>
|
|||
|
/// 1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 2-<2D><><EFBFBD><EFBFBD>
|
|||
|
/// 3-Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 4-֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
/// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
/// <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
/// 0-<2D><><EFBFBD><EFBFBD>
|
|||
|
/// 1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 2-<2D><><EFBFBD>ɣ<EFBFBD>ֻ<EFBFBD><D6BB>PC<50>·<EFBFBD><C2B7><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨<EFBFBD><E3B1A8><EFBFBD>ɣ<EFBFBD>
|
|||
|
/// <20><><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
/// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
/// <20><>2<EFBFBD><32>3<EFBFBD>ֽڣ<D6BD> <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// <20><>4<EFBFBD><34>5<EFBFBD><35>6<EFBFBD><36>7<EFBFBD>ֽ<EFBFBD>
|
|||
|
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// <20>յ<EFBFBD>X<EFBFBD><58><EFBFBD>꣨<EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// <20><><EFBFBD><EFBFBD>8<EFBFBD>ֽ<EFBFBD><D6BD>Ժ<D4BA>ֻ<EFBFBD>ԶѶ<D4B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壩
|
|||
|
/// <20><>8<EFBFBD><38>9<EFBFBD><39>10<31><30>11<31>ֽ<EFBFBD>
|
|||
|
/// <20>յ<EFBFBD>Y<EFBFBD><59><EFBFBD>꣨<EFBFBD>ظ߶ȷ<DFB6><C8B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///
|
|||
|
/// 2.<2E><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺
|
|||
|
/// <20><>1-10<31>ֽڣ<D6BD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>10λ<30><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
/// <20><><EFBFBD><EFBFBD>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD>룺
|
|||
|
/// <20><>1-9<>ֽڣ<D6BD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĺ<CFB5>9λһ<CEBB>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
/// һ<>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ<32><CEBB><EFBFBD><EFBFBD>ͬƷ<CDAC><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ23λ<33><CEBB>ͬ<EFBFBD><CDAC>
|
|||
|
/// <20><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ź<EFBFBD>9λ<39><CEBB><EFBFBD>롣ÿ<EBA1A3><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// <20><>18<31><38><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>λ<EFBFBD><CEBB>һ<EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣͬʱ<CDAC><CAB1>ȡ<EFBFBD><C8A1>
|
|||
|
/// <20><>λ<EFBFBD><CEBB><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ȡ18<31><38><EFBFBD>ֽں<DABA><F3A3ACB0><EFBFBD>18<31><38><EFBFBD>ֽ<EFBFBD>ȫ<EFBFBD><C8AB>д<EFBFBD><D0B4><EFBFBD>㣬
|
|||
|
/// <20><>λ<EFBFBD><CEBB>ֻ<EFBFBD>м<EFBFBD><D0BC>18<31><38><EFBFBD>ֽ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ſ<EFBFBD><C5BF><EFBFBD>д<EFBFBD><D0B4><EFBFBD>µ<EFBFBD>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|||
|
///
|
|||
|
/// 3.<2E><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
/// <20><>1<EFBFBD>ֽ<EFBFBD> <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
/// 1- <09>ط<EFBFBD><D8B7><EFBFBD>ǰ<EFBFBD>豸ָ<E8B1B8><D6B8>
|
|||
|
/// 2- <09><><EFBFBD><EFBFBD><EFBFBD>ĵ<DEB8>ǰ<EFBFBD>豸<EFBFBD><E8B1B8>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD><CEBB>
|
|||
|
/// <20><>2<EFBFBD><32>3<EFBFBD>ֽ<EFBFBD> <09>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// <20><>4<EFBFBD><34>5<EFBFBD>ֽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>Ҫ<EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>
|
|||
|
/// <20><>6<EFBFBD><36>15<31>ֽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>루<EFBFBD><EBA3A8>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>룩
|
|||
|
/// <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2BFAAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䶪ʧ<E4B6AA><CAA7>
|
|||
|
/// <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// <20><>λ<EFBFBD><CEBB><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>͵<EFBFBD>ǰ<EFBFBD>豸<EFBFBD><E8B1B8>ָ<EFBFBD>
|
|||
|
/// <20><><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>á<EFBFBD>
|
|||
|
/// <20><>λ<EFBFBD><CEBB><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>µ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<DEB8><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>á<EFBFBD>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ1ʱ<31><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIndex"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><F3A3ACB7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>22<32><32><EFBFBD>ֵ<EFBFBD>״̬</returns>
|
|||
|
public int[] GetDeviceState(int DeviceIndex, int TaskIndex)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
int[] _Rword = new int[20];
|
|||
|
byte[] _RRword;
|
|||
|
int add = 0;
|
|||
|
int Bit = 0;
|
|||
|
//int isn=0;
|
|||
|
Model.MDevice devinfo = Model.CGetInfo.GetDeviceInfo(DeviceIndex);
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_DBW2Address,F_DBWGetLength,F_DeviceIndex,F_DeviceKindIndex,F_OPCProgID, F_RemoteIP FROM T_Base_Device where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
if (devinfo.DeviceIndex== 0)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><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 null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
switch (devinfo.DeviceKind.ToString())
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD><EFBFBD><EFBFBD>ܵIJɼ<EFBFBD>
|
|||
|
case "28":
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16( devinfo.Dbw2Address), Convert.ToUInt32( devinfo.Dbw2Getlength));
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
int[] rrr=new int[Convert.ToInt32( devinfo.Dbw2Getlength)];
|
|||
|
Array.Copy(_RRword, rrr,Convert.ToInt32( devinfo.Dbw2Getlength));
|
|||
|
return rrr;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD><EFBFBD>
|
|||
|
case "18":
|
|||
|
Bit = Convert.ToInt16(Convert.ToDecimal(devinfo.Dbw2Getlength) * 8) - 1;//ת<><D7AA><EFBFBD><EFBFBD>bit0--bit7
|
|||
|
if (Bit > 7)
|
|||
|
{
|
|||
|
add = 1;
|
|||
|
Bit = Bit - 8;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
add = 0;
|
|||
|
}
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address + add), 1, Bit);
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
_Rword[0] = _RRword[0];
|
|||
|
|
|||
|
_Rword[1] = 3;//3-<2D><><EFBFBD><EFBFBD><E2BFAA>״̬
|
|||
|
_Rword[2] = TaskIndex;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_Rword[3] = 0;
|
|||
|
_Rword[4] = 0;
|
|||
|
_Rword[5] = DeviceIndex;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD>ť
|
|||
|
case "14":
|
|||
|
Bit = Convert.ToInt16(devinfo.Dbw2Getlength * 8) - 1;//ת<><D7AA><EFBFBD><EFBFBD>bit0--bit7
|
|||
|
if (Bit > 7)
|
|||
|
{
|
|||
|
add = 1;
|
|||
|
Bit = Bit - 8;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
add = 0;
|
|||
|
}
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address + add), 1, Bit);
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
_Rword[0] = _RRword[0];
|
|||
|
|
|||
|
_Rword[1] = 3;//3-<2D><><EFBFBD><EFBFBD><E2BFAA>״̬
|
|||
|
_Rword[2] = TaskIndex;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_Rword[3] = 0;
|
|||
|
_Rword[4] = 0;
|
|||
|
_Rword[5] = DeviceIndex;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>16<EFBFBD><EFBFBD><EFBFBD>ֽڣ<EFBFBD>
|
|||
|
case "22":
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), Convert.ToUInt32(devinfo.Dbw2Getlength));
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_Rword[0] = TaskIndex;
|
|||
|
_Rword[1] = DeviceIndex;
|
|||
|
_Rword[2] = _RRword[1];
|
|||
|
_Rword[3]=(_RRword[2] << 8) + _RRword[3];
|
|||
|
_Rword[4] = (_RRword[4] << 8) + _RRword[5];
|
|||
|
}
|
|||
|
//_Rword[2];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//_Rword[3];//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//_Rword[4];//<2F><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>Ҫ<EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>
|
|||
|
int bcz = 0;
|
|||
|
byte[] www = new byte[1];
|
|||
|
string barcode = string.Empty;
|
|||
|
for (int j = 6; j <= 15; j++)
|
|||
|
{
|
|||
|
bcz = bcz + _RRword[j];
|
|||
|
barcode = barcode += Convert.ToChar(_RRword[j]);
|
|||
|
}
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>豸ָ<EFBFBD><EFBFBD>(1)
|
|||
|
|
|||
|
if (_Rword[2] == 1)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (_Rword[4] == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (bcz == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붼<EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
www[0]=32;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
return null;
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_BarCode, F_Askkind, F_DeviceIndex FROM T_Base_PLC_Ask where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
//if (dv.Count > 0)
|
|||
|
//{
|
|||
|
// if (barcode == dv[i]["F_BarCode"].ToString())
|
|||
|
// {
|
|||
|
// return null;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
DataView dvbc = dbo.ExceSQL("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2," +
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_TxtParam = '" +
|
|||
|
barcode + "' and F_DeviceIndex="+_Rword[3]+" order by F_MonitorIndex asc").Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
www[0]=4;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
return _Rword;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//35<33><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻ƥ<EBB2BB><C6A5>
|
|||
|
www[0]=35 ;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
return null;
|
|||
|
}
|
|||
|
// }
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_TaskIndex, F_Askkind, F_DeviceIndex FROM T_Base_PLC_Ask where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
//if (dv.Count > 0)
|
|||
|
//{
|
|||
|
// if (_Rword[4] == dv[i]["F_TaskIndex"].ToString())
|
|||
|
// {
|
|||
|
// return null;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
DataView dvbc = dbo.ExceSQL("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2," +
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_MonitorIndex = '" +
|
|||
|
_Rword[4] + "' and F_DeviceIndex=" + _Rword[3] + " order by F_MonitorIndex asc").Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
//RestoreDevice(Convert.ToInt32(dvbc[0]["F_MonitorIndex"]));
|
|||
|
www[0]= 4 ;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
////<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//dbo.ExceSQL("update T_Base_PLC_Ask set F_TaskIndex='" + _Rword[4]
|
|||
|
// + "' where F_DeviceIndex=" + DeviceIndex);
|
|||
|
return _Rword;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//36<33><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD>ƥ<EFBFBD><C6A5>
|
|||
|
www[0]= 36;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
return null;
|
|||
|
}
|
|||
|
// }
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ǰ<EFBFBD>豸<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>(2)
|
|||
|
|
|||
|
else if (_Rword[2] == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ĵ<DEB8>ǰ<EFBFBD>豸<EFBFBD><E8B1B8>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>õ<EFBFBD>F_TaskIndex<65>ظ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(3)
|
|||
|
else if (_Rword[2] == 3)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_TaskIndex, F_Askkind, F_DeviceIndex FROM T_Base_PLC_Ask where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
//if (dv.Count > 0)
|
|||
|
//{
|
|||
|
// if (_Rword[4] == dv[i]["F_TaskIndex"].ToString())
|
|||
|
// {
|
|||
|
// return null;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
DataView dvbc = dbo.ExceSQL("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2," +
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_MonitorIndex = '" +
|
|||
|
_Rword[4] + "' and F_DeviceIndex=" + _Rword[3] + " order by F_MonitorIndex asc").Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
www[0]=2;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
////<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//dbo.ExceSQL("update T_Base_PLC_Ask set F_TaskIndex='" + _Rword[4]
|
|||
|
// + "' where F_DeviceIndex=" + DeviceIndex);
|
|||
|
return _Rword;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//36<33><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD>ƥ<EFBFBD><C6A5>
|
|||
|
www[0]=36;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
return null;
|
|||
|
}
|
|||
|
// }
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>豸<EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(4)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>
|
|||
|
else if (_Rword[2] == 4)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
DataView dvbc = dbo.ExceSQL("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2," +
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_MonitorIndex = '" +
|
|||
|
_Rword[4] + "' and F_DeviceIndex=" + _Rword[3] + " order by F_MonitorIndex asc").Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
www[0] = 3;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
////<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//dbo.ExceSQL("update T_Base_PLC_Ask set F_TaskIndex='" + _Rword[4]
|
|||
|
// + "' where F_DeviceIndex=" + DeviceIndex);
|
|||
|
return _Rword;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//36<33><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD>ƥ<EFBFBD><C6A5>
|
|||
|
www[0]= 36 ;
|
|||
|
CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, www);
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸
|
|||
|
case "1"://<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), Convert.ToUInt32(devinfo.Dbw2Getlength));
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_Rword[0] = Convert.ToInt32(_RRword[0]);//<2F><>д<EFBFBD><D0B4>־
|
|||
|
_Rword[1] = Convert.ToInt32(_RRword[1]);//״̬
|
|||
|
_Rword[2] = Convert.ToInt32((_RRword[2] << 8) + _RRword[3]);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_Rword[3] = Convert.ToInt32(_RRword[7] + (_RRword[6] << 8) + (_RRword[5] << 16) + (_RRword[4] << 32));//X<><58><EFBFBD><EFBFBD>
|
|||
|
_Rword[4] = Convert.ToInt32(_RRword[11] + (_RRword[10] << 8) + (_RRword[9] << 16) + (_RRword[8] << 32));//Y<><59><EFBFBD><EFBFBD>
|
|||
|
_Rword[5] = DeviceIndex;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
case "2"://<2F><><EFBFBD>ͻ<EFBFBD>
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), Convert.ToUInt32(devinfo.Dbw2Getlength));
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
www = new byte[4];
|
|||
|
Array.Copy(_RRword, www, 4);
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("ReadTcpIp", "CGetDeviceState", DeviceIndex.ToString(), www);
|
|||
|
_Rword[0] = Convert.ToInt32(_RRword[0]);//<2F><>д<EFBFBD><D0B4>־
|
|||
|
_Rword[1] = Convert.ToInt32(_RRword[1]);//״̬
|
|||
|
_Rword[2] = Convert.ToInt32((_RRword[2] << 8) + _RRword[3]);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_Rword[3] = 0;
|
|||
|
_Rword[4] = 0;
|
|||
|
_Rword[5] = DeviceIndex;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
break;
|
|||
|
case "4"://RGV
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), Convert.ToUInt32(devinfo.Dbw2Getlength));
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
www=new byte[8];
|
|||
|
Array.Copy(_RRword, www, 8);
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("ReadTcpIp", "CGetDeviceState", DeviceIndex.ToString(), www);
|
|||
|
_Rword[0] = Convert.ToInt32(_RRword[0]);//<2F><>д<EFBFBD><D0B4>־
|
|||
|
_Rword[1] = Convert.ToInt32(_RRword[1]);//״̬
|
|||
|
_Rword[2] = Convert.ToInt32((_RRword[2] <<8) + _RRword[3]);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_Rword[3] = Convert.ToInt32(_RRword[7] + (_RRword[6]<<8) + (_RRword[5] << 16) + (_RRword[4] <<32));//X<><58><EFBFBD><EFBFBD>
|
|||
|
_Rword[4] = 0;
|
|||
|
_Rword[5] = DeviceIndex;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
return _Rword;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
public string GetStringData(int DeviceIndex, int TaskIndex)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
byte[] _RRword;
|
|||
|
string headstr = "";
|
|||
|
string retdata = "";
|
|||
|
Model.MDevice devinfo = Model.CGetInfo.GetDeviceInfo(DeviceIndex);
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_DBW2Address,F_DBWGetLength,F_DeviceIndex,F_DeviceKindIndex,F_OPCProgID, F_RemoteIP FROM T_Base_Device where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
if (devinfo.DeviceIndex == 0)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetStringData<74><61><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 null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_RRword = CSimensProdave6_S7.DB_Read_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), Convert.ToUInt32(devinfo.Dbw2Getlength));
|
|||
|
if (_RRword == null)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
switch (devinfo.DeviceKind.ToString())
|
|||
|
{
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ(10<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>)
|
|||
|
case "7":
|
|||
|
headstr = _RRword[0].ToString();
|
|||
|
for (int i = 1; i <= 10;i++ )
|
|||
|
{
|
|||
|
retdata += Convert.ToChar(_RRword[i]);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>Ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD>루18<EFBFBD><EFBFBD><EFBFBD>ֽڣ<EFBFBD>
|
|||
|
case "21":
|
|||
|
headstr = _RRword[0].ToString();
|
|||
|
for (int i = 1; i <= 18; i++)
|
|||
|
{
|
|||
|
retdata += Convert.ToChar(_RRword[i]);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if (headstr == "1")
|
|||
|
{
|
|||
|
byte[] ww=new byte[1]{2};
|
|||
|
if (CSimensProdave6_S7.DB_Write_Prodave(0, 2, Convert.ToUInt16(devinfo.Dbw2Address), 1, ww) == false)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetDeviceState<74><65>" + CSimensProdave6_S7.ErrorsText;
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return retdata;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_commLayerError = "SimensProdave6.CGetDeviceState.GetStringData<74><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
void RestoreDevice(int mindex)
|
|||
|
{
|
|||
|
SimensProdave6.CSendDeviceOrder sdo=new CSendDeviceOrder();
|
|||
|
int DeviceIdx, devKind;
|
|||
|
DataView dv = dbo.ExceSQL("select F_MonitorIndex,F_DeviceIndex from T_Monitor_Task where F_MonitorIndex=" + mindex).Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>λ
|
|||
|
//<2F><><EFBFBD><EFBFBD>mindex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f_associatemonitor<6F><72><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ȸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mindex<65>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>λ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ٸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView dv1 = dbo.ExceSQL("select F_DeviceIndex,F_Associate from T_Monitor_Task where F_Associate IS NOT NULL and F_MonitorIndex=" + mindex).Tables[0].DefaultView;
|
|||
|
if (dv1.Count > 0)
|
|||
|
{
|
|||
|
DataView dv2 = dbo.ExceSQL("select F_DeviceIndex,F_MonitorIndex from T_Monitor_Task where F_MonitorIndex=" + Convert.ToInt32(dv1[0]["F_Associate"])).Tables[0].DefaultView;
|
|||
|
if (dv2.Count > 0)//<2F>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
DeviceIdx = Convert.ToInt32(dv2[0]["F_DeviceIndex"]);
|
|||
|
devKind = GetDeviceKindIdx(DeviceIdx);
|
|||
|
if ((devKind == 2) || (devKind == 4))
|
|||
|
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
}
|
|||
|
if ((devKind == 1)) //<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>RGV
|
|||
|
{
|
|||
|
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0, 0, 0, 0, 0, 0);
|
|||
|
}
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + Convert.ToInt32(dv2[0]["F_DeviceIndex"]));
|
|||
|
dbo.ExceSQL("update T_Monitor_Task set F_Status=0 where F_MonitorIndex=" + Convert.ToInt32(dv2[0]["F_MonitorIndex"]));
|
|||
|
}
|
|||
|
//<2F>ٸ<EFBFBD>λ<EFBFBD>Լ<EFBFBD>
|
|||
|
DeviceIdx = Convert.ToInt32(dv[0]["F_DeviceIndex"]);
|
|||
|
devKind = GetDeviceKindIdx(DeviceIdx);
|
|||
|
if ((devKind == 2) || (devKind == 4))
|
|||
|
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>RGV<47><56><EFBFBD><EFBFBD>
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
}
|
|||
|
if ((devKind == 1)) //<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0, 0, 0, 0, 0, 0);
|
|||
|
}
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + Convert.ToInt32(dv[0]["F_DeviceIndex"]));
|
|||
|
dbo.ExceSQL("update T_Monitor_Task set F_Status=0 where F_MonitorIndex=" + Convert.ToInt32(dv[0]["F_MonitorIndex"]));
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//<2F>Լ<EFBFBD><D4BC>Ƿ<C7B7><F1B1BBB9><EFBFBD>,<2C>ȸ<EFBFBD>λ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ٸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView dv3 = dbo.ExceSQL("select F_DeviceIndex,F_MonitorIndex from T_Monitor_Task where F_Associate ='" + mindex + "'").Tables[0].DefaultView;
|
|||
|
if (dv3.Count > 0)
|
|||
|
{ //<2F>ȸ<EFBFBD>λ<EFBFBD>Լ<EFBFBD>
|
|||
|
DeviceIdx = Convert.ToInt32(dv[0]["F_DeviceIndex"]);
|
|||
|
devKind = GetDeviceKindIdx(DeviceIdx);
|
|||
|
if ((devKind == 2) || (devKind == 4))
|
|||
|
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>RGV<47><56><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
}
|
|||
|
if ((devKind == 1)) //<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0, 0, 0, 0, 0, 0);
|
|||
|
}
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + Convert.ToInt32(dv[0]["F_DeviceIndex"]));
|
|||
|
dbo.ExceSQL("update T_Monitor_Task set F_Status=0 where F_MonitorIndex=" + mindex);
|
|||
|
//<2F>ٸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DeviceIdx = Convert.ToInt32(dv3[0]["F_DeviceIndex"]);
|
|||
|
devKind = GetDeviceKindIdx(DeviceIdx);
|
|||
|
if ((devKind == 2) || (devKind == 4))
|
|||
|
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>RGV<47><56><EFBFBD><EFBFBD>
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
}
|
|||
|
if ((devKind == 1)) //<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0, 0, 0, 0, 0, 0);
|
|||
|
}
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + Convert.ToInt32(dv3[0]["F_DeviceIndex"]));
|
|||
|
dbo.ExceSQL("update T_Monitor_Task set F_Status=0 where F_MonitorIndex=" + Convert.ToInt32(dv3[0]["F_MonitorIndex"]));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//<2F><EFBFBD><DEB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>λ<EFBFBD>Լ<EFBFBD>
|
|||
|
DeviceIdx = Convert.ToInt32(dv[0]["F_DeviceIndex"]);
|
|||
|
devKind = GetDeviceKindIdx(DeviceIdx);
|
|||
|
if ((devKind == 2) || (devKind == 4))
|
|||
|
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>RGV<47><56><EFBFBD><EFBFBD>
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
}
|
|||
|
if ((devKind == 1)) //<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0, 0, 0, 0, 0, 0);
|
|||
|
}
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + Convert.ToInt32(dv[0]["F_DeviceIndex"]));
|
|||
|
dbo.ExceSQL("update T_Monitor_Task set F_Status=0 where F_MonitorIndex=" + mindex);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
int GetDeviceKindIdx(int devIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
string strSql = "SELECT F_DeviceIndex, F_DeviceKindIndex FROM T_Base_Device WHERE F_DeviceIndex=" + devIdx;
|
|||
|
DataSet ds = dbo.ExceSQL(strSql);
|
|||
|
DataView dv = ds.Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
return Convert.ToInt32(dv[0]["F_DeviceKindIndex"]);
|
|||
|
}
|
|||
|
else
|
|||
|
return 0;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|