Показано с 1 по 10 из 11

Тема: Глюки библиотеки SysLibCom

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    НАДЕЖНОЕ === что бы не написал - всё работает? и УДОБНОЕ === инструкцию читать не надо?
    Мы не молотки с интуитивно понятным интерфейсом выпускаем.

  2. #2

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    НАДЕЖНОЕ === что бы не написал - всё работает?
    Ну не всё, но по возможности, а если возможности нет - выдает признак ошибки .
    Например, когда пользователь закрывает порт, можно было бы и сбросить буфер, а затем уж закрывать. Ведь функции, определяющей, закончилась ли передача, нет.
    И, разумеется, НАДЕЖНОЕ ПО не пропускает принимаемые байты, если оно не способно обеспечить безошибочный прием на определенной скорости, она просто не устанавливается. Почему пользователь должен догадываться, что 57600 "многовато будет" (на 19200 пропусков нет)?

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    УДОБНОЕ === инструкцию читать не надо?
    Надо. Но прежде всего - программистам Овен. Тогда они не будут писать return 0; вместо return (DWORD)port_num; и пользователю не придется изучать различия ДВУХ инструкций - английской и русской, а программа, возможно, будет одинаково работать и в Сименсе, и в Адаме, и в Овене . Собственно, чтобы пользователю не нужно было так много читать, и придуманы стандарты - IEC1131-3, например .

    Сейчас вот разбираюсь с SysLibTime.
    Опять фирменные особенности . Естественно, в английском описании ни слова о том, что структуру нужно обнулять перед чтением времени. Но это еще мелочь. А вот:

    Structure SysTime64
    This structure contains the realtime of the local computer in microseconds. A Low- plus a High-DWORD
    are used for that purpose, thus 64 Bit are available. The structure is used by the function blocks CurTime
    and CurTimeEx.
    Component Data type Description
    ulLow DWORD Low DWORD of the realtime value (microseconds)
    ulHigh DWORD High DWORD of the realtime value (microseconds)

    1.SysTime: SysTime64;
    SysTime
    ulHigh: dword;
    Содержит 0
    ulLow: dword;
    Содержит время с момента загрузки ПЛК в миллисекундах

    Найдите 3 отличия . Ответ. 1) Миллисекунды вместо микросекунд. 2) старшее слово не используется (программист получил премию за экономию 10 команд?). 3) Время с момента загрузки ПЛК вместо realtime.
    А теперь скажите, как записать в переменную CodeSys типа DT текущую дату/время? Микросекунды в секунды перевести и упаковать в одно слово было бы несложно, а вот вспоминать сколько дней в каждом месяце и какие годы високосные - брр .
    Последний раз редактировалось alex1963; 19.01.2009 в 13:45.

Ваши права

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