Помогите разобраться с преобразованием переменных
Помогите разобраться с преобразованием переменных
Здравствуйте, начал освоение продуктов Delta c контроллера SS2. Заранее извиняюсь за глупый вопрос, но мне нужно понять, как преобразовать DWORD в WORD. Суть в том, что в программе нужно подсчитывать количество импульсов с счетчика, затем делить его через DIV32 на 100 и полученное значение уже будет умещаться в один регистр, затем отправлять по RS485 на панель оператора.
Re: Помогите разобраться с преобразованием переменных
А в счетчике какое максимальное число может быть?
Re: Помогите разобраться с преобразованием переменных
счётчики есть разные. смотрите описание памяти контроллера. есть и 16 и 32 битные счётчики и высокоскоростные и аппаратные и программные.
Re: Помогите разобраться с преобразованием переменных
Высокоскоростной счетчик будет считать где то до 500000 поэтому он на 32бит. Соответсвенно делю его значения тоже 32битной функцией получаю значения умещающееся в 16 бит но на выходе переменная 32битная как её сделать 16 битной?
Re: Помогите разобраться с преобразованием переменных
Почитали мануал внимательно? По моему. плохо почитали. Результат после 32 битного деления должен записаться в четыре 16 битных ячейки, для этого вы должны их назначить для записи результата, иначе функция не будет работать, а необходимый вам результат забирать из второй по счету из четырех ячеек, если он не будет превышать 16 бит. Другого пути нет.
Re: Помогите разобраться с преобразованием переменных
Посмотрите в обеих ячейках(первой и второй) что записывает, как раз и попрактикуетесь.
Re: Помогите разобраться с преобразованием переменных
Спасибо, попробую, к компу пока не подойти:)
Re: Помогите разобраться с преобразованием переменных
Спасибо за помощь, выбрал переменнyю D5 для записи значения 32битного значения, получается под это ушло 4 последовательных адреса D5,D6,D7,D8. Нужное мне 16 битное значение от 0 до 65535 нашел в D5.
Теперь разыскиваю функцию контроля изменения числа, чтобы при изменении значения она давала импульс на 1 цикл.
Теперь разыскиваю функцию контроля изменения числа, чтобы при изменении значения она давала импульс на 1 цикл.
Re: Помогите разобраться с преобразованием переменных
В конце программы сохраняете число D1 в переменную D2, в начале программы (чтобы проверка происходила в следующем цикле) сравниваете D1 и D2, если не равно (в теле программы переменная D1 изменилась), то взводите флаг.функцию контроля изменения числа