小型化通信调试--2024年3月15日12:08:39

27.2023年10月11日10:03:07---小型化通信调试

2023年10月11日

10:03

通信调试总结:

1.已解决问题:

主从104连不上,是没有建立TCP?!!!抓包没有见主机发TCP请求报。

RE:1)管理机T3 公共单元数据库 板件类型需要选(SR1201-10串口的)(4个串口的放进去,主从连不上);

     210串口的,对下12NET2,网络端口2404也需要设置,否则无法建立TCP.

问题:1)主站读录波目录,没有反应!

RE:

 1)原因: 按录波名称召唤录波。 保留参数8需设置为1 0xFF(自适应)

15.Ulog目录召唤失败:

RE:打开DeviceID.cfg失败,需求在C/cfg中放入此文件;

1.界面通信参数,IP设置后,内容显示错乱之后192.168.253.3 就无法PING通!

 1>.恢复默认后,IP变为了 222.111.112.3;

 2>.192.168.253.3 可以正常Ping通;

 3>.问题:界面网络1,2,3 和物理上网口对应关系;

RE:make distclean 重新编译后ok!

3.装置报软压板CRC自检异常;装置参数CRC自检异常;。

RE:重新编译后烧录还是报。所有的项目重新恢复默认后,又ok了!

7.界面无法需遥信;虚遥测ok (ok,程序编译问题)

9.装置虚出口无.虚信号也没有了:无保护和遥控虚出口,前版本软件有。

 RE:make distclean后,重新编译了管理核,sync,  再恢复默认就可以了。

8.三遥上送测试:

10.遥控异常。接收到遥控命令后,通信断掉,通信重连。

2.第一个网口 222.111.112.3 ping不通 2个网口和第3个网口ok(2,3是扩展,192.168.253.3也可以)

RE:直连的网口 硬件有问题,换一个OK!

数据库中NET1 NET2 和装置3个网口的对应关系

RE:按网络IP来区分。和物理网口没关系

13.直流量, 功率界面显示错误,不是功率相关项目;

 RE:增加了GOOSE相关遥测,导致位置错误。

14.召唤录波相关问题:;

问题:1)主站读录波目录,没有反应!

RE:

 1)原因: 按录波名称召唤录波。 保留参数8需设置为1 0xFF(自适应)

2)设置后,否认回复:

    录波中 文件数为0;原因:()

   sprintf(cStrFileName,"/D/COMTRADE/wave.bin");

原因:宏定义问题:

//#ifdef CONST_COMM_DISTRICT_FJ

#ifdef CONST_COMM_CLASS_DTU_C

// 启动通信录波列表更新任务,需在保护测控装置通信任务之后调用

WaveCfgUpdataTaskStart();

#endif

 

问题:2)主从召唤录波,主机未更新录波数据!(相关流程,对着代码讲解;)

RE:宏定义错误,导致任务没启动!//#ifdef CONST_COMM_DISTRICT_FJ

// 启动对应端口录波列表维护任务

    //#ifdef CONST_COMM_DISTRICT_FJ

    #ifdef CONST_COMM_CLASS_DTU_C

if(g_twaveTaskFlg[byPortNo] == 0)

Rly_ISA104WaveCallTaskStart(byPortNo);

#endif

//#endif

return 0;

T3 读固有参数否认回复

 RE:OK!定值区号不为0时,否认回复(取消此判断)

管理单元用户界面信息显示格式和间隔单元不同;

Re:

1)间隔单元调用的是Display_128_64_NW, 在工程文件里配置: ZA90_0MCPU.pro

        ../Display_128_64_NW/Drv \

        ../Display_128_64_NW/Dsp \

        ../Display_128_64_NW/Pub \

        ../Display_128_64_NW/Metafile \

        ../../3rdparty/mxml

2)管理机调阅的是: 在工程文件里配置: ZA90_0MCPU.pro

        ../Display_128_64/Drv \

        ../Display_128_64/Dsp \

        ../Display_128_64/Pub \

        ../Display_128_64/Metafile \

        ../../3rdparty/mxml

9.自测问题回归及总结;

1.哪些是管理核,哪些是保护核,哪些是2核都有

MobaXterm-->SSH 如何自动保存log???

2.CONST_COMM_DISTRICT_FJ 宏定义的作用:

 

 

#ifdef CONST_COMM_DISTRICT_FJ

#ifdef CONST_COMM_CLASS_DTU_C

定义福建:啥功能???

疑问:

1)界面网络1,2,3 和物理上网口对应关系;

2)小熊猫抓包;

H:\000.CODE\00.PlatFormCode\02_DTDS_V3\DASCTT\bin\Debug\配网模拟主站.exe

待完成、待解决问题:

 

南网定值按保护投退隐藏功能;

南网控制字设置为0,1,2功能模块更改;

1)定值投退类型, 改为数值型;---定值从投退里 到了数值;

 2)定值类型:功能模块显示;

3)总投退表:函数,加原数,

CN_RLYConTab

 

就地FA按南网规范增加相关信号或事件;

通信模板自动生成功能增加。

 

11.虚拟及104通信 遥控合无出口;---攀龙已改,需核实;

12.把手远方情况下,不允许整定定值,此功能需取消!

RE:南网版本不需要此功能,配宏定义即可。---更改后不生效

#define CN_VERSION_NW ( 1 ) // 1:南网版本;0:国网版本

6.从机会间隔时间发大量变位突发遥信

7.间隔单元1A/5A关联 设置---代码更改;---xiegaoh 更改测试

 

管理机通信点灯,遥信上送;

1)主机里8-10个通信正常 ;

2)合成遥信:主从通信故障()

串口调试;

 

 

待完成工作:

主机管理核一直打印:---------临时注释掉打印;什么影响?

Sendto Error!.   查看是UDP发显示报文?!!!

有疑问 和待研究:

18.小型化 如何查看主从是否通信上,如何抓报文?

1>.SSH里有打印,如主机和主站连接,outset

root@SR1236:/C# outset

root@SR1236:/C# 23-10-19 09:02:47 285

CloseOldConnect finished nTcpNo=1,Fd:-1,iReadTaskID=-1668287408,iSendTaskID=-1659898800,wline=714

23-10-19 09:02:47 285

Exit Read Task From Connection 1,Fd:-1

23-10-19 09:02:47 296

Exit Send Task From Connection 1,Fd:-1

accept client: 192.168.1.200

23-10-19 09:02:49 163

Server[1]:Connected by 192.168.1.200:2404,newFd:17

23-10-19 09:02:49 163

Start Read Task From Connection 1,Fd:17

23-10-19 09:02:49 164

Start Send Task From Connection 1,Fd:17

19.小型化T3 如何查看路由信息表,常用指令有哪些?

20.小型化串口打印;

4.通过定值修改软压板功能;

5.下通信配置,管理核outset,会不断打印:open eth1/carrier  error!

T3远程运维功能测试:

T3小型化定值调阅测试;

T3小型化录波上送测试;

1)几个间隔录波目录怎么命名?

2)间隔单元有录波是否有遥信,主机主动召唤。主站下发目录时是不是直接召唤主机,不用理会从机;

3)主从录波调阅上送;

4)主站和主机录波调阅;

问题:

1)当前读录波目录,直接不回复,模拟主站通信超时;

T3 读固有参数否认回复

固有参数的定值区号?!!!

计算机生成了可选文字: 7 . 9 远 程 参 数 读 写  在 远 程 数 及 定 值 的 ' 写 过 程 中 , 定 区 及 萁 区 号 针 对 附 录 E . 2 3 所 定 义 的 终 动 作 定  值 , 1 固 有 数 等 参 数 进 行 读 写 时 不 分 区 , 此 时 7 . 8 . 3 和 7 8 . 所 规 定 數 裾 报 文 中 的 定 值 区 号  无 效 , 使 用 缺 省 值 佣 填 充 .  7 . 9 . 1 切 换 定 偵 区

计算机生成了可选文字: -Rtu IEC 1e4 CheckMsg 一 一 OK 一  一 rtu 1e4 一 -Rtu IEC 1e4 P r00 WRetVaIzGG 一  111 . ente r : Rtu IEC 1e4 P r00 C RS NA 1 JS  111. Rt u IEC1e4 P r 0 c C RS NA 1 J S 4734 , byVSQz10  一 Rt u IECle4 P r 0 c C RS NA 1 JS WSG err—I  一 rtu 1e4 一 -Rtu IEC 1e4 P r00 -ente r readset 一 一 retVaIz7  一 rtu 10 日 一 一 rtu IEC 10 日 P rocOOO 一 一 FrameE r ro r WRetVaI : 7  e e 8 e a 80  读 固 有 参 数 否 认  -68 2 a 14 08 0 a a 47 01 01 01 80 02 80 03 80 04 80 05 80 06 80 G7 80 08 80  一 rtu le4s end  -ptsendct rl »wSendLenz44-  -rtule4---send - —TCPSendFrame---1 68 2A 14 08 CA GA 47 01 01 01 80 02 80 03 80 04 80 05 80 06 80 G7 80 08 80 80  OA 8 e e e  2 3 一 11 一 e 3 : 16 : 42 e38

T3小型化历史文件上送测试

问题3.小型化读定值不回复(管理机):

2023-10-30 17:37:36.763 SEND: (158)

68 9C 04 00 0E 00 CA 30 06 00 01 00 01 00 01 50 00 02 50 00 03 50 00 04 50 00 05 50 00 06 50 00

07 50 00 08 50 00 09 50 00 0A 50 00 0B 50 00 0C 50 00 0D 50 00 0E 50 00 0F 50 00 10 50 00 11 50

00 12 50 00 13 50 00 14 50 00 15 50 00 16 50 00 17 50 00 18 50 00 19 50 00 1A 50 00 1B 50 00 1C

50 00 1D 50 00 1E 50 00 1F 50 00 20 50 00 21 50 00 22 50 00 23 50 00 24 50 00 25 50 00 26 50 00

27 50 00 28 50 00 29 50 00 2A 50 00 2B 50 00 2C 50 00 2D 50 00 2E 50 00 2F 50 00 30 50 00

--Rtu_IEC104_CheckMsg--OK---

--rtu104--Rtu_IEC104_Proc--wRetVal=00-

byBase=8,bySG=1,byJudgeSetZone=0

RTU_ReadSet line=848

--rtu104--Rtu_IEC104_Proc--enterreadset--retVal=0

--rtu104--Rtu_IEC104_Proc--wRetVal=00-

byBase=8,bySG=1,byJudgeSetZone=0

RTU_ReadSet line=848

--rtu104--Rtu_IEC104_Proc--enterreadset--retVal=0

23-10-30 20:29:54 957

读定值代码走读:

RTU_ReadSet

^^^^^^^^^^^^^^^^^

//以下3个都调用了 RTU_ReadSet接口;3个分别用于什么情况?!

WORD Rtu_IEC104_Proc_C_RS_NA_1( BYTE byHostNo, BYTE byFlagCH, BYTE byInLen, BYTE *pbyMsg104 )

WORD Rtu_IEC104_Proc_C_RS_NA_1_JS( BYTE byHostNo, BYTE byFlagCH, BYTE byInLen, BYTE *pbyMsg104 )

//ASDU=108 0X6C 南网规范; ok!

WORD Rtu_IEC104_Proc108_ReadPara( BYTE byHostNo, BYTE byFlagCH, BYTE *pbyMsg104 )

===================

#ifdef CONST_COMM_DISTRICT_FJ

#ifdef CONST_COMM_CLASS_DTU_C

wRetVal = Rtu_IEC104_Proc_C_RS_NA_1_JS( byHostNo, CONST_104_SOCK_DATA,byMsgLen, &pbyMsg104[CONST_104_LEN_APCI] );

//======================

读定值,江苏和国网的区别??

//============

// 定值分拣信息体地址--江苏使用,分拣标准《配电自动化系统应用DL/T634.5104-2009实施细则(试行)》

Fun_BranchParaInfoAddr_JS

byInfoAddrGroup[dwLoop3].byParaInfoAddr[0],

//1.接收到定值读取后,进行处理,然后答复,怎么答复??

Rtu_IEC104_Proc_C_WS_NA_1_JS //写定值;

 

//定值分拣;

for( byGroup=0 ; byGroup<=CONST_NUM_BAY ; byGroup++ )

{

byRecvSetNum = Fun_BranchParaInfoAddr_JS(by2wInfoAddr,byInfoAddrGroup,(byVSQ&0x7f),byGroup);//此处调用信息体地址分拣函数

//分拣后,将信息体地址存在下面;

&byInfoAddrGroup[dwLoop3].byParaInfoAddr[0]

 

 

 

 

if(byGroup==0)

计算机生成了可选文字: 3 3 3 . Fun  dwLoop1:  by2wInfoAddrCdwLoop1J.  dwLoop1:2  by2wInfoAddrCdwLoop1J.  dwLoop1:3  by2wInfoAddrCdwLoop1J.  dwLoop1:4 by2wInfoAddrCdwLoop1J ·  dwLoop1:5  by2wInfoAddrCdwLoop1J.  dwLoop1:6  by2wInfoAddrCdwLoop1J.  dwLoop1:7  by2wInfoAddrCdwLoop1J.  BranchParaInfoAddr JS 984dwLoop 1. by2wInfoAdd r 〔 dwLoop 1 ] wpa ralnfoAdd r : 5001 , byUn itNo—4  wparaInfoAddr : 5 2  wparaInfoAddr : 5 3  wparaInfoAddr:5ee4  wparaInfoAddr : 5 5  wparaInfoAddr : 5 5  wparaInfoAddr : 5 7  wparaInfoAddr : 5 8  , byUn  , byUn LtNo—4  , byUn LtNo—4  , byUn LtNo—4  , byUn  , byUn  , byUn

//定值调阅:报文回复:

void Rtu_IEC104_Send( BYTE byHostNo )

if( 0==wMsgLen )

{

wMsgLen = Rtu_IEC104_Send_C_WRS_NA_1_JS( byHostNo,CONST_104_SOCK_DATA ,&byOutLen,&ptSendCtrl->bySendBuf[CONST_104_LEN_APCI],ptCmdCtrl->wCmdCode);

{

     wMsgLen = Fun_ReportReadMsgUp( byHostNo, &wUnitID, pbyMsgSYS, 1024 );

if( 0 == wMsgLen )

{

return 0; // NO msg for the Host!

}

}

 

 

 

 

}

计算机生成了可选文字: Connect to 192 . 158 . 2 . 1e5 : 24e4 E r r 0 r  E r roNo :Ox71  一 Rt u IEC1e4 CheckMsg- 一 0 K  -rtule4- 一 Rt u IEC 1e4 P r00 WRetVaIzOO  111 . e n t e r : Rt u IECle4 P r 0 0 C RS NA 1 JS  111. Rt u  IEC1e4 P r 0 0 C RS NA 1 J S 4734 ,  IECle4 P r 0 0 C RS NA 1 J S 4837 , byTI = 2e2  2 2 2 . Rt u  BranchParaInfoAddr J S 984*yGroupzedwLoop1.e by2wInfoAdd r CdwLoop 1 〕 .wParaInfoAddr:50e1  3 3 3 . Fun  dwLoop1:l by2wInfoAddrCdwLooplJ .wparaInfoAddr:5002  dwLoop1:2 by2wInfoAddrCdwLooplJ .wparaInfoAddr:5ee3  dwLoop1:3 by2wInfoAddrCdwLooplJ .wparaInfoAddr:5ee4  dwLoop1:4 by2wInfoAddrCdwLooplJ .wparaInfoAddr : 5 5

计算机生成了可选文字: OWLOOP  3 3 3 . Fun  3 3 3 . F u n  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . F u n  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  3 3 3 . Fun  0 r L OWLOOP  5 e e e 13 5 e e e 14 5 e e e 15 5  2 5 5 e e e 2 7 5 e e e 2 8 5 e e e 2 9 5 e e e 2 a 5 e e e 2b 5 e e  11 . , n ItID—2 , byGroup- 1—0  g WLaterF1g  —2,byGroupzlUnitIDz2,byGroupzl,Rtu IECle4 P r 0 0 C RS NA 1 JS--SaveCmdDownL15BJ:g e e e 2 e e e 3 04 0 a 3 e e 5 e e e e e e  e e le 5 e e e If 5 2 5  JS  J S  J S  J S  J S  J S  J S  J S  J S  J S  J S  J S  J S  J S  J S  21 5 e e e 2 2 5 e e e 2 3 5 e e e 24 5 e e e 2 5 5 e e e  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  BranchparaInfoAddr  98  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  9 8 4  byGroupz2  byGroupz3  byGroupz  byGroupz  byGroupz  byGroupz  byGroupz  byGroup—  —10  byGroup—  一 11  byGroup—  一 12  byGroup—  一 13  byGroup—  一 14  byGroup—  一 15  byGroup—  一 15  -rtule4--Rtu IECle4 P r 0 0  -enterreadset--retvalzo  Itne:2153 ; RIy IECle4 Send HostCmd,WMsgLenzl 8 : ge 00 02 00 03 04 C a 3 e e 5 e e e e e e e 1 e e e 1 50 02 50 e e e 3 5 e e e 94 5 e e e e 5  12 5 e e e 13 5 e e e 14 5 e 15 5 15 5 e e e 17 5 e e e 18 5 e e e 19 5 e e e la 5 1  9 2 3 5 e e e 24 5 e e e 2 5 5 e e e 2 5 5 e 2 7 5 2 8 5 e e e 2 9 5 2 a 5 2b 5 2 0 5 e e e 2d 5 e e e 2 e 5 e 2f 5 3 5  Itne:2238 ; RIy IECle4 Send Hostcmd, LTcpSockNoz2,WLenAIIz158,wl 」 nutlDz2:68 9 0 5 0 e 3 b2 15 0 a 3 e e 5 1 1 5 2 5  0b 5 e e e 0 5 e e e ed 5 e 5 Of 5 10 5 11 5 12 5 e e e 13 5 e e e 14 5 e e e 15 5 e e e 15 5 17 5 e e 18 5 e  5 21 5 2 2 5 2 3 5 e e e 24 5 2 5 5 e e 2 5 5 e e e 2 7 5 e e e 2 8 5 e e e 2 9 5 e e e 2 a 5 e e e 2b 5 e e e 2 0 5 e e e 2d 5 e e e 2 e  5 8 9 0 b2 15 5 e e 3 0 a 3 e 5 e 1 1 1 5 e e 92 50 00 03 50 00 04 50 00 05 50 00 06 50 00 07 56 窘 、 1 症  Re 0 v RIyle4 MS G .

计算机生成了可选文字: line:1377 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdze  Re 0 v RIy1e4 MS G .  5 8 9 0 b2 15 5 e e 3 0 a 3 e 5 e e e e 1 e e 1 1 5 e e e 2 5 e e e e 3 5 e e e 04 5 e e e e 5 5 e e e e 5 5 e e e e 7 5 e e e e 8 5 e e e e 9 5  5 11 5 12 5 e e 13 5 e e e 14 5 e e e 15 5 e e e 15 5 e 17 5 18 5 e e e 19 5 la 5 1b 5 10 5 e e e Id 5 e e e le 5 e If  2 5 5 e e e 2 7 5 e e e 2 8 5 e e e 2 9 5 e e e 2 a 5 e e e 2b 5 e e e 2 0 5 e e e 2d 5 e e e 2 e 5 e e e 2f 5 e e e 3 e 5 e e e  pbyMsg1e4  —156,pbyMsg1e4tCONST 1e4 LEN APCIJzOxca  -RTU_IECle4- 一 Re v 0 e upLtnk,ReadSetpar ,UnutIDzl-  9 C e e e 2 e e CA 3 e 6E e e 1 1 1 5 2 5 e e e e 3 5 e e e 04 5 e e e e 5 5 e e e e 5 5 e e e e 7 5 e e e e 8 5 e e e e 9 5 e e e OA 5 e e e 9B 5 e e e  9 e 13 5 e e e 14 5 e e e 15 5 e e e 15 5 e 17 5 18 5 e e e 19 5 IA 5 e e 1B 5 e e e IC 5 e e e ID 5 e e e IE 5 e e e IF 5 e e e 2 e 5 e e e 21 5 e e  e e 2 9 5 e e e 2A 5 e e e 2B 5 e e e 2 C 5 e e e 2D 5 e e e 2E 5 e e e 2 F 5 e e e 3 e 5  -setpara- -Rtu_IEC 1e4 Send C S NA 1 JS Send Ope rtat ton ID  -setpara- -Rtu_IEC 1e4 Send C S NA 1 JS Have Sent SetNum  -setpara--Rtu IEC 1e4 Send C WRS NA 1 JS AppLayer TextLenth  RTUle4--neWPrOtocaI--eXLt send 一 WRS -,wMsgLen  199  RTUle4- -Safety Sendp rocess2 : -ptSendCtrI :•wSendLenz205  -rtu1e4---send - 一 一 一 2  2e2  199

//???加了打印就ok….

问题1:定值调阅,主机转发的ASDU地址为0

问题2:调阅定值,主机下发(ASDU地址为0),从机否认回复主机后,主机没有否认回复主站!

问题3.主机下发(定值调阅和遥控都没有下发下去!!!),没收到从机回复(小熊猫 下发,实际是否下发?)

Re:主机下发ok,从机定值调阅需调试。

计算机生成了可选文字: 0 0  0 0  0 0  D S ( 23 一 Il 一 02  D S ( 23 一 Il 一 02  D S ( 23 一 Il 一 02  DR ( 23 一 Il 一 02  DR ( 23 一 Il 一 02  DR ( 23 一 Il 一 02  D S ( 23 一 Il 一 02  DR ( 23 一 Il 一 02  D S ( 23 一 Il 一 02  DR ( 23 一 Il 一 02  D S ( 23 一 Il 一 02  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 7  I  2 1  2 e  0 0  0 0  0 0  0 0  0 0  0 0  5 0  5 0  5 0  5 0  5  0 0  2  0 0  0 0  0 0  6f  0 0  1 2  0 0  8 3  0 0  3b  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  b  5 0  Of  I c  2 9  5 0  0 0  2b  5 0  0 0  2b  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  8 2  0 0  5 0  5 0  5 0  0 0  1 7  5 0  0 0  1 7  5 0  0 0  6 2  0 0  0 0  0 0  0 0  0 0  0 0  0b  0 3  0 0  0 0  0 0  0 3  5 0  0 0  0 3  5 0  0 0  6 2  1 0  0 0  0 0  0 0  0 0  0 0  1 7  1 0  I d  2 a  0 0  0 0  0 0  0 0  0 0  5 0  5 0  5 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  I I  I e  2b  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  2  1 3  2 0  2 d  1 1: 1 : 51. 180 ) 0 6 0 0 0 0 0 0 d 9b I 0 0 0 1 0 0 2 c 0 0 0 0 0 0 0 0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 0  0 8  1 5  2 2  2f  0 0  0 0  0 0  5 0  5 0  5 0  5 0  1 1: 1 : 51. 2 8 0 ) 0 e 0 8 0 0 0 0 0 6 0 1 0 a 0 0 0 1 0 0 0 0 0 0 0 0 1  1 1: 1 : 51. 3 (1) I 0 a 0 0 0 0 0 6 7 0 1 0 7 0 0 0 1 0 0 0 0 0 0 0 0  0 0  0 0  0 0  0 2  0 0  0 0  0 0  SN 定 值 区 号 ,  5 0  5 0  5 0  6 8 0 0 1 0 0 0 a 0 0  6 8 9 c 0 0 0 0 c 0 0 c a 3 0 0 6 0 0 0 1 0 0 0 1 0 0  0 e  I b  2 8  5 0  5 0  5 0  0 0  0 0  0 0  1 2  I f  2 c  5 0  5 0  5 0  0 0  0 0  0 0  5 0  5 0  5 0  5 0  0 0  0 0  0 0  0 0  0 9  1 6  2 3  3 0  5 0  5 0  5 0  5 0  0 0  0 0  0 0  0 0  0 a  1 7  2  屏 蔽  5 0  5 0  5 0  0 0  0 0  0 0  0b  1 8  2 5  5 0  5 0  5 0  0 0  0 0  0 0  0 c  1 9  2 6  5 0  5 0  5 0  0 0  0 0  0 0  I a  2 7  5 0  5 0  0 0  0 0  0 0  畈 卡 1 匚 12  续 噕 保 存  青 吉 设  DS ( 23 一 11 一 02 11 : 14 : 45 . 306 ) 3 0 0 0 0 0 0  0 e 5 0  5 0 0 0  0 e 5 0  5 0 0 0  0b 0 2  0 2 0b  0 0  2 3  0 0  2 3  0b  1 7  Of  5 0  Of  5 0  1 7  1 0  5 0  0 0  5 0  0 0  0 c  6  0 0  2  0 0  2  6  0 0  1 0  5 0  1 0  5 0  0 0  0 0  1 1: 1 : 5 . 6 8 0 8 3 0 0 0 0 0 0  1 1: 1 : 5 5 . 332 ) 8 c 0 3 7 8 1 7 c a 3 0 0 6 0  0 1 0 0 0 1  5 0 0 0 0 2  I 5 0 0 0 1 5 5 0 0 0 1 6 5 0  5 0 0 0 2 9 5 0 0 0 2 a 5 0 0 0  5 0 0 0 0 5 0 0 0 0 5 5 0 0 0 0 6 5 0 0 0 0 7 5 0 0 0 0 8 5 0 0 0 0 9 5 0 0 0 0 a 5 0 0 0 0b 5 0 0 0 0 c 5 0 0 0 0 d  0 0 1 8 5 0 0 0 1 9 5 0 0 0 1 a 5 0 0 0 1 b 5 0 0 0 1 c 5 0 0 0 1 d 5 0 0 0 1 e 5 0 0 0 1 f 5 0 0 0 2 0 5 0 0 0 2 1 5 0 0  2 c 5 0 0 0 2 d 5 0 0 0 2 e 5 0 0 0 2f 5 0 0 0 3 0 5 0 0 0  5 0 0 0 0 5 0 0 0 0 5 5 0 0 0 0 6 5 0 0 0 0 7 5 0 0 0 0 8 5 0 0 0 0 9 5 0 0 0 0 a 5 0 0 0 0b 5 0 0 0 0 c 5 0 0 0 0 d  0 0 1 8 5 0 0 0 1 9 5 0 0 0 1 a 5 0 0 0 1 b 5 0 0 0 1 c 5 0 0 0 1 d 5 0 0 0 1 e 5 0 0 0 1 f 5 0 0 0 2 0 5 0 0 0 2 1 5 0 0  2 c 5 0 0 0 2 d 5 0 0 0 2 e 5 0 0 0 2f 5 0 0 0 3 0 5 0 0 0  1 0 Of 0b 0 2 0b 1 7 0 a 6 0 0 0 0 0 0 0 0 0 0 0 0 6 2 1 0 Of 0b 0 2 0b 1 7 0b 6 0 0 0 0 0 0 0 0 0 0 0 0 6 2  Of 0b 0 2 0b 1 7 0 e 6 0 0 0 0 0 0 0 0 0 0 0 0 6 2 1 0 Of 0b 0 2 0b 1 7 Of 6 0 0 0 0 0 0 0 0 0 0 0 0 6 2 1 0 0  5 0 0 0 1 1 5 0 0 0 1 2 5 0 0 0 1 3  0 0 2 5 5 0 0 0 2 6 5 0 0 0 2 7 5 0  6 8 9 c 7 8 1 7 8 e 0 3 c a 3  5 0 0 0 1 1 5 0 0 0 1 2 5 0 0 0 1 3  0 0 2 5 5 0 0 0 2 6 5 0 0 0 2 7 5 0  1 1: 1 : 5 5 . 8 3 ) 0 0 1 0 0 7 a 1 7  5 0 0 0  0 0 2 8  6 e 0 0 0 1 0 0 0 1 0 0 0 1 5 0 0 0 0 2  5 0 0 0 1 5 5 0 0 0 1 6 5 0  0 0 2 8 5 0  2 9 5 0 0 0 2 a 5 0 0 0  0 0  1 1: 1 5 : . 6 8 8 2 7 a 1 7 8 e 0 3 cf 0 8 0 3 0 0 0 1 0 0 0 9  0 0 0 0 0 0 0 0 0 0 6 2 1 0 Of 0b 0 2 0b 1 7 0 d 6 0 0  0 0 0 0 0 0 0 0 6 2 1 0 Of 0b 0 2 0b 1 7  1 1: 1 5 : . 309 ) 0 1 0 0 7 c 1 7

WORD Rly_IEC104_Send_ParaOpt( WORD wUnitID,BYTE *pbyMsgBuf,BYTE *pbyMsgSYS )

{

// 更换为子站地址

tWB2.wWord = ptUnitVal->ptUnitSet->wCommAddr; // wStationNo

pbyMsgBuf[4] = tWB2.cByte[CN_BYTE_LO]; // 公共地址.1

pbyMsgBuf[5] = tWB2.cByte[CN_BYTE_HI]; // 公共地址.2

}

WORD Comm_Get_UnitCommAddr( WORD wUnitID )

{

 

}

 

问题“1.管理机/wave.bin 文件数量的更新;

 

//wave.bin

1.文件数量管理

创建/写入/读取相应目录下文件数量

BOOL FileNumManager(BYTE byHostNo, BYTE byFileType, BYTE byOperateType,WORD *pbyFileNum)

{

        case EN_CATALOG_TYPE_WAVE:

           sprintf(cStrFileName,"/D/COMTRADE/wave.bin");

            byMaxFileNum = CN_MAXNUM_WAVEFILE;

            break;

 

 

}

//写 wave.bin 文件;EN_CATALOG_TYPE_WAVE

// 启动WaveComtrade任务(保护板录波)

WaveComtrade_StartTask

SINT32 WaveComtradeMain( void )

 

void WaveComtrade(const tagWaveCtrad *ptApp, INT32 iTaskSN)

{

BOOL WaveCtrad_RefCfgFile_New(const tagWaveCtrad *ptApp, char *pcFileName)

{

    bFullNum = FileNumManager(0, EN_CATALOG_TYPE_WAVE, EN_FILE_OPERATE_RW,&byFileNum);

}

 

}

 

//对下104…..

Rly_IEC104_Proc_F_FR_NA_1

//接收文件传输..

__WriteWaveFile_Transmit

//读文件接口

__ReadWriteWaveFile_Interface

//获取目录信息:

__GetCatalogInfo

{

else if( 0 == strcmp(ptRecvFileTranCtrl->cCatalogName,byCatalogName[7]) )

bFullNum = FileNumManager(0, EN_CATALOG_TYPE_WAVE, EN_FILE_OPERATE_R,&byFileNum);

__GetCatalogInfo

printf("\n---RWFILE---2.callcatalogfail ==%d\n",byRlt);

}

//修改FJ宏定义注释掉后,录波文件主站可以调上来(没有更新wave.bin)

计算机生成了可选文字: line: 1377 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdzO  RecV RIy104 MS G : 68 10 22 96 d7 93 e 1 6b 6c  pbyMsgle4LIJz16,pbyMsg1e4CCONST 1e4 LEN APCIJzGxd7  RIy IEC1e4 P r 0 c WaveCa11 1.WAVEMSG.  . 2 3 一 1 e 一 3 e 15 : 33 : 01 1b8  C 0 n n e 0 t t 0 192 . 158 . 2 . 1e2 : 24e4 E r r 0 r , E r r ON 0 : x71  CLOOpze ,WIJnLtIDz2 , tun LtWaveCaII :•wReadFIgzl  byconnldxze ,byUn LtSeqze  File Call s t a . . WFLIeReadzG WFLIeSaVez2  IJ n LtlDz2  -WaveFi1e Is_Exist 'I'/D/COMTRADE/BAYO 1 e e e e 2e231e3e 153254 953 . cf § , 5- I - “ 一 ,  byMonIDz2 , tUnLtWaveCaIIzex746eef4,byUnLtSeqz2,FiIe Wr Lte POS 1—5888  RIy ISA104WaVeCaII 2 . WAVE FILE .  . Un LtlDz2  File Call s t a rt 一 WFLIeReadzl WFiIeSaVez2  -WaveFi1e Is_Exist 'I'/D/COMTRADE/BAYO 1 2e231030 153254 953.dat , 5- I - “ 一 ,  byMonIDz2 ,tUnLtWaveCaIIzex746eef4,byUnLtSeqz2,FiIe W r It e P 0 s = 593  RI ISAIe4WaVeCaII 2 . WAVE FI LE .  . U n LtlDz2  File Call s t a rt 一 WFLIeReadz2 WFLIeSaVez2  。 黏  LaJWD/COMTRADE/BA 、 ℃1 e e e e 2e231e3e 153254 953 . cf § , post = 5888 wUnitID:2 11 5  /D/COMTRADE/BAYOI eeee_2e231e3e 153254 953 . cfg  /D/COMTRADE/BA 、 ℃1 eeee_2e231e3e 153254 953.dat,pos = 5g34 」 n It ID : 2 11 6  1 JWD/COMTRADE/BAYO 1 e e e e 2e231e3e 153254 953.dat  2L,—/C/backup/BAYO 1 2e231030 153254 g53 .cfg -1  2L,—/C/backup/BAYe 1 2e231030 153254 g53 .dat -2  2 3 一 1 e 一 3 e 15 : 33 : 94 158

//录波 文件发送数:

//获取录波目录:录波文件数:

1.

__GetCatalogInfo

{

            case EN_CATALOG_TYPE_WAVE:

                bFullNum = FileNumManager(0, EN_CATALOG_TYPE_WAVE, EN_FILE_OPERATE_R,&byFileNum);

            ptSendFileTranCtrl->byWAVEFileCount     = (bFullNum == TRUE)?(CN_MAXNUM_WAVEFILE*2):(byFileNum*2);//;

         byDescResultFlag = __GetData_WaveCatalog( byCallFlag,ptSendFileTranCtrl);

}

2.

BYTE __GetData_WaveCatalog( BYTE byCallFlag,tagSendFileTranCtrl *ptSendFileTranCtrl )

 

{

ptSendFileTranCtrl->byWAVEFileCount = byCnt;

}

else//召唤时间段内文件

1)

//主站发送:-------召唤录波目录:

2023-10-27 14:00:27.139 SEND: (45)

68 2B 06 00 16 00 D2 01 05 00 01 00 00 00 00 //传输原因:05:请求/被请求

 02//附件数据包类型:2:文件传输;其它:备用;

//数据包:

01 //1:读目录;

00 00 00 00 //目录ID

08//目录长度

43 4F 4D 54 52 41 44 45//目录名

00//召唤标志:0:目录下所有文件;1:满足时间搜索;

00 00 00 00 00 00 00 //查询起始时间

00 00 00 00 00 00 00 //查询终止时间

g_uiRly104=1;

g_uiRly104=0;

g_uiRly104 0

--Rtu_IEC104_CheckMsg--OK---

--rtu104--Rtu_IEC104_Proc--wRetVal=00-

--rtu104--Rtu_IEC104_Proc--enterfiletranf-

--rwfile---Rtu_IEC104_Proc_F_FR_NA_1-▒▒▒ղ▒▒▒▒ʶ= 01-

--rwfile-__ReadCatalog-▒▒▒▒-__GetCatalotOrFileName ptSendFileTranCtrl=0x7565a6c

--rwfile-__ReadCatalog-exit-__GetCatalotOrFileName

      cCatalogName = COMTRADE

    --

     stringbuf=COMTRADE

--rwfile-▒▒ѯ▒▒ʼʱ▒▒:(ʮ▒▒▒▒▒▒▒)    00 00 00 00 00 00 00

--rwfile-▒▒ѯ▒▒ֹʱ▒▒:(ʮ▒▒▒▒▒▒)      00 00 00 00 00 00 00

--rwfile---__ReadWriteFile_Interface-▒▒▒ղ▒▒▒▒ʶ01-▒▒▒Ͳ▒▒▒▒ʶ=00

---RWFILE---Ŀ¼ID▒▒▒▒=   0

--rwfile-__ReadCatalog-exit-____ReadCatalog_Interface ok

--rwfile---Rtu_IEC104_Proc_F_FR_NA_1-▒▒catalogĿ¼▒▒ȷ-

--rtu104--Rtu_IEC104_Proc--exitfiletranf-wRetVal=00

void Rtu_IEC104_Proc( BYTE byHostNo )

{

   else if( byType==ENUM_104_F_FR_NA )// 文件传输

{

         printf( "\n--rtu104--Rtu_IEC104_Proc--enterfiletranf-\n");

 

wRetVal = Rtu_IEC104_Proc_F_FR_NA_1( byHostNo, CONST_104_SOCK_DATA,byMsgLen, &pbyMsg104[CONST_104_LEN_APCI] );

    

printf( "\n--rtu104--Rtu_IEC104_Proc--exitfiletranf-wRetVal=%02d\n",wRetVal);

 

}

}

//接收和处理文件传输函数

Rtu_IEC104_Proc_F_FR_NA_1( byHostNo, CONST_104_SOCK_DATA,byMsgLen, &pbyMsg104[CONST_104_LEN_APCI] );    

{

    switch ( byRecvOperateId ) // 操作标识

    case EN_FILEOPERATE_ID_1:

     if( TRUE == __ReadCatalog( &pbyMsg104[byBase] ,ptRecvFileTranCtrl, ptSendFileTranCtrl) )

          printf( "\n--rwfile---Rtu_IEC104_Proc_F_FR_NA_1-catalog目录正确-\n");

}

__ReadCatalog( &pbyMsg104[byBase] ,ptRecvFileTranCtrl, ptSendFileTranCtrl)

{

  //获取文件名: COMTRADE;

  byBase = __GetCatalotOrFileName( &pbyMsg104[byBase],byBase,byLenName ,ptRecvFileTranCtrl, ptSendFileTranCtrl);

// 调用接口函数

if( TRUE == __ReadCatalog_Interface( ptRecvFileTranCtrl, ptSendFileTranCtrl ) )

 

 

}

 

//获取录波条目:按录波名称

BYTE __GetCatalogInfo( tagRecvFileTranCtrl *ptRecvFileTranCtrl ,tagSendFileTranCtrl *ptSendFileTranCtrl )

{

else if( 0 == strcmp(ptRecvFileTranCtrl->cCatalogName,byCatalogName[7]) )

{

bFullNum = FileNumManager(0, EN_CATALOG_TYPE_WAVE, EN_FILE_OPERATE_R,&byFileNum);

ptSendFileTranCtrl->byWAVEFileCount = (bFullNum == TRUE)?(CN_MAXNUM_WAVEFILE*2):(byFileNum*2);

byDescResultFlag = __GetData_WaveCatalog( byCallFlag,ptSendFileTranCtrl);

}

 

 

}

//获取录波条目数为0:

BYTE __GetData_WaveCatalog( BYTE byCallFlag,tagSendFileTranCtrl *ptSendFileTranCtrl )

{

   printf( "\n--rwfile--__GetData_WaveCatalog-byFileCount=%d\n",byFileCount);

 

}

 

 

录波上送:

1.主从rly104 录波目录上送:ftpOpen(从机有录波生成,发通知,主从ftp打开从机文件,写到自己的Unitx-wave.cfg文件中)

1)从机生成录波后,主机 Unit1-wave.cfg 自动更新了从机的录波目录;--没有及时更新!--或者没有更新,重启后更新

//0xD2, 210:有文件传输;

// 报文解析处理函数

void Rly_IEC104_ProcParse( BYTE byPortNo,WORD wMonID,BYTE byConnIdx,BYTE *pbyMsg104 )

switch( pbyMsg104[CONST_104_LEN_APCI] )

        case ENUM_104_M_ME_NC:          // 13:测量值, 短浮点数

        case ENUM_104_F_WAVE:            //0xd7:  215: 录波目录召唤请求

               BYTE Rly_IEC104_Proc_WaveCall( BYTE byPortNo,WORD wUnitID,BYTE byConnIdx )

                      {

      dwCallRlt =ftpopen( "/D/COMTRADE", bysrcName, strFileDir , byUnitIP ) ;

 

                         //ftp打开从机(服务器),wave.cfg文件,//从机的

                  //-->. 然后写到自己的文件里 Unit1-wave.cfg;//主机的;(ptUnitSet->wCommAddr)

             

                 //主机:写完录波目录后,置录波需要召唤标志;

                 tUnitWaveCall->wReadFlg = CONST_STATUS_FILE_CALL;

                      }

//从机,录波写到D盘时,也置位需要召唤录波

BYTE __Generate_WAVEFILE_Out( BYTE byMonID, tagRecvFileTranCtrl *ptRecvFileTranCtrl ,tagSendFileTranCtrl *ptSendFileTranCtrl )

{

tUnitWaveCall->wReadFlg = CONST_STATUS_FILE_CALL;

 

}

//1.主从报文:

DR(23-10-25 12:09:40.203)68 04 83 00 00 00

//从机生成录波,从机发送:录波目前召唤请求:

DR(23-10-25 12:09:54.143)68 10 72 00 10 00 d7 00 03 00 01 00 6b 00 00 00 6c 00

DS(23-10-25 12:09:54.143)68 04 01 00 74 00

2.主从Rly104 录波文件的上送:

//主从发送文件召唤:

// 发送函数

void Rly_IEC104_Send( BYTE byPortNo, WORD wUnitID )

int Rly_IEC104_SendFileCall( WORD wUnitID ) //104规约的方式召唤

{

// 文件召唤状态不处于下发召唤时返回

if(tUnitWaveCall->wReadFlg != CONST_STATUS_FILE_CALLDOWN) return 0;

// 获取待读取文件名

memcpy(&bySendbuf[wMsgLen],tUnitWaveCall->iSrcName,CN_WAVEFILE_NAME_LEN);

 

}

//录波列表维护任务:

//1.录波文件相关启动函数:

for( byLoop=0; byLoop<CONST_NUM_ALLPORT; byLoop++ )

{

T301C_StartTaskPort( byLoop );

}

int T301C_StartTaskPort( BYTE byPortNo )

g_tProtocolUnit[ ].(PFUNC)Rly_IEC104TaskStart

int Rly_IEC104TaskStart( BYTE byPortNo )

{

if(g_twaveTaskFlg[byPortNo] == 0)

      Rly_ISA104WaveCallTaskStart(byPortNo);

      {

taskSpawn( strTaskName, CONST_PRIORITY_PORT+1, 0, 0x10000,

(FUNCPTR)Rly_ISA104WaveCall, byPortNo, 0, 0,0,0, 0,0,0,0,0 );

   g_twaveTaskFlg[byPortNo] = TRUE;

       

       }

 

Rly_ISA104WaveCallTaskStart(byPortNo);

int Rly_ISA104WaveCall( BYTE byPortNo )//ftp方式召唤

BOOLEAN WaveFile_Is_Exist(tagPUnitWaveCall tUnitWaveCall, BYTE byMonID)

{

#define CN_WAVECFG_DIR "/D/COMTRADE/wavebuf.cfg" //没生成此文件;

}

// 方案二、通过ftp client 召唤录波文件。

//打开了从机的 录波文件---------仅打开???实现了录波的读取…….????

dwCallRlt =ftpopen( "/D/COMTRADE", tUnitWaveCall->iSrcName, byDstFullName , byUnitIP ) ;

 

计算机生成了可选文字: line: 1377 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdzO  Re 0 v RIy1e4 MS G .  5 8 94 8 3 e e  2 3 一 1 e 一 2 5 21 : e 5 : 40 2 8 7  C 0 n n e 0 t t 0 1g2 . 158 . 2 . 1e2 : 24e4 E r r 0 r  E r roNo :Ox71  line: 1377 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdz13  C 0 n n e 0 t t 0 19 2 . . 2 . 1e3 : 24e4  C 0 n n e 0 t t 0 1g2 . 158 . 2 . 10 : 24e4  C 0 n n e 0 t t 0 192 . 158 . 2 . 1e5 : 24e4  Re 0 v RIy1e4 MS G .  5 8 le a e e e  2 3 一 1 e 一 2 5 21 : e 5 . 43 2 8 7  2 3 一 1 e 一 2 5 21 : e 5 . 45 2 8 7  2 3 一 1 e 一 2 5 21 : e 5 . 49 2 8 7  一 Rt u IEC1e4 CheckMsg- 一 0 K  e 5 e e d7 e e e 3 e e e 1 e e 6b e e e e e e 6c 00  E r r 0 r  E r r ON 0 : e x7  E r roNo :Ox71  E r r 0 r  E r roNo :Ox71  E r r 0 r

加了打印又可以可

计算机生成了可选文字: C 0 n n e 0 t t 0 192 . 158 . 2 . 1e2 : 24e4 E r r 0 r  E r roNo :Ox71  line: 1379 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdze  Re 0 v RIy1e4 G .  5 8 le lc e e e 5 e e d7 e e ()3 e e e 1 e e 6b e e e e e e 50 00  pbyMsgle4  —16,pbyMsg1e4tCONST 1e4 LEN APCIJzOxd7  111. wavemsg 0a1 ] 一  2 2 2 . wavemsg 0a1 ] 一  3 3 3 . wavemsg 0a1 ] 一  . 2 3 一 10 一 26  C 0 n n e 0 t t 0 19 2 . . 2 . 193 : 24e4  2 3 一 1 e 一 2 5 1 e : 15 : 48 155  C onn e c t t 0 192 . 158 . 2 . 10 : 24e4  10 : 15 . 45 15b  ErroNo:Ox71  E r r 0 r  E r roNo :Ox71  E r r 0 r

1)录波列表未上送原因查找 //以下条件不满足,退出了。

BYTE Rly_IEC104_Proc_WaveCall( BYTE byPortNo,WORD wUnitID,BYTE byConnIdx )

// 文件召唤不空闲(目前空闲状态包含了目录上送,所以增加save指针为0:暂未扩展状态)时不再召唤,置需再读取标志

if((tUnitWaveCall->wReadFlg != CONST_STATUS_FILE_CALL_IDLE)

||(tUnitWaveCall->wFileSave != 0))

{

printf("\r\n 333. wavemsg call...");

tUnitWaveCall->wReReadFlg = TRUE;

return 0;

 

计算机生成了可选文字: E r r 0 r  line:1379 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdze  Re 0 v RIy1e4 G .  5 8 le 74 e e 10 d7 e 3 e e e 1 e e 6b e e e e e e 50 00  pbyMsgle4  —16,pbyMsg1e4tCONST 1e4 LEN APCIJzexd7  111. wavemsg 0a1 ] 一  2 2 2 . wavemsg 0a1 ] 一  .tUnLtWaveCaII :•wReadFIgzl tlJnLtWaveCaII :•wFLIeSavez32  3 3 3 . wavemsg 0a1 ] 一  . 2 3 一 1 e 一 2 5 11 : e 1 : 45 5 7 5  C 0 n n e c t t 0 1g2 . 158 . 2 . 1e2 : 24e4 E r r 0 r  ErroNo:ex71  激 活 Windo

 

 

 1)主从清除录波信息后,第一次:录波目录上来,但没有召唤录波文件;

计算机生成了可选文字: line: 1379 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdze  Re 0 V RIyle4 MS G : 5 8 le 2 2 e e e 5 e e d7 e e e 3 e e e 1 e e 6b e e 00 6c 00  pbyMsgle4LIJz16,pbyMsg1e4CCONST 1e4 LEN APCI 3—0xd7  111. wavemsg 0a1 ] 一  2 2 2 . wa V e ms 0a1 ] 一  . tUnLtWaveCaII :•wReadFI tUnLtWaveCaII :•wFLIeSaVezO  C 0 n n e 0 t t 0 19 2 . . 2 . 1e5 : 24e4  C 0 n n e 0 t t 0 1g2 . 15 8 . 2 . 101 : 24e4  日 日 日 wavemsg 0 a  RIy IEC1e4 P r 0 0 WaveCa11  C 0 n n e 0  2 3 一 1 e 一 2 5 11 : le : 33 847  2 3 一 1 e 一 2 5 11 : le : 37 847  1 . WAVEMSG ·  E r r 0 r  E r r 0 r  . 2 3 一 1 e 一 2 5 11 : le : 30 847  ErroNo.Ox71  ErroNo.Ox71  主 从 录 波 信 息 清 除 后 , 可 以 传 目 录 ;  但 录 波 文 件 没 有 送 ?

2.从机第二次启动录波:

计算机生成了可选文字: line: 1379 —RIy IEC1e4 ProcParse—,byPortNo:11,wMonIDz2,byConnIdze  Re 0 V RIy194 MS G : 5 8 le 3 2 e e e 8 e e d7 e e e 3 e e e 1 e e e 9 54 e e 00 00 00  pbyMsgle4LIJz16,pbyMsg1e4tCONST 1e4 LEN APCI 3—0xd7  111. wavemsg 0a1 ] 一  2 2 2 . wavemsg 0a1 ] 一  .tUnLtWaveCaII :•wReadFIgzl, UnutWaveCaI :•wFLIeSavez2  3 3 3 . wavemsg 0a1 ] 一  . 2 3 一 1 e 一 2 5 11 : 15 : 37 847  C 0 n n e 0 t t 0 1g2 . 158 . 2 . 1e5 : 24e4 E r r 0 r  ErroNo:ex71  2 3 一 1 e 一 2 5 11 : 15 : 41 847  CO n n ec t to 1 g 2 . 15 8 . 2 . 101 : 24e4 E r r 0 r  E r roNo :Ox71  第 一 次 的 录 波 文 件 宋 召 唤 , 就 不 再 召 其 它 目 赤

 

2)录波数据未召唤原因???!!!

RE:宏定义错误,导致任务没启动!//#ifdef CONST_COMM_DISTRICT_FJ

// 启动对应端口录波列表维护任务

    //#ifdef CONST_COMM_DISTRICT_FJ

    #ifdef CONST_COMM_CLASS_DTU_C

if(g_twaveTaskFlg[byPortNo] == 0)

Rly_ISA104WaveCallTaskStart(byPortNo);

#endif

//#endif

return 0;

计算机生成了可选文字: C RIY 丨 E01 ℃ ×  , WFileSave  RIY  C CO' 巧 , c  C MBusRDsp.c  Aa Abl  第 1 个 共 个  ptPortSet- > bused  FALSE  ptPortSet-)byNumUnit < = e  ptPortSet- ! =  ptPortSet- n•ProtocolID ! =  7 19 艺 168 璧 .IDO .  -ftDogTaskH1178)  -ftDspH1164)  -ftHeeA le4G } ( 1153 )  -ftHost H 巧 } ( 1155 )  一 { t 巧 R } ( 1182 )  -ftLtnkPrtnt)(1141)  -ftLtnkRecv)(114e)  -ftLtnkSend)(1139)  -ftMBusAuxH1168)  一 { t us } ( 1151 )  -ftMBusReH1165)  一 { t usR1 } ( 1157 )  -ftMoveSpfH 115e )  -ftp11A le4G } ( 1157 )  -ftprn 02 } ( 117  -ftRDspRev254H 1153 )  -ftRDspSen254H1162)  -ftR1yMa 1148 )  -ftRtpprnH 1138 )  -ftShe11Dtstr)(1146)  -ftsntpcH1179)  -ftsntpsH118e)  -ftSoftUpdateH 1159 )  -ftTaskMon)(1158)  -ftTcpMonH 117  -ftTcp_SrveH1152)  -ftTcp S r v 1 } ( 1154 )  -ftTcp_Srv2H1166)  一 { tTele on } ( 1151 )  -ftWavecopy)(117e)  -ftwave)( 115  -ft read 1 } ( 118 田  -ft read 2 } ( 118  -ft send 1 } ( 118  -ft send 2 } ( 118 们  -ft udpsvr e } ( 1175 )  ENUM PORT USAGE  ENUM PROTOCOL [  IEC184 Send HostCmd( byPortNo );  byNuml 」 n讠意  ptPortSet-)byNuml 」 n讠意;  for( cLoop-e; cLoop(byNumUnit; CLOOPH )  | 嘯 」 n 讠 意 ID = ptPortSet-)wUnitID [ Loop ] ;  讠 f 〈 FALSE——Fun_GetUnitVariabIeByID( Un 讠 1  RIY IECIe4_MonProc( byPortNo,  Task InfoError( ENUM_TASK PORT, byPortNo,  return e;  录 列 表 维 护 任 务  Rly_ISAIa4WaveCaIlTaskStart( BYTE byport  」 n1 意 ID , 〔 I  CONST TASK  此 任 务 未 启  豳 ,  taskSpawn ( strTaskName, CONST PRIORITY PORT+I, e, ex 〔 .  I 〈 FUNCPTR) Rly_ISA1a4WaveCa11 , byV  g_twaveTaskF1gCbyPortNo)  TRUE;  return e;  Char  In t  strTaskNameC2e) " Rly_ISAIa4WaveCaIl "  iTaskID;

 

}

// 数据通道发送函数

void Rtu_IEC104_Send( BYTE byHostNo )

// 网卡eth1的link变化标志获取

g_dwLinkStatus[ptHostVal->byCommPort]= Get_Eth1_LinkStatus();

 

 遥信: ok!

1>.遥信总召上送ok!(采用的表内的INF号);

2>.突发:突发可以上送,但序号是错的! 序号为:0x46(6), 0x47(7),0x4c (12), 0x54  (20); 应该在表中:6-- INF-154合位,7--INF-155分位;

     12---

   数据库中, 设置为了0x41, 因此,错位了0x40个! Ok!(真双点的起始位置,0x41,影响到了单点的,单点排在帧双点后面)

    // 保留参数6    

BYTE byBaseOBJ_TDP[2]; // 真双点信息体地址基准

遥测:

  1>.虚电流为10A,且不上送;实际加量也不上送;

     RE:OK!拉点拉错了,拉成装置4了,应该是主机。

  2>.需遥测10A, 浮点上送为0.061A; (一次值上送???二次值上送??)

      Ia =1, 上送 0.061;

     Ua=100,上送0.61;

   RE: 浮点上送:本机遥测(满刻度需要设置为0 内部算标度,归一化转浮点上送;)

         2.数据库模板中的,转发表量程设置为0 // 1fYcScale=装置模板中的“标度”*“转发表量程”;

遥测显示错位代码走读:

void MenuProc_See_YC(BYTE byScreen)

wAcPos = Get_RealData_Index(g_tMenuCtrl.ptCurrent->byAttrib,wBaseNo );

 

WORD Get_RealData_Index( WORD wTabType, WORD wIndex)

switch(wTabType)

 

case EN_MEA_DC:

wRealIndex = g_wDCIndexTab[wIndex];

break;

 

 

10.遥控异常。接收到遥控命令后,通信断掉,通信重连。

RE:1)重连是模拟主站发出的。用串口组手,25s没回应,终端否认回复!

      ----原因:数据库不对。模拟主站直连间隔单元,配置了下挂装置的遥控。

      ---遥控分闸ok!,  遥控合闸没有出口。

    2)遥控文件记录ok,遥控选择失败,装置没有记录。

    3)原因:数据库不对,配了

--rtu104--Rtu_IEC104_Proc--wRetVal=00-

--Rtu_IEC104_CheckMsg--OK---

--rtu104--Rtu_IEC104_Proc--wRetVal=00-

----Rtu_IEC104_Proc045_Control----wMsgLenAll=16  byType:2d

byType:2d

23-10-16 15:58:42 693

Read Task Error nRead<=0, nTcpNo=1,ErroNo:0x0

计算机生成了可选文字: 一 rtu 1e4 一 -Rtu IEC 1e4 P r00  -Rtu IEC 1e4 CheckMsg- 一 0 K  -rtule4--Rtu IECle4 P r 0 0  WRetVaIzOO  WRetVaIzee  byType : 2d  一 Rt u IECle4 pr00e45 Control-- WMS gLenAIIz16  byType:2d  2 3 一 1 e 一 15 15 : 58 : 42 5 9 3  Read Task  nRead•cO , nTcpNozl ,ErroNo:OxO  E r r 0 r  2 3 一 1 e 一 15 15 : 5 8 : 42 5 9 3  Closeoldconnect finished nTcpNoz1 , Fd  一 1 , IReadTaskIDz- 1b33b8 日 400 , LSendTaskIDz- 1b42e73ee8 WI inez706  2 3 一 1 e 一 15 15 : 5 8 : 42 5 9 3  E x Lt Read Task F r 0 m C 0 n n e 0 t 10 n 1 Fd  accept cluent.  192 . 158 . 1 . 200  2 3 一 1 e 一 15 15 : 5 8 : 42 715  ServerCIJ:Connected by 192 . 168.1.200:2404,newFd:27

//1.遥控报文接收处理:

WORD Rtu_IEC104_Proc045_Control( BYTE byHostNo, BYTE *pbyMsg104 )

{

 //报文合法性的判断:

   1>.未知的类型标识(44),未知的传送原因,未知的ASDU地址,未知的信息对象地址

 

 //接收到遥控报文,启动25s计时器,没有清则否定回复主站。

  Time_TimerBStart( &ptCmdCtrl->tCmdTimer, CONST_TIMEOUT_RTU_CMD, ENUM_TIMERB_TYPE_SECOND );

 

bRetVal = Fun_ReportSaveCmdDown( byHostNo, g_tPosiYK[wIndexDB].wUnitID, bySysBuf, 0x0C );

Event_SaveRecordYK( byHostNo, byParam,wIndexYK, bySysBuf ); // wObject

 

 

}

//2.遥控报文回复:

WORD Rtu_IEC104_Send_Response( BYTE byHostNo, BYTE byFlagCH )

{

//1.遥控命令回复后,清遥控超时计时器

if( bRespond ) // 响应已发送完毕

{

Time_TimerBStop( &ptCmdCtrl->tCmdTimer );

 

}

//2.25s超时后没有回复,则回复 备份报文及 0x47;

else if( Time_TimerBCheck( &ptCmdCtrl->tCmdTimer) )

{

wSendLen = Rtu_IEC104_Proc000_FrameError( byHostNo, CONST_104_SOCK_DATA, 0x47, pbyBakMsg );

Time_TimerBStop( &ptCmdCtrl->tCmdTimer );

 

}

}

  • 无论是本机/转发遥控,均存在缓存区内;

遥测功率量 显示端子错误:

计算机生成了可选文字: 一 人 界 面  DL  刂 刂 工 刂 刂  2 1B  刂 刂 工 刂 刂  112 DL  刂 刂 工 刂 刂  3 1B  刂 刂 工 刂 刂  3

// 1.函数功能:查找某类型实时数据数目

WORD Get_RealData_Num( WORD wTabType)

{

case EN_MEA_POWER_2:

wAnaNum = CN_P_INDEX_NUM;

break;

}

//2. 函数功能:查找交流量的位置

WORD Get_RealData_Index( WORD wTabType, WORD wIndex)

{

case EN_MEA_POWER_2:

wRealIndex = g_wPIndexTab[wIndex];

break;

}

 2.1

// 函数功能:配置遥测直流交流量相关索引表,上电读取一次不再更新

void Dsp_Inter_InitAnaTab(void)

{

   // 生成遥测电能量索引表

 

}

//把手远方情况下,不能修改定值:

UINT32 DW_VERSION_NW; // 南网版本定义:1:南网版本;0:国网版本

 

#define M_CN_VERSION_NW ( DW_VERSION_NW ) // 南网版本定义:1:南网版本;0:国网版本

 

//函数功能:预设中元件配置菜单的执行函数

void MenuProc_Cfg_Soft( BYTE byScreen, BYTE byType )

{

// 南网版本就地修改软压板不受远控压板影响 <<- by huangwt 2018.3.1

if( !M_CN_VERSION_NW )

 

}

 

//系统常量配对转换; A-->B;----未生效,此变量没有同步过来!

const tagCNVar g_tCNVarTab[ ] =

{

{ CN_VERSION_NW, &DW_VERSION_NW }, // #define M_CN_VERSION_NW // 南网版本定义:1:南网版本;0:国网版本

}

// 南网版本定义

#define CN_VERSION_NW ( 1 ) // 1:南网版本;0:国网版本

 

开出调试无出口:

//开出调试

void MenuProc_Dbg_Relay( BYTE byScreen )

{

   if((EN_OUTPUT_TRIP == byAttrib)||(EN_OUTPUT_RLAY== byAttrib)) // 动作出口调试

}

小型化 主从挂接测试:

1.对上参数设置:

计算机生成了可选文字: V 0 Com2  Com3  爸 Com4  V NETI  V @ NET2  v 霎 豈 集  1 . 对 上 : 本 机 | P  3  5  用 匚 2  6  通 豳 觑 约  7  匚 剖  8  胃 机 路 址  g  10 胃 机 路 掩 码  B 机 路 址  1 B 机 路 掩 码  1 B 机 关  1 5 路 匚  16 保 冒 参 数 1  17 保 冒 参 数 2  18 保 冒 参 数  无  丨 EC50B70 巧 . 10 规 至 :  1 g 1 5 13  25i25i255 £  25i25i255 £

计算机生成了可选文字: 乁 乁 0  转 发 表  》 转 发 表  转 发 表 5  》 转 发 表 5  》 转 发 表 7  转 发 表 8  》 转 发 表 g  转 发 表 10  2 . 主 站 | P  监 控 10  监 控 11  名 称  监 控 名 称  允 许 圭 站 对 时  关 朕 转 发 表  子 站 址  6  讠 与 的 匚  g  10 双 , 1 通 道  1 1 通 豳 约  12 否 为 互 用 双 监 控  1 笔 1 监 控 胃 IP  1 5 笔 1 监 控 B ,  转 发 表 2  NETI  丨 EC50B70 巧 . 10 规 至 :  1 g 乙 1 5 1.200

2.对下参数设置:

计算机生成了可选文字: 乁 乁 0  导 航 树  v 厂 站 集  v 中 凵 胃 F  v 数 据 关 棂 集  V DataGateWay  切 理 售 皂 集  v 板 卡 集  v 板 卡 1  v 匚 集  V 0 Coml  V 0 Com2  Com3  Com4  V NETI  V @ NET2  v 集  3  5  1 . 对 下 甲 .  名 称  匚 状 态  匚 名 称  2  匚 用 送  卡 内 序 号  用 匚 1  用 匚 2  6  通 豳 约  7  胃 机 路 址  g  10 胃 机 路 掩 码  1 1 胃 机 关  12 B 机 路 地 址  1 B 机 路 掩 码  1 B 机 关  1 5 路 匚  16 保 舀 参 数 1  17 保 冒 参 数 2  18 保 舀 参 数  1 g 保 舀 参 数  @ NET2  无  无  1 g 乙 1 5 23  255255255 £  1m12 15j0  255255255 £  1 g 乙 1 5 25 乙 1

计算机生成了可选文字: *I-LAF  v 数 据 关 棂 集  V DataGateWay  v 理 疒 皂  数 据 关 棂  v 板 卡 集  v 板 卡 1  0 Coml  0 Com2  Com3  @ Com4  Com5  @ Com6  0 Com7  Coma  Comg  C0m10  V 1 1 N ETI  V 12NET2  v 集  3  5  一 小 型 化 ,  对 下 104  管 理 机 10 个 串 口 的 !  对 下 网 口 P  名 称  匚 状 态  匚 名 称  2  匚 用 送  卡 内 序 号  用 匚 1  用 匚 2  6  8  A 机 路 址  10 A 机 路 掩 码  1 1 A 机 关  12 B 机 路 地 址  1 B 机 路 掩 码  1 B 机 关  1 5 路 匚  16 保 冒 参 敵 1  17 保 冒 参 敵 2  18 保 冒 参 敵  1 g 保 冒 参 敵  20 保 冒 参 敵 5  21 保 冒 参 敵 5  1 2 N ET2  无  无  1 g 乙 15823  255255255 £  1 g 乙 15823  255255255 £  1 g 乙 15823  一 一 一 必 须 设 置 ; 一 一 一 不 然 通 不 了 ,

计算机生成了可选文字: 凵 胃 F  ' 数 据 关 棂 集  V DataGateWay  切 理 售 皂 集  v 板 卡 集  v 板 卡 1  v 匚 集  V 0 Coml  V 0 Com2  Com3  Com4  V NETI  V @ NET2  v 霎 豈 集  3  名 称  PRS3342AFV60C  @ NET2  0x5 016001  一 一 从 机 一 IP 最 尸  立 为 100 ;  装 置 名 称  否 上 毛 运 行  2  茭 持 时 亘 管 理  樽 板 种  匚 内 通 豳 茈 址  通 豳 内 序 号  6  多 的 板 卡 名 称  7  多 的 圭 匚  8  多 的 匚  g  12 保 舀 参 数 1 (unsigned nt)  1 保 舀 参 数 2 〔 un ' ign 配 nt)  1 保 舀 参 数 un ' ign 配 nt)  1 5 保 舀 参 数 粼 u ” ign 配 nt)  16 保 舀 参 数 5 〔 un ' ign 配 nt)

Rly104:

//先要建立TCP?!

//104 任务主函数

void Rly_IEC104_MonProc( BYTE byPortNo, WORD wUnitID, BYTE byUnitSeri)

//Rly104发送;

Rly_IEC104_Send( byPortNo,wUnitID );

// 任务主函数

int Rly_IEC104Main( BYTE byPortNo )

Rly_IEC104_Send_HostCmd( byPortNo ); //转发主站遥控、定值设定命令!

        for( cLoop=0; cLoop<byNumUnit; cLoop++ )

    {

wUnitID = ptPortSet->wUnitID[cLoop];

Rly_IEC104_MonProc( byPortNo, wUnitID,cLoop )

{

 

Rly_IEC104_CheckConnect( byPortNo,wUnitID );

Rly_IEC104_Send( byPortNo,wUnitID );

// 新增对下测量装置通信状态点灯标志by suzz @20201012

wUnitAddr = Comm_Get_UnitCommAddr(wUnitID);

if(Unit_GetCommSta(wUnitID))

 

 

WORD Rly_IEC104_SendTime( BYTE byPortNo, WORD wUnitID )

{

if( FALSE ==TcpGetSockState(iTcpSockNo) ) continue; // 连接中断

wLenSended = Rly_IEC104_Send_FrameI( wUnitID, byConnIdx, bySendBuf, wMsgLen );

Hard_Tcp_TxStartup( iTcpSockNo, bySendBuf, wLenSended, ptConnCtrl->byPortNo, ENUM_DBG_MSG_SEND );

 

 

}

 

}

 

      }

int TcpClientStart( short nTcpNo )

if( FALSE ==TcpGetSockState(iTcpSockNo) ) continue; // 连接中断

// 报文接收处理函数

void Rly_IEC104_Proc( BYTE byPortNo,WORD wUnitID )

// 报文解析处理函数

void Rly_IEC104_ProcParse( BYTE byPortNo,WORD wMonID,BYTE byConnIdx,BYTE *pbyMsg104 )

{

void Rly_IEC104_Proc_FrameU( WORD wUnitID,BYTE byConnIdx,BYTE *pbyMsg104 )

 

 

 

 

// 发送S帧或测试帧

WORD Rly_IEC104_SendSU( BYTE byPortNo, WORD wUnitID )

for( byConnIdx=0; byConnIdx<CONST_UINT_EQ_MAX_NUM; byConnIdx++ )

{// 检查所有的连接

ptConnCtrl = &pt104UnitVal->tConnCtrl[byConnIdx];

iTcpSockNo = ptConnCtrl->iTcpSockNo;

if( iTcpSockNo <0 ) continue; // 连接无效

if( FALSE ==TcpGetSockState(iTcpSockNo) )

{

ptConnCtrl->byLinkStatus = 3;

ptConnCtrl->wNS = 0; // 连接中断,发送记数清零

ptConnCtrl->wNR = 0;

continue;

}

 

 

//获取TCP连接状态:

int TcpGetSockState( short nTcpNo )

 

 

// 装置初始化函数

int Rly_IEC104_UnitInit( BYTE byPortNo, WORD wUnitID )

{

 

iTcpSockNo = TcpAddConnection( byUnitIP, ptParamNet->byIP,

ptParamNet->wNetPort, ENUM_MODE_NET_CLIENT, (PFUNC)Rly_IEC104_MsgRecv );

 

TcpSetConnPara( iTcpSockNo, CONST_VOL_BUF_MSG*16, CONST_VOL_BUF_SEND, (BYTE*)0, CONST_104_CONNECTTIMEOUT, 10 );

 

TcpSetConnCheckEFun( iTcpSockNo, Rly_IEC104_CheckTCP, (void*)&ptConnCtrl->bUsed );

 

 

}

 

RLY104 TCP客户端任务:

int comm_main( void )

// 函数功能:启动TCP连接监视任务

void TcpStartNet( void )

// 函数功能:检查客户端是否被关闭,重启客户端连接

void TcpMonTask( void )

//启动客户端:

int TcpClientStart( short nTcpNo )

 

//打印信息:

计算机生成了可选文字: ,WLoopze, m TcpCtrIStruc.nTcpNoz4,SockTypeze,nStatezl,EnabIezl  ,wLoopzl, m TcpCtrIStruc.nTcpNoz4,SockTypeze,nStatez3 ,Enable—I  ,WLOOPz2, m TcpCtrIStruc.nTcpNoz4,SockTypeze,nStatezl,EnabIezl  ,WLOOPz3, m TcpCtrIStruc.nTcpNoz4,SockTypeze,nStatezl,EnabIezl!

计算机生成了可选文字: sendtO E r r 0 r ·  WLoopze, m TcpCtrIStruc.nTcpNoz4,SockTypezO,  pConn-:•ServerIPz46,48 ; cItent: 53 , 50 ,  WLoopzl, m TcpCtrIStruc.nTcpNoz4,SockTypezO,  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49 ,  WLOOPz2, m TcpCtrIStruc.nTcpNoz4,SockTypezO,  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49 ,  ,WLOOPz3, m Tcpctrlstruc . nTcpNoz4 , SockType—O ,  nStatezl  nStatez3  nStatezl  nStatezl  Enable:  Enable:  Enable:  Enable:

struct MTcpConn

{

//---------this if for tcp portnum user----------

char ServerIP[20]; // IP地址字符串

char ClientIP[20]; // IP地址字符串

short nServerPort;

int SockType; // 0=Server Type; 1=Client Type

 

//SockType 获得:

// nPort 服务端口

// nType 运行模式,0作为服务器,1作为客户端

short TcpAddConnection( BYTE* ServerIP, BYTE* ClientIP, short nPort, int nType, int ( *ReadFunc )( ), BYTE byDstSlot )

{

pConn->SockType = nType;

 

}

 

 

计算机生成了可选文字: root  root  root  [ 、 ] 1 192 16 , lS  sendto E r r 0 r ·  2 3 一 1 e 一 19 21 : 21 : e 9 e  C 0 n n e 0 t t 0 1 g 2 . 15 8 . 2 . 10 5 : G E r r 0 r  E r roNo :Ox71  ,WLOOPz8, m Tcpctrlstruc , , nStatezl , Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49 ,  ,WLoopzg, m TcpCtrIStruc.nTcpNozle,SockTypezO,nStatezl Enable—I  pConn-»ServerIPz57 49 ; cItent: 57,4g,sendto E r r 0 r ,  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·  ,WLoopze, m Tcpctrlstruc .nTcpNozle,SockTypeze , nStatez3 , Enable—I  pConn-:•ServerIPz46,48 ; cItent: 53 , 50 ,  ,wLoopzl, m TcpCtrIStruc.nTcpNozle,SockTypeze , nStatez3 , Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49 ,  ,WLOOPz2, m TcpCtrIStruc.nTcpNozle,SockTypezl , nStatezl Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49  TcpMonTask1273 WI-OOP = 2 一 一 1ixw223 一 le 一 19 21 : 21 : 01 091  ErroNo:ex6f  C 0 n n e c t t 0 1 g 2 . 15 8 . 2 . 10 0 : G E r r 0 r  ,WLOOPz3, m Tcpctrlstruc . nTcpNozle , SockType—I , , Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49 ,  TcpMonTask1273 WLOOPz3--ILXW2sendto E r r 0 r ,  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  E r r 0 r  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r  2 3 一 1 e 一 19 21 : 21 : 04 e 8 9  C 0 n n e 0 t t 0 1 g 2 . 15 8 . 2 . 101 : G E r r 0 r  E r roNo :Ox71  ,wLoopz4, m Tcpctrlstruc , , Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49 ,  TcpMonTask1273 WLOOPz4 -lixw2sendto E r r 0 r ,  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·

计算机生成了可选文字: sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  [ 、 ] 15 192 168 1 3  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  2 3 一 1 e 一 19 21 : 29 : 59 155  C 0 n n e 0 t t 0 1 g 2 . 15 8 . 2 . 10 5 : G E r r 0 r  E r roNo :Ox71  ,WLOOPz8, m , ,Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49  ,WLoopzg, m TcpCtrIStruc.nTcpNozle,SockTypeze,nStatezl Enable—I  pConn-»ServerIPz57 49 ; cItent: 57 49,sendto E r r 0 r ,  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·  sendto E r r 0 r ·  ,WLoopze, m TcpCtrIStruc.nTcpNozle,SockTypeze , ,Enable—I  pConn-:•ServerIPz46,48 ; cItent: 53 , 50 ,  ,wLoopzl, m TcpCtrIStruc.nTcpNozle,SockTypeze , nStatezl Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49  ,WLOOPz2, m TcpCtrIStruc.nTcpNozle,SockTypezl , nStatezl Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49  TcpMonTask1273 WLOOP = 2 一 一 1ixw223 一 le 一 19 21 : 39 : 1b8  ErroNo:ex6f  C 0 n n e 0 t t 0 1g2 . 158 . 2 . 100 : e E r r 0 r  ,WI-OOP—3, m , ,Enable—I  pConn-:•ServerIPz57 , 49 ; cItent: 5 7 , 49 ,  TcpMonTask1273 WI-OOP—3 -Itxw2sendto E r r 0 r ,  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  sendto  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,  E r r 0 r ,

 

 

 

 

 

int TcpClientStart( short nTcpNo )

{

        if( connect( sFd, (struct sockaddr*)&serverAddr, sockAddrSize ) == ERROR )

     {

 //连接错误!---------原因是什么?!

printf( "Connect to %s:%d Error,ErroNo:0x%x\n", pConn->ServerIP, pConn->nServerPort, errnoGet( ) );

 

 

 

     }

   

}

 

何工,您好,加密模块问题请教下您:

有关内置/外置 加密模块的:

1)23年深瑞配套珠海沃顿的,已经生产供货20套(软件是上批验收定版的,都没问题),目前是外置的加密模块,不能更换内置的;

2)内置的新产品开发中,本次来不及供货。

目前功能和使用上都没问题,看本次是否可以还是外置?后续我们更换产品规格,新产品再内置。

 

 

 

 

 

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值