std_sub.cpp
来自「《WinCE.NET嵌入式工业用控制器及自动控制系统设计》的源代码」· C++ 代码 · 共 1,996 行 · 第 1/5 页
CPP
1,996 行
POLL_UNIT[cnt].flag= 1;
cnt++;
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_L_BIT_PTR +1;
POLL_UNIT[cnt].words=ED_MAX*5;
POLL_UNIT[cnt].fun=1;
POLL_UNIT[cnt].flag= 1;
cnt++;
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_LL_BIT_PTR +1;
POLL_UNIT[cnt].words=ED_MAX*5;
POLL_UNIT[cnt].fun=1;
POLL_UNIT[cnt].flag= 1;
cnt++;
POLL_TOTAL= cnt;
break;
case 3: // Holding Register
m= ED_MAX/60;
n= ED_MAX%60;
cnt=0;
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_BARE_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_BARE_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_ENG_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_ENG_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
m= (ED_MAX)/60; // just take Eng. only
n= (ED_MAX)%60;
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_INIT_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_INIT_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
m= ED_MAX/60;
n= ED_MAX%60;
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_RH_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_RH_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_RL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_RL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_BH_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_BH_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_BL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_BL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_FL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_FL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_HH_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_HH_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_H_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_H_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_L_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_L_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_LL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_LL_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_DEAD_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_DEAD_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_HH_BIT_PTR +1;
POLL_UNIT[cnt].words=ED_MAX*5;
POLL_UNIT[cnt].fun=1;
POLL_UNIT[cnt].flag= 1;
cnt++;
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_H_BIT_PTR +1;
POLL_UNIT[cnt].words=ED_MAX*5;
POLL_UNIT[cnt].fun=1;
POLL_UNIT[cnt].flag= 1;
cnt++;
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_L_BIT_PTR +1;
POLL_UNIT[cnt].words=ED_MAX*5;
POLL_UNIT[cnt].fun=1;
POLL_UNIT[cnt].flag= 1;
cnt++;
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AO_LL_BIT_PTR +1;
POLL_UNIT[cnt].words=ED_MAX*5;
POLL_UNIT[cnt].fun=1;
POLL_UNIT[cnt].flag= 1;
cnt++;
POLL_TOTAL= cnt;
break;
case 4: // Input Coil Soft
POLL_UNIT[0].id=1;
POLL_UNIT[0].start_addr=DI_SOFT_PTR +1;
POLL_UNIT[0].words=DD_MAX_BIT*2;
POLL_UNIT[0].fun=2;
POLL_UNIT[0].flag= 1;
POLL_UNIT[1].id=1;
POLL_UNIT[1].start_addr=DI_INIT_PTR +1;
POLL_UNIT[1].words=DD_MAX_BIT*3;
POLL_UNIT[1].fun=1;
POLL_UNIT[1].flag= 1;
POLL_TOTAL= 2;
break;
case 5: // Output Coil Soft
POLL_UNIT[0].id=1;
POLL_UNIT[0].start_addr=DO_SOFT_PTR +1;
POLL_UNIT[0].words=DD_MAX_BIT*2;
POLL_UNIT[0].fun=1;
POLL_UNIT[0].flag= 1;
POLL_UNIT[1].id=1;
POLL_UNIT[1].start_addr=DO_INIT_PTR +1;
POLL_UNIT[1].words=DD_MAX_BIT*3;
POLL_UNIT[1].fun=1;
POLL_UNIT[1].flag= 1;
POLL_TOTAL= 2;
break;
case 6: // Input Register Soft
m= (ED_MAX*4)/60;
n= (ED_MAX*4)%60;
cnt=0;
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_SOFT_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=4;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_SOFT_PTR*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=4;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
m= (ED_MAX*4)/60; // just take Soft only
n= (ED_MAX*4)%60;
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_INIT_PTR*2 + ED_MAX*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_INIT_PTR*2 + ED_MAX*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
m= (ED_MAX*4)/60; // just take Soft only
n= (ED_MAX*4)%60;
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_HH_PTR*2 + ED_MAX*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_HH_PTR*2 + ED_MAX*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
for(i=0; i<m; i++)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_H_PTR*2 + ED_MAX*2 +120*i+1;
POLL_UNIT[cnt].words=60*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
if(n>0)
{
POLL_UNIT[cnt].id=1;
POLL_UNIT[cnt].start_addr=AI_H_PTR*2 + ED_MAX*2 +120*i+1;
POLL_UNIT[cnt].words=n*2;
POLL_UNIT[cnt].fun=3;
POLL_UNIT[cnt].flag= 1;
cnt++;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?