======서보드라이버 전용 입출력 신호======
서보드라이버는 스텝모터보다 많은 입출력 신호를 제공합니다. 서보드라이버를 사용할 때만 사용되는 신호들에 대해 안내합니다.
===SVON (Servo-On) 출력 신호===
\\
* 외부에서 스위치를 이용하여 서보드라이버의 ON/OFF를 제어할 수 있도록 하는데, 이를 SERVO-ON 신호라 합니다.
* 사용자는 cmmGnSetServoOn() 함수를 사용하여 SERVO ON/OFF를 소프트웨어로 제어할 수 있습니다. 단, 서보드라이버에서 강제 SERVO-ON 모드로 설정된 경우에는 소프트웨어로 제어되지 않습니다.
* SVON 입력 회로 및 신호 연결 법은 다음과 같습니다.
\\
{{ :platform:pulse:info:interface:svon.png | Servo-On}}
===RDY (Ready) 입력 신호===
\\
* RDY 신호는 서보드라이버가 정상적으로 SERVON-ON 상태가 되어 있는지를 알려주는 신호로서, 서보드라이버에서 자동 출력됩니다.
* 사용자는 이 신호를 읽음으로써 서보드라이버가 정상적인 SERVO-ON 상태인지를 체크할 수 있습니다.
* cmmStReadMioStatuses() 함수를 사용하여 반환된 값의 BIT0 값을 참조하면 RDY 신호의 상태를 확인할 수 있습니다.
* RDY 입력 회로 및 신호 연결 법은 다음과 같습니다.
{{ :platform:pulse:info:interface:rdy.png | Ready}}
===ALM (ALARM) 입력 신호===
\\
* ALM 신호는 서보모터 드라이버에서 출력되는 ALARM 신호를 입력 받는 신호로 각 축마다 하나씩 제공됩니다.
* ALM 신호가 ON이 되면 모션은 정지합니다.
* ALM 신호의 입력로직과 ALM 발생시 정지동작 모드(즉시 정지, 감속 후 정지)는 소프트웨어로 설정할 수 있습니다.
* ALM 신호의 입력로직과 정지동작 모드를 소프트웨어로 설정하는 방법은 **[[platform:pulse:info:interface:signal_change | Application에서 설정]]**하는 방법과 cmmCfgSetMioProperty 함수를 이용하여 설정하는 방법이 있습니다.
* 동작 중에 ALM 신호가 순간적으로 ON이 되더라도 모션은 정지하게 되어 있어서, 노이즈성 ALM 신호도 모션에 큰 영향을 미칠 수 있습니다. 따라서 ALM 신호의 입력로직은 B접점(Normal Close) 형식으로 하는 것이 좋습니다.
* 만일 ALM 입력을 사용하지 않는 경우에는 ALM 입력로직을 B접점 형식으로 설정한 후 ALM 입력 단자를 GND 단자에 연결하는 것을 권장합니다.
{{ :platform:pulse:info:interface:alm.png | Alarm}}
===INP (In-position) 입력 신호===
\\
* INP 신호는 각 축마다 하나씩 제공되는 서보모터 인터페이스 입력 신호로서 서보모터 드라이버의 편차 카운터(Deviation counter) 값이 Inposition-range 보다 작음을 의미하며, 이는 위치결정 이동이 완료되었음을 암시합니다.
* 모션 컨트롤러의 이송 명령 시점과 모터가 실제 움직이는 시점 사이에는 약간의 지연이 있어서 지령펄스와 궤환펄스 사이에는 약간의 편차가 발생하게 됩니다.
* 서보 드라이버는 편차카운트((펄스구동 방식의 서보모터 드라이버는 지령펄스(Command pulse)와 궤환펄스(Feedback pulse)의 편차를 카운트하는 편차카운터(Deviation counter)를 내장하고 있습니다.))값이 0이 될때까지 모터를 제어하며 편차카운트값이 0이 되는 것은 모션 구동이 완료됐음을 의미하게 됩니다.
* 서보드라이버에서 출력되는 INP신호는 편차값이 Inposition-range 값보다 작으면 ON이 되고, 커지면 OFF가 됩니다.
* Inposition-range 값은 서보 드라이버에서 설정할 수 있습니다. 예를 들어 MITSUBISHI 서보 드라이버의 경우 Param No.5 “In-position range” 파라미터에서 설정한 값이 그 기준이 됩니다.
\\
{{ :platform:pulse:info:interface:inp.png | Inposition}}
\\
* 모션컨트롤러는 기본적으로 COMMAND 신호 출력이 완료되면 이동작업이 완료된 것으로 간주합니다.
* 그러나 모션컨트롤러에서 INP 신호 입력을 활성화(Enable)시킨 경우에는 COMMAND 출력이 완료되었어도 INP 신호가 ON되지 않으면 이동작업이 완료되지 않은 것으로 간주합니다.
* INP 입력을 활성화한 상태에서 INP 신호가 ON되지 않으면 이동작업이 완료되지 않은 것으로 간주되므로 INP 신호가 연결되지 않았거나 스텝모터를 사용하는 경우에는 INP 입력을 활성화하지 않아야 합니다.
* INP 신호 입력의 활성/비활성화는 **[[platform:pulse:info:interface:signal_change | Applcation에서 설정]]**할 수 있으며, cmmCfgSetMioProperty 함수를 이용하여 설정할 수도 있습니다.
===ERC (편차카운터 클리어) 출력 신호===
\\
* 편차카운터 클리어 신호는 각 축마다 하나씩 제공되는 서보모터 인터페이스 출력 신호로서, 서보모터 드라이버의 편차 카운터(Deviation counter)를 클리어 해 줍니다.
* 서보모터 드라이버는 편차카운트 값이 0이 될 때까지 모터를 구동하므로 COMMAND 펄스 출력이 완료 되었어도 모터가 정지하기까지 약간의 시간 지연이 있을 수 있습니다. 이때 편차카운트값을 0으로 클리어 해주면 모터는 즉시 정지할 수 있습니다.
* ERC신호가 자동 출력된다고 해서 COMMAND신호의 종료시점과 모터가 정지하는 시점을 완전하게 동기 시킬 수는 없습니다. 이는 서보 드라이버가 샘플링 주기에 의해 제어루프를 동작시키기 때문입니다.
* ERC 신호는 서보드라이버의 편차카운터를 클리어하기 위해서 사용되는 신호로 –EL, +EL, ALM 신호가 ON이 되면 자동으로 출력됩니다.
* EL과 ALM의 정지동작 모드가 “감속 후 정지”로 설정된 경우에는, -/+EL 신호나 ALM 신호가 감지된 시점에 ERC 신호가 출력되지 않습니다.
* 환경설정에 따라 원점복귀를 완료하는 시점에서도 ERC 신호를 자동으로 출력할 수 있습니다.
* 원점복귀 시 ERC신호가 자동 출력되도록 하면 오히려 원점의 반복도가 약간 떨어질 수 있습니다. 따라서 모터튜닝(Tuning)이 제대로 이루어진 경우에는 원점복귀 시에 ERC 신호 자동출력을 사용하지 않는 것이 좋습니다. 그러나, ERC 자동출력을 사용하면 서보드라이버의 응답특성이 변하거나 하중이 변하더라도 이에 영향을 받지 않는다는 장점이 있습니다.
* ERC 신호에 대한 환경은 **[[platform:pulse:info:interface:signal_change | Application에서 설정]]**할 수 있습니다.
\\
{{ :platform:pulse:info:interface:erc.png | ERC}}