Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 42

Тема: Массивы на ST и другие вопросы новичка

  1. #1
    Пользователь
    Регистрация
    21.02.2011
    Адрес
    Украина,Киев
    Сообщений
    18

    По умолчанию Массивы на ST и другие вопросы новичка

    Так сложилась моя жизнь,что пришлось вместо программирования на моем любимом C# обратиться к прямой специальности,частью которой является и программирование ПЛК.
    С одной стороны,вроде и то и то программирование,но вот некоторые нюансы ставят в тупик начисто С той частью верхнего уровня ,что на C# проблем особых нет,а вот с самим контроллером... Назрели у меня некие вопросы,на которые бы хотелось бы получить ответ у более опытных специалистов.
    1) Где можно найти более менее исчерпывающие материалы по языках ST и LD? Именно по синтаксису.
    2) Вопрос по синтаксису ST. Могу ли я при объявлении массива пользовательских структур инициализировать его элементы значениями отличными от default значений. С массивом простого типа понятно, но вот со структурами что то никак. Как вы делаете такую инициализацию?

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    В КДС есть справка. В ней примеры и прочее

  3. #3
    Пользователь
    Регистрация
    21.02.2011
    Адрес
    Украина,Киев
    Сообщений
    18

    По умолчанию

    shift+f2 помогло со вторым вопросом. Справка Кодесиса,к сожалению,оставляет желать лучшего. Привычка к другому очевидно не раз сыграет со мной дурную шутку в этом деле... Есть какая то литература помимо справки?
    Последний раз редактировалось Phaust; 08.03.2011 в 10:46.

  4. #4

    По умолчанию

    Цитата Сообщение от Phaust Посмотреть сообщение
    shift+f2 помогло со вторым вопросом. Справка Кодесиса,к сожалению,оставляет желать лучшего. Привычка к другому очевидно не раз сыграет со мной дурную шутку в этом деле... Есть какая то литература помимо справки?
    "Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования (И.В. Петров, 2004)"

    "Программируемые контроллеры - руководство для инженера. Э.Парр 2007".

    Ссылок на скачивание нет, но, если в инете поискать, то обязательно найдётся.

  5. #5
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Phaust Посмотреть сообщение
    Справка Кодесиса,к сожалению,оставляет желать лучшего. Привычка к другому очевидно не раз сыграет со мной дурную шутку в этом деле... Есть какая то литература помимо справки?
    Я тут прославился, как огульный критикан справочной литературы как по КДС, так и по ОВЕНовской продукции. Поэтому хочу утешить - ты не одинок

    Справка в CoDeSys, по-моему, эквивалентна материалу, который есть в документации, поставляемой с ПЛК (у меня эта директория называется "Документация").
    При установке CoDeSys в дефолтные директории устанавливается также раздел Profram Files\3S Software\CoDeSys V2.3\Documents - там тоже есть описание КДС.
    А по языку мне очень помогла книга уважаемого товарища Петрова. Набирай в гугле "программируемые контроллеры. стандартные языки и приемы прикладного проектирования".
    Есть и другие книги. Но много не нужно, если ты уже Сикал

    И - спрашивай. Мое внимание гарантировано. Сам хожу по граблям - и другим помогаю А уж если подключатся Метры, то реально много узнаешь. Только старайся поконкретнее, если умеешь

    Удачи!

  6. #6
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Phaust Посмотреть сообщение
    2) Вопрос по синтаксису ST. Могу ли я при объявлении массива пользовательских структур инициализировать его элементы значениями отличными от default значений. С массивом простого типа понятно, но вот со структурами что то никак. Как вы делаете такую инициализацию?
    Похоже, что с этим уже все в порядке? Тем не менее, могу предложить метод, подсказанный товарищем Валенок - см.здеся. Использую теперь этот подход - и очень доволен! Если что заинтересует, но будет непонятно - могу развернуть лаконичные советы Валенка.

  7. #7
    Пользователь
    Регистрация
    21.02.2011
    Адрес
    Украина,Киев
    Сообщений
    18

    По умолчанию

    drvlas Спасибо!
    Книга Петрова у меня есть,когда то изучал. Но она далеко от справки КДС не ушла,не Троелсен однозначно Вторую нашел и скачал,сейчас просматриваю...
    Совет Валенка попробую изложить своими словами,если что поправьте.
    1) Объявляем структуру,массив оных. + Флаг выполнения и количество полей в структуре
    2) Пишем функцию,которая присваивает значения одному элементу,потом вызываем ее необходимое количество раз. Сбрасываем флаг.
    Так?
    Мои грабли еще в том,что задачи прямого использования ПЛК у меня нет, он у меня для экспериментов... Самая мрачная, на мой взгляд, задача это реализация вот этого алгоритма:
    http://clip2net.com/clip/m72069/1299...-clip-54kb.png (это у заказчика стояла система на Ремиконтах-130 )
    Ну и как то эмулировать объект,которым управляем.
    Может есть какие то наработки в общем доступе,от которых можно оттолкнуться?

  8. #8
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Phaust Посмотреть сообщение
    Совет Валенка попробую изложить своими словами,если что поправьте.
    Ну, не поправлю, ибо верно, но просто вот вырежу, как у меня инициализуется:

    Код:
    wParIndx := 0;
    (*    #	Type	Group	 Mdf	Node	MinVal	MaxVal	 Ptr*)
    set( 100,	W_T,	NO_S,	CNST,	PLC,	0,	0,	ADR(_100_PLC_VER));
    set( 101,	W_T,	NO_S,	RO,	ILC, 	0,	0, 	ADR(_101_ADC_VER));
    set( 102,	BY_T,	NO_S,	CNST,	PLC,	0,	0,	ADR(_102_Addr_IP));
    ...
    Как видишь, здесь визуально хорошо видно, что присваиваешь.

  9. #9
    Пользователь
    Регистрация
    21.02.2011
    Адрес
    Украина,Киев
    Сообщений
    18

    По умолчанию

    drvlas
    У меня еще была надежда,что я неправильно понял Диковато выглядит, что поделаешь,специфика.
    Кстати,есть проблема, КДС регулярно теряет связь с контроллером. После отсоединения не могу соединиться снова, пишет
    The connection to the specified gateway could not be established. Это у меня персональная проблема,или нечто общеизвестное?

  10. #10
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Phaust Посмотреть сообщение
    Диковато выглядит
    Смирись, отрок

    Это на самом деле мелочи. Не суди по ним о КДС!

    Цитата Сообщение от Phaust Посмотреть сообщение
    КДС регулярно теряет связь с контроллером...
    Это у меня персональная проблема,или нечто общеизвестное?
    Не скажу. У меня тоже были проблемы, ИМХО, от моего непонимания или кривых рук. Но как-то наладилось и теперь - очень редко связь слетает.
    Оставлял в работе со включенной отладочной связью (онлайн) по несколько часов, хоть бы хны.

    Так что есть смысл уделить этому внимание. Должно быть хорошо. Ты покури мануалы, потормоши знатоков. Но сразу скажу - приготовь описание того, что у тебя и как связано, т.к. именно в нУансах чаще всего дело.

Страница 1 из 5 123 ... ПоследняяПоследняя

Ваши права

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