1. Чтобы ПЕРЕДАТЬ значение из поля в переменную - да, достаточно только исходящей. Но чтобы отобразить текущее значение переменной - нужна входящая связь от переменной к полю ввода, иначе при изменении значения переменной каким-то другим методом - в этом поле ввода новое значение не увидеть. А чтобы в некоторых случаях не получить циклическое изменение - есть там рядом флажок "Использовать входящую связь только для отображения".
2. На данный момент - можно хоть как, раньше - только через клеммник программы. Все необходимые объявления будут сделаны автоматически - можете их посмотреть в Легенде, на вкладках Заголовок ST и Скомпилированный код. Читать тут
3. LREAL как бы намекает, что это должно быть число, а не строка. Если надо 2 знака после запятой - наверно надо поставить туда 2, собственно так в справке и написано
1. Тут разобрался.
2. В легенде увидел вкладку скомпилированного кода. При этом все объявленные переменные сформированы как входные(Var_Input) или выходные (Var_Output). Как создать обычную (Var) так и не понял. Если в коде программы объявить новую переменную непосредственно в программе - код не компилируется пока не вытащишь эту переменную на клеммник. И в зависимости от того, на какой клеммник вытащить, входной или выходной, переменная попадает в соответсвующую область объявления. То есть становится или Var_Input или Var_Output.
3. Тут разобрался.
Спасибо.
Еще пара вопросов:
Прошу подсказать, как поменять единицы измерения у стрелочного прибора в зависимости от выбора датчика: то есть нужно увидеть на шкале "Атм" при выборе давления и "°C" при выборе датчика температуры
Screenshot_146.jpg
Screenshot_147.jpg
И самый главный вопрос:
Не понимаю, что добавить в код, чтобы все работало для датчика 4-20мА. На данный момент получается, что все работает для датчика 0-20мА. То есть если ввести текущее значение 4мА, то стрелка уже выдает определенное значение, хотя предполагается, что она должна быть на нуле..
Screenshot_148.jpg
Сам проект на всякий случай тоже приложил.
Спасибо.
https://drive.google.com/file/d/1Yl1...ew?usp=sharing
Последний раз редактировалось Electric11183; 25.12.2025 в 17:59.
Весь код Scale можно свести к одной строке и у вас не хватает пределов входа, 1 Scale.jpg
тех самых 4 и 20 мА, можете внутри вписать или сделать внешними входами. Свои записи можете оставить или частично удалить
вот весь кодТочность в кружке поставьте 1 ( Параметр значения), тогда будут числа типа 25,6 а не 25,63458845634863086Код:var // Поставить вначале программы InMIN : real:=4 ; // предел Мин входа InMAX : real:=20 ; // предел Макс входа end_var r_Result_Value :=(r_CurrentValue - InMIN) / (InMAX - InMIN) * (r_MaxValue - r_MinValue) + r_MinValue ; //Строка в конце программы
Последний раз редактировалось kondor3000; 25.12.2025 в 20:09.