C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[25240] 장비제어에서 모터축을 쓰레드로 돌리려고 하는데요..
나그네 [] 5525 읽음    2015-08-31 17:06
장비제어를 하려고 합니다.
그런데 모션이 들어가는 장비제어 할때도 쓰레드를 많이 사용 하나요?

만일 1개의 모션컨트롤러( 4축 ) 이 있을 경우

2개의 독립된 쓰레드에서 각각 모션컨트롤러에 접근해서 모터를 돌릴경우 자원접근에 대한 충돌이 발생하지 않을까요?
이런경우 크리티컬섹션 같은 것을 이용해서 자원 접근에 대한 충돌을 피해야 하나요?

주로 어떤방법으로 많이들 사용하시는지 궁금합니다.
이번에 개발하는 장비가 축이 워낙 많고 작업이 분할되어 있는 상황에 동식에 작업이 이루어 져야 해서
쓰레드를 사용하려고 하는데 모터축이 좀 걸리네요..

고수님들 조언 부탁드립니다.
김성동 [acroedit]   2015-09-01 10:20 X
모션 콘트롤러 라이브러리가 쓰레드 세이프 하다면 문제가 없을 겁니다...

축이 많고 작업이 분할 되어 있더라도 하나의 구동 영역에 사용하는 모터가 다른 영역에서 사용될 일도 없을 테구요...

시퀀스 프로그램을 구동 영역별로 잘 분리해서 작성하시면 될 겁니다.
이재현 [semsemi]   2015-09-14 13:24 X
그러한 이유때문에 단일 Thread내에서 상태변경 및 그 상태를 이용한 지령까지 모두 단일시퀀스로 작성하는 곳도 있습니다만, (PLC같이)
저의 경우에는 각 기능별로 각각 Thread Class로 만들어서 모듈화 하고, 각 모듈간에는 이벤트로 동기화 시킵니다.
그리고 모션 API의 경우 대부분 Multi-Thread 환경하에서도 잘 사용됩니다.
대부분 모션 컨트롤러 내부 DSP 회로에서 실질적인 제어를 하기때문에 동일한 축에 대해서만 다중 접근만 막는다면 문제가 없을듯합니다.

+ -

관련 글 리스트
25240 장비제어에서 모터축을 쓰레드로 돌리려고 하는데요.. 나그네 5525 2015/08/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.