멜섹 이더넷 통신 할때 질문 드립니다
- 알티
- 2611
- 1
멜섹 이더넷 통신 할때 궁금한게 있어서 질문 드립니다.
멜섹 이더넷 통신을 하는데요
값을 계속해서 읽어 와야 하는 부분에서
쓰레드(정확히는 C#에 백그라운드워킹)인가를 쓰는데요
보내는게 5000 00FF 03FF 00 0018 0010 0401 0000 D* 000100 000D 입니다.
물론 보낼때는 띄어쓰기는 없애고 보내는데요, 그렇게 하면 일단 실행 하면 질 읽습니다.
그런데 다른 버튼도 있는데요 어떤 버튼은 누르면 아무이상없구요
어떤 버튼은 누르면 저기 윗쪽에서 읽는 부분에서 리시브되는값이
D000 00FF 03FF 00 0004 0000 딱 요렇게만 읽힙니다..께속이요...-_-;;
원래는 D를 총 13개를 읽어야 하는데 말이죠..
이게 GP하고도 같이 연결되어 있습니다.
그래서 GP에서 되는 버튼은
GP에서 bit가 momentary로 되어 있고
영향을 미치는 버튼은 그냥 bit set 으로 되어 있더라구요. 이차이가 있는거는
일반적인 이더넷 통신으로 값을 주듯이(요렇게 ==> 5000 00FF 03FF 00 0019 0010 1401 0001 M* 000106 0001 1) 주면 안되는 건가요??
그런데 이더넷연결을 끓고 소켓 null로만든다음에 다시 접속해서 연결하면 또 값이 제대로 오구요...
이게 뭐가 잘못된건지...왜 값을 못읽는건지...에러 메시지가 날라오는것도 아니고 참....ㅡ.ㅜ
Q MC 프로토콜있는데 직접 짜시는 건가요?
저도 C쪽으로는 거의 문외한이라 잘모르겠지만 컴퓨터와 통시날땐 보통 프로그램하시는 분들이 Q시리즈는 MC 프로토콜이 제공되어 쉽다고 하더라고유