상태 확인하기


스텝모터의 현재 상태를 확인하기 위한 명령어는 get입니다.

스텝모터 동작상태 확인

스텝모터의 동작상태를 확인하는 명령어는 state입니다.

"get state"

반환되는 동작상태의 종류는 다음과 같습니다.

반환 값 상태
0 정지됨
1 제어 잠김(lock)
그 외 동작 중
<?php
include_once "/lib/sd_spc.php";

spc_reset();
spc_sync_baud(460800);

$sid = 1;
spc_request_dev($sid, "set mode 4");
spc_request_dev($sid, "set vref stop 2");
spc_request_dev($sid, "set vref drive 8");
spc_request_dev($sid, "set speed 400");
spc_request_dev($sid, "set accel 800");
spc_request_dev($sid, "set rsnc 120 250");

$state = 0;
spc_request_dev($sid, "move 400");
while($state = (int)spc_request_dev($sid, "get state"))
{
  echo "state: $state\r\n";
  usleep(200000);
}
echo "state: $state\r\n";
?>
state: 2
state: 2
state: 2
state: 2
state: 2
state: 2
state: 2
state: 0

카운터 위치 확인

현재 카운터 위치를 확인하는 명령어는 pos입니다.

"get pos"

<?php
include_once "/lib/sd_spc.php";

spc_reset();
spc_sync_baud(460800);

$pos = -400;
$sid = 1;
spc_request_dev($sid, "set mode 4");
spc_request_dev($sid, "set vref stop 2");
spc_request_dev($sid, "set vref drive 8");
spc_request_dev($sid, "set speed 400");
spc_request_dev($sid, "set accel 800");
spc_request_dev($sid, "set rsnc 120 250");
spc_request_dev($sid, "set pos $pos");

spc_request_dev($sid, "goto 400");
while((int)spc_request_dev($sid, "get state"))
{
    $pos = (int)spc_request_dev($sid, "get pos");
  echo "position: $pos\r\n";
  usleep(200000);
}
?>
position: -400
position: -376
position: -317
position: -235
position: -153
position: -70
position: 12
position: 94
position: 175
position: 258
position: 336
position: 391

디지털 입력포트의 상태 확인

디지털 입력포트의 현재 상태를 확인하기 위한 명령어는 eio get입니다.

"eio get (p) input"

p는 입력포트의 아이디(0 ~ 3)를 의미합니다.

반환되는 입력포트 상태의 종류는 다음과 같습니다.

반환 값 상태
0 LOW
1 HIGH (기본 값)
<?php
include_once "/lib/sd_spc.php";

spc_reset();
spc_sync_baud(460800);

$sid = 1;
while(1)
{
    echo spc_request_dev($sid, "eio get 0 input");
    echo spc_request_dev($sid, "eio get 1 input");
    echo spc_request_dev($sid, "eio get 2 input");
    echo spc_request_dev($sid, "eio get 3 input");

    echo "\r\n";
    sleep(1);
}
?>
1111  
0110  
...생략...