Прошу помощи, имеется станок токарный с револьверной головой, за датчик положения инструмента (12 позиций) отвечает абсолютный энкодер. Выход 4 бита и синхронизация. Пытаюсь прописать синхронизацию, так как переключение выходов энкодера происходит не всегда синхронно и из-за этого бывают ошибки с инструментом. Синхронизирующий вход подключен на 10 pin и его можно обнаружить в HALSHOW и даже подрыгать ножкой. Сама программа на револьверную голову состоит из двух файлов comp, и одного файла HAL. Компоненты лежат в своей подпапке atc, HAL в корневой. Первый компонент производит декодирование комбинаций из 4 битов и выводит дальше число от 1 до 12. Второй компонент непосредственно программа. Я пытаюсь в программе декодирования прописать еще одно условие для смены номера инструмента, то есть менять его только при TRUE на входе синхронизации. Чтобы связать выход физический в HALе прописываю строку
net strobbsig to_pci.1.pins.pin-010-in decoder.strobb
В файле decoder.comp в подпапке задаю входной пин
pin in bit strobb;
и добавляю в программу условие
if(sense0 && !sense1 && !sense2 && !sense3 && strobb )
pocket = 1;
Запускаю Linux CNC и он вылетает с ошибкой "pin 'decoder.strobb' does not exist"
HELP. Вопрос по по HALу, компонентам и связи между ними.
-
- Мастер
- Сообщения: 940
- Зарегистрирован: 29 окт 2017, 14:08
- Репутация: 60
- Настоящее имя: Makc
- Откуда: Ярославль
- Контактная информация:
-
- Новичок
- Сообщения: 27
- Зарегистрирован: 25 фев 2021, 12:17
- Репутация: 0
- Настоящее имя: Константин
- Контактная информация:
Re: HELP. Вопрос по по HALу, компонентам и связи между ними.
Спасибо за ответ. В общем кое-что начинает проясняться. В установках HAL нет входа strobb, пробовал менять название, менять название уже существующим входам, ничего из этого не фиксируется в установках HAL. В связи с этим вопрос, требуются ли еще какие-нибудь манипуляции для прописывания входа, или достаточно просто прописать строчку в файле comp
вот код для decoder.comp
component decoder;
pin in bit sense0;
pin in bit sense1;
pin in bit sense2;
pin in bit sense3;
pin in bit strobb;
pin out s32 pocket;
option singleton yes;
function _;
author "MaxEkb77";
license "Canavese";
;;
FUNCTION(_)
{
if(sense0 && !sense1 && !sense2 &&
вот код для decoder.comp
component decoder;
pin in bit sense0;
pin in bit sense1;
pin in bit sense2;
pin in bit sense3;
pin in bit strobb;
pin out s32 pocket;
option singleton yes;
function _;
author "MaxEkb77";
license "Canavese";
;;
FUNCTION(_)
{
if(sense0 && !sense1 && !sense2 &&
-
- Новичок
- Сообщения: 27
- Зарегистрирован: 25 фев 2021, 12:17
- Репутация: 0
- Настоящее имя: Константин
- Контактная информация:
Re: HELP. Вопрос по по HALу, компонентам и связи между ними.
Еще вопрос вдогонку, я так понял файл comp еще надо перекомпилировать в формат .ko (или это делается автоматом ?)
-
- Мастер
- Сообщения: 940
- Зарегистрирован: 29 окт 2017, 14:08
- Репутация: 60
- Настоящее имя: Makc
- Откуда: Ярославль
- Контактная информация:
Re: HELP. Вопрос по по HALу, компонентам и связи между ними.
компилировать, разумеется, sudo halcompile --i xx.comp, емнип))
-
- Новичок
- Сообщения: 27
- Зарегистрирован: 25 фев 2021, 12:17
- Репутация: 0
- Настоящее имя: Константин
- Контактная информация:
Re: HELP. Вопрос по по HALу, компонентам и связи между ними.
Спасибо. разобрался, просто не компилировал. Все заработало.steals_y2k писал(а): ↑06 июл 2021, 09:28 компилировать, разумеется, sudo halcompile --i xx.comp, емнип))