CLAMP - Зажим приспособлений
Команда CLAMP используется для управления зажимными устройствами детали (патронами, тисками, цанговыми зажимами и т. д.) в операциях типа "взять-положить" (pick-and-place) и передачи заготовки между шпинделями.
Команда: CLAMP ID(N), ON(71)|OFF(72) DIR(N)
Доступ из sppx
Обработчик: program Clamp
| Параметр | Массив CLD | Имя CLD | Описание |
|---|---|---|---|
| ID | CLD[1] | CLD.ID | Уникальный идентификатор зажимного устройства, которое нужно переключить. Зависит от настроек оборудования внутри проекта CAM. |
| IsOn | CLD[2] | CLD.IsOn | Новое состояние зажимного устройства: 71 - зажим включён, заготовка зафиксирована в зажимном устройстве. 72 - зажим выключен, заготовка освобождена. |
| Dir | CLD[3] | CLD.Dir | Направление зажима (-1; 0; +1) - направление перемещения зажимной губки (знак изменения координаты по оси губки). |
Простой пример программ-обработчиков для этой команды.
program Clamp
if CLD[2] = 72 then begin
call OutPause(1)
if CLD[1] = 2 then begin
Mchuck = 111; Mchuck@ = Maxreal
Formblock
Outstr$ = Outstr$ + " (OTKRYT-PROTIVOSHPINDEL)"
Output Outstr$
Formblock
Outstr$ = Outstr$ + " M114 (AIR ON)"
Output Outstr$
call OutPause(1)
Formblock
Outstr$ = Outstr$ + " M115 (AIR OFF)"
Output Outstr$
end else begin
Mchuck = 11; Mchuck@ = Maxreal
Formblock
Outstr$ = Outstr$ + " (OTKRYT-GLAVNYi SHPINDEL)"
Output Outstr$
Formblock
Outstr$ = Outstr$ + " M14 (AIR ON)"
Output Outstr$
call OutPause(1)
Formblock
Outstr$ = Outstr$ + " M15 (AIR OFF)"
Output Outstr$
end
end else begin
if CLD[1] = 2 then begin
Mchuck = 110; Mchuck@ = Maxreal
Formblock
Outstr$ = Outstr$ + "(ZAKRIT-PROTIVOSHPINDEL)"
end else begin
Mchuck = 10; Mchuck@ = Maxreal
Formblock
Outstr$ = Outstr$ + "(ZAKRIT-GLAVNIY SHPINDEL)"
end
Output Outstr$
call OutPause(1)
end
end
Доступ из .NET
Обработчик:
public override void OnClamp(ICLDClampCommand cmd, CLDArray cld)
Наследование: ICLDClampCommand : ICLDCommand.
Читайте параметры из строго типизированного объекта cmd (рекомендуется); также доступны «сырой» массив cld[i] (те же индексы, что и в sppx) и именованные помощники cmd["..."]. В таблице перечислены члены команды, включая унаследованные от базовых интерфейсов; общие члены ICLDCommand (навигация, CLD, CLDFile, TechOperation, ...) описаны в разделе Модель доступа к CLData.
Пример - OnClamp (из постпроцессора Goodway SW):
public override void OnClamp(ICLDClampCommand cmd, CLDArray cld)
{
base.OnClamp(cmd, cld);
bool MainSp = cmd.ClampID==1;
outClamp(nc, MainSp, cmd.IsOn, 0.2);
}