Просмотр полной версии : ПР200 переменные VAR_EXTERNAL и VAR_GLOBAL
Васильев
18.03.2024, 14:31
подскажите пожалуйста
можно ли в проекте объявить глобальные переменные,
чтобы их использовать в разных функциональных блоках на языке ST?
(есть зарезервированные слова VAR_EXTERNAL и VAR_GLOBAL)
хотя наверное нет, иначе может получится коллизия записи
одной переменной в разных блоках...
в программе функ блока есть повторяющийся код, который инициализирует переменные
как сделать правильно, чтобы в одном месте было (например подпрограммы)
подскажите пожалуйста
можно ли в проекте объявить глобальные переменные,
чтобы их использовать в разных функциональных блоках на языке ST?
(есть зарезервированные слова VAR_EXTERNAL и VAR_GLOBAL)
хотя наверное нет, иначе может получится коллизия записи
одной переменной в разных блоках...
в программе функ блока есть повторяющийся код, который инициализирует переменные
как сделать правильно, чтобы в одном месте было (например подпрограммы)
Написать функцию (или ФБ), которая реализует повторяющийся код и использовать её в этом функциональном блоке
kondor3000
18.03.2024, 15:03
в программе функ блока есть повторяющийся код, который инициализирует переменные
как сделать правильно, чтобы в одном месте было (например подпрограммы)
Простой пример, пишите код таймера, например TON и используете его в ФБ, хоть 10 раз, используя разные экземпляры TON1,TON2,TON3, ...TON10 : TON ;
Тоже самое, с любым другим ФБ.
Васильев
18.03.2024, 15:45
поясните пожалуйста
у меня есть функц блок, с кучей выходов
в определенные моменты все выходы принимают значение инициализации
и потом один из них устанавл в нужное положение
как это реализовать на примере функц блока?
поясните пожалуйста
у меня есть функц блок, с кучей выходов
в определенные моменты все выходы принимают значение инициализации
и потом один из них устанавл в нужное положение
как это реализовать на примере функц блока?
Можно поподробней, особенно про "...один из них устанавл в нужное положение..."
Вообще - зачем инициализировать выходы блока? Ими блок управляет в соответствии со своей логикой; можно инициализировать логику блока, чтобы она установилась в какое-то исходное состояние
kondor3000
18.03.2024, 17:40
поясните пожалуйста
у меня есть функц блок, с кучей выходов
в определенные моменты все выходы принимают значение инициализации
и потом один из них устанавл в нужное положение
как это реализовать на примере функц блока?
Не совсем понятно, что вы имеете ввиду, посмотрите мой ФБ инициализации на ST, второй проект.
В примере инициализация, каждый раз при включении, если нужна однократная инициализация, то можно убрать :=false
Init : bool; // Переменная инициализации
https://owen.ru/forum/showthread.php?t=37840&page=54&p=431676#post431676
Васильев
18.03.2024, 17:50
в принципе всё работает...итак
в проекте на индикатор выводятся сообщения в строке 0 или 1 в зависимости от событий
когда сообщение надо вывести записываю в переменную сообщения (координата Y) число 0 (вывод в 1 строку) или 1 (вывод во второю строку)
в другие сообщения записываю их первоначальное сообщение положение в дисплее и получается если перелистывать вниз мы все сообщения увидим
так получается удобно сформировать список активных аварий например
или перелистывать переменные в строке 1
(все происходит на одном экране, т.к. не нашел как прочитать текущий номер экрана)
Васильев
18.03.2024, 18:06
зарезервированные слова VAR_EXTERNAL и VAR_GLOBAL
есть у кого пример или описание
kondor3000
18.03.2024, 18:07
зарезервированные слова VAR_EXTERNAL и VAR_GLOBAL
есть у кого пример или описание
Зарезервированы, не значит работающие. Это на будущее задел. Пока глобальных переменных в Лоджике нет.
ST в ОЛ появился не так давно и надеюсь будут допиливать потихоньку.
Год назад мы сидели с одними функциями, сейчас уже есть ФБ, встроенные таймеры , триггеры и переменные Времени и Даты.
Васильев
18.03.2024, 19:44
спасибо большое
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot