Можно ли как-то с контроллера (ПЛК63) отслеживать, влючен ли соединенный с ним ПК? Именно в автоматическом режиме, без необходимости регулярно что-то нажимать.
На ПК крутится CoDeSys HMI, других средств не предвидится.
Вид для печати
Можно ли как-то с контроллера (ПЛК63) отслеживать, влючен ли соединенный с ним ПК? Именно в автоматическом режиме, без необходимости регулярно что-то нажимать.
На ПК крутится CoDeSys HMI, других средств не предвидится.
ПЛК63 не сможет Вам дать CoDeSys HMI. Он в нем не заработает.
"Спасибо" в стакан не нальешь :) Ты бы хоть сказал, получилось ли? Ведь был постинг с утерждением. что использование имени "не помогло". Вот это меня и беспокоит. Хотя не очень :)
Приехали... Если мерить положительную температуру - все просто. А вот отрицательную - то получается 632.45 - классический "переход через ноль"... Пока решил
Может, есть какой более простой способ?Цитата:
IF TEMP > 32300 THEN
Temperature := (655.35-(REAL_TO_WORD(TEMP))*-1;
END_IF
Прошу прощения, обманул... Плохо спрашивать вдали от текста..
На самом деле я написал такое:
Волшебная цифра 327.67 - это значит, что датчик отвалился...Код:FUNCTION Temperatur : REAL
VAR_INPUT
Temper_W: WORD;
END_VAR
====================================
IF Temper_W > 32767 THEN
Temperatur := -1*(655.35 - WORD_TO_REAL(Temper_W)/100);
ELSIF Temper_W < 32767 THEN
Temperatur := WORD_TO_REAL(Temper_W)/100;
ELSE
Temperatur := 327.67;
END_IF
Оно работает, но что-то мне это не очень нравится...
Да, и как REAL округлить до двух знаков после запятой?
Нету никакого перехода. Он вам приснился. Пробуйте так:Цитата:
Приехали... Если мерить положительную температуру - все просто. А вот отрицательную - то получается 632.45 - классический "переход через ноль"
Код:PROGRAM PLC_PRG
VAR
TMP: REAL;
END_VAR
TMP := INT_TO_REAL(WORD_TO_INT(TEMP01)) / 100.0;
Т.е. я догадываюсь, что рамерность у WORD и INT одинаковая. То, что 0 в WORD это 0 в INT - тоже.Код:Тип Нижний предел Верхний предел Размер памяти
WORD 0 65535 16 Бит
INT -32768 32767 16 Бит
Но то, что 32768 в WORD это -32768 в INT я и представить не мог... :confused: