[ SDK 문의 ] 라이브러리 함수 관련해서 문의사항있습니다.
2019-08-29 16:55:01
본문
안녕하세요.
다름이 아니라 디지털IO 쪽 작업중에 함수 인자에 대한 설명이 없는 부분이 있어서 문의드립니다.
1. cmmAdvGetNumAvailDioChan((int)MotnDefines._TCmBool.cmTRUE, ref m_NumChannels);
위의 인자에서 m_NumChannels가 반환하는것이 PCI 슬롯에 꽂혀있는 Input모듈의 개수를 반환하는 건지 아니면 현재 사용 가능한 Input전체 수량을 반환하는지 알고싶습니다.(예를 들어 Input 1개 모듈에 32점의 Input이 들어간다고 했을 때 1을 반환하는지 32를 반환하는지 알고싶습니다.)
2. internal static extern unsafe int cmmAdvGetDioDeviceId([MarshalAs(UnmanagedType.I4)] int Channel,
[MarshalAs(UnmanagedType.I4)] int IsInputChannel, [MarshalAs(UnmanagedType.I4)] ref int DeviceId);
해당 함수에서 각 인자에 대한 설명과 하는 일에 대해 자세히 알고 싶습니다.
3. internal static extern unsafe int cmmAdvGetDioDevInstance([MarshalAs(UnmanagedType.I4)] int Channel,
[MarshalAs(UnmanagedType.I4)] int IsInputChannel, [MarshalAs(UnmanagedType.I4)] ref int DevInstance);
해당 함수에서 각 인자에 대한 설명과 하는 일에 대해 자세히 알고 싶습니다.
확인 후 답변 부탁드립니다.
다름이 아니라 디지털IO 쪽 작업중에 함수 인자에 대한 설명이 없는 부분이 있어서 문의드립니다.
1. cmmAdvGetNumAvailDioChan((int)MotnDefines._TCmBool.cmTRUE, ref m_NumChannels);
위의 인자에서 m_NumChannels가 반환하는것이 PCI 슬롯에 꽂혀있는 Input모듈의 개수를 반환하는 건지 아니면 현재 사용 가능한 Input전체 수량을 반환하는지 알고싶습니다.(예를 들어 Input 1개 모듈에 32점의 Input이 들어간다고 했을 때 1을 반환하는지 32를 반환하는지 알고싶습니다.)
2. internal static extern unsafe int cmmAdvGetDioDeviceId([MarshalAs(UnmanagedType.I4)] int Channel,
[MarshalAs(UnmanagedType.I4)] int IsInputChannel, [MarshalAs(UnmanagedType.I4)] ref int DeviceId);
해당 함수에서 각 인자에 대한 설명과 하는 일에 대해 자세히 알고 싶습니다.
3. internal static extern unsafe int cmmAdvGetDioDevInstance([MarshalAs(UnmanagedType.I4)] int Channel,
[MarshalAs(UnmanagedType.I4)] int IsInputChannel, [MarshalAs(UnmanagedType.I4)] ref int DevInstance);
해당 함수에서 각 인자에 대한 설명과 하는 일에 대해 자세히 알고 싶습니다.
확인 후 답변 부탁드립니다.
답변: 안녕하세요. 커미조아 고객지원팀입니다.
2019-08-30 14:32:19
문의하신 3가지 함수에 대하여 안내드리겠습니다.
- cmmAdvGetNumAvailDioChan(long IsInputChannel, long* NumChannels);
isInputChannel : 해당 NumChannels의 반환 채널이 input, output에 대하여 선택 ( 1 : Input, 0 : Output)
NumChannels : isInputchannel에 의하여 선택 된 종류의 채널 수를 반환
해당 함수는 현재 사용이 가능한 모든 채널의 수를 반환합니다.
ex) 32채널 DIO 보드 + 32채널 DO 채널을 사용할 경우
isInputChannel : 0 => NumChannels : 64
isInputChannel : 1 => NumChannels : 32
- cmmAdvGetDioDeviceId(long Axis, long IsInputChannel, long *DeviceId);
Axis : DeviceId를 확인할 채널
IsInputChannel : input, output 선택 ( 1 : Input, 0 : Output)
DeviceId : IsInputChannel 에서 선택 된 종류의 Axis 채널의 장치 ID
해당 함수는 IsInputChannel 인자로 선택 된 Input 혹은 Output의 Axis 인자로 선택 된 채널의 장치 ID를 반환합니다.
장치 ID는 사용하시는 종류의 보드의 ID 입니다.
ex) SD404 => b404
- cmmAdvGetDioDevInstance(long Axis, long IsInputChannel, long *DevInstance);
Axis : DevInstance를 확인할 채널
IsInputChannel : input, output 선택 ( 1 : Input, 0 : Output)
DevInstance : 선택 된 채널의 장치의 Instance
해당 함수는 IsInputChannel 인자로 선택 된 Input 혹은 Output의 Axis 인자로 선택 된 채널의 장치 Instance를 반환합니다.
Instance는 같은 종류의 장치(ex SD404 2장)을 사용할 경우 각 장치를 구분하기 위한 숫자로 0번부터 시작합니다.
감사합니다.
- cmmAdvGetNumAvailDioChan(long IsInputChannel, long* NumChannels);
isInputChannel : 해당 NumChannels의 반환 채널이 input, output에 대하여 선택 ( 1 : Input, 0 : Output)
NumChannels : isInputchannel에 의하여 선택 된 종류의 채널 수를 반환
해당 함수는 현재 사용이 가능한 모든 채널의 수를 반환합니다.
ex) 32채널 DIO 보드 + 32채널 DO 채널을 사용할 경우
isInputChannel : 0 => NumChannels : 64
isInputChannel : 1 => NumChannels : 32
- cmmAdvGetDioDeviceId(long Axis, long IsInputChannel, long *DeviceId);
Axis : DeviceId를 확인할 채널
IsInputChannel : input, output 선택 ( 1 : Input, 0 : Output)
DeviceId : IsInputChannel 에서 선택 된 종류의 Axis 채널의 장치 ID
해당 함수는 IsInputChannel 인자로 선택 된 Input 혹은 Output의 Axis 인자로 선택 된 채널의 장치 ID를 반환합니다.
장치 ID는 사용하시는 종류의 보드의 ID 입니다.
ex) SD404 => b404
- cmmAdvGetDioDevInstance(long Axis, long IsInputChannel, long *DevInstance);
Axis : DevInstance를 확인할 채널
IsInputChannel : input, output 선택 ( 1 : Input, 0 : Output)
DevInstance : 선택 된 채널의 장치의 Instance
해당 함수는 IsInputChannel 인자로 선택 된 Input 혹은 Output의 Axis 인자로 선택 된 채널의 장치 Instance를 반환합니다.
Instance는 같은 종류의 장치(ex SD404 2장)을 사용할 경우 각 장치를 구분하기 위한 숫자로 0번부터 시작합니다.
감사합니다.