Exemplo n.º 1
0
        /*
         * public void Update()
         * {
         *  //NMC2.nmc_GetMDIOOutput(m_nDevId, ReadStatOut);
         *  //NMC2.nmc_GetMDIOInput (m_nDevId, ReadStatIn );
         *  for(int i=0; i < m_iModuleCnt; i++)
         *  {
         *      NMC2.nmc_SetDIOOutPins(m_aModuleInfo[i].nNmcNo, (short)m_aModuleInfo[i].nDataOutSet.Length , m_aModuleInfo[i].nDataOutNo, m_aModuleInfo[i].nDataOutSet);
         *
         *      //short s = m_aModuleInfo[i].nDataOutSet[0] ;
         *      //NMC2.nmc_SetDIOOutPin(m_aModuleInfo[i].nNmcNo , 0 , s);
         *
         *      //NMC2.nmc_GetDIOOutput (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet);
         *      //NMC2.nmc_GetDIOInput  (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn    );
         *      NMC2.nmc_GetDIOOutput128 (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet);
         *      NMC2.nmc_GetDIOInput128  (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn    );
         *
         *
         *  }
         *
         *
         *
         * }
         */
        public void Update()
        {
            //NMC2.nmc_GetMDIOOutput(m_nDevId, ReadStatOut);
            //NMC2.nmc_GetMDIOInput (m_nDevId, ReadStatIn );
            bool bDisconnected = false;

            for (int i = 0; i < m_iModuleCnt; i++)
            {
                if (NMC2.nmc_SetDIOOutPins(m_aModuleInfo[i].nNmcNo, (short)m_aModuleInfo[i].nDataOutSet.Length, m_aModuleInfo[i].nDataOutNo, m_aModuleInfo[i].nDataOutSet) == NMC2.NMC_NOTCONNECT)
                {
                    bDisconnected = true;
                }


                //short s = m_aModuleInfo[i].nDataOutSet[0] ;
                //NMC2.nmc_SetDIOOutPin(m_aModuleInfo[i].nNmcNo , 0 , s);

                //NMC2.nmc_GetDIOOutput (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet);
                //NMC2.nmc_GetDIOInput  (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn    );
                if (NMC2.nmc_GetDIOOutput128(m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet) == NMC2.NMC_NOTCONNECT)
                {
                    bDisconnected = true;
                }
                if (NMC2.nmc_GetDIOInput128(m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn) == NMC2.NMC_NOTCONNECT)
                {
                    bDisconnected = true;
                }
            }

            //이건 아예 첨부터 장비 파워 안들어갔을때. 중간에 장비 전원 껐다켰을때.
            if (m_iModuleCnt == 0 || bDisconnected)
            {
                short[] nIp    = new short[] { 192, 168, 0, 255 }; // 192.168.0.XXX로 되는 모든 주소로 장치 검색
                int     nCount = NMC2.nmc_GetEnumList(nIp, out NMC2.NMCEQUIPLIST NmcEquipList);
                if (nCount != 0)
                {
                    Init();
                }
            }
        }