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[6] |
Т19 - Воздух из турбодетандеры |
|
Share_Mem[7] |
Т9 - Петля из адсорбера СО2 |
Share_Mem[20] в контроллере 5 формируется
Share_Mem[20]=read_backup_ram(39)*256+read_backup_ram(40)
А вот как туда попадает значение пока не могу понять. С контроллерами Adam не работал. Возможно из WinCC(судя из описания). Если так, то нужно искать и смотреть в WinCC уставку температуры воздуха.
Как результат работы можно изменить уставку в WinCC, или поменять программу в контроллере,
Например, забить вместо получаемого значения уставки константу.
4. Для Fdata проделать аналогичную работу.
5. Возможно, еще есть реле, влияющие на пуск двигателя при минусовой температуре. И также по программе проследить формирование сигналов.
Удачи.