Я пытаюсь защитить двери моего CN C с помощью переключателей, которые посылают сигнал на мой ноутбук (у меня на нем установлен Mach 4). Я создал этот код, который должен заставить шпиндель оставаться на месте, если двери не заперты, но я всегда получаю сообщение об ошибке:
[string""]1576 attempt to call global 'SicherheitsKreis' (a Nil value) stack traceback:
Я пытался переместить Код и читать темы на это, но ничего не работает. У кого-нибудь есть решение? Вот весь мой код:
function SicherheitsKreis(Schliesserstate, Oeffnerstate)
if (Schliesserstate ==0 and Oeffnerstate ==1 ) then
mc.mcSpindleSetDirection(inst,0)
elseif (Schliesserstate == 1 and Oeffnerstate == 0 ) then
local sigh = mc.mcSignalGetHandle(inst, mc.OSIG_SPINDLEON);
local sigState = mc.mcSignalGet State(sigh);
if (sigState == 1) then
mc.mcSpindleSetDirection(inst,0)
else
mc.mcSpindleSetDirection(inst,1);
end
else
mc.mcSpindleSetDirection(inst,0)
end
end
if (mc.mcInEditor() == 1) then
SicherheitsKreis()
end
Код, который я использую для вызова SicherheitsKreis:
local inst = mc.mcGetInstance()
local hsigSchliesser = mc.mcSignalGetHandle(inst, mc.ISIG_INPUT8);
local hsigOeffner = mc.mcSignalGetHandle (inst, mc.ISIG_INPUT9);
local Schliesserstate = mc.mcSignalGetState(hsigSchliesser);
local Oeffnerstate = mc.mcSignalGetState(hsigSchliesser);
SicherheitsKreis(Schliesserstate, Oeffnerstate)
Этот скрипт набирается в мах 4, и функция сохраняется как функция am. (nach4 имеет бесплатную функцию m, которую пользователь может настроить) в памяти Mach 4 (для моего компьютера это m146)