#ifndef IEC103_CLN_IOCAN_123_INCLUDED #define IEC103_CLN_IOCAN_123_INCLUDED //如果是发布程序,定义本宏 //#define IEC60870_RELEASE #include "iec103_service_cln.h" #include "general_defines.h" #ifdef __cplusplus extern "C" { #endif /************************************************************************/ ST_RET iec103_cln_canio_init( IEC103_SERVICE_CLN_CAN *iec103_cln_canio ); ST_RET iec103_cln_canio_release( IEC103_SERVICE_CLN_CAN *iec103_cln_iocan ); ST_RET iec103_cln_canio_handle( IEC103_SERVICE_CLN_CAN *iec103_cln_iocan ); /*** 向服务器下的指定连接发送I帧,发送的时候会自动填充链路层信息(ti以前)和校验码、结束符 ***/ /*** 如果linkIndex=-1,先所有连接发送 ***/ /*** asduLen是包含校验符和结束符在内的报文总长度 ***/ ST_RET iec103_cln_canio_asdu_send( ST_UCHAR dstDev, unsigned char *apdu_buf, int apdu_len, IEC103_I_CMD_TYPE type ); ST_RET iec103_cln_canio_set_fixtime( ST_UCHAR dstDev, ST_DOUBLE delay ); ST_RET iec103_cln_canio_get_verinfo( const ST_UCHAR **verInfo, ST_UCHAR *devAddr ); ST_INT iec103_cln_canio_get_linkindex_by_dstaddr( ST_UCHAR dstAddr ); ST_RET iec103_cln_canio_interact_recv_para_get_yj( ST_UCHAR dstDev, ST_INT remoteIndex ); ST_RET iec103_cln_canio_interact_recv_para_get_tool( ST_UCHAR dstDev, ST_INT remoteIndex ); ST_RET iec103_cln_canio_interact_recv_para_set_yj( ST_UCHAR dstDev, ST_INT remoteIndex, ST_UCHAR dzNum, UNION_FLOAT *dzData ); ST_RET iec103_cln_canio_interact_recv_para_set_tool( ST_UCHAR dstDev, ST_INT remoteIndex, ST_UCHAR dzNum, UNION_FLOAT *dzData ); ST_RET iec103_cln_canio_interact_recv_para_get_by_prog( ST_UCHAR dstDev, ST_INT remoteIndex ); /************************************************************************/ #ifdef __cplusplus } #endif #endif