Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

Тема: Товарищи Знатоки нужна Ваша помощь

  1. #11

    По умолчанию

    зачем эта приблуда в каждом кейсе статус плюс один, просто обычное присвоение на какой кейс уйти не достаточно?
    Полностью с Вами согласен код писался года полтора назад и это уже модернизированная версия в старой было значительно дичайше все было как то прикручено так на время но был реализован и SFC и работал причем со многими странностями. Но
    есть стремление к правильному коду чтоб через полтора года смотря на старый свой код не задаваться мыслями как это может вообще работать Исходя из этого решил код перебрать больше нравиться ST
    Замечание учтено и в статусе чисто присваиваю значение +1.Хотя
    и даже при лишних манипуляциях при данном алгоритме данные в файл писаться должны.
    И так начилась ночь с оккультными танцами с бубном и дальнейшей модернизации кода и вот результат на утро:
    При вставленном кабеле прошивки со стороны разъема Debug 232 и не подключенном со второго конца ( при танцах с бубном просто запарился и не вынул и 232 разъема) ПЛК напрочь нечего не хотел писать в файл.
    Результат выложенный в ST код так и не заработал
    Переписанный SFC код дал результат от что было сделано:
    От CASE отказался , в первом шаге SFC открываем файл проверяем дескриптор если <>0 переходим на шаг вниз иначе RETURN.
    Во втором шаге при входе State_Write_Tools_Bather сбрасываем в FALSE в самом шаге получаем адрес начала файла в байтах и размер файла в байтах.
    пишем данные файл на всякий пожарный даем время для записи находясь в данном шаге Status_Writing_Tools_Bathers :=Status_Writing_Tools_Bathers +1 пока Status_Writing_Tools_Bathers не станет =10
    как только Status_Writing_Tools_Bathers =10 переходим на шаг ниже.
    В третьем шаге входным действием Status_Writing_Tools_Bathers =0
    в самом шаге закрываем файл находясь в данном шаге Status_Writing_Tools_Bathers :=Status_Writing_Tools_Bathers +1 пока Status_Writing_Tools_Bathers не станет =10 все равно каке -то уловие перехода нужно
    как только Status_Writing_Tools_Bathers =10 возращаемся на начальный шаг сбрасываем Status_Writing_Tools_Bathers =0 стоим тут пока State_Write_Tools_Bather не станет TRUE и переходим на шаг ниже и т.д
    В общем результат есть получалось сделать две независимые идентичные программы записи данных в разные файлы и две независимые идентичные программы чтения их них
    И то чтоб был результат после каждого создания программ чтения записи в файл приходилось прошивать ПЛК результат появлялся только после прошивки . Точно магия какая то и это пугает!! Наверное что-то не доброе с ПЛК. Таргеты не переустанавливал.
    Все же вопрос почему ????? аналогичный код за исключением того что он разнесен по шагам в SFC работает а в ST нет , и данный вопрос не дает покоя не откатываться же от ST и писать только в SFC если в нем код работает а в ST нет.
    Многие шарахаются от ПЛК Овен , многие говорят зачем тебе эти танцы с бубном. Мое мнение что большей степени
    основным признаком является правильность и грамотность кода к чему и стремлюсь чем странности оборудование.


    P.S Но все равно плк Овен я не брошу для меня он в принципе хороший.
    А еще есть действительно хороший а главное рабочий форум где есть хорошие и отзывчивые люди готовы дать дельный совет !
    Последний раз редактировалось BSA; 19.02.2015 в 13:52.

  2. #12

    По умолчанию

    и что за страсть запускать программу в программе,да еще и с входными переменными
    Программу записи и чтения планирую объявить в менеджере задач но не знаю пока чем это лучше ,
    и почему входные переменные это плохо?
    Дичайш-сть обусловлено только инкрементом Status_Writing_Tools_Bathers и запускать программу в программе,да еще и с входными переменными ?
    Интересна Ваше мнение !
    Последний раз редактировалось BSA; 19.02.2015 в 13:57.

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

    По умолчанию

    дичайший, потому что на запись у меня уходит вот сколько строчек текста
    Код:
    IF save<>0 THEN																		(* если пришла команда записать данные *)
    	hFile:=SysFileOpen('rcpt.bin', 'w');													(* получение дескриптора файла *)
    	IF hFile>0 THEN																		(* если файл существует *)
    		IF SysFileWrite(hFile, ADR(reception), 224) <> 0 THEN								(* записать в файл данные *)
    			SysFileClose(hFile);
    		END_IF;
    	END_IF;
    	save:=0;
    END_IF;
    а что такое rcpt.bin это вот отсюда http://www.owen.ru/forum/showthread....l=1#post109415
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #14

    По умолчанию

    Лаконично... и даже можно не вычислять размер файла для записи можно указать просто числом, тогда как угадать размер не узнав его через SIZEOF ?
    Последний раз редактировалось BSA; 19.02.2015 в 19:08.

  5. #15
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    Цитата Сообщение от BSA Посмотреть сообщение
    Лаконично... и даже можно не вычислять размер файла для записи можно указать просто числом, тогда как угадать размер не узнав его через SIZEOF ?
    я сам написал структуру рецептов, так почему мне не знать сколько она занимает места, для этого один раз во время отладки можно выполнить sizeof чтоб узнать сколько будет всего байт
    PS я же дал ссылку, где этот бин читаю и ложу в структуру, в которую во время работы с панели можно внести изменения и по событию записать в этот же файл, значение переменных на размер структуры не влияет
    Последний раз редактировалось capzap; 19.02.2015 в 19:21.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Очень нужна Ваша помощь.2ТРМ1 и ДВТ-03
    от R!N@T в разделе Эксплуатация
    Ответов: 15
    Последнее сообщение: 19.05.2016, 16:30
  2. Нужна помощь
    от Илья1000 в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 06.10.2013, 21:17
  3. Нужна помощь
    от Илья1000 в разделе Подбор Оборудования
    Ответов: 10
    Последнее сообщение: 17.09.2013, 23:07
  4. нужна помощь
    от МеГаПрогРамер в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 29.12.2008, 14:21
  5. Нужна помощь.
    от Дмитрий Альбертович в разделе Сервисное ПО
    Ответов: 2
    Последнее сообщение: 15.07.2008, 12:05

Ваши права

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