Q&A

  • 제목 달기 어려운 질문?

저희 회사는 반도체 회사입니다. 그래서 요즘 반도체 설비에 대한 작업을 좀 하고 있습니다.

반도체 설비는 SECS라는 통신 규격이 있어서 Serial 혹은 TCP/IP로 설비의 Data를 받아 볼 수 있습니다.

SECS Driver는 대부분 Driver(OCX)를 판매하는 업체꺼를 구매해서 사용을 합니다.

 

SECS Driver를 구입해서 설비 1대와 통신을 하는 프로그램을 만들었습니다.

1대의 설비와 통신을 잘 하고 있는데요, 다른 설비와 통신할 일이 생겨서 그냥  프로그램 2개를 띄워서

사용을 하고 있었습니다.

그런데 수십대 정도의 설비와 통신을 해야하는 상황이 발생을 했네요.

그래서 main form을 다시 만들고 기존에 만들었던 프로그램의 form을 추가해서 설비 대수 만큼 동적으로 생성해서

올렸습니다. 그런데 통신에 문제가 생기네요.

exe file 하나씩 실행이 될 때는 exe file 자체가 하나의 Thread로 되는데, 동적으로 생성해서 붙히면 exe file하나씩 실행해서

구동하는 것과는 조금 차이가 당연히 나는 것이 맞겠지요.

그래도 통신 data parsing 처리는 thread처리를 해서 별 문제가 없을 것 같았는데 ,

막상 실해해서 하나의 설비에 통신이 급격하게 늘어나면 다른 설비의 통신을 처리하는 곳에서 지연이 생기는 문제가 생기네요.

SECS Driver에서 Data를 읽어올때 for문을 돌려서 읽는데 읽는 양이 많으면 시도 때도 없이 For 문안에 있어서 그런 것 같아

for 문안에 application.processmessage를 넣을까 하다가 이것은 제대로 된 해결책이 아닌듯하여서 질문드립니다.


어떠한 방법으로 하는 것이 좋을까요?

수고하세요. 

1  COMMENTS
    • 백록화
      2011.05.09 20:27
      어떤 모델인지는 모르겟지만 메뉴얼에 제어코드가 있지 않을까요? 
    • 지럴배기
      2013.08.28 23:29
      인터멕 제품을 핸들링 하는 언어는 IPL 입니다. 제프라에 ZPL이 있듯이....   IPL 관련 문서를 찾아서...
    • 앙팡
    • 2011.05.04 14:47
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2011.05.04 18:44
       MessageBox(0, PChar(compareCount), '',MB_ICONSTOP);compareCount 가 Integer 형인데요... PChar &...
    • jiniya
      2011.05.04 18:46
      쿼리가 문제가 아니라 밑에 메시지 띄우는 부분이 문제일듯 합니다.   DB손댄지가 오래되긴 했는데......
    • jiniya
      2011.05.04 18:47
      헉 댓글달고 보니 똑같은걸 백록화님이 벌써 ㅡㅡ;;;
    • 백록화
      2011.05.05 03:47
      ㅎㅅㅎ 죄송...
    • 철이
      2011.05.04 23:12
          SQL.Add('SELECT COUNT(*) TOTAL_CNT FROM TOJANG WHERE TJ_COMPANY = ''24'''); ...
    • 백록화
      2011.05.05 03:49
      흠.. 오래전에 그런현상이 있긴 했었는데..아마도 기억에 TQuery 와 Paradox 를 사용할때 정확하진 않은데 ...
    • 사나이
      2011.05.13 04:02
      ㄳㄳ 좋은정보 얻어가요
    • 앙팡
    • 2011.04.29 18:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2011.06.11 02:21
      피곤하시겠지만, 미들티어 역할을 하는 통신 어플을 만드셔야 할 것 같습니다.
    • sung
    • 2011.04.29 16:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2011.06.11 02:23
      아래 링크에 관련 내용이 있네요.. 참고하세요.. https://forums.embarcadero.com/message.js...
    • 백록화
      2011.04.29 01:37
      TIdFTP.UseMLIS 속성이 기본적으로 False 로 되어 있는데 True 로 하시면 될껍니다.
    • 백록화
      2011.04.21 21:05
      퍼왔슴돠..http://www.swissdelphicenter.ch/torry/showcode.php?id=170uses WinSock ;// Function&nb...
    • 완전한사랑
      2011.05.20 19:51
      답변 감사드립니다.. 포기 하고 있었는데.. 함 시도해 보겠습니다..  정말 감사합니다.. ^^
    • 완전한사랑
      2011.06.03 19:35
      윈도우7에거 WinSock.dll 이 뭔가 잘못되었는지.. 오류가 나네요..아무래도.. 윈도우98이나 95에서만 작...
    • 구창민
      2011.06.11 02:14
      어떤 오류가 나는지 알려주셔야 해당 답글이 올라오지 않을까요? 혹여 질문드리지만,  uses W...
    • 비돈
    • 2011.04.20 00:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 비돈
      2011.04.20 02:36
      자답입니다. source\wind32\rtl\win 에서 windows.dcu를 지우고 다시 컴파일 하니 됩니다.
    • 쓔렉
    • 2011.04.18 18:48
    • 4 COMMENTS
    • /
    • 0 LIKES
    • zeliard
      2011.04.18 19:26
      뭘 하고 싶으세요? 이름으로 컴포넌트 찾기? 아님 TEdit를 모두 찾아서 뭔가 하기???
    • 홍성락
      2011.04.18 19:35
      이런식으로 하부 컴퍼넌트 까지 검색하시려는 건가요. 그래서 처음에 호출시 Read(Form1); 폼이름을 주거나...
    • 쓔렉
      2011.04.18 22:42
      아 너무감사합니다.소스가 이해가 안됐었는데..계속보고 해보니까 이해가가네요. 제겐 재귀란 언어가..너무...
    • zeliard
      2011.04.18 20:13
      홍성락님께서 알려주신 방법대로 하시면 되는데요... var  ParamList: TStringList;  ... &nbs...
    • zeliard
      2011.04.15 18:56
      TDatabase컴포넌트를 쓰세요. LoginPrompt를 False로 해놓으시면 됩니다.
    • 중후지제
      2011.04.15 19:43
      델파이 5.0이고요.며칠 전까지는 안나오던 소스였는데, 갑자기 나오기 시작했습니다. 
    • 중후지제
      2011.04.16 04:02
      며칠 전까지만 해도 안나오던 프롬프트가 왜 나오게 된건지 알 수 없을까요?고친게 없는데 프롬프트가 ...
    • 중후지제
      2011.04.16 04:16
        qrySQL, qryTemp: TQuery;  dbBDB, dbFDB : TDatabase;  sSaleDate, sClientCD, sTran...
    • zeliard
      2011.04.16 09:09
    • 지나가는행인
      2011.04.12 16:51
      165 = 32 + 32 + 32 + 32 + 32 + 5 입니다... 그러므로... 32가 5개 나머지가 5   Integer 형의 몫은 ...
    • 따따부따
      2011.04.12 17:50
      유용한 답변 감사합니다.
    • Mark
    • 2011.04.11 03:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • zeliard
      2011.04.11 07:04
      Q1) 누수가 됩니다. Create시 생성한 ClassA가 해제가 안되니까요. 누수를 방지할려면 property A의 set me...
    • 땜쟁이
    • 2011.04.08 23:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • zeliard
      2011.04.09 01:21
      1.네 2. 엑셀(?) Access DB말하는것 같은데... 데이터량이 많다면 비추입니다. Firebird나 Interbase 쓰세...
    • 백록화
      2011.04.09 02:55
      1. OS / 하드웨어 야 나중에 문제되면 다른것으로 갈아타셔도 되고요. 고정아이피면 좋지만 아니라도 큰 문...
    • 백록화
      2011.03.29 07:47
      서버는 웹서버 로 구축하시면 됩니다. 흔히 쓰이는것은 IIS 나 아파치 가 있겟고요... FTP를 사용하시려면 ...
    • 이즈니
      2011.04.01 01:31
      < URLDownloadToFile을 이용한 다운로드 예 > URLDownloadToFile을 제대로 사용하시려면 -----...
    • zeliard
      2011.03.27 09:15
      Window Procedure를 이용해서 scroll메시지를 다른쪽에 보내세요. 아래는 예제입니다.  ty...
    • 완전한사랑
      2011.03.31 23:02
      답변 감사드립니다.. 늘 도움 주셔서 정말 감사합니다. 많은 도움이 되었습니다.. ^^
    • 쓔렉
      2011.04.19 04:00
      오저도필요햇엇는데감사힙니다ㅋ
    • 수인아빠
      2011.03.24 21:46
      다행히 THREAD로 처리했습니다....
    • 쓔렉
    • 2011.03.22 04:51
    • 4 COMMENTS
    • /
    • 0 LIKES
    • zeliard
      2011.03.22 18:31
      서점에 가셔서 자료구조란 책을 찾아보세요. 잘 나와 있어요. 도서관에서 오래된 책을 찾으시면 대부분 파...
    • 쓔렉
      2011.03.23 19:32
      아 제가 가지고있는책에는 select가 없길래^^하하; 감사합니다^^
    • 백록화
      2011.03.22 20:55
      찾아보면 델파이/파스칼 로 구현된것도 많죠.. 뭐 일단 자료구조 관련 서적을 보시는게 좋을듯 합니다.http...
    • 쓔렉
      2011.03.23 19:31
      네 감사해요^^