Q&A

  • AsyncPro중 AdComport에 대해...
먼저, 지난번 질문에 답변을 주신 두분께 감사드립니다.

아직 문제가 해결이 되지 않아서 또 질문을 올립니다.

AdComport.putstring(SendToInst)..를
했을시 정상적으로 전송이 된다면야 문제가 없겠지만,

만약 보내는 (SendToInst)중 문자열의 앞이나, 뒤의 전송데이터가
변경이 된다면, 이를 막을 방법이 없을까요?
무엇이 문제인가 고민고민하다가 이런 생각까지 해봅니다.

예를들면,
Port에 연결된 장비는 #27 +.....명령어....+#13 의 형식으로
데이터를 받아야 작동을 하는데.. putstring(#27+'id'+#13)이렇게
명령을 해도 정작 전송이 될때 앞의 #27등 이 없어진다거나 한다면,

putstring하기전에 어떻게 초기화(?)등을 해야 한다거나 하는등...
조치가 필요하지 않을까 해서요..

도움을 부탁드립니다.
1  COMMENTS
  • Profile
    권태훈 2006.07.29 02:54
    먼저 지나친 통신 안됨 망령에 빠지신걸 축하드리구요... 아프게 깨닳은게 오래가긴 하더라구요.

    일단 apd를 이용해서 나가는 스트림과 들어오는 스트림을 모두 바이트로 확인할수 있게 합니다.

    (mp핵사 콤포넌트로 hex.astext := IOstr 하면 확인하기 쉽습니다, 콤포넌트는 검색신공으로-프리임다)

    주고 받고는 이미 짜셨을테고, 헥사로 확인하는건 디버깅으로도 됩니다.

    스트링 추가하고 디버거창에서 변수 더블클릭해서 보는 형식을 메모리나 바이트로 바꾸면 됩니다.

    이렇게 하면서 잘 안될때는 pc두대(요즘은 대부분 노트북이 여분으로 있으니까)를 연결해서

    한쪽은 주고, 한쪽은 받게해놓고 확인해도 되고, pc한대에서 포트를 두개 사용해도 됩니다.

    물론 1대로도 확인 가능한데 232의 9핀 연결 콘넥터(d-sub... 잘 보면 모양이 D처럼 생겼다고)의

    핀이나 구멍 옆에 보면 숫자가 있는데 이 숫자중 2,3번을 쇼트시킵니다.

    쇼트시킬때는 전용 점퍼를 이용할수도 있겠지만, 막볼펜심으로 찡겨놔도 됩니다.

    가끔 쑈를 하고 싶다면 샤프심을 걸쳐 놓기도 합니다만 이건 불이 날수도 있으니까 조심해야 합니다.

    쓸데없는 이야기긴 합니다만 232를 사무실 가로 질러서 연결해놨는데 통신이 안되길래

    고생고생 하다가 테스터기를 대봤더니 ac 100V정도의 전기가 흐르길래 전구를 대봤더니

    희미하게나마 불이 들어오던 경우도 있었습니다... 문제는 통신선로 옆에 유도전기가 발생해서

    통신선으로 유입된건데.. 제대로된 쑈라면 pc가 맛이 가기도 합니다.


    쇼트를 왜 시키냐? 232 규격에 보면 tx 핀과 rx핀이 있는데 tx는 보내는거, rx는 받는겁니다.

    즉, tx로 보낸게 rx를 통해서 들어온다는거죠.. 이걸 전문 용어로 loop라고 합니다.

    자국반향이라고도 하죠.. 저는 "2,3번 연결해"라는 용어를 씁니다.


    이러면 내가 보낸게 나한테 오니까 제대로 보냈는지 확인이 됩니다.

    가끔 usb2rs는 쇼트시켜놓으면 작동 안하는 것들도 있는데, 이런건 쓰지 말아야 합니다.(절대로)


    자... 정리.

    1.hex코드로 보낸게 정확히 보낸건지 확인하다.  2,3번 쇼트시키면 된다.


    2.프로토콜 메뉴얼을 다시 한번 확실하게 정독한다... 대부분은 뭔가 빠뜨리고 보내는 경우가 ...


    쉽게 쓸껄 꽤 어렵게 써놓은것 같네요..

    앞으로 잘 된다면 노이즈와의 전쟁이 일어날겁니다...   232노이즈 잡는건 귀신 잡는것과 비슷하기 때문에

    온몸에 기 순환을 잘 시키시고 마음을 정갈하게 유지해야 합니다.

    노이즈 생기는 232 선로가 있다면 5분정도 참선을 하시고 손가락을 대보십시요(ET영화처럼)

    노이즈가 없어집니다...   농담이긴 하지만 가끔 신비롭게 보입니다.

    pc능력이 출중하다는걸 안게 시리얼로 약 200개가량의 장비를 동시에 통신했는데

    cpu 10%도 안 올라가더군요... 인텔시퓨 좋습니다~  .. 시리얼 프로그램은 cpu 점유율 확인하면서

    짜세요.. 많이 올라간다면 잘못짠겁니다..(다른것도 마찬가지지만)