午夜339351
级别: 实习会员
精华主题: 0
发帖数量: 3 个
工控威望: 46 点
下载积分: 673 分
在线时间: 0(小时)
注册时间: 2018-03-23
最后登录: 2018-03-23
查看午夜339351的 主题 / 回贴
楼主  发表于: 2018-03-23 16:29
图片:
采用MX COMPONENT 界面监视软元件状态,用的entryDeviceStatus指令,通讯界面提醒"超出索引"

       #region  "监视元件状态"
        private void btn_EntryDeviceStatus_Click(object sender, EventArgs e)
        {
            int iReturnCode;                //Return code
            String szDeviceName = "";        //List data for 'DeviceName'
            int iNumberOfData = 0;            //Data for 'DeviceSize'
            int iMonitorCycle = 0;            //Data for 'MonitorCycle'
            int[] arrDeviceValue;            //Data for 'DeviceValue'


            //Displayed output data is cleared.
            ClearDisplay();

            //Get the list of 'DeviceName'.
            //  Join each line(StringType array) of 'DeviceName' by the separator '\n',
            //  and create a joined string data.
            szDeviceName = String.Join("\n", txt_DeviceNameStatus.Lines);

            //Check the 'DeviceSize'.(If succeeded, the value is gotten.)
            if (!GetIntValue(txt_DeviceSizeStatus, out iNumberOfData))
            {
                //If failed, this process is end.
                return;
            }

            //Check the 'MonitorCycle'.(If succeeded, the value is gotten.)
            if (!GetIntValue(txt_MonitorCycleStatus, out iMonitorCycle))
            {
                //If failed, this process is end.
                return;
            }

            //Check the 'DeviceValue'.(If succeeded, the value is gotten.)
            arrDeviceValue = new int[iNumberOfData];
            if (!GetIntArray(txt_DeviceDataStatus, out arrDeviceValue))
            {
                //If failed, this process is end.
                return;
            }


            //
            //Processing of EntryDeviceStatus method
            //
            try
            {
                    //When ActUtlType is selected by the radio button,
                    //The EntryDeviceStatus method is executed.
                    iReturnCode = axActUtlType1.EntryDeviceStatus(szDeviceName,
                                                                    iNumberOfData,
                                                                    iMonitorCycle,
                                                                    ref arrDeviceValue[0]);
            }

            //Exception processing            
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, Name,
                                  MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //The return code of the method is displayed by the hexadecimal.
            txt_ReturnCode.Text = String.Format("0x{0:x8} [HEX]", iReturnCode);
        }
        #endregion
午夜339351
级别: 实习会员
精华主题: 0
发帖数量: 3 个
工控威望: 46 点
下载积分: 673 分
在线时间: 0(小时)
注册时间: 2018-03-23
最后登录: 2018-03-23
查看午夜339351的 主题 / 回贴
1楼  发表于: 2018-03-23 16:30
各位大神求助!卡了半天了!!谢谢!
午夜339351
级别: 实习会员
精华主题: 0
发帖数量: 3 个
工控威望: 46 点
下载积分: 673 分
在线时间: 0(小时)
注册时间: 2018-03-23
最后登录: 2018-03-23
查看午夜339351的 主题 / 回贴
2楼  发表于: 2018-03-23 16:33