Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Программное обеспечение
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

CoDeSys. pointer to array

 Ответить Ответить Страница  <1234>
Автор
Сообщение
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: CoDeSys. pointer to array
    Опубликовано: 19 Декабрь 2008 09:51
В общем-то все в порядке вещей: 90% всей работы заключается в отладке. Так устроен этот сранный мир. :)
Перепрофилируюсь я, пожалуй, в пианиста.
и от стальной его груди отскакивают стрелы.
Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Декабрь 2008 09:54
Поставлю рояль на берегу озера, мотыльки вокруг порхают, я весь в белом... Эх, красота. :)
и от стальной его груди отскакивают стрелы.
Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Декабрь 2008 13:55

Обновил MYRTS.exe в контроллере - вроде стало полегче...

 

 

и от стальной его груди отскакивают стрелы.
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Декабрь 2008 02:40

В общем случае циклические рил-тайм программы отлаживать как обычные программы - не получиться, ибо время остановить - НИЗЯ !  А говоря технически, мы имеем разные источники тактов времени (а не один, как при классической отладке), и результат в общем случае не предсказуем.

Для отладки рил-тайм применяют другие приемы ...

С уважением, SAN

Наверх
Chupakabra2 Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 19 Апрель 2006
Online Status: Offline
Публикации: 136
Свойства публикации Свойства публикации   Ответить, цитируя автора - Chupakabra2 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Декабрь 2008 13:24

Значение по указателю в конце программы может отличаться от значения по указателю где-нибудь в середине, т.к. в конце программы указатель может указывать на другой адрес, т.е. i:=i+1; например. 

p.s. вообще точку остановки увидел уже после ответа...

Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Декабрь 2008 21:41

Это тот случай, кргда все источники времени нам подвластны, под контролем. В данном случае - источников два: такт программы и такт отладки, и оба можно остановить. Тут все зависит - в каком состоянии оказались данные в момент останова - успели измениться или нет, таков и будет результат - в общем случае неопределенный. Если чо-то получилось - не надо спешить радоваться, это случайность и в следующий раз не получиться.

А вот когда мы имеем дело с "естественным", неподвластным пока источником Времени, тогда извиняйте - сделать пока ничо НИЗЯ.

Так-называемая отладка в CoDeSys служит целям оценочной прогонки телапрограммы (не в цикле !), и в режиме эмуляции.

С уважением, SAN.

Наверх
Egonohek Смотреть выпадающим
Новичок
Новичок


Присоединился: 15 Январь 2013
Online Status: Offline
Публикации: 11
Свойства публикации Свойства публикации   Ответить, цитируя автора - Egonohek Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 15 Январь 2013 21:26
Помогите перевести на язык ST следующий код
Описание в документации прибора:
CRC: The 16-bit CRC checksum. The algorithm used is CRC-CCITT.
The CRC calculation includes all bytes of the frame.
 The data bytes have to be calculated as a word.
At first you have to shift in the high byte of the data word.
This is the opposite way you transmit the data word.
The 16-bit generator polynomial ‘x^16+x^12+x^5+1’ is used for the calculation.
Order of CRC calculation: ‘OpCode’, ‘len-1’, ‘data[0]’ high byte, ‘data[0]’ low byte, ...
CRC: Checksum of the frame. The low byte is transmitted first.

/* Name : CRC-16 CCITT Poly : 0x1021 x^16 + x^12 + x^5 + 1 Init : 0xFFFF Revert: false XorOut: 0x0000 Check : 0x29B1 ("123456789") MaxLen: 4095 байт (32767 бит) - обнаружение одинарных, двойных, тройных и всех нечетных ошибок */
unsigned short Crc16(unsigned char *pcBlock, unsigned short len) { unsigned short crc = 0xFFFF; unsigned char i; while (len--) { crc ^= *pcBlock++ << 8; for (i = 0; i < 8; i++) crc = crc & 0x8000 ? (crc << 1) ^ 0x1021 : crc << 1; } return crc;
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Январь 2013 12:42
Попробуйте поменять целевую платформу. Бывает, на одной платформе глюки есть, а на другой их нет.
А вообще, чтобы CRC посчитать, пользуйтесь кодом из библиотек OSCAT, он проверенный. Зачем велосипед изобретать.
http://www.wago.su/oscat/basic/crc_gen
Инженер-системотехник
+7 (916) 477 3925
Наверх
Egonohek Смотреть выпадающим
Новичок
Новичок


Присоединился: 15 Январь 2013
Online Status: Offline
Публикации: 11
Свойства публикации Свойства публикации   Ответить, цитируя автора - Egonohek Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Январь 2013 23:16
Наверх
Egonohek Смотреть выпадающим
Новичок
Новичок


Присоединился: 15 Январь 2013
Online Status: Offline
Публикации: 11
Свойства публикации Свойства публикации   Ответить, цитируя автора - Egonohek Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Январь 2013 23:17

Вот что вышло, а точнее не вышло:(
Наверх
 Ответить Ответить Страница  <1234>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz