Страница 5 из 7 ПерваяПервая ... 34567 ПоследняяПоследняя
Показано с 41 по 50 из 68

Тема: Нетипичный проект на СПК207

  1. #41
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    )))) Никаких загадок, товарищ. Ключевое слово - "выравнивание"

  2. #42
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Yegor, а как насчет выравнивания?
    Мне кажется, чтобы правильно работала такая конструкция someRealVar := ptrToReal^; размер переменных rcvBuf и someRealVar должен быть кратен 4 байтам. У Вас так или нет?

    Опередили
    Последний раз редактировалось amn; 03.12.2014 в 23:04.

  3. #43
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Поправлю. Не размер, а содержимое в ptrToReal. Обращение к real/dword/ФБ/struct через ^ - только по адресу кратному 4.
    Последний раз редактировалось Валенок; 04.12.2014 в 18:46.

  4. #44
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Если дело в выравнивании, то почему работает когда я убираю SysComRead?

    Забейте. Видимо, адрес указателя в экспериментах зависел от SysComRead. Да, дело в выравнивании. Жесть какая-то. Толку от таких указателей?

    Как бы ни было, спасибо.

    Последний раз редактировалось Yegor; 04.12.2014 в 06:46.

  5. #45

    По умолчанию

    Приветствую всех! Продолжаю свой проект. Конфигурация прошла успешно. Ну пока всё выглядит именно так. Далее пошла визуальная составляющая. У датчика есть 4 состояния: авария, порог 1, порог 2 и "неработа". Честно для меня не ясно отличия первого и последнего, но не буду упрощать ибо не дано сея право мне Планировалось на небольшой схемке объекта накидать "кружков-пяточков" и завязать состояние датчика с ними, а именно менять цвет. Но у "пяточков" всего два возможных цвета: норм и тревога. Так как тут быть?! Ну я нашёл 2 выхода. Первое объединить порог1 и порог2 как тревожный цвет. Авария и "неработа", как отсутствие заливки. А отсутствие порогов,аварии и "неработы" как нормальная заливка. В переменных, отвечающих за заливку, вместо переменной указать условие.Пример: имеем две переменные состояния А и В,то для заливки имеем "A AND B". Можно ли сделать так? Каков синтаксис? Нужны ли по краям скобки? Какие ограничения? Я записал,компилятор не ругнулся, но как говориться....
    Есть второй вариант, с использование изображений, создания пул изображений. Но это всё влечёт лишние переменные(память). Да и "пяточки" такие мелкие,ещё в них картинку пихать!
    У кого есть какие варианты решения сей проблемы?
    Как я уже упомянул всё это чисто для наглядности. Для подробной информации по датчикам, при нажатии на "пяточки", будет открываться другое окно визуализации, с загрузкой параметров датчика.

  6. #46

    По умолчанию

    А ларчик то проще открывается - вам необходимо не цвет тревоги использовать а цвет заливки. И передавать туда значение соответствующее цвету только в формате c прозрачностью.

  7. #47

    По умолчанию

    Вечером смотрел этот вариант.Будет создаваться переменная DWORD и ей присваиваться значения цвета в ходе ветвления IF. Значения цвета в формате RGB. А именно 16#00RRGGBB. Или конкретно, вот такой цвет "Военно-воздушный синий" есть 16#005D8AA8

  8. #48

    По умолчанию

    Что можно посмотреть по созданию однотипных объектов с их данными? Т.е если будет 100 одинаковых датчиков,чтобы не вбивать всё от руки!

  9. #49

    По умолчанию

    Структуры, массивы и циклы посмотрите в ST;-)

  10. #50

    По умолчанию

    Доброго дня!
    Имеется некоторый набор переменных D_1_1, D_1_2, D_1_3, D_1_4, D_1_5, D_1_6 типа WORD. Рассматриваем биты каждой переменной. Например "D_1_1.1" Допустим представляем как массив: D_1:ARRAY[1..6] OF WORD
    Теперь как в программе обратиться к элементам через цикл FOR!?
    Пробовал напрямую: FOR i:=1 TO 6 DO
    IF(D_1[i].0 AND D_1[i].3) THEN
    color:=16#66FF00;
    END_IF
    END_FOR
    Компилятор матерился во всю,да и я сам понял что тут не всё так просто.
    Согласно справки есть функция "CheckBounds"."Для обеспечения доступа к элементам массива при выполнении программы в приложении должна быть доступна функция CheckBounds." НУ добавил я её, а дальше что делать не пойму! Куда, что !?

Страница 5 из 7 ПерваяПервая ... 34567 ПоследняяПоследняя

Похожие темы

  1. архивирование на спк207
    от Feld_eger в разделе СПК2хх
    Ответов: 73
    Последнее сообщение: 18.05.2017, 15:03
  2. Не запускается проект на СПК207
    от Feld_eger в разделе СПК2хх
    Ответов: 4
    Последнее сообщение: 06.05.2013, 08:41
  3. Ответов: 10
    Последнее сообщение: 07.03.2012, 08:26
  4. как слить плк проект на пк?
    от bkz в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 25.05.2010, 17:32

Метки этой темы

Ваши права

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