- 3
- 호샤
- 조회 수 10163
프로그램을 하면서 서보를 접하게 되는 경우가 발생합니다. 그럴때마다 가슴이 두근두근 하시거나 '어쩌지'하면서 부담스러워 하시는 분이 계시더라구요.
그러나, 해보면 그 부담감은 사라집니다. 특히 메뉴얼은 많이많이 읽어볼수록 도움이 될 것입니다. 자세히 설명을 해 두었거든요.
저 또한, 매뉴얼은 자주 보는 편입니다. 원리만 알면 쉽습니다. 위치결정 프로그램은 자신만의 코드로 만든 틀을 가지고 있는게 중요합니다.
위치결정 시작합니다.(아래 프로그램은 축이 다수입니다. 그래서 1개축 기준으로 보시면 됩니다.) 위 프로그램은 전축의 상태를 정의하기 위한 것입니다.
예를 들어 D10에 H21의 값이 들어가면 2진수로 0000 0000 0010 0001 이죠. 하위에서 상위순으로 봅시다. 4비트(0001)은 축 번호를 의미하고, 다음 8비트(000 0010)은 선두번지를 의미합니다. 그리고 4비트(0000)은 컨트롤러 모델입니다.
이제 각 서보 인체모험을 해 보죠.
분석해 봅시다. D10의 다바이스 정보를 4비트로 나누어 D910에 4워드로 나누어 담습니다. 그리고 D910에 있는 정보(축 번호)를 D9100에 넣구요, D911~D912에 있는 정보(선두번지)를 D9101에 넣습니다. D913에 있는 정보(모듈타입)을 D9103에 넣습니다. 참고료 모듈타입은 77MS, 75MH, D, P 다 적용되는 프로그램은 준비되어 있습니다.
P90은 조그동작 및 정지지령, 인칭지령, 기계원점상태의 제어가 들어있구요. P91은 조그지령, 위치결정지령, 에러리셋 지령, 정지지령, 기계원점지령에 대한 프로세서가 담겨져 있습니다.
P92는 서보의 버퍼값을 읽고, 쓰고 합니다. 여기서 중요한 것은 M코드를 만드는 것인데요. 여기에 만든 M코드의 의미는 현재위치값과 티칭된 위치값을 비교하여 동일하면 임의의 코드를 생성합니다. 임의의 코드와 지령코드를 다시 비교하여 동일하면 최종 M코드가 맞다고 가정하게 됩니다. 말이 좀 여렵네요. 쉽게 말해서 (((현재값 = 티칭값) = 임의의 코드값) = 지령코드값) >>> 내가 지령내린 위치로 100000000000%로 이동했다는 것이죠.
P93은 티칭값과 티칭속도값을 실시간으로 저장하는 곳입니다. P94는 모듈이 IO를 주고 받고 하는 곳입니다.
D9110에 메인 프로세서에서 서보지령코드가 내려옵니다. 예를 들어 [MOV H0301 D9110] 이렇게요. 그러면 D9110의 워드값은 2개의 바이트로 나뉘어 D9111,D9112에 저장하게 됩니다. D9111은 지령코드에 재한 상태라고 보시면 되구요, D9112은 지령위치코드라고 보시면 됩니다. .... 이래저래 해서 최종적으로는 D9110.2에 ON이되면 사용자에 대한 지령코드가 완료했다고 볼수 있습니다.
P96은 서보에러코드를 정의합니다. |
추천인 3
댓글 3
감사합니다:)
서보가 어렵게만 느껴졌는데, 조금은 이해가 됩니다.