Функция FindCld
Функция <FindCld> ищет команду с именем <CmdName> в текущем файле CLData, начиная с команды под номером <StartIndex>. <StartIndex> отсчитывается от начала текущего файла CLData. Если <StartIndex> не указан, то поиск начинается с команды, которая следует за текущей. Результат, возвращаемый функцией, равен индексу найденной команды в текущем файле CLData. Если команда не найдена, то результат равен -1. В качестве параметра <Data> должен передаваться заранее объявленный динамический массив вещественных чисел (<Array of Real>). В этот массив будут записаны параметры найденной команды CLData. Синтаксис:
N = FindCld({<StartIndex>, }<CmdName>, <Data>)
Например, пусть список команд CLDATA имеет вид, приведенный ниже, и допустим, что номер текущей команды равен 0.
0: PARTNO "Bottle"
1: PPFUN …..
2: COMMENT "Roughing Waterline"
3: LOADTL N 2,X 0,Y 0,Z 0,D 8….
4: SPINDL ON(71),NO 397.887,K 0,MODE RPM(0)
5: CUTCOM ON(71),LENGTH(9) 2,X 0,Y 0,Z 0,N 0,K 0,M 0,LEFT(8)
6: RAPID N 10000
7: GOTO.abs X 134.533,Y 99.684,Z 80
8: RAPID N 10000
Обработчик технологической команды <PartNo>:
program PartNo
V: Array of Real
NCircle: Integer
NGoto: Integer
NCircle = FindCld("CIRCLE", V)
NGoto = FindCld("GOTO.abs", V)
if NGoto > NCircle then
Print "Первое перемещение по дуге"
else
Print "Первое перемещение по прямой"
End
В результате выполнения примера в окно отладочной информации будет выведено сообщение "Первое перемещение по прямой".
Для доступа к параметрам произвольных технологических команд также можно воспользоваться оператором CLDFile.
Сопутствующие ссылки: