Страница 172 из 1049 ПерваяПервая ... 72122162170171172173174182222272672 ... ПоследняяПоследняя
Показано с 1,711 по 1,720 из 10488

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #1711

    По умолчанию

    Цитата Сообщение от Алексеu Посмотреть сообщение
    Всем доброго времени суток.
    Подскажите пожалуйста, как данную конструкцию переложить на ST.
    Спасибо.
    ps А то у самого таймер.Q остается в TRUE.
    Ну, как-то так:

    TON1( IN:=(Nop and bi0_trig and bi1_trig), PT:=t#1s);

  2. #1712
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ну держите, раз не хотите самостоятельно опыта набираться
    Capzap, спасибо! Сам бы я к этому пришел бы как раз после 1000 сообщения на форуме.

    Цитата Сообщение от Алексеu Посмотреть сообщение
    Всем доброго времени суток.
    Подскажите пожалуйста, как данную конструкцию переложить на ST.
    Спасибо.
    ps А то у самого таймер.Q остается в TRUE.
    Мне кажется у вас сама конструкция неправильная. На входе таймера и на выходе одна и та же переменная. Если она на входе TRUE, то и на выходе она также будет TRUE и таймер тут уже роли не играет.

    Вы напишите своими словами что хотите получить, так легче будет вам помочь. А то как спросили, так вам и ответили. Я уверен, что удовлетворения от полученного ответа вы не получили.

    С уважением, Михаил.

  3. #1713
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,692

    По умолчанию

    Не лады с RETAIN переменными.
    написал библиотечку, если всю целиком ее определить как retain (поставил 6 штук) то КДС пишет, что съело 992 байта из 4 кб (ПЛК 100).
    Переписал библиотечку так, что в ней всего 4 меременных retain, ставлю в проект, сами библиотеки уже не ввожу в retain переменные, по идее если FB использует в своем теле такие переменные, то и взять должна только их.
    В библиотеке 4 переменных dword обозначены как retain, поставил 6 штук, должно бы скушаться 96 байт, а в итоге еще больше съело, уже 1 кб.

    Как с этим бороться ?

  4. #1714
    Пользователь Аватар для svanekst
    Регистрация
    21.11.2012
    Адрес
    г. Советский, ХМАО-Югра
    Сообщений
    0

    По умолчанию Аналог CASE

    С таймером TP разобрался. Отдаю долг форуму - новичкам пригодится.
    OUT1-OUT5 => Ресурсы.Конфигурация ПЛК.Discrete Outputs [FIX]
    Код:
    PROGRAM PLC_PRG
    VAR
    	TP1:TP;
    	IN1: INT;
    	T: TIME := T#1s;
    END_VAR
    Код:
    IF IN1=0 THEN
    	TP1(IN:=NOT TP1.Q,PT:=T,Q=>OUT1);
    	IF NOT TP1.Q THEN
    		IN1:=2;
    	END_IF
    ELSIF IN1=1 THEN
    	TP1(IN:=NOT TP1.Q,PT:=T,Q=>OUT2);
    	IF NOT TP1.Q THEN
    		IN1:=3;
    	END_IF
    ELSIF IN1=2 THEN
    	TP1(IN:=NOT TP1.Q,PT:=T,Q=>OUT3);
    	IF NOT TP1.Q THEN
    		IN1:=4;
    	END_IF
    ELSIF IN1=3 THEN
    	TP1(IN:=NOT TP1.Q,PT:=T,Q=>OUT4);
    	IF NOT TP1.Q THEN
    		IN1:=0;
    	END_IF
    ELSIF IN1=4 THEN
    	TP1(IN:=NOT TP1.Q,PT:=T,Q=>OUT5);
    	IF NOT TP1.Q THEN
    		IN1:=1;
    	END_IF
    END_IF
    Скриншот
    Всем Спасибо за помощь.

  5. #1715
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    melky, а сколько экземпляров этих ФБ используете? Мне кажется надо умножить количество retain переменных на количество экземпляров ФБ, где они используются.

  6. #1716
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,692

    По умолчанию

    amn, 6 экземпляров, в каждом по 4 dword переменных retain, в итоге 1006 байт вместо 96 байт.

    Если же в библиотеке нет retain переменных а сами экземпляры кинуть в retain то съедалось 992 байта.
    Вот такой вот парадокс странный.

  7. #1717

    По умолчанию

    Еще раз читаем внимательно.
    "Замечания. Если хотя бы одна переменная функционального блока объявлена как RETAIN, то все данные экземпляров целиком помещаются в энергонезависимый сегмент."

    Не может у ФБ быть части данных вне Retain области, если хотя бы одна переменная там находится.
    "Или все сапоги на тумбочке, или все сапоги под тумбочкой".
    Так что никаких чудес.

  8. #1718
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,692

    По умолчанию

    YuriBel вот блин, а что теперь делать то ? как заставить вещи считаться и сохраняться, вводить дополнительные входы для FB чтобы он с RETAIN переменных брал значения и продолжал считать дальше ?

  9. #1719
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Где-то попадались директивы, позволющие в ФБ исключить переменные из retain.
    ___

    Ошибочка вышла, там речь шла о persistent.
    {nonpersistent} исключение данных из persistent стр 150 из CoDeSys_V23_RU.pdf

  10. #1720

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    вот блин, а что теперь делать то ?
    Я конечно не настоящий сварщик, но мне пока сложно представить себе ситуацию, которая бы однозначно требовала помещения ФБ в ретэйн. сделайте переменные в ретэйн, прицепите их к входам и выходам ФБ и работайте с ними.

Страница 172 из 1049 ПерваяПервая ... 72122162170171172173174182222272672 ... ПоследняяПоследняя

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •