Просмотр полной версии : функция V3
подскажите, как в V 3 написать функцию, чтобы она работала в PLC_PRG, а то она у меня результат не выдает. в V 2 таких проблем не было.
Спасибо!
Rake Runner
02.02.2018, 08:12
В зависимости от используемого языка программирования функция пишется либо путем ввода кода в текстовой редактор, либо размещения и соединения на холсте графического редактора пиктограмм объектов (операторов, функций, ФБ и т.д.).
В зависимости от используемого языка программирования функция пишется либо путем ввода кода в текстовой редактор, либо размещения и соединения на холсте графического редактора пиктограмм объектов (операторов, функций, ФБ и т.д.).
Забыл, на ST. Как обращаться, чтобы она результат выдавала, что то в V3 не выходит "каменный цветок"!
Rake Runner
02.02.2018, 08:31
Как-то типа того:
35376
Как-то типа того:
35376
В том то и дело, не дает result результата в V3. а в V2 эта функция прекрасно работает.
Rake Runner
02.02.2018, 08:50
Значит, функция вызывается в PLC_PRG. А привязана ли PLC_PRG к какой-нибудь задаче проекта?
Значит, функция вызывается в PLC_PRG. А привязана ли PLC_PRG к какой-нибудь задаче проекта?
FUNCTION wtr : REAL
VAR_INPUT
inW:WORD;
END_VAR
VAR
Transport:REAL;
END_VAR
---------------------------------
Transport:=(WORD_TO_REAL(65535-inW))/100;
А обращаюсь.
Tr:=wtr(inW:=PLC_PRG.w01);
и так
Tr:=wtr(inW:=w01);
и так
Tr:=wtr(w01);
всегда Tr = 0
что то где то не так делаю.
FUNCTION wtr : REAL
VAR_INPUT
inW:WORD;
END_VAR
VAR
Transport:REAL;
END_VAR
---------------------------------
Transport:=(WORD_TO_REAL(65535-inW))/100;
А обращаюсь.
Tr:=wtr(inW:=PLC_PRG.w01);
и так
Tr:=wtr(inW:=w01);
и так
Tr:=wtr(w01);
всегда Tr = 0
что то где то не так делаю.
у Вас функция имеет имя wtr а в теле функции есть только присвоение к локальной переменной Transport. Вопрос что Вы хотите от такой функции?
у Вас функция имеет имя wtr а в теле функции есть только присвоение к локальной переменной Transport. Вопрос что Вы хотите от такой функции?
Просто много переменных ВОРД преобразовать в РЕАЛ. Функция для такой рутины удобнее, чем постоянно прописывать повторяющийся код.
У меня отрицательные значения передаются по Modbus TCP из V2.3 в V3.5 и там нельзя передать значение с плавающей запятой и отрицательное, надо поизголяться.
Битый час сижу, не знаю как свой ВОРД ТУ РЕАЛ написать.:)
Битый час сижу, не знаю как свой ВОРД ТУ РЕАЛ написать.:)
наверное не поняли, замените Transport на wtr
И не обманывайте, что такая функция в v2 работает
наверное не поняли, замените Transport на wtr
И не обманывайте, что такая функция в v2 работает
все верно,wtr в "результате не стояла"
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot