private void WriteDataFromRegionToNode(ERegionType eType, ref List <CT2.CIoNode> list, bool[] regionData) { foreach (var IoNode in list) { switch (eType) { case ERegionType.Region_DI: { if (IoNode.CheckIfExistDI()) { IoNode.m_DataDI.Clear(); for (int i = IoNode.m_DI_AddrStart * 8; i < (IoNode.m_DI_AddrEnd + 1) * 8; i++) { IoNode.m_DataDI.Add(regionData[i]); } } break; } case ERegionType.Region_DO: { if (IoNode.CheckIfExistDO()) { IoNode.m_DataDO.Clear(); for (int i = IoNode.m_DO_AddrStart * 8; i < (IoNode.m_DO_AddrEnd + 1) * 8; i++) { IoNode.m_DataDO.Add(regionData[i]); } } break; } case ERegionType.Region_AO: case ERegionType.Region_AI: default: break; } } }
private void WriteDataFromRegionToNode(ERegionType eType, ref List <CT2.CIoNode> list, ushort[] regionData) { foreach (var IoNode in list) { switch (eType) { case ERegionType.Region_DI: break; case ERegionType.Region_AI: if (IoNode.CheckIfExistAI()) { IoNode.m_DataAI.Clear(); for (int i = ((IoNode.m_AI_AddrStart - 200) / 2); i <= ((IoNode.m_AI_AddrEnd - 200) / 2); i++) { IoNode.m_DataAI.Add(regionData[i]); } } break; case ERegionType.Region_DO: break; case ERegionType.Region_AO: if (IoNode.CheckIfExistAO()) { IoNode.m_DataAO.Clear(); for (int i = ((IoNode.m_AO_AddrStart - 200) / 2); i <= ((IoNode.m_AO_AddrEnd - 200) / 2); i++) { IoNode.m_DataAO.Add(regionData[i]); } } break; default: break; } } }