public static void Read_AdamValues6017() { try { int iIdx; int[] iData; while (true) { if (m_bRegister2) // Read registers (4X references) { adamTCP2.Connect(m_IP17, ProtocolType.Tcp, m_iPort); if (adamTCP2.Modbus().ReadHoldingRegs(m_iStart2, m_iLength2, out iData)) { for (iIdx = 0; iIdx < m_iLength2; iIdx++) { Double V = (Double.Parse(Global.PMax[18 + iIdx]) - Double.Parse(Global.PMin[18 + iIdx])) / 16; Double ValF = ((Convert.ToDouble(iData[iIdx]) * 16) / 65535) * 1000; Global.GenData[18 + iIdx] = ((Global.RandomNumberBetween((ValF + 0.0001), (ValF - 0.0003)) * V / 1000) + Double.Parse(Global.PMin[18 + iIdx])).ToString("000.0000"); } } } } } catch (Exception ex) { return; } }
//***************************** public static void Read_AdamValues6018() { try { int iIdx; int[] iData; while (true) { if (m_bRegister1) // Read registers (4X references) { adamTCP1.Connect(m_IP18, ProtocolType.Tcp, m_iPort); if (adamTCP1.Modbus().ReadHoldingRegs(m_iStart1, m_iLength1, out iData)) { for (iIdx = 0; iIdx < m_iLength1; iIdx++) { Double ValF = ((Convert.ToDouble(iData[iIdx]) * 1370) / 65535) * 1000; Global.GenData[10 + iIdx] = (Global.RandomNumberBetween((ValF + 0.0001), (ValF - 0.0002)) / 1000).ToString("000.0000"); } } } } } catch (Exception ex) { return; } }
private void Tm6000_Tick(object sender, EventArgs e) { int iIdx; int[] iData; if (m_bRegister1) // Read registers (4X references) { adamTCP1.Connect(m_IP18, ProtocolType.Tcp, m_iPort); if (adamTCP1.Modbus().ReadHoldingRegs(m_iStart1, m_iLength1, out iData)) { for (iIdx = 0; iIdx < m_iLength1; iIdx++) { Double ValF = ((Convert.ToDouble(iData[iIdx]) * 1370) / 65535) * 1000; Global.GenData[10 + iIdx] = (Global.RandomNumberBetween((ValF + 0.001), (ValF - 0.002)) / 1000).ToString("000.00000"); } } m_bRegister1 = false; m_bRegister2 = true; } else if (m_bRegister2) // Read registers (4X references) { adamTCP2.Connect(m_IP17, ProtocolType.Tcp, m_iPort); if (adamTCP2.Modbus().ReadHoldingRegs(m_iStart2, m_iLength2, out iData)) { for (iIdx = 0; iIdx < m_iLength2; iIdx++) { Double V = (Double.Parse(Global.PMax[18 + iIdx]) - Double.Parse(Global.PMin[18 + iIdx])) / 16; Double ValF = ((Convert.ToDouble(iData[iIdx]) * 16) / 65535); // *1000; Global.GenData[18 + iIdx] = ((Global.RandomNumberBetween((ValF + 0.001), (ValF - 0.002)) * V / 1000) + Double.Parse(Global.PMin[18 + iIdx])).ToString("000.00000"); } } m_bRegister2 = false; m_bRegister1 = true; } }