Exemplo n.º 1
0
        private void InitializeDIO()
        {
            UInt32 retValue = 0;

            // DIO 모듈 존재여부 확인
            Validate(CAXD.AxdInfoIsDIOModule(ref retValue));

            if (retValue == (UInt32)AXT_EXISTENCE.STATUS_EXIST)
            {
                int moduleCount = 0;

                Validate(CAXD.AxdInfoGetModuleCount(ref moduleCount));

                for (int i = 0; i < moduleCount; i++)
                {
                    int channelCount = 0;

                    // DI 채널 개수 확인
                    Validate(CAXD.AxdInfoGetInputCount(i, ref channelCount));

                    if (channelCount > 0)
                    {
                        for (int j = 0; j < channelCount / 16; j++)
                        {
                            AxtDioWordModule module = new AxtDioWordModule(i, j);
                            DI.AddModule(module);
                        }
                    }

                    // DO 채널 개수 확인
                    Validate(CAXD.AxdInfoGetOutputCount(i, ref channelCount));

                    if (channelCount > 0)
                    {
                        for (int j = 0; j < channelCount / 16; j++)
                        {
                            AxtDioWordModule module = new AxtDioWordModule(i, j);
                            DO.AddModule(module);
                        }
                    }
                }

                DI.Initialize();
                DO.Initialize();
                Read();
            }
        }