модуль ADAM 5013 |
Ответить | Страница <12 |
Автор | |||||||||||||||
Действительный член Присоединился: 04 Сентябрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 206 |
Опубликовано: 20 Февраль 2010 08:57 |
||||||||||||||
Не корректно вопрос поставил.
Каким образом запускается двигатель , чем управляется аппаратно и чем управляется программно, как сигнал с датчика поступает в данную систему запуска двигателя? Ну и каким образом датчик блокирует запуск двигателя?
|
|||||||||||||||
Новичок Присоединился: 09 Январь 2010 Online Status: Offline Публикации: 16 |
|||||||||||||||
Привет! Да ввозможно ,я не корректно написал , могу выслать описание работы системы . |
|||||||||||||||
Действительный член Присоединился: 04 Сентябрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 206 |
|||||||||||||||
Судя из описания, нужно смотреть программу в контроллере №5 в следующей части:
if ((Data[0]<Share_Mem[15])||(Data[0]>Share_Mem[16])) { if(Atrig==0) { Adata=1; Avrem=Avrem+1; if(Avrem>Share_Mem[54]) { Adata=0; Atrig=1; Avrem=0; } } } else { Adata=0; Atrig=0; } Сравнение полученных данных с контроллеров с уставками и формирование управляющего сигнала. Нужно найти сигнал(или сигналы) из таблицы №5, которые влияют на включение, отключение двигателя. Для этого нужно просмотреть электрическую схему управления двигателем и найти там блок контакты (выходы реле) контроллера №5.
|
|||||||||||||||
Новичок Присоединился: 09 Январь 2010 Online Status: Offline Публикации: 16 |
|||||||||||||||
Добрый день! да мы нашли эти релюхи ,для того чтоб произвести запуск двигателя ,мы должны их вытащить ,запустить ,потом обратно вставить ,но это ж такой гемморой... |
|||||||||||||||
Действительный член Присоединился: 04 Сентябрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 206 |
|||||||||||||||
Не понял.... А программу поменять....Чтоб не блокировало запуск.
|
|||||||||||||||
Новичок Присоединился: 09 Январь 2010 Online Status: Offline Публикации: 16 |
|||||||||||||||
Но где в каком месте , я ж еще только учусь.. |
|||||||||||||||
Действительный член Присоединился: 04 Сентябрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 206 |
|||||||||||||||
|
|||||||||||||||
Действительный член Присоединился: 04 Сентябрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 206 |
|||||||||||||||
1. Пересмотрел еще раз таблицу, нашел два интересных сигнала. a. Контроллер 5. Субблок 1. Выход 5-1-6. Температура воздуха в турбодетандер №13 ниже нормы. b. Контроллер 5. Субблок 3. Выход 5-3-2. Температура воздуха в турбодетандер №14 ниже нормы. 2. В программе в части выдачи Set5068(&Adata, 1, 2, ABit); Set5068(&Bdata, 1, 4, ABit); Set5068(&Cdata, 1, 5, ABit); Set5068(&Ddata, 1, 3, ABit); Set5068(&Edata, 1, 6, ABit); Set5068(&Fdata, 3, 2, ABit); Set5068(&Gdata, 1, 1, ABit); Set5068(&TD1P, 2, 0, ABit); Set5068(&TD1A, 2, 1, ABit); Set5068(&TD2P, 3, 4, ABit); Set5068(&TD2A, 3, 5, ABit); Set5068(&ABdata, 0, 3, ABit); Set5068(&ACdata, 0, 4, ABit); Set5068(&ADdata, 0, 5, ABit); Set5068(&AEdata, 0, 6, ABit); Set5068(&AFdata, 0, 7, ABit); Set5068(&AGdata, 1, 0, ABit); Set5068(&AHdata, 1, 7, ABit); Set5068(&AIdata, 3, 3, ABit); ИМХО, это те сигналы , которые указаны в пункте 1 и нас интересуют. 3. Находим формирование переменной Edata. if (Data[3]<Share_Mem[20]) { if(Etrig==0) { Edata=1; Evrem=Evrem+1; if(Evrem>Share_Mem[54]) { Edata=0; Etrig=1; Evrem=0; } } } else { Edata=0; Etrig=0; } Data[3] формируется Data[3]=HostData[6]<<8; Data[3]=Data[3]+HostData[7]; Где HostData 6,7 –принимаются из контроллера №1. Вот здесь нестыковка (по крайней мере у меня) В контроллере 1
Share_Mem[20] в контроллере 5 формируется Share_Mem[20]=read_backup_ram(39)*256+read_backup_ram(40) А вот как туда попадает значение пока не могу понять. С контроллерами Adam не работал. Возможно из WinCC(судя из описания). Если так, то нужно искать и смотреть в WinCC уставку температуры воздуха. Как результат работы можно изменить уставку в WinCC, или поменять программу в контроллере, Например, забить вместо получаемого значения уставки константу. 4. Для Fdata проделать аналогичную работу. 5. Возможно, еще есть реле, влияющие на пуск двигателя при минусовой температуре. И также по программе проследить формирование сигналов. Удачи. |
|||||||||||||||
Действительный член Присоединился: 04 Сентябрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 206 |
|||||||||||||||
Просмотрел еще раз WinCC программу. Такое впечатление – незавершенка, нерабочая (промежуточная ) версия. Просмотрел в проекте формирование сигнала на реле 620 По эл.схеме реле включается при появлении выходов на модулях 6058 предаварийной сигнализации 2,0; 2,2; 2,4; 2,6; 3,0 и аварийной сигнализации 2,1; 2,3; 2,5; 2,7; 3,1.(Здесь первая цифра- номер модуля (с нуля) в стойке , вторая- номер сигнала в модуле). По программе управляется только выходы 2,0 и 2,1
Set5068(&Adata, 1, 2, ABit); Set5068(&Bdata, 1, 4, ABit); Set5068(&Cdata, 1, 5, ABit); Set5068(&Ddata, 1, 3, ABit); Set5068(&Edata, 1, 6, ABit); Set5068(&Fdata, 3, 2, ABit); Set5068(&Gdata, 1, 1, ABit); Set5068(&TD1P, 2, 0, ABit); Set5068(&TD1A, 2, 1, ABit); Set5068(&TD2P, 3, 4, ABit); Set5068(&TD2A, 3, 5, ABit); Set5068(&ABdata, 0, 3, ABit); Set5068(&ACdata, 0, 4, ABit); Set5068(&ADdata, 0, 5, ABit); Set5068(&AEdata, 0, 6, ABit); Set5068(&AFdata, 0, 7, ABit); Set5068(&AGdata, 1, 0, ABit); Set5068(&AHdata, 1, 7, ABit); Set5068(&AIdata, 3, 3, ABit); Переменные TD1P и TD1A формируются
………………… if((Hdata==1)||(Jdata==1)||(Ldata==1)||(Ndata==1)||(Pdata==1)) { TD1P=1; } else { TD1P=0; } if((Idata==1)||(Kdata==1)||(Mdata==1)||(Odata==1)||(Qdata==1)) { TD1A=1; } else { TD1A=0; } …………….. Hdata, Jdata, Ldata, Ndata, Pdata, Idata, Kdata, Mdata, Odata, Qdata –получаются одним и тем же алгоритмом (из листинга представлено только формирование Hdata)
if (Data[7]>Share_Mem[22]) { if(Htrig==0) { Hdata=1; Hvrem=Hvrem+1; if(Hvrem>Share_Mem[54]) { Hdata=0; Htrig=1; Hvrem=0; } } } else { Hdata=0; Htrig=0; } В формировании переменных Hdata, Jdata, Ldata, Ndata, Pdata, Idata, Kdata, Mdata, Odata, Qdata используются данные, получаемые из контроллера 2.
Как вариант можно исключить в программе обработку HData и IData.(Они оба используют сигнал Data[7]) Например, [code]
…………………
if((Jdata==1)||(Ldata==1)||(Ndata==1)||(Pdata==1)) { TD1P=1; } else { TD1P=0; } if((Kdata==1)||(Mdata==1)||(Odata==1)||(Qdata==1)) { TD1A=1; } else { TD1A=0; } …………….. [/code] |
|||||||||||||||
Ответить | Страница <12 |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |