329 lines
8.8 KiB
C
Raw Normal View History

2024-07-15 10:31:26 +08:00
#ifndef IEC104CLN_DLL_H
#define IEC104CLN_DLL_H
///////////////////////////cbt add 2020.2.1///////////////////////
//delphi<68><69><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
typedef int (*CALLBACK_DEV_ON)(unsigned char devAddr);//װ<><D7B0>(104<30><34>վ)<29><><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>ִ<EFBFBD>иûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
typedef int (*CALLBACK_DEV_OFF)(unsigned char devAddr);//װ<><D7B0>(104<30><34>վ)<29>ѶϿ<D1B6><CFBF><EFBFBD>ִ<EFBFBD>иûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
#pragma pack(1)//1<>ֽڶ<D6BD><DAB6><EFBFBD>
//cbt add 2020.3.11 104<30><34>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ôӲ<C3B4><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct{
/*unsigned char dev_num;//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/ //cbt modified 2020.4.3ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ̨װ<EFBFBD><EFBFBD>
unsigned char dev_type;//1<><31>˾װ<CBBE>á<EFBFBD>0<EFBFBD><30>׼104Э<34><D0AD>װ<EFBFBD><D7B0>
char dev_ip[20];//ÿ̨װ<CCA8><D7B0>ip
unsigned short dev_port;//ÿ̨װ<CCA8>õĶ˿ں<CBBF>
unsigned char dev_addr;//ÿ̨װ<CCA8>õĵ<C3B5>ַ
unsigned int dev_yc_num;//ÿ̨װ<CCA8>õ<EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int dev_yc_start;//ÿ̨װ<CCA8>õ<EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
unsigned int dev_yx_num;//ÿ̨װ<CCA8>õ<EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int dev_yx_start;//ÿ̨װ<CCA8>õ<EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
unsigned int dev_dd_num;//ÿ̨װ<CCA8>õĵ<C3B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int dev_dd_start;//ÿ̨װ<CCA8>õĵ<C3B5><C4B5><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
}CLN104_PARAM;
//cbt add 2020.3.11 104<30><34>վ<EFBFBD><D5BE>̬<EFBFBD><CCAC> <20><><EFBFBD>ӱ<EFBFBD>λң<CEBB><D2A3>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct {
unsigned char dev_addr;
unsigned char dev_sector;
unsigned int dev_inf;
unsigned char yx_val;
unsigned char tm[7];
}RECORDYXBURST;
#pragma pack()
/*<2A><><EFBFBD><EFBFBD>104<30>ͻ<EFBFBD><CDBB>ˣ<EFBFBD>װ<EFBFBD><D7B0>ip<69>Ͷ˿<CDB6><CBBF>Լ<EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ<EFBFBD><D6B7>./Config.ini<6E>ļ<EFBFBD><C4BC>е<EFBFBD>YKDevAddrһ<72><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <0: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
*/
__declspec(dllexport) int iec104cln_start(CLN104_PARAM cln104_param, CALLBACK_DEV_ON callback_dev_on, CALLBACK_DEV_OFF callback_dev_off);
/*<2A>ر<EFBFBD>104<30>ͻ<EFBFBD><CDBB><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD>رճɹ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <0: <EFBFBD>ر<EFBFBD>ʧ<EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_end(void);
/*<2A><>ȡװ<C8A1>õ<EFBFBD>TCP<43><50><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>״̬д<CCAC><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>commState<74><65>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
devAddr<EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
commState : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ״̬<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱcommStateָʾ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>commState<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>3 <EFBFBD><EFBFBD>ʾ<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TCP<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ״̬ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱcommStateָʾ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD>װ<EFBFBD>õ<EFBFBD>ַû<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Config.ini<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_get_device_comm_state(unsigned char devAddr, unsigned char *commState);
/*<2A><>ȡװ<C8A1>õ<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
addr<EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD>װ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD>װ<EFBFBD>ã<EFBFBD>104<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>104<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_get_dev_status( unsigned char addr );
/*<2A><>ȡװ<C8A1>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>״̬ cbt add 2020.4.24
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
addr<EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ȡң<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>󣬻<EFBFBD>װ<EFBFBD>û<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
*/
__declspec(dllexport) int iec104cln_get_dev_callstatus( unsigned char addr );
/*<2A><>ȡң<C8A1><D2A3>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
dev_sector:װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_inf <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
yc_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱyc_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱyc_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inf) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
*/
__declspec(dllexport) int iec104cln_get_yc(unsigned char dev_addr, unsigned char dev_sector, unsigned int dev_inf, float *yc_val);
/*<2A><>ȡң<C8A1><D2A3>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
dev_sector:װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_inf <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
yx_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>Ϊ˫<EFBFBD><EFBFBD>ң<EFBFBD>š<EFBFBD>ң<EFBFBD><EFBFBD>Ϊ0x83<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ң<EFBFBD>ţ<EFBFBD>װ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱyx_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱyx_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inf) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
*/
__declspec(dllexport) int iec104cln_get_yx(unsigned char dev_addr, unsigned char dev_sector, unsigned int dev_inf, unsigned char *yx_val);
/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
dev_sector:װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_inf <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dd_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱdd_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱdd_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inf) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
*/
__declspec(dllexport) int iec104cln_get_dd(unsigned char dev_addr, unsigned char dev_sector, unsigned int dev_inf, unsigned long *dd_val);
/*<2A>·<EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
dev_sector:װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_inf <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
yk_dco<EFBFBD><EFBFBD>2 <EFBFBD>غϣ<EFBFBD>1<EFBFBD>ط<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ã<EFBFBD>104<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>104<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD>װ<EFBFBD>õ<EFBFBD>ַû<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Config.ini<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -2 :<EFBFBD><EFBFBD>һ<EFBFBD>ε<EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_yk(unsigned char dev_addr, unsigned char dev_sector, unsigned int dev_inf, unsigned char yk_dco);
/*<2A><><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>*/
#define IEC104_STATUS_CALL 0 //ͨ<><CDA8>״̬<D7B4><CCAC><EFBFBD>ٻ<EFBFBD>
#define IEC104_YX_CALL 1 //ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD>
#define IEC104_DD_CALL 2 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD>
/*<2A><><EFBFBD>ٻ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
call_type<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>ȡң<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>IEC104_YX_CALL
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ã<EFBFBD>104<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>104<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD>װ<EFBFBD>õ<EFBFBD>ַû<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Config.ini<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_call(unsigned char call_type,unsigned char dev_addr);
/* <20><>ȡң<C8A1>ű<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: yx_burst <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD>ű<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>-1δ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_read_yx_burst_record(RECORDYXBURST *yx_burst);
#if 0
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD>ݣ<EFBFBD>ң<EFBFBD>⡢ң<E2A1A2>š<EFBFBD><C5A1><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ַ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>-1ʧ<EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_get_yc_buf(float** data);
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD>ݣ<EFBFBD>ң<EFBFBD>⡢ң<E2A1A2>š<EFBFBD><C5A1><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data ң<EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ַ.ң<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ڸý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>dpiԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>-1ʧ<EFBFBD><EFBFBD>
*/
typedef struct{
unsigned char sector; //<2F><><EFBFBD><EFBFBD>
unsigned char dpi; //ң<><D2A3>ֵ
unsigned char chgFlag; //ң<>ű<EFBFBD>λ<EFBFBD><CEBB>־
unsigned char resv; //Ԥ<><D4A4>
}YXDATA_TYPE;
__declspec(dllexport) int iec104cln_get_yx_buf(YXDATA_TYPE** data);
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD>ݣ<EFBFBD>ң<EFBFBD>⡢ң<E2A1A2>š<EFBFBD><C5A1><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data <EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ַ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>-1ʧ<EFBFBD><EFBFBD>
*/
__declspec(dllexport) int iec104cln_get_dd_buf(unsigned long** data);
#else
//cbt add 2020.4.2 <20><><EFBFBD><EFBFBD>ң<EFBFBD>š<EFBFBD>ң<EFBFBD><EFBFBD><E2A1A2><EFBFBD>ȵ<EFBFBD><C8B5>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><E1B9B9>
typedef struct{
unsigned char addr;//װ<>õ<EFBFBD>ַ
unsigned char sector;//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short inf;//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>
float val;//ң<><D2A3>ֵ
unsigned int chgFlag;//ֵ<><EFBFBD>ı<EFBFBD>־<EFBFBD><D6BE><30><EFBFBD><E4BBAF>1<EFBFBD><EFBFBD><E4BBAF>
unsigned char tm[7];//<2F>仯ʱ<E4BBAF><CAB1>--<2D><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>͵IJ<CDB5><C4B2><EFBFBD>ϵͳʱ<CDB3><CAB1> cbt add 2020.4.24
}YC_TYPE;
typedef struct{
unsigned char addr;
unsigned char sector;
unsigned short inf;
unsigned char val;
unsigned char resv[3];//Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD><EBA3AC>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int chgFlag;
unsigned char tm[7];//<2F>仯ʱ<E4BBAF><CAB1>--<2D><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>͵IJ<CDB5><C4B2><EFBFBD>ϵͳʱ<CDB3><CAB1> cbt add 2020.4.24
}YX_TYPE;
typedef struct{
unsigned char addr;
unsigned char sector;
unsigned short inf;
unsigned long val;
unsigned int chgFlag;
unsigned char tm[7];//<2F>仯ʱ<E4BBAF><CAB1>--<2D><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>͵IJ<CDB5><C4B2><EFBFBD>ϵͳʱ<CDB3><CAB1> cbt add 2020.4.24
}DD_TYPE;
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD>ݣ<EFBFBD>ң<EFBFBD>⡢ң<E2A1A2>š<EFBFBD><C5A1><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Զ<EFBFBD>ƫ<EFBFBD>ƶ<EFBFBD>ȡָ<C8A1><D6B8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>-1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD>-2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩβ
*/
__declspec(dllexport) int iec104cln_get_yc_buf(YC_TYPE* data);
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD>ݣ<EFBFBD>ң<EFBFBD>⡢ң<E2A1A2>š<EFBFBD><C5A1><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Զ<EFBFBD>ƫ<EFBFBD>ƶ<EFBFBD>ȡָ<C8A1><D6B8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data ң<EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>-1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD>-2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩβ
*/
__declspec(dllexport) int iec104cln_get_yx_buf(YX_TYPE *data);
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD>ݣ<EFBFBD>ң<EFBFBD>⡢ң<E2A1A2>š<EFBFBD><C5A1><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Զ<EFBFBD>ƫ<EFBFBD>ƶ<EFBFBD>ȡָ<C8A1><D6B8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>-1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD>-2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩβ
*/
__declspec(dllexport) int iec104cln_get_dd_buf(DD_TYPE* data);
#endif
//cbt add 2020.7.27 <20>Խṹ<D4BD><E1B9B9><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD>ȡ<EFBFBD><C8A1>ң
typedef struct
{
int ret;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>ʾ<EFBFBD><CABE>ȡ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>ʱyc_val<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ч<EFBFBD><D0A7>Ϊ-1<><31>ʾ<EFBFBD><CABE>ȡʧ<C8A1>ܣ<EFBFBD><DCA3><EFBFBD>ʱyc_val<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ч
float yc_val;
}CALL_YC_TYPE;
typedef struct
{
int ret;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>ʾ<EFBFBD><CABE>ȡ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>ʱyx_val<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ч<EFBFBD><D0A7>Ϊ-1<><31>ʾ<EFBFBD><CABE>ȡʧ<C8A1>ܣ<EFBFBD><DCA3><EFBFBD>ʱyx_val<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ч
unsigned char yx_val;
}CALL_YX_TYPE;
typedef struct
{
int ret;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>ʾ<EFBFBD><CABE>ȡ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>ʱdd_val<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ч<EFBFBD><D0A7>Ϊ-1<><31>ʾ<EFBFBD><CABE>ȡʧ<C8A1>ܣ<EFBFBD><DCA3><EFBFBD>ʱdd_val<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ч
unsigned long dd_val;
}CALL_DD_TYPE;
/*<2A><>ȡң<C8A1><D2A3>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
dev_sector:װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_inf <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
yc_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱyc_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱyc_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inf) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
*/
__declspec(dllexport) CALL_YC_TYPE iec104cln_get_yc_struct(unsigned char dev_addr, unsigned char dev_sector, unsigned int dev_inf);
/*<2A><>ȡң<C8A1><D2A3>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
dev_sector:װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_inf <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
yx_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>Ϊ˫<EFBFBD><EFBFBD>ң<EFBFBD>š<EFBFBD>ң<EFBFBD><EFBFBD>Ϊ0x83<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ң<EFBFBD>ţ<EFBFBD>װ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱyx_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱyx_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inf) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
*/
__declspec(dllexport) CALL_YX_TYPE iec104cln_get_yx_struct(unsigned char dev_addr, unsigned char dev_sector, unsigned int dev_inf);
/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_addr <EFBFBD><EFBFBD>װ<EFBFBD>õ<EFBFBD>ַ
dev_sector:װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dev_inf <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dd_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD>ֵ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱdd_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱdd_val<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inf) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
*/
__declspec(dllexport) CALL_DD_TYPE iec104cln_get_dd_struct(unsigned char dev_addr, unsigned char dev_sector, unsigned int dev_inf);
////////////////////////////////////////////////////////////
#endif