Считывание значение из аналогового входа
-
- Posts: 115
- Joined: Wed Jul 28, 2010 9:06 am
Считывание значение из аналогового входа
Подскажите пож-та, не могу сообразить. В HW-Config для аналогового модуля указываю имя канала, допустим ActualTemperature, тип данных WORD. Как преобразовать WORD в знаковый формат, например int?
-
- Posts: 115
- Joined: Wed Jul 28, 2010 9:06 am
Re: Считывание значение из аналогового входа
Нашел, преобразование BCD_I, но в описании пишут, что на входе значение не должно превышать 999.
-
- Site Admin
- Posts: 3992
- Joined: Thu Feb 16, 2006 3:25 pm
- Location: Russia
Re: Считывание значение из аналогового входа
В таблице символов указываешь для аналогового входа/выхода значение INT и всё.
-
- Posts: 115
- Joined: Wed Jul 28, 2010 9:06 am
Re: Считывание значение из аналогового входа
спасибо, просто раньше делал через преобразования ворда в инт, а теперь не могу найти функцию, удалили её что-ли?
-
- Posts: 115
- Joined: Wed Jul 28, 2010 9:06 am
Re: Считывание значение из аналогового входа
Как преобразовать word->int и обратно?
-
- Posts: 65
- Joined: Thu Nov 01, 2007 9:41 pm
- Location: Belarus
Re: Считывание значение из аналогового входа
Да не недо ничего никуда преобразовывать, типы данных word и int это фактически одно и тоже число в шестнадцатеричной и десятичной системах исчисления, достаточно написать
l mw0 //в символьной таблице описано как word
t mw2 //в символьной таблице описано как int
и это будет достаточное преобразование. Если переменную не описывать в символьной таблице, то вообще ничего писать-преобразовывать не нужно...
l mw0 //в символьной таблице описано как word
t mw2 //в символьной таблице описано как int
и это будет достаточное преобразование. Если переменную не описывать в символьной таблице, то вообще ничего писать-преобразовывать не нужно...
-
- Site Admin
- Posts: 1122
- Joined: Wed Sep 06, 2006 12:03 pm
- Location: CIS
Re: Считывание значение из аналогового входа
Как уже говорили выше, в таблице символов укажи INT вместо WORD и все:behemot wrote:Подскажите пож-та, не могу сообразить. В HW-Config для аналогового модуля указываю имя канала, допустим ActualTemperature, тип данных WORD. Как преобразовать WORD в знаковый формат, например int?
- Правой кнопкой на модуле в HW Config
- Выбрать Edit Symbols
- В столбце Data Type ввести INT
В контроллере и то, и другое - всего лишь 16-битная ячейка, WORD и INT можно рассматривать всего лишь как формат отображения.behemot wrote:Как преобразовать word->int и обратно?
-
- Posts: 115
- Joined: Wed Jul 28, 2010 9:06 am
Re: Считывание значение из аналогового входа
Про аналоговый модуль понятно. Если допустить использование переменной типа word, то как её преобразовать в int. Потому, что int<>word. Проверял сам, пытался передать переменную типа word на вход функции SCALE.
-
- Site Admin
- Posts: 1122
- Joined: Wed Sep 06, 2006 12:03 pm
- Location: CIS
Re: Считывание значение из аналогового входа
Что мешает изначально объявить переменную как INT (или изменить WORD на INT в таблице символов)? Почему возникла необходимость в таком преобразовании?behemot wrote:Если допустить использование переменной типа word, то как её преобразовать в int.
Опять-таки, как уже писали выше, можно обычной пересылкой:
-
- Posts: 20
- Joined: Fri Mar 26, 2010 7:14 am
Re: Считывание значение из аналогового входа
Указать тип данных INT, использовать FC105.
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: Считывание значение из аналогового входа
Ну извините, если разработчик предусмотрел тип входной переменной как integer, то зачем Вы туда отправляете другой тип переменной. НЕ забывайте что это хоть и библиотечная функция, но не системная. Т.е. сделанная в помощь пользователям.behemot wrote:Потому, что int<>word. Проверял сам, пытался передать переменную типа word на вход функции SCALE.
Формула в хелпе есть, напишите свою SCALE и Вы убедитесь что никакой разницы нет. Первым делом идет преобразование в REAL (ITR), что есть в регистре то система команд и отработает.
Last edited by CHANt on Mon Mar 28, 2011 6:12 am, edited 1 time in total.
-
- Posts: 115
- Joined: Wed Jul 28, 2010 9:06 am
Re: Считывание значение из аналогового входа
Спасибо за разжевывание материала.