SemiOn 19.6.0.300

SemiOn Library 19.6.0.300 버전을 배포합니다.

이번 버전의 개선 사항은 아래와 같습니다.

개선 사항

  • [Breaking Change] soGetMessageInfo 함수의 SystemBytes 매개변수의 자료형이 변경되었습니다.
    • Delphi : Integer -> LongWord
    • C# : int -> uint
    • C++ : int -> unsigned int
  • soConstXXX, soVarXXX 함수군 추가 (soGemConstXXX, soGemVar 함수군과 동일 기능)
  • soGetAlarmInfo, soGetAlarmTextLength 함수 추가
  • soSetLastError 함수 추가
  • soGemAlarmSet, soGemAlarmClear 호출 시 신규 추가된 AlarmText 변수에 ALTX 값을 갱신하도록 함. (GEM)

버그 수정 사항

  • 메시지 오류 시 S9 계열 메시지 자동 발송 순서 개선
  • 안정성 개선

SemiOn 19.4.0.288

SemiOn Library 19.4.0.288 버전을 배포합니다.

이번 버전의 개선 사항은 아래와 같습니다.

개선 사항

  • 시뮬레이터와 에이전트에 로그 갯수를 제한하는 옵션 추가
  • 시뮬레이터와 에이전트에 Always On Top 옵션 추가

버그 수정 사항

  • 응답 메시지가 필요 없는 메시지 수신 시 트랜잭션을 삭제하지 않는 문제 수정

SemiOn 18.11.1.284

SemiOn Library 18.11.1.284 버전을 배포합니다.

이번 버전의 개선 사항은 아래와 같습니다.

 

개선 사항

  • 메시지 구조 검증 오류 시 로그 개선
  • 기타 안정성 개선

 

버그 수정 사항

  • soGemVarSetStringValue, soGemConstSetStringValue 함수에서 개행문자가 포함된 배열 문자열 값을 설정한 후에 비배열 문자열 값을 설정하면 설정된 값을 정상적으로 사용하지 않는 오류 수정
  • S2F41 / S2F49 메시지 수신 시 파라미터 리스트 항목의 갯수가 0인 경우에 메시지 구조 검증 오류가 발생하는 현상 수정

 

SemiOn 18.9.1.280

SemiOn Library 18.9.1.280 버전을 배포합니다.

이번 버전의 개선 사항은 아래와 같습니다.

 

개선 사항

  • [Breaking Change] SO_HANDLE 형이 변경되었습니다.
    • Delphi : Integer -> THandle
    • C# : int -> IntPtr
    • C++ : int -> void*
  • soDicGetStringValue, soDicSetStringValue 함수에서 리스트를 지원합니다. (CR/LF로 구분)
  • [GEM] S2F49/F50 메시지 지원
    • CEPACK, CEPVAL의 LIST형은 지원하지 않습니다.
    • 수신된 OBJSPEC 값은 데이터 사전에 들어가며 soDicGetStringValue 함수를 이용해서 가져옵니다.
  • [GEM] 드라이버 내부에서 사용하는 기본 Collection Event의 ID를 변경할 수 있습니다.
  • [GEM] soGemVarGetStringValue, soGemVarSetStringValue 함수에서 리스트를 지원합니다. (CR/LF로 구분)
  • [GEM] soGemConstGetStringValue, soGemConstSetStringValue 함수에서 리스트를 지원합니다. (CR/LF로 구분)
  • [GEM] soGemSetPPRequestProc, soGemSetFmtPPRequestProc 함수 추가
  • 안정성 개선

 

버그 수정 사항

  • 텍스트 로그만 사용할 경우 비정상적인 메모리 사용 문제 수정

SemiOn 18.4.0.242

SemiOn Library 18.4.0.242 버전을 배포합니다.

이번 버전의 개선 사항은 아래와 같습니다.

개선 사항

  • GEM Spooling 사양 지원
  • 메시지 별로 로그 여부/메시지 본문 로그 여부 설정하는 기능 추가
  • VB.Net 헤더 파일 추가
  • VB.Net 샘플 추가

버그 수정 사항

  • 없음

SemiOn 17.6.0.222

SemiOn Library 17.6.0.222 버전을 배포합니다.

이번 버전의 개선 사항은 아래와 같습니다.

개선 사항

  • 텍스트 파일 로그 기능 추가. 바이너리 로그(CSL)과 텍스트 로그(LOG)를 선택할 수 있음.
  • soSetLogOptions 함수에 TextLog 매개 변수 추가

버그 수정 사항

  • 없음

 

기존 라이브러리들의 텍스트 로그에 익숙하신 분들을 위해 텍스트 파일로 로그를 기록하는 기능을 추가했습니다.

전 마찬가지 익숙하다는 이유로 바이너리 로그를 좋아합니다…^^

텍스트 파일 로그기능을 사용하시면 바이너리 파일 로그는 기록하지 않습니다. 라이브 로그는 기존과 같습니다. 다만 지난 버전에서 추가되었던 MaxParts 기능은 지원하지 않습니다.

 

SemiOn 17.3.0.210

SemiOn Library / SemiOn GEM Library 17.3.0.210 버전을 배포합니다.

이번 버전의 개선 사항은 아래와 같습니다.

개선 사항

  • soGemSetGetListItemCountProc 함수 추가
  • soGemSetPrepareDataDicValueProc 함수 추가

버그 수정 사항

  • 안정성 향상

 

가변 길이 리스트

메시지 송수신 시 사양서 상에 아래 그림과 같이 리스트 항목의 하위 항목의 갯수가 고정되어 있지 않고 가변인 경우 기존에는 직접 메시지 핸들러를 작성해야 했으나  위의 두 콜백 함수의 기능을 이용하면 직접 메시지 핸들러를 작성하지 않고 GEM 라이브러리에서 처리할 수 있다.

 

가변 길이 리스트

먼저 메시지 구조를 정의할 때 아래 그림과 같이 리스트 항목에 ID 를 부여해 주어야 한다.

리스트 아이디

리스트 아이디가 등록되면 해당 메시지 발송 시 가변 길이 리스트 항목을 만날 때 마다 soGemSetGetListItemCountProc  함수로 설정한 콜백 함수가 호출된다. 이 때 위에서 등록한 리스트 아이디가 매개변수로 전달된다. 이 콜백 함수에서 가변 길이 리스트 항목의 갯수를 지정해 준다.

soGemSetGetListItemCountProc  에서 지정된 갯수만큼 하위 항목의 값을 갱신하기 위해 soGemSetPrepareDataDicValueProc 함수로 설정한 콜백 함수가 호출된다.

아주 매끄러운 동작 방식은 아닐수도 있겠으나 메시지 핸들러를 작성해서 모든 메시지 구조를 직접 작성하는 것보다 SOP 파일에 정의된 메시지 구조대로 메시지를 송수신할 수 있는 방법을 제공한다.