📄 103.c
字号:
else
{
cot =41;
}
send_write(sbuf,rbuf,id,cot,commaddress,inf,rii);
return;
case 0x0c:
//遥控分头
apack =buff103;
pt =rbuf+9;
*apack++ =(*pt)-1;//条目号
pt =rbuf+14;
*apack++ =*pt;//值
if(Set103_controlft( buff103,commaddress) == true)
{
cot =40;
}
else
{
cot =41;
}
send_write(sbuf,rbuf,id,cot,commaddress,inf,rii);
return;
case 0x0e:
//遥控压板
apack =buff103;
pt =rbuf+9;
*apack++ =(*pt)-1;//条目号
pt =rbuf+14;
*apack++ =*pt;//值
if(Set103_controlyb( buff103,commaddress) == true)
{
cot =40;
}
else
{
cot =41;
}
send_write(sbuf,rbuf,id,cot,commaddress,inf,rii);
return;
default:
break;
}
}
case 251:
//写条目停止
//处理该报文
//发送返回报文
switch(ginh)
{
//系统类
i = 7;
case 0x00:
case 0x01:
break;
//定值类
case 0x02:
case 0x03:
apack =buff103;
pt =rbuf+11;
*apack++ =ngd;//数目
while(ngd > 0,ngd--)
{
*apack++ =*pt++;//数据类型
j =*pt;//数据宽度
*apack++ =*pt++;//数据宽度
*apack++ =*pt++;//数目
while(j > 0,j--)
{
*apack++ =*pt++;
}
pt++;
pt++;
pt++;
}
cot =40;
send_write(sbuf,rbuf,id,cot,commaddress,inf,rii);
return;
//事件类
case 0x04:
case 0x05:
break;
//遥测类
case 0x06:
case 0x07:
break;
//摇信类
case 0x08:
case 0x09:
break;
//电量类(要处理)*************************
case 0x0a:
return;
//遥控开关类(要处理)*************************
case 0x0b:
apack =buff103;
pt =rbuf+9;
*apack++ =(*pt)-1;//条目号
pt =rbuf+14;
*apack++ =*pt;//值
//
cot =40;
send_write(sbuf,rbuf,id,cot,commaddress,inf,rii);
return;
//遥控分头类(要处理)*************************
case 0x0c:
apack =buff103;
pt =rbuf+9;
*apack++ =(*pt)-1;//条目号
pt =rbuf+14;
*apack++ =*pt;//值
//
cot =40;
send_write(sbuf,rbuf,id,cot,commaddress,inf,rii);
return;
//遥调类(要处理)*************************
case 0x0d:
return;
//遥控压板类(要处理)*************************
case 0x0e:
apack =buff103;
pt =rbuf+9;
*apack++ =(*pt)-1;//条目号
pt =rbuf+14;
*apack++ =*pt;//值
cot =40;
send_write(sbuf,rbuf,id,cot,commaddress,inf,rii);
return;
//调试
case 0x0f:
break;
default:
break;
}
}
}
////
void Lan_edit20(BYTE *rbuf,WORD wLen,BYTE *sbuf,WORD id,BYTE *buff103)
{
//一般命令
BYTE commaddress;
BYTE *pt;
pt=rbuf+3;
commaddress=*pt++;//取公共地址
send05(sbuf,id,commaddress,buff103);
return;
}
////
void Lan_edit21(BYTE *rbuf,WORD wLen,BYTE *sbuf,WORD id,BYTE *buff103)
{
//通用分类命令
BYTE cot;//传送原因
BYTE commaddress;
BYTE fun;//功能类型
BYTE inf;//信息序号
BYTE rii;//返回表示
BYTE ngd;//通用分类集数目
BYTE ginh;
BYTE ginl;//通用分类标识数目
BYTE kod;//类型描述
BYTE *pt;
BYTE *apack;
BYTE quhao;
WORD i;
apack=sbuf;
pt=rbuf+3;
commaddress =*pt++;
fun =*pt++;
inf =*pt++;
rii =*pt++;
ngd =*pt++;
ginh =*pt++;
ginl =*pt++;
switch(inf)
{
case 0xf0:
//读组标题
//
return;
case 0xf1:
//读一个组的全部条目的值或属性
kod =*pt++;
switch(kod)
{
case 0x0a:
//读一个组的全部条目的描述
switch(ginh)
{
case 0x00:
case 0x01:
//系统类
return;
case 0x02:
//定值类
Get103_setmiaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x03:
//定值类
Get103_setmiaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x04:
//事件类(动作及状态事件)
Get103_operative_miaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x05:
//事件类(告警)
Get103_alarm_miaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x06:
//遥测类(保护遥测)
Get103_ycmiaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x07:
//遥测类
Get103_yuandongmiaoshu( buff103,commaddress);//远动遥测
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x08:
//摇信类
Get103_yxmiaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x09:
//摇信类
Get103_yxmiaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
//
case 0x0a:
//电量类
Get103_pulse_miaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x0b:
//遥控开关类
Get103_ykmiaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
//
case 0x0c:
//遥控分头类
return;
case 0x0d:
//遥调类
return;
case 0x0e:
//遥控压板类
Get103_rykmiaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x0f:
//调试及操作消息类
return;
case 0x10:
//录波的通道号的描述
Get103_rchannel_miaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x11:
//录波的带变位的遥信状态的描述
Get103_rchange_miaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x12:
//小电流接地的描述
Get103_rcurrent_miaoshu( buff103,commaddress);
send_miaoshu(ginh,buff103,sbuf,id,commaddress,rii);
return;
}
return;
case 0x06:
//读一个组的全部条目的因子
switch(ginh)
{
case 0x00:
case 0x01:
case 0x02:
case 0x03:
case 0x04:
case 0x05:
return;
case 0x06:
//遥测类(保护遥测)
Get103_ycyinzi( buff103,commaddress);
send_yinzi(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x07:
//遥测类
Get103_yuandongyinzi( buff103,commaddress);//远动遥测 //WAAA
send_yinzi(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x08:
case 0x09:
case 0x0a:
case 0x0b:
case 0x0c:
case 0x0d:
case 0x0e:
case 0x0f:
return;
}
return;
case 0x01:
//读一个组的全部条目的值
switch(ginh)
{
case 0x00:
//系统类
switch(ginl)
{
case 0x03:
if (get103_runquhao( buff103,commaddress) == true)
{
cot = 42;
}
else
{
cot = 43;
}
send_runquhao(ginh,buff103,sbuf,id,commaddress,rii,cot);
return;
default:
break;
}
return;
case 0x01:
//系统类
return;
case 0x02:
case 0x03:
//定值类
apack =quhaobuf+id*2;
quhao =*apack;
if (quhao == 0x33)
{
*apack++ =0x00;
quhao =*apack++;
Get103_setdata( buff103,commaddress,quhao);
send_data(ginh,buff103,sbuf,id,commaddress,rii);
}
else
{
send_error(ginh,buff103,sbuf,id,commaddress,rii);
}
return;
case 0x04:
//事件类(动作及状态事件)
return;
case 0x05:
//事件类(告警)
return;
case 0x06:
//遥测类(保护遥测)
Get103_ycdata( buff103,commaddress);
send_data(ginh,buff103,sbuf,id,commaddress,rii);
return;
//
case 0x07:
//遥测类(测控)
Get103_yuandongdata( buff103,commaddress);
send_data(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x08:
//摇信类
return;
case 0x09:
//摇信类
return;
case 0x0a:
Get103_pulsedata( buff103,commaddress);
send_data(ginh,buff103,sbuf,id,commaddress,rii);
//电量类
return;
case 0x0b:
//遥控开关类
return;
case 0x0c:
//遥控分头类
Get103_ykftdata( buff103,commaddress);
send_data(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x0d:
//遥调类
return;
case 0x0e:
//遥控压板类
Get103_rykdata( buff103,commaddress);
send_yxkdata(ginh,buff103,sbuf,id,commaddress,rii);
return;
//
case 0x0f:
//调试及操作消息类
return;
}
case 0x12:
//小电流接地的数据
Get103_rcurrent_data( buff103,commaddress);
return;
case 0x03:
//读一个组的全部条目的量程
switch(ginh)
{
case 0x00:
//系统类
return;
case 0x01:
//系统类
return;
case 0x02:
//定值类
Get103_setliangcheng( buff103,commaddress);
send_liangcheng(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x03:
//定值类
Get103_setliangcheng( buff103,commaddress);
send_liangcheng(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x04:
//事件类(动作及状态事件)
return;
case 0x05:
//事件类(告警)
return;
case 0x06:
//遥测类(保护遥测)
Get103_ycliangcheng( buff103,commaddress);
send_liangcheng(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x07:
//遥测类
Get103_ycliangcheng( buff103,commaddress);
send_liangcheng(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x08:
//摇信类
return;
case 0x09:
//摇信类
return;
case 0x0a:
//电量类
return;
case 0x0b:
//遥控开关类
return;
case 0x0c:
//遥控分头类
return;
case 0x0d:
//遥调类
return;
case 0x0e:
//遥控压板类
return;
case 0x0f:
//调试及操作消息类
return;
}
return;
//
case 0x05:
//读一个组的全部条目的精度
switch(ginh)
{
case 0x00:
//系统类
return;
case 0x01:
//系统类
return;
case 0x02:
//定值类
Get103_setjingdu( buff103,commaddress);
send_jingdu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x03:
//定值类
Get103_setjingdu( buff103,commaddress);
send_jingdu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x04:
//事件类(动作及状态事件)
return;
case 0x05:
//事件类(告警)
return;
case 0x06:
//遥测类(保护遥测)
send_jingdu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x07:
//遥测类(动作及状态事件)
send_jingdu(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x08:
//摇信类
return;
case 0x09:
//摇信类
return;
case 0x0a:
//电量类
return;
case 0x0b:
//遥控开关类
return;
case 0x0c:
//遥控分头类
return;
case 0x0d:
//遥调类
return;
case 0x0e:
//遥控压板类
return;
case 0x0f:
//调试及操作消息类
return;
}
return;
case 0x09:
//读一个组的全部条目的量纲
switch(ginh)
{
case 0x00:
//系统类
return;
case 0x01:
//系统类
return;
case 0x02:
//定值类
Get103_setlianggang( buff103,commaddress);
send_lianggang(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x03:
//定值类
Get103_setlianggang( buff103,commaddress);
send_lianggang(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x04:
//事件类(动作及状态事件)
return;
case 0x05:
//事件类(告警)
return;
case 0x06:
//遥测类(保护遥测)
Get103_yclianggang( buff103,commaddress);
send_lianggang(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x07:
//遥测类(动作及状态事件)
Get103_yclianggang( buff103,commaddress);
send_lianggang(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x08:
//摇信类
return;
case 0x09:
//摇信类
return;
case 0x0a:
//电量类
Get103_pulse_lianggang( buff103,commaddress);
send_lianggang(ginh,buff103,sbuf,id,commaddress,rii);
return;
case 0x0b:
//遥控开关类
return;
case 0x0c:
//遥控分头类
return;
case 0x0d:
//遥调类
return;
case 0x0e:
//遥控压板类
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -