Помогите с написанием программы для S7-1200

Инженерное программное обеспечение

Помогите с написанием программы для S7-1200

Сообщение ford7 » 30 апр 2013, 14:34

Написал на форуме iadt.siemens, но кроме ссылок на мануалы и предложения прослушать платные курсы не получил. Может здесь мне помогут... Прошу помочь с написанием, чтобы потом я, уже глядя на нее, мог дальше что-то самостоятельно прикручивать.
Ну например управление освещением- то есть имеем три включателя подключенные напрямую ко входам и 4 лампы, также подключенные непосредственно к релейным выходам (1200dc/dc/rly).
1 включатель для включения/отключения 1 и 2 ламп. 2 включатель для вкл./откл. 3 лампы. 4-я лампа включается по времени с 22-00 до 7-00. 3 включатель для отключения 1-3 ламп.
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для 1200

Сообщение Михайло » 30 апр 2013, 18:04

Хорошо... Небольшой терминологический экскурс: у нас применяют слово "выключатель". По этому поводу наш начальник САПР всегда прикалывался. Типа у русских все наоборот - у иностранцев "включатель" для того, чтобы включать лампочку, у наших "выключатель" для того, чтобы ее выключать, а как включать - это уже не важно. :)

Давайте дам подсказку наводящими вопросами:
1. Когда каждая лампа включается?
2. Когда каждая лампа отключается?

Пример:
1. Лампа №1 включается, когда включен выключатель №1 AND включен выключатель №3.
2. Лампа №1 отключается, когда отключен выключатель №1 OR выключатель №3.

Это первое приближение к решению задачи - появились уже первые логические функции - это AND и OR. По русски это И и ИЛИ. Также определились с переменными, которые влияют на лампу №1.

Решению удовлетворяет следующее логическое уравнение:
LAMP1 : = SWITCH1 AND SWITCH3

На языке FBD:
AND.gif

Этой первой части кода кода достаточно, чтобы уже управлять лампой LAMP1. Сможешь написать программу в TIA Portal? Или тебе требуется "первый пинок"? :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для 1200

Сообщение ford7 » 30 апр 2013, 19:43

с логикой мне все понятно, мне важно применительно к железу это сделать. Как называется функция или блок, который отвечает за часы?
test1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для 1200

Сообщение ford7 » 30 апр 2013, 19:58

По включению и отключению- я написал выше, но возможно не внятно. Исправляюсь:
1. Лампы 1 и 2 работают одинаково (как одна лампа). Вкл. и выкл. от выключателя №1 когда выключатель№3 вкл.
2. Когда выключатель№3 выкл., то лампы 1 и 2 выкл. вне зависимости от положения выключателя №1.
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для 1200

Сообщение Михайло » 30 апр 2013, 21:15

То, что Вам требуется для управления лампой №4, это часы реального времени.

Удивительно, но Вы написали же программу. Не совсем понятно тогда, в каком месте задачи Вы сомневаетесь в решении.

Примечание: In3 - с нормально замкнутым контактом - это так и задумано?

По сути вопроса: ищите и изучайте тип данных DTL и функцию RD_LOC_T из группы Extended instructions/Date and time-of-day.
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для 1200

Сообщение ford7 » 30 апр 2013, 21:34

с in3 так и задумано, это же просто как пример :) можно это сделать на кнопку без фиксации, тогда придется какой-нить триггер ставить. Для меня в программе самое ленивое- это описывать переменные )))
Я не то, чтобы сомневаюсь, я просто хочу видеть примеры использования тех или иных функций. То есть вот нашел я в хелпе RD_LOC_T
test1_hlp.jpg
но примеров-то нет. И мне нужно соображать как это применить, какие временные (возможно) переменные необходимы и тд... А был бы пример- вопросов нет- делай и додумывай...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для 1200

Сообщение ford7 » 30 апр 2013, 22:17

Не нашел тип DTL.
dtl.jpg
Что я делаю не так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для 1200

Сообщение Михайло » 01 май 2013, 08:48

Из s71200_system_manual_r.pdf
Вы можете определить тип данных DTL во временной памяти блока или в DB.


То есть переменную типа DTL можно объявить только в Temp или в блоке данных (datablock), в PLC Tags его не создать, так как DTL занимает 12 байт и нету такой структуры типа Mx.y, MB, MW, MD, в которую можно было бы запихнуть такой тип данных. Поэтому подходят только такие области памяти, которые не требуют указания занимаемого адресного пространства.

Далее обрати внимание на функцию T_Conv в том же месте, где находится RD_LOC_T.

Также, надеюсь, ты понимаешь, что необходимо обеспечить функцию синхронизации реальных часов ПЛК с глобальным временем... Мало ли время собьется... Один из способов - синхронизация с часами HMI. (А в HMI уже часы легко синхронизируются с глобальным временем в настройках.)
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для 1200

Сообщение ford7 » 01 май 2013, 16:03

Вот гораздо нагляднее разобраться в написанной части программки...
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для 1200

Сообщение Михайло » 01 май 2013, 17:14

Вроде должно работать:
REAL-TIME.zip

ТИА Портал у меня Basic v11 SP2.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для S7-1200

Сообщение Михайло » 01 май 2013, 17:52

Возможно я не совсем удобно написал код. Нужно было тэг "Время_TOD" разделить на 60*60*1000 = 3 600 000 миллисекунд, чтобы получить текущий час.

REAL-TIMEv2.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для S7-1200

Сообщение ford7 » 01 май 2013, 21:39

Большущее человеческое СПАСИБО!
У меня V12 upd1.
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для S7-1200

Сообщение ward » 02 май 2013, 07:13

да, на форуме сименса тебя помидорами закидали. Пиши, мне вот самому интересно=), сам буду на днях станцию мойки кег делать
ward
Специалист
 
Сообщения: 411
Зарегистрирован: 12 ноя 2012, 08:44

Re: Помогите с написанием программы для S7-1200

Сообщение Михайло » 02 май 2013, 08:06

Хм... Я тут готовлю видеокурс по ТИА Порталу. Сомневаюсь, правда, что он вам пригодится, т.к. он скорее для совсем зеленых.
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для S7-1200

Сообщение ford7 » 02 май 2013, 08:29

Так я и есть зеленый ))))
А что касается помидор, так это вполне для нашей ментальности, поскольку в крови эта особенность ощущения важности... я не заморачиваюсь по этому поводу, ибо знаю, что есть и другие, для которых важнее опытом поделиться, нежели прятать его "по карманам" ;)
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для S7-1200

Сообщение ford7 » 02 май 2013, 20:34

Почему-то местное время равно системному... где копать?
dtl_rd_loc1.jpg

dtl_rd_loc2.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для S7-1200

Сообщение Михайло » 02 май 2013, 20:40

18:30 не равно 9:30 и 21:30... Надо думать...
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для S7-1200

Сообщение Михайло » 02 май 2013, 21:01

Может воспользоваться функцией SET_TIMEZONE? Нужно задать кучу параметров... У меня нет контроллера...
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите с написанием программы для S7-1200

Сообщение ford7 » 13 янв 2014, 21:49

"И снова здравствуйте!"
Вот хорошо бы теперь эти кнопки изобразить в веб-интерфейсе, чтобы управлять лампами с компа ;)
Помогите еще раз :[
ford7
Любитель
 
Сообщения: 28
Зарегистрирован: 30 апр 2013, 14:16

Re: Помогите с написанием программы для S7-1200

Сообщение Михайло » 15 янв 2014, 04:13

Ну вот здесь есть базовые знания:
http://www.dmcinfo.com/latest-thinking/ ... pages.aspx
Михайло
Администратор
 
Сообщения: 3403
Зарегистрирован: 19 сен 2012, 19:16

След.

Вернуться в Simatic TIA Portal / Step7

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0