FlyADServiceClient.cs 3.53 KB
Newer Older
1
using FLY.Thick.Base.Common;
潘栩锋's avatar
潘栩锋 committed
2
using FLY.Thick.Base.IService;
3 4 5
using FObjBase;
using FObjBase.Reflect;
using System;
潘栩锋's avatar
潘栩锋 committed
6 7 8

namespace FLY.Thick.Base.Client
{
9
    public class FlyADServiceClient : FObjBase.Reflect.Reflect_SeviceClient, IFlyADService
潘栩锋's avatar
潘栩锋 committed
10
    {
11
        protected override Type InterfaceType => typeof(IFlyADService);
12 13
        public FlyADServiceClient(UInt32 serviceId) : base(serviceId) { }
        public FlyADServiceClient(UInt32 serviceId, string connName) : base(serviceId, connName) { }
潘栩锋's avatar
潘栩锋 committed
14 15
        #region IFlyAD接口

16

17
        public string Addr { get; set; }
18 19 20

        public bool HasCRC { get; set; }

潘栩锋's avatar
潘栩锋 committed
21 22 23 24

        /// <summary>
        /// grid数据平滑
        /// </summary>
25 26
        public int GridSmooth { get; set; }

27 28 29
        /// <summary>
        /// 通过脉冲计算速度,不使用AD盒的输出
        /// </summary>
30
        public bool IsCalSpeed { get; set; }
31 32 33

        public int PosLen { get; set; }

34
        public MOTORTYPE MotorType { get; set; }
35

潘栩锋's avatar
潘栩锋 committed
36 37 38
        /// <summary>
        /// // 单位 pulse/grid
        /// </summary>
39
        public UInt16 PosOfGrid { get; set; }
40 41

        public UInt16 Ratio01 { get; set; }
42

43 44 45 46 47 48 49 50 51 52 53

        public UInt16 Ratio02 { get; set; }


        public Int16 PosOffset { get; set; }


        /// <summary>
        /// 脉冲平移
        /// </summary>
        public UInt32 JogVelocity { get; set; }
54
        public int ADLag { get; set; }
55 56 57 58 59 60 61 62 63 64 65 66 67
        public bool HasPosMaxMin { get; set; }
        public int PosMin { get; set; }
        public int PosMax { get; set; }

        #region 备份参数
        public MOTORTYPE Backup_MotorType { get; set; }
        public UInt16 Backup_PosOfGrid { get; set; }
        public UInt16 Backup_Ratio01 { get; set; }
        public UInt16 Backup_Ratio02 { get; set; }
        public Int16 Backup_PosOffset { get; set; }
        public UInt32 Backup_JogVelocity { get; set; }
        #endregion

68 69 70 71 72
        public int Verson { get; set; }

        public int HardwareVersion { get; set; }


73 74 75
        /// <summary>
        /// 参数应用
        /// </summary>
76
        public void Apply()
潘栩锋's avatar
潘栩锋 committed
77
        {
78
            Call(nameof(Apply));
潘栩锋's avatar
潘栩锋 committed
79 80 81 82
        }
        /// <summary>
        /// 获取序列码
        /// </summary>
83 84 85 86
        /// <param name="asyncDelegate"></param>
        /// <param name="asyncContext"></param>
        [Call(typeof(AccessInfo))]
        public void GetAccessInfo(AsyncCBHandler asyncDelegate, object asyncContext)
潘栩锋's avatar
潘栩锋 committed
87
        {
88
            Call(nameof(GetAccessInfo), null, asyncDelegate, asyncContext);
潘栩锋's avatar
潘栩锋 committed
89 90 91 92
        }
        /// <summary>
        /// 设置授权码
        /// </summary>
93 94 95 96 97
        /// <param name="access"></param>
        /// <param name="asyncDelegate"></param>
        /// <param name="asyncContext"></param>
        [Call(typeof(AccessInfo))]
        public void SetAccess(byte[] access, AsyncCBHandler asyncDelegate, object asyncContext)
潘栩锋's avatar
潘栩锋 committed
98
        {
99
            Call(nameof(SetAccess), new { access }, asyncDelegate, asyncContext);
潘栩锋's avatar
潘栩锋 committed
100 101 102 103 104
        }

        /// <summary>
        /// 获取grid
        /// </summary>
105 106 107 108 109
        /// <param name="direction"></param>
        /// <param name="asyncDelegate"></param>
        /// <param name="asyncContext"></param>
        [Call(typeof(byte[]))]
        public void GetGrid(Misc.DIRECTION direction, AsyncCBHandler asyncDelegate, object asyncContext)
潘栩锋's avatar
潘栩锋 committed
110
        {
潘栩锋's avatar
潘栩锋 committed
111
            Call(nameof(GetGrid), new { direction }, asyncDelegate, asyncContext);
潘栩锋's avatar
潘栩锋 committed
112 113 114
        }


115 116 117 118 119
        /// <summary>
        /// 向AD盒获取数据
        /// </summary>
        public void UpdateParam()
        {
120
            Call(nameof(UpdateParam));
121
        }
潘栩锋's avatar
潘栩锋 committed
122 123 124
        #endregion
    }
}