/// <summary> /// 刷新Adam-6018模块的温度和数字量输出状态 /// </summary> public static AdamModule6018 Get_Value_6018(AdamModule6018 Adam) { if (Adam.ComR != null && Adam.IsComR != false) { int[] iData; bool[] bData; Adam = Get_Range(Adam); if (Adam.ComR.Modbus().ReadInputRegs(1, Adam.Temp.Length, out iData)) { for (int i = 0; i < Adam.Temp.Length; i++) { Adam.Temp[i] = AnalogInput.GetScaledValue(Adam6000Type.Adam6018, Adam.Range[i], iData[i]); //转化为对应的温度 } } if (Adam.ComT.Modbus().ReadCoilStatus(17, Adam.DO.Length, out bData)) { for (int i = 0; i < Adam.DO.Length; i++) { Adam.DO[i] = Convert.ToInt32(bData[i]); } } } return(Adam); }
/// <summary> /// 获取Adam-6018模块温度输入范围 /// </summary> /// <param name="Adam">已连接的Adam模块</param> /// <returns>返回输入范围</returns> public static AdamModule6018 Get_Range(AdamModule6018 Adam) { if (Adam.ComR != null) { for (int i = 0; i < 8; i++) { Adam.Range[i] = GetChannelRange(Adam.ComR, i); } } return(Adam); }
/// <summary> /// 获取当前使用单位,电压或电流单位 /// </summary> public static string GetSymbol(AdamModule6018 Adam, int Channel) { string str = AnalogInput.GetUnitName(Adam6000Type.Adam6018, Adam.Range[Channel]); if (str == "'C") { str = " ℃"; } else if (str == "'F") { str = " ℉"; } return(str); }
/// <summary> /// 获取浮动格式 /// </summary> public static string RefreshValue(AdamModule6018 Adam, int Channel) { string szFormat = AnalogInput.GetFloatFormat(Adam6000Type.Adam6018, Adam.Range[Channel]); return(Adam.Temp[Channel].ToString(szFormat)); }