Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 18

Тема: Небольшой вопросик.

  1. #1
    Junior user
    Регистрация
    08.06.2012
    Адрес
    Москва
    Сообщений
    15

    Небольшой вопросик.

    Привет. Ты уже тут?
    Короче, там выявилась проблемка небольшая. Не применяется байт регулировки.
    Надо разобраться почему это происходит. Через прогу "rs485" все работало.
    Какая последовательность обновления данных в регистре "байт регулировки" при вкючении и калибровке?
    Раньше это были три разные байта. Сейчас это один общий.
    Имхо, в этом возможно проблема.

  2. #2
    Junior Member
    Регистрация
    26.04.2012
    Сообщений
    7
    может быть
    для каждого двигателя 1,2,3
    по адресу 0001 записывается
    eadr1 – регулировка шагового двигателя
    eadr2 – скорость перемещения позиция-позиция (0-255)
    eadr3 – скорость перемещения в «0» - при калибровке (0-255)
    eadr4 – реверс (00 или 01)

  3. #3
    Junior user
    Регистрация
    08.06.2012
    Адрес
    Москва
    Сообщений
    15
    Это понятно.
    Для каждого дигателя эти данные были разные.
    При включении эти данные обновлялись.
    Обновление данных происходило в определенной последовательности.
    Если правильно понимаю, вначале 1, затем - 2, и далее - 3. Верно?

    Сейчас все немного по другому.
    Адрес 0001 получился общий для всех двиг. - и данные соответственно тоже. А фактически имеем 3 разных двиг.
    Переделывать можно только мою программу. Твою программу, "начальник" сказал не переделывать. Это понятно?
    Но мне нужно понять в какие моменты происходит обновление данных.
    1. При включении.
    2. При изменении оператором.
    3. Когда еще?

  4. #4
    Moderator Аватар для Leff
    Регистрация
    26.04.2012
    Адрес
    Царевококшайск, Россия.
    Сообщений
    6,760
    Вы это по делу или спамите?

  5. #5
    Junior user
    Регистрация
    08.06.2012
    Адрес
    Москва
    Сообщений
    15
    Привет. Конечно по делу.

  6. #6
    Moderator Аватар для Leff
    Регистрация
    26.04.2012
    Адрес
    Царевококшайск, Россия.
    Сообщений
    6,760
    Понятно.
    Может быть тему перекинуть в раздел soft?

  7. #7
    Junior user
    Регистрация
    08.06.2012
    Адрес
    Москва
    Сообщений
    15
    Да. Это будет правильно.

  8. #8
    Junior user
    Регистрация
    08.06.2012
    Адрес
    Москва
    Сообщений
    15
    To: JuM
    Если некорректно чего спросил - давай уточним.

  9. #9
    Junior Member
    Регистрация
    26.04.2012
    Сообщений
    7
    Но мне нужно понять в какие моменты происходит обновление данных.
    1. При включении.
    2. При изменении оператором.
    3. Когда еще?

    1. при запуске программы данные каждого двигателя считываются, срввниваются с данными из программы,
    при несовпадении данные из программы переписываются в соответствующиий двигатеь.

    2. при изменении любого из четырех параметров двигателя в окне "Настройка - Двигатели" все параметры
    одновремнно записываются в память соответствующего двигателя.

    команда: W,H,L,D1,D2,D3,D4
    H - старший байт данных
    L - младший байт данных
    D1, D2, D3, D4 - байты данных слова ППЗУ

    перед командой посылается байт с номером двигателя

    вот фрагмент программы

    ApdComPort1.Parity:=pMark; //изменение свойств COM порта (четность)
    ApdComPort1.PutChar(Chr(Device); //отправка номера двигателя
    ApdComPort1.Parity:=pSpace; //изменение свойств COM порта (четность)
    ApdComPort1.PutString(Str); //отлравка команда

    3. других случаев изменения параметров двигателей нет.

  10. #10
    Junior user
    Регистрация
    08.06.2012
    Адрес
    Москва
    Сообщений
    15
    ОК. Немного понял.
    А что будет, если ячейка памяти, где хранится байт регулировки, будет общей для всех двигателей?
    Оператор если изменил значение байта в окошке программы, в результате все 4 значения должны были записаться в контроллер. Верно?
    Я через программу rs485 записываю новые значения в память - все изменения проходят.
    Оператор ручками вводил разные значения в окошечко твоей проги - без результата.
    Как это возможно?
    Как я понял значения должны сразу записываться в память контроллера, если были сделаны изменения в окошечке "байт регулировки" - перезапуск программы для обновления данных не нужен?

    PS И еще проблема, не запускается твоя программа на виртуальной машине. Какую нужно кнопку нажимать?
    PPS Точнее сказать она запускается, но оборудования не видит.

    Все, понял как надо сделать.
    С байтом регулировки разобрался. Вопрос закрыт.

    Второй вопрос: что нужно сделать, что бы программа упр. работала под виртуалкой? Раньше работала, а сейчас почему-то нет.
    Последний раз редактировалось Raymond; 01.08.2012 в 17:42.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •