#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
#define DEBUG FALSE
BOOL ret;
BYTE Buffer[1986]; // Buffer, RawDataValue
char Int_tag[128];
union {
BYTE b[2];
WORD w;
} W_Wert;
union {
BYTE b[4];
DWORD w;
} DW_Wert;
int offset, i;
short int DB_i_Offset_Trigger1_HMI, DB_i_Offset_Station_HMI, DB_i_DB_Offset_HMI;
memset(Buffer,'\0',1986);
memset(Int_tag,'\0',128);
//Datenblock lesen
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_1",&Buffer[0],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_2",&Buffer[200],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_3",&Buffer[400],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_4",&Buffer[600],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_5",&Buffer[800],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_6",&Buffer[1000],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_7",&Buffer[1200],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_8",&Buffer[1400],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_9",&Buffer[1600],200);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
ret=GetTagRaw("Ash_PR_200_w_arr_Stations_Status_10",&Buffer[1800],186);
if(ret!=0) printf("GetTagRaw: %d\r\n",ret);
DB_i_DB_Offset_HMI=GetTagSWordWait("Ash_PR_DB_i_Offset_Overview_HMI"); //Return-Type: short int
for (i=0;i<=256;i)
{
offset=DB_i_DB_Offset_HMI+(i*2);
W_Wert.b[0] = Buffer[offset+1];
W_Wert.b[1] = Buffer[offset];
sprintf(Int_tag,"Ash_PR_200_w_arr_Stationsstatus_%d",i);
if (DEBUG)printf("%s-----%d\r\n",Int_tag,i);
SetTagWord(Int_tag,W_Wert.w); //Return-Type: BOOL
i=i+1;
}
return 0;
}