示例#1
0
        /// <summary>
        /// Refresh Channel Information "Value" column
        /// </summary>
        /// <returns></returns>
        private bool RefreshData()
        {
            int    iChannelTotal  = 0;
            string strSelPageName = tabControl1.TabPages[tabControl1.SelectedIndex].Text;

            if (strSelPageName == "DI")
            {
                bool[] bVal;
                iChannelTotal = this.m_aConf.HwIoTotal[m_DIidx];
                if (!m_adamSocket.DigitalInput().GetValues(m_idxID, iChannelTotal, out bVal))
                {
                    StatusBar_IO.Text += "ApiErr:" + m_adamSocket.Modbus().LastError.ToString() + " ";
                    return(false);
                }
                for (int i = 0; i < bVal.Length; i++)
                {
                    listViewChInfo_DI.Items[i].SubItems[3].Text = bVal[i].ToString();  //moduify "Value" column
                }
            }
            else if (strSelPageName == "DO")
            {
                bool[] bVal;
                iChannelTotal = this.m_aConf.HwIoTotal[m_DOidx];
                if (!m_adamSocket.DigitalOutput().GetValues(m_idxID, m_iDoOffset + iChannelTotal, out bVal))   //Should add offset for DIO modules
                {
                    StatusBar_IO.Text += "ApiErr:" + m_adamSocket.Modbus().LastError.ToString() + " ";
                    return(false);
                }
                for (int i = 0; i < bVal.Length - m_iDoOffset; i++)
                {
                    listViewChInfo_DO.Items[i].SubItems[3].Text = bVal[i + m_iDoOffset].ToString();  //moduify "Value" column
                }
            }
            return(true);
        }
示例#2
0
        /// <summary>
        /// Refresh Channel Information "Value" column
        /// </summary>
        /// <returns></returns>
        private bool RefreshData()
        {
            int    iChannelTotal  = 0;
            string strSelPageName = tabControl1.TabPages[tabControl1.SelectedIndex].Text;

            if (strSelPageName == "DI")
            {
                bool[] bVal;
                iChannelTotal = this.m_aConf.HwIoTotal[m_DIidx];
                if (!m_adamSocket.DigitalInput().GetValues(m_idxID, iChannelTotal, out bVal))
                {
                    StatusBar_IO.Text += "ApiErr:" + m_adamSocket.Modbus().LastError.ToString() + " ";
                    return(false);
                }
                for (int i = 0; i < bVal.Length; i++)
                {
                    listViewChInfo_DI.Items[i].SubItems[3].Text = bVal[i].ToString();  //moduify "Value" column
                }
            }
            else if (strSelPageName == "DO")
            {
                bool[] bVal;
                iChannelTotal = this.m_aConf.HwIoTotal[m_DOidx];
                if (!m_adamSocket.DigitalOutput().GetValues(m_idxID, m_iDoOffset + iChannelTotal, out bVal))   //Should add offset for DIO modules
                {
                    StatusBar_IO.Text += "ApiErr:" + m_adamSocket.Modbus().LastError.ToString() + " ";
                    return(false);
                }
                for (int i = 0; i < bVal.Length - m_iDoOffset; i++)
                {
                    listViewChInfo_DO.Items[i].SubItems[3].Text = bVal[i + m_iDoOffset].ToString();  //moduify "Value" column
                }
            }
            else if (strSelPageName == "PWM")
            {
                iChannelTotal = this.m_aConf.HwIoTotal[m_PWMidx];
                uint[]  uiFerquency = new uint[iChannelTotal];
                float[] fDutyCycle  = new float[iChannelTotal];
                for (int i = 0; i < iChannelTotal; i++)
                {
                    if (m_adamSocket.Counter().GetChannelConfig((int)m_idxID, (ushort)i, out uiFerquency[i], out fDutyCycle[i]))
                    {
                        listViewChInfo_PWM.Items[i].SubItems[4].Text = uiFerquency[i].ToString();           //Update Frequency column
                        listViewChInfo_PWM.Items[i].SubItems[5].Text = fDutyCycle[i].ToString("0.0");       //Update Duty Cycle column
                    }
                    else
                    {
                        listViewChInfo_PWM.Items[i].SubItems[4].Text = "*****";
                        listViewChInfo_PWM.Items[i].SubItems[5].Text = "*****";
                        StatusBar_IO.Text += "ApiErr:" + m_adamSocket.Modbus().LastError.ToString() + " ";
                    }
                }
            }
            return(true);
        }
示例#3
0
        /// <summary>
        /// Refresh Channel Information "Value" column
        /// </summary>
        /// <returns></returns>
        private bool RefreshData()
        {
            int iChannelTotal = 0;

            bool[] bVal;
            iChannelTotal = this.m_aConf.HwIoTotal[m_tmpidx];
            if (!m_adamSocket.DigitalInput().GetValues(m_idxID, iChannelTotal, out bVal))
            {
                StatusBar_IO.Text += "ApiErr:" + m_adamSocket.Modbus().LastError.ToString() + " ";
                return(false);
            }
            for (int i = 0; i < bVal.Length; i++)
            {
                listViewChInfo.Items[i].SubItems[3].Text = bVal[i].ToString();  //moduify "Value" column
            }
            return(true);
        }
示例#4
0
        private void RefreshChannelMode()
        {
            int iConfigStart;

            if (m_adamUDP.DigitalInput().GetIOConfig(out m_byConfig))
            {
                iConfigStart = Counter.GetChannelStart(m_Adam6000Type);
                Counter.ParseIOConfig(m_byConfig[iConfigStart + comboBoxCh.SelectedIndex], out m_byMode[comboBoxCh.SelectedIndex],
                                      out m_bRecordLastCount[comboBoxCh.SelectedIndex], out m_bDigitalFilter[comboBoxCh.SelectedIndex], out m_bInvert[comboBoxCh.SelectedIndex]);
            }
            else
            {
                MessageBox.Show("GetIOConfig() failed;");
            }
        }
示例#5
0
        private bool InitAdam5050()
        {
            bool[] bDIO, bMask;
            bool   bRet;
            int    iCh = 0, iDI = 0, iDO = 0;

            if (m_b5000)
            {
                bRet = (adamCom.DigitalInput(m_iAddr).GetUniversalStatus(m_iSlot, out bDIO) & adamCom.DigitalOutput(m_iAddr).GetAlarmMappingMask(m_iSlot, m_iChTotal, out bMask));
            }
            else
            {
                bRet = (adamSocket.DigitalInput(m_iAddr).GetUniversalStatus(m_iSlot, out bDIO) & adamSocket.DigitalOutput(m_iAddr).GetAlarmMappingMask(m_iSlot, m_iChTotal, out bMask));
            }
            if (bRet && bDIO.Length == 16)
            {
                InitChannelItems(true, bDIO[0], bMask[0], ref iCh, ref iDI, ref iDO, ref panelCh0, ref btnCh0);
                InitChannelItems(true, bDIO[1], bMask[1], ref iCh, ref iDI, ref iDO, ref panelCh1, ref btnCh1);
                InitChannelItems(true, bDIO[2], bMask[2], ref iCh, ref iDI, ref iDO, ref panelCh2, ref btnCh2);
                InitChannelItems(true, bDIO[3], bMask[3], ref iCh, ref iDI, ref iDO, ref panelCh3, ref btnCh3);
                InitChannelItems(true, bDIO[4], bMask[4], ref iCh, ref iDI, ref iDO, ref panelCh4, ref btnCh4);
                InitChannelItems(true, bDIO[5], bMask[5], ref iCh, ref iDI, ref iDO, ref panelCh5, ref btnCh5);
                InitChannelItems(true, bDIO[6], bMask[6], ref iCh, ref iDI, ref iDO, ref panelCh6, ref btnCh6);
                InitChannelItems(true, bDIO[7], bMask[7], ref iCh, ref iDI, ref iDO, ref panelCh7, ref btnCh7);
                InitChannelItems(true, bDIO[8], bMask[8], ref iCh, ref iDI, ref iDO, ref panelCh8, ref btnCh8);
                InitChannelItems(true, bDIO[9], bMask[9], ref iCh, ref iDI, ref iDO, ref panelCh9, ref btnCh9);
                InitChannelItems(true, bDIO[10], bMask[10], ref iCh, ref iDI, ref iDO, ref panelCh10, ref btnCh10);
                InitChannelItems(true, bDIO[11], bMask[11], ref iCh, ref iDI, ref iDO, ref panelCh11, ref btnCh11);
                InitChannelItems(true, bDIO[12], bMask[12], ref iCh, ref iDI, ref iDO, ref panelCh12, ref btnCh12);
                InitChannelItems(true, bDIO[13], bMask[13], ref iCh, ref iDI, ref iDO, ref panelCh13, ref btnCh13);
                InitChannelItems(true, bDIO[14], bMask[14], ref iCh, ref iDI, ref iDO, ref panelCh14, ref btnCh14);
                InitChannelItems(true, bDIO[15], bMask[15], ref iCh, ref iDI, ref iDO, ref panelCh15, ref btnCh15);
                return(true);
            }
            return(false);
        }
示例#6
0
        private void RefreshDIO()
        {
            int iDiStart = 1, iDoStart = 17;
            int iChTotal;
            int iIdx;
            int iConfigStart;

            bool[] bDiData, bDoData, bData;
            byte[] byConfig;

            if (m_adamModbus.DigitalInput().GetIOConfig(out byConfig))
            {
                // counter

                iConfigStart = Counter.GetChannelStart(m_Adam6000Type);

                for (iIdx = 0; iIdx < m_iCntTotal; iIdx++)
                {
                    Counter.ParseIOConfig(byConfig[iConfigStart + iIdx], out m_byMode[iIdx],
                                          out m_bRecordLastCount[iIdx], out m_bDigitalFilter[iIdx], out m_bInvert[iIdx]);
                }
            }

            if (m_adamModbus.Modbus().ReadCoilStatus(iDiStart, m_iDiTotal, out bDiData) &&
                m_adamModbus.Modbus().ReadCoilStatus(iDoStart, m_iDoTotal, out bDoData))
            {
                iChTotal = m_iDiTotal + m_iDoTotal;
                bData    = new bool[iChTotal];
                Array.Copy(bDiData, 0, bData, 0, m_iDiTotal);
                Array.Copy(bDoData, 0, bData, m_iDiTotal, m_iDoTotal);
                if (iChTotal > 0)
                {
                    txtCh0.Text = bData[0].ToString();
                }
                if (iChTotal > 1)
                {
                    txtCh1.Text = bData[1].ToString();
                }
                if (iChTotal > 2)
                {
                    txtCh2.Text = bData[2].ToString();
                }
                if (iChTotal > 3)
                {
                    txtCh3.Text = bData[3].ToString();
                }
                if (iChTotal > 4)
                {
                    txtCh4.Text = bData[4].ToString();
                }
                if (iChTotal > 5)
                {
                    txtCh5.Text = bData[5].ToString();
                }
                if (iChTotal > 6)
                {
                    txtCh6.Text = bData[6].ToString();
                }
                if (iChTotal > 7)
                {
                    txtCh7.Text = bData[7].ToString();
                }
                if (iChTotal > 8)
                {
                    txtCh8.Text = bData[8].ToString();
                }
                if (iChTotal > 9)
                {
                    txtCh9.Text = bData[9].ToString();
                }
                if (iChTotal > 10)
                {
                    txtCh10.Text = bData[10].ToString();
                }
                if (iChTotal > 11)
                {
                    txtCh11.Text = bData[11].ToString();
                }
                if (iChTotal > 12)
                {
                    txtCh12.Text = bData[12].ToString();
                }
                if (iChTotal > 13)
                {
                    txtCh13.Text = bData[13].ToString();
                }
                if (iChTotal > 14)
                {
                    txtCh14.Text = bData[14].ToString();
                }
                if (iChTotal > 15)
                {
                    txtCh15.Text = bData[15].ToString();
                }
                if (iChTotal > 16)
                {
                    txtCh16.Text = bData[16].ToString();
                }
                if (iChTotal > 17)
                {
                    txtCh17.Text = bData[17].ToString();
                }
            }
            else
            {
                txtCh0.Text  = "Fail";
                txtCh1.Text  = "Fail";
                txtCh2.Text  = "Fail";
                txtCh3.Text  = "Fail";
                txtCh4.Text  = "Fail";
                txtCh5.Text  = "Fail";
                txtCh6.Text  = "Fail";
                txtCh7.Text  = "Fail";
                txtCh8.Text  = "Fail";
                txtCh9.Text  = "Fail";
                txtCh10.Text = "Fail";
                txtCh11.Text = "Fail";
                txtCh12.Text = "Fail";
                txtCh13.Text = "Fail";
                txtCh14.Text = "Fail";
                txtCh15.Text = "Fail";
                txtCh16.Text = "Fail";
                txtCh17.Text = "Fail";
            }

            if (m_Adam6000Type == Adam6000Type.Adam6051)
            {
                RefreshCounterValue();
            }
        }
示例#7
0
        private void RefresDIO()
        {
            bool[] bDI, bDO;

            if (adamSocket.DigitalInput(m_iAddr).GetValues(m_iDITotal, m_iDOTotal, out bDI, out bDO))
            {
                if (m_iDITotal > 0)
                {
                    if (m_iDOTotal > 0) // DI > 0, DO > 0
                    {
                        if (m_iDITotal > 0)
                        {
                            txtCh0.Text = bDI[0].ToString();
                        }
                        if (m_iDITotal > 1)
                        {
                            txtCh1.Text = bDI[1].ToString();
                        }
                        if (m_iDITotal > 2)
                        {
                            txtCh2.Text = bDI[2].ToString();
                        }
                        if (m_iDITotal > 3)
                        {
                            txtCh3.Text = bDI[3].ToString();
                        }
                        if (m_iDITotal > 4)
                        {
                            txtCh4.Text = bDI[4].ToString();
                        }
                        if (m_iDITotal > 5)
                        {
                            txtCh5.Text = bDI[5].ToString();
                        }
                        if (m_iDITotal > 6)
                        {
                            txtCh6.Text = bDI[6].ToString();
                        }
                        if (m_iDITotal > 7)
                        {
                            txtCh7.Text = bDI[7].ToString();
                        }
                        //
                        if (m_iDOTotal > 0)
                        {
                            txtCh8.Text = bDO[0].ToString();
                        }
                        if (m_iDOTotal > 1)
                        {
                            txtCh9.Text = bDO[1].ToString();
                        }
                        if (m_iDOTotal > 2)
                        {
                            txtCh10.Text = bDO[2].ToString();
                        }
                        if (m_iDOTotal > 3)
                        {
                            txtCh11.Text = bDO[3].ToString();
                        }
                        if (m_iDOTotal > 4)
                        {
                            txtCh12.Text = bDO[4].ToString();
                        }
                        if (m_iDOTotal > 5)
                        {
                            txtCh13.Text = bDO[5].ToString();
                        }
                        if (m_iDOTotal > 6)
                        {
                            txtCh14.Text = bDO[6].ToString();
                        }
                        if (m_iDOTotal > 7)
                        {
                            txtCh15.Text = bDO[7].ToString();
                        }
                    }
                    else // DI > 0, DO = 0
                    {
                        if (m_iDITotal > 0)
                        {
                            txtCh0.Text = bDI[0].ToString();
                        }
                        if (m_iDITotal > 1)
                        {
                            txtCh1.Text = bDI[1].ToString();
                        }
                        if (m_iDITotal > 2)
                        {
                            txtCh2.Text = bDI[2].ToString();
                        }
                        if (m_iDITotal > 3)
                        {
                            txtCh3.Text = bDI[3].ToString();
                        }
                        if (m_iDITotal > 4)
                        {
                            txtCh4.Text = bDI[4].ToString();
                        }
                        if (m_iDITotal > 5)
                        {
                            txtCh5.Text = bDI[5].ToString();
                        }
                        if (m_iDITotal > 6)
                        {
                            txtCh6.Text = bDI[6].ToString();
                        }
                        if (m_iDITotal > 7)
                        {
                            txtCh7.Text = bDI[7].ToString();
                        }
                        if (m_iDITotal > 8)
                        {
                            txtCh8.Text = bDI[8].ToString();
                        }
                        if (m_iDITotal > 9)
                        {
                            txtCh9.Text = bDI[9].ToString();
                        }
                        if (m_iDITotal > 10)
                        {
                            txtCh10.Text = bDI[10].ToString();
                        }
                        if (m_iDITotal > 11)
                        {
                            txtCh11.Text = bDI[11].ToString();
                        }
                        if (m_iDITotal > 12)
                        {
                            txtCh12.Text = bDI[12].ToString();
                        }
                        if (m_iDITotal > 13)
                        {
                            txtCh13.Text = bDI[13].ToString();
                        }
                        if (m_iDITotal > 14)
                        {
                            txtCh14.Text = bDI[14].ToString();
                        }
                        if (m_iDITotal > 15)
                        {
                            txtCh15.Text = bDI[15].ToString();
                        }
                    }
                }
                else // DI = 0, DO > 0
                {
                    if (m_iDOTotal > 0)
                    {
                        txtCh0.Text = bDO[0].ToString();
                    }
                    if (m_iDOTotal > 1)
                    {
                        txtCh1.Text = bDO[1].ToString();
                    }
                    if (m_iDOTotal > 2)
                    {
                        txtCh2.Text = bDO[2].ToString();
                    }
                    if (m_iDOTotal > 3)
                    {
                        txtCh3.Text = bDO[3].ToString();
                    }
                    if (m_iDOTotal > 4)
                    {
                        txtCh4.Text = bDO[4].ToString();
                    }
                    if (m_iDOTotal > 5)
                    {
                        txtCh5.Text = bDO[5].ToString();
                    }
                    if (m_iDOTotal > 6)
                    {
                        txtCh6.Text = bDO[6].ToString();
                    }
                    if (m_iDOTotal > 7)
                    {
                        txtCh7.Text = bDO[7].ToString();
                    }
                    if (m_iDOTotal > 8)
                    {
                        txtCh8.Text = bDO[8].ToString();
                    }
                    if (m_iDOTotal > 9)
                    {
                        txtCh9.Text = bDO[9].ToString();
                    }
                    if (m_iDOTotal > 10)
                    {
                        txtCh10.Text = bDO[10].ToString();
                    }
                    if (m_iDOTotal > 11)
                    {
                        txtCh11.Text = bDO[11].ToString();
                    }
                    if (m_iDOTotal > 12)
                    {
                        txtCh12.Text = bDO[12].ToString();
                    }
                    if (m_iDOTotal > 13)
                    {
                        txtCh13.Text = bDO[13].ToString();
                    }
                    if (m_iDOTotal > 14)
                    {
                        txtCh14.Text = bDO[14].ToString();
                    }
                    if (m_iDOTotal > 15)
                    {
                        txtCh15.Text = bDO[15].ToString();
                    }
                }
            }
            else
            {
                txtCh0.Text  = "Fail";
                txtCh1.Text  = "Fail";
                txtCh2.Text  = "Fail";
                txtCh3.Text  = "Fail";
                txtCh4.Text  = "Fail";
                txtCh5.Text  = "Fail";
                txtCh6.Text  = "Fail";
                txtCh7.Text  = "Fail";
                txtCh8.Text  = "Fail";
                txtCh9.Text  = "Fail";
                txtCh10.Text = "Fail";
                txtCh11.Text = "Fail";
                txtCh12.Text = "Fail";
                txtCh13.Text = "Fail";
                txtCh14.Text = "Fail";
                txtCh15.Text = "Fail";
            }
        }