[?+]: передать значение в массив минут

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Post Reply
Chupik
Posts: 3
Joined: Wed Jul 22, 2015 8:26 am

[?+]: передать значение в массив минут

Post by Chupik » Wed Jan 17, 2018 1:38 pm

Добрый день, ГУРУ!!!
Начал я недавно разбираться с Step7. И возникла у меня следующая проблема:
имеется массив (набор минут) и массив (набор секунд), как сделать что б в переменную MINUTES попадало то значение, сколько импульсов я подал на вход I0.0... То же самое и с секундами...

p.s. Сильно не пинайте - второй день мучаюсь, не могу въехать
Заранее спасибо!
img
https://drive.google.com/file/d/1jFA3CX ... sp=sharing
https://drive.google.com/file/d/1AxNGiM ... sp=sharing

MassEffect
Posts: 17
Joined: Fri Feb 05, 2016 7:44 am

Re: [?]: передать значение в массив минут

Post by MassEffect » Thu Jan 18, 2018 4:17 am

Если было бы более конкретное описание того, что вы хотите сделать и зачем (напр. зачем вам массивы с установленными значениями и т.д.),
кто-нибудь смог бы вам наверняка ответить. Иначе без навыков телепатии не обойтись :D

Chupik
Posts: 3
Joined: Wed Jul 22, 2015 8:26 am

Re: [?]: передать значение в массив минут

Post by Chupik » Thu Jan 18, 2018 4:36 am

Есть таймер и в зависимости от режима должно выбираться разное время (минуты и секунды)
В один массив забиты минуты, в другой - секунды... Нажали кнопку (I0.0) например 2 раза - должно выставиться одно время, 5 раз - другое.
Как бы все работает, кроме MASSIV_MIN[PRESSED] - выдает ошибку. Когда конкретно выставляю руками MASSIV_MIN[2] - все ок

Usver
Posts: 191
Joined: Fri Feb 24, 2012 8:28 am

Re: [?]: передать значение в массив минут

Post by Usver » Thu Jan 18, 2018 7:32 am

Такое на LAD сложно сделать. В STL проще

Code: Select all

L DB40.DBW212                       //pressed
L 2                                        // длинна типа INT в байтах
*I
L 128                                     //адрес нулевого элемента массива минут
+D                                        //подсчитали нужный байт
SLD 3                                    //сделали указатель на него
LAR 1                                    //поместили в адресный регистр 1
OPN DB 40                             //открыли DB (хотя он уже открыт строчкой L DB40.DBW212)
L DBW[AR1, P#0.0]                 //берем данные минут
T "Data_Sample".MINUTES        //передаем
L DBW[AR1, P#42.0]                 //берем данные секунд (42 - длина массива)
T "Data_Sample".SECUNDES        //передаем

Chupik
Posts: 3
Joined: Wed Jul 22, 2015 8:26 am

Re: [?]: передать значение в массив минут

Post by Chupik » Thu Jan 18, 2018 8:09 am

Спасибо БОЛЬШОЕ, то что надо!!! Все заработало!!!!

Post Reply