546 * 第12位 电撒播感器类型 0:电流值 在应用Rogowski线圈且没有积分环节时置位。
547 * 1:电流的导数
548 * 第13位 量程标记 0:保护电流比例因子SCP=0 x01CF
549 * 1
550 * 第14位 备用
551 * 第15位 备用 552 *
553 * 【表12】:状况字2(StatusWord#2)
554 * 申明 备注
555 * 第0位 数据通道8无效标记 0
556 * 1
557 * 第1位 数据通道9无效标记 0
558 * 1
559 * 第2位 数据通道10无效标记 0
560 * 1
561 * 第3位 数据通道11无效标记 0
562 * 1
563 * 第4位 数据通道12无效标记 0:保护电流比例因子SCP=0 x00E7 :数占领效 :数据无效 :数占领效 :数据无效 :数占领效 :数据无效 :数占领效 :数据无效 :数占领效
564 * 1:数据无效
565 * 第5-7位 备用
566 * 第8-15位 自定义 567 * 568 * 569 */
570 struct svpdu_asdu_dat91 {
571 u16 asdu_length;
572 u8 ln_name;
573 u8 dataset_name;
574 u16 ld_name;
575 u16 i_pp;
576 u16 i_p0;
577 u16 u_pp;
578 u16 t_delay;
579 u32 smpdata_portnum;
580 s16 *smpdata_values;
581 u16 status_word1;
582 u16 status_word2;
583 u16 smp_cnt;
584 u8 smp_rate;
585 u8 version; 586 }; 587 588 /*
589 * read_svpdu_lpdu_head - 取得链路层svpdu报文头部信息,没有读到的数据为其本来的值
590 * @pfd: 输入输出参数,地址
591 * @len: 输入参数,数据缓冲区长度;
592 * @head: 输出参数,svpdu_lpdu_head值
593 * @counter: 输出参数,读取的字节计数器; 594 *
595 * 读成功返回当前读pfd地址,不然返回NULL; 596 * 597 */
598 _my_svpdu_ioptr read_svpdu_lpdu_head(_my_svpdu_ioptr pfd, int len, struct svpdu_lpdu_head *head, int *counter); 599 600
601 /*
602 * read_svpdu_apdu_head - 取得svpdu报文中apdu头部信息,没有读到的数据为其本来的值
603 * @pfd: 输入输出参数,地址
604 * @len: 输入参数,数据缓冲区长度;
605 * @head: 输出参数,svpdu_lpdu_head值
606 * @counter: 输出参数,读取的字节计数器; 607 *
608 * 读成功返回当前读pfd地址,不然返回NULL; 609 * 610 */
611 _my_svpdu_ioptr read_svpdu_apdu_head(_my_svpdu_ioptr pfd, int len, struct svpdu_apdu_head *head, int *counter); 612 613 /*
614 * read_svpdu_asdu_dat92 - 读取9-2-asdu具体值;
615 * @pfd: 输入输出参数,地址
616 * @len: 输入参数,数据缓冲区长度;
617 * @dat92: 输出参数,asdu具体值;
618 * @smpquality_enable: 是否有质量信息;
619 * @counter: 输出参数,读取的字节计数器; 620 *
621 * 读成功返回当前读pfd地址,不然返回NULL; 622 *
623 * 读取过程中可能会哄骗动态创建空间以保存svid_value、datset_value、smpdata_values、smpdata_qualitys数据; 624 * 625 */
626 _my_svpdu_ioptr read_svpdu_asdu_dat92(_my_svpdu_ioptr pfd, int len, struct svpdu_asdu_dat92 *dat92, int smpquality_enable, int *counter); 627 628 629 /*
630 * init_svpdu_asdu_dat92 - 初始化Dat92布局体;
631 * @dat92: 输入输出参数,asdu具体值;
632 * @setdefaultval: 参数是否赋默认值; 633 *
634 * 初始化成功返回当前dat92布局体地址,不然返回NULL; 635 * 636 */