private void ConfigureSync01(IList <SlaveInfo> slaveInfoSet) { // SYNC0 / SYNC1 foreach (SlaveInfo slaveInfo in slaveInfoSet) { ushort slaveIndex; DistributedClocksSettings distributedClocksSettings; slaveIndex = (ushort)(Convert.ToUInt16(slaveInfoSet.ToList().IndexOf(slaveInfo)) + 1); distributedClocksSettings = slaveInfo.SlaveExtensionSet.OfType <DistributedClocksSettings>().ToList().FirstOrDefault(); if (distributedClocksSettings != null) { DistributedClocksParameters parameters; byte[] assignActivate; if (!slaveInfo.SlaveEsi.Dc.TimeLoopControlOnly) { assignActivate = null; parameters = distributedClocksSettings.CalculateDcParameters(ref assignActivate, _settings.CycleFrequency); EcUtilities.CheckErrorCode(this.Context, EcHL.ConfigureSync01(this.Context, slaveIndex, ref assignActivate, assignActivate.Count(), parameters.CycleTime0, parameters.CycleTime1, parameters.ShiftTime0)); } } } }
private void ConfigureSync01(IList <SlaveInfo> slaves) { // SYNC0 / SYNC1 foreach (var slave in slaves) { var slaveIndex = (ushort)(Convert.ToUInt16(slaves.ToList().IndexOf(slave)) + 1); var distributedClocksSettings = slave .Extensions .OfType <DistributedClocksExtension>() .ToList() .FirstOrDefault(); if (distributedClocksSettings != null) { if (!slave.Esi.Dc.TimeLoopControlOnly) { byte[] assignActivate = null; var parameters = distributedClocksSettings.CalculateDcParameters(ref assignActivate, _settings.CycleFrequency); EcUtilities.CheckErrorCode(this.Context, EcHL.ConfigureSync01(this.Context, slaveIndex, ref assignActivate, assignActivate.Count(), parameters.CycleTime0, parameters.CycleTime1, parameters.ShiftTime0)); } } } }