using Aitex.Core.Util; using MECF.Framework.Common.Net; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MECF.Framework.Common.Device.Wago { public class WagoFlag : Singleton { #region 内部变量 short _flag = 0; object _locker = new object(); #endregion /// /// 产生数据标识 /// /// private void GenerateDataFlag() { lock(_locker) { if(_flag+1==short.MaxValue) { _flag = 1; } else { _flag++; } } } /// /// 产生数据标识数组 /// /// public byte[] GenerateDataFlagBuffer(IByteTransform byteTransform) { GenerateDataFlag(); return byteTransform.GetBytes(_flag); } } }