From d0ded5cd9bf5070a120bad58b5be21fe2ac6a4ff Mon Sep 17 00:00:00 2001
From: C3032 <C3032@BC3032>
Date: 星期六, 20 十二月 2025 16:41:09 +0800
Subject: [PATCH] test
---
IDViewer_2D/IDViewerDefines.cs | 2259 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 2,259 insertions(+), 0 deletions(-)
diff --git a/IDViewer_2D/IDViewerDefines.cs b/IDViewer_2D/IDViewerDefines.cs
new file mode 100644
index 0000000..7931fc7
--- /dev/null
+++ b/IDViewer_2D/IDViewerDefines.cs
@@ -0,0 +1,2259 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Runtime.InteropServices;
+using static SmartScanner.IDViewerDefines;
+using System.Dynamic;
+using System.Net;
+
+namespace SmartScanner
+{
+ class IDViewerDefines
+ {
+ // 浣跨敤鏋氫妇琛ㄧず鍥炶皟娑堟伅ID
+ public enum CallbackMessageID
+ {
+ DeviceConnectionEstablished = 1,
+ DeviceConnectionClosed = 2
+ }
+
+ public enum ErrorCodes
+ {
+ ID_OK = 0, //鎴愬姛
+ ID_ERROR_ALREADY_INIT = 146000010, //宸茬粡鍒濆鍖�
+ ID_ERROR_NOT_INIT = 146000011, //鏈垵濮嬪寲
+ ID_ERRORREATE_DEVICE_INFO_NOT_EXSIST = 146000012, //褰撳墠鍒涘缓璁惧涓嶅瓨鍦�
+ ID_ERROR_SET_IP_DEVICE_ALREADYREATED = 146000013, //褰撳墠璁剧疆IP璁惧宸茬粡鍒涘缓
+ ID_ERROR_DEVICE_HAVE_OPENED = 146000014, //璁惧宸茬粡鎵撳紑
+ ID_ERROR_OPEN_DEVICEONNECT_PARAMS_ERROR = 146000015, //鎵撳紑璁惧杩炴帴鍙傛暟閿欒
+ ID_ERROR_OPEN_DEVICEONNECT_ISREATE = 146000016, //鎵撳紑璁惧杩炴帴宸茬粡鍒涘缓
+ ID_ERROR_OPEN_DEVICEONNECT_SOCKET_FAILED = 146000017, //鎵撳紑璁惧杩炴帴寤虹珛澶辫触
+ ID_ERROR_OPEN_DEVICEONNECT_FAILED = 146000018, //鎵撳紑璁惧杩炴帴澶辫触
+ ID_ERROR_DEVICE_NOT_OPEN = 146000019, //璁惧鏈墦寮�
+ ID_ERROR_DEVICE_IS_RUNNING = 146000020, //璁惧宸茬粡鍦ㄨ繍琛屾ā寮�
+ ID_ERROR_DEVICE_IS_DEBUGGING = 146000021, //璁惧宸茬粡鍦ㄨ皟璇曟ā寮�
+ ID_ERROR_DEVICE_QUERY_HARDWARE_INFO_FAILED = 146000022, //鑾峰彇璁惧纭欢淇℃伅澶辫触
+ ID_ERROR_OPEN_DEVICEREATE_DATA_RECEIVED_FAILED = 146000023, //鎵撳紑璁惧鎺ユ敹鏁版嵁鏈嶅姟鍒涘缓澶辫触
+ ID_ERROR_OPEN_DEVICE_SOLUTION_MANAGERONNECTION_FAILED = 146000024, //鎵撳紑璁惧鏃惰繛鎺ユ柟妗堢鐞嗗伐鍏峰け璐�
+ ID_ERROR_SOLUTION_MANAGER_TIMEOUT = 146000025, //鏂规绠$悊绫昏秴鏃�
+ ID_ERROR_SOLUTION_MANAGERAN_NOT_DELETEURRENT_SOLUTION = 146000026, //涓嶈兘鍒犻櫎褰撳墠鏂规
+ ID_ERROR_SOLUTION_MANAGERURRENT_SOLUTION_NOT_EXISTED = 146000027, //褰撳墠鏂规涓嶅瓨鍦�
+ ID_ERROR_SET_IP_ADDRESS_INVALID = 146000028, //璁剧疆IP鍦板潃涓嶅悎娉�
+ ID_ERROR_SET_IP_MASK_INVALID = 146000029, //璁剧疆瀛愮綉鎺╃爜鍦板潃涓嶅悎娉�
+ ID_ERROR_SET_IP_GATEWAY_INVALID = 146000030, //璁剧疆缃戝叧鍦板潃涓嶅悎娉�
+ ID_ERROR_SET_IP_ADDRESS_GATEWAY_NOT_IN_SAME_SUBNET = 146000031, //璁剧疆鐨処P鍦板潃鍜岀綉鍏充笉鍦ㄥ悓涓�缃戞
+ ID_ERROR_SET_IP_ADDRESS_ALREADY_EXISTED = 146000032, //璁剧疆鐨処P宸茬粡瀛樺湪
+ ID_ERROR_SOLUTION_MANAGER_SOLUTION_NAME_INVALID = 46000033, //鏂规鍚嶇О闈炴硶,涓嶈兘鍖呭惈<>:\"/\\|?*
+ ID_ERROR_SET_PARAMS_CAN_NOT_WHEN_RUNNING = 146000034, //杩愯涓笉鑳借缃鍙傛暟
+ ID_ERROR_SET_PARAMS_ROI_NOT_EXISTED = 146000035, //鍒犻櫎鐨凴OI涓嶅瓨鍦�
+ ID_ERROR_DEBUG_RESPONSE_TYPE_ERROR = 146000036, //璋冭瘯鍙嶉淇℃伅绫诲瀷涓嶅尮閰�
+ ID_ERROR_DEVICE_TYPE_NO_SUCH_FUNCTION = 146000037, //褰撳墠璁惧绫诲瀷娌℃湁璇ュ姛鑳�
+ ID_ERROR_DEBUG_GET_FOCUS_FAILED = 146000038, //鑾峰彇鐒﹁窛澶辫触
+ ID_ERROR_DEBUG_AUTO_FOCUS_FAILED = 146000039, //鑷姩瀵圭劍澶辫触
+ ID_ERROR_SOLUTION_LOAD_CONTENT_ERROR = 146000040, //鏂规鍐呭瑙f瀽澶辫触
+ ID_ERROR_SOLUTION_PARAMS_INDEX_ERROR = 146000041, //鍙傛暟缁勯敊璇�
+ ID_ERROR_SOLUTION_ILLUMINAN_INDEX_ERROR = 146000042, //鍏夋簮閫氶亾閿欒
+ ID_ERROR_SOLUTION_ILLUMINAN_BRIGHTNESS_VALUE_ERROR = 146000043, //鍏夋簮閫氶亾浜害閿欒
+ ID_ERROR_SOLUTION_DOWNLOAD_ERROR = 146000044, //褰撳墠鏂规涓嬭浇澶辫触
+ ID_ERROR_IMAGE_CAPTURE_TIMEOUT = 146000045, //鎶撳浘瓒呮椂
+ ID_ERROR_ROI_ADD_LIMIT_REACHED = 146000046, //ROI娣诲姞涓婇檺宸茶揪鍒�
+ ID_ERROR_SET_PARAMS_CODETYPE_NOT_EXISTED = 146000047, //鍒犻櫎鐨勭爜鍒朵笉瀛樺湪
+ ID_ERROR_DEVICE_NOT_IN_FREE_ACQUISITION_MODE = 146000048, //鐩告満鏈浜庤嚜鐢遍噰闆嗘ā寮�
+ ID_ERROR_SET_PARAMS_OCR_NOT_EXISTED = 146000049, //鍒犻櫎鐨凮CR涓嶅瓨鍦�
+ ID_ERROR_CONFIG_LOAD_CONTENT_ERROR = 146000050, //閰嶇疆鍐呭瑙f瀽澶辫触
+ ID_ERROR_CONFIG_ITEM_NOT_EXISTED = 146000051, //閰嶇疆椤逛笉瀛樺湪
+ ID_ERROR_CONFIG_ITEM_SET_FAILED = 146000052, //閰嶇疆椤硅缃け璐�
+ ID_ERROR_CONFIG_ITEM_GET_FAILED = 146000053, //閰嶇疆椤硅幏鍙栧け璐�
+ ID_ERROR_DO_ADD_LIMIT_RECHED = 146000054, //DO娣诲姞涓婇檺宸茶揪鍒�
+ ID_ERROR_TRIGGER_SOURCE_NO_EXISTED = 146000055, //瑙﹀彂婧愪笉瀛樺湪
+ ID_ERROR_PARAM_NO_FOUND = 146000056, //鍙傛暟涓嶅瓨鍦�
+ ID_ERROR_PARAM_POSITION_INVALID = 146000057, //鍙傛暟鍧愭爣寮傚父
+ ID_ERROR_SET_PARAMS_CAN_NOT_WHEN_DEBUGING = 146000058, //璋冭瘯涓笉鑳借缃鍙傛暟
+ ID_ERROR_DI_ADD_LIMIT_RECHED = 146000059, //DI娣诲姞涓婇檺宸茶揪鍒�
+
+ }
+
+ public enum IDImageType
+ {
+ ID_IMAGE_8U = 0, // 8浣嶆棤绗﹀彿绫诲瀷
+ ID_IMAGE_8S, // 8浣嶆湁绗﹀彿绫诲瀷
+ ID_IMAGE_16U, // 16浣嶆棤绗﹀彿绫诲瀷
+ ID_IMAGE_16S, // 16浣嶆湁绗﹀彿绫诲瀷
+ ID_IMAGE_32S, // 32浣嶆湁绗﹀彿绫诲瀷
+ ID_IMAGE_32F, // 32浣嶆诞鐐圭被鍨�
+ ID_IMAGE_64F // 64浣嶆诞鐐圭被鍨�
+ }
+
+ /*
+ *瑙﹀彂妯″紡
+ */
+ public enum IDTriggerModel
+ {
+ ID_TRIGGER_HOLD_MODEL_SINGLE_FRAME = 0, //鍗曞抚瑙﹀彂
+ ID_TRIGGER_HOLD_MODEL_MULTI_FRAME = 1, //澶氬抚瑙﹀彂
+ ID_TRIGGER_HOLD_MODEL_HOLD = 2, //瑙﹀彂淇濇寔
+ ID_TRIGGER_HOLD_MODEL_READ_SUCCESS = 3 //璇诲彇鎴愬姛杈撳嚭
+ }
+
+ /*
+ *淇″彿鎸佺画鏉′欢
+ */
+ public enum IDTriggerSignalHoldCondition
+ {
+ ID_TRIGGER_HOLDONDITION_TIMES = 0, //鏃堕棿
+ ID_TRIGGER_HOLDONDITION_FRAMES, //閲囬泦甯ф暟
+ }
+
+ /*
+ *瑙﹀彂婧�
+ */
+ public enum IDTriggerSource
+ {
+ //ID_TRIGGER_SOURCE_TCP_SERVER = 2, //tcp鏈嶅姟鍣ㄨЕ鍙�
+ //ID_TRIGGER_SOURCE_TCPLIENT = 3, //tcp瀹㈡埛绔Е鍙�
+ //ID_TRIGGER_SOURCE_UDP = 4, //UDP瑙﹀彂
+ //ID_TRIGGER_SOURCE_SERIAL_PORT = 5, //涓插彛瑙﹀彂
+ //ID_TRIGGER_SOURCE_HARDWARE = 13 //纭欢瑙﹀彂
+
+ ID_TRIGGER_SOURCE_SOFT = 0, //杞Е鍙�
+ ID_TRIGGER_SOURCE_AUTO, //鑷姩瑙﹀彂
+ ID_TRIGGER_SOURCE_TCP_SERVER, //tcp鏈嶅姟鍣ㄨЕ鍙�
+ ID_TRIGGER_SOURCE_TCP_CLIENT, //tcp瀹㈡埛绔Е鍙�
+ ID_TRIGGER_SOURCE_UDP, //UDP瑙﹀彂
+ ID_TRIGGER_SOURCE_SERIAL_PORT, //涓插彛瑙﹀彂
+ ID_TRIGGER_SOURCE_MODBUS, //modbus瑙﹀彂
+ ID_TRIGGER_SOURCE_EIP, //EIP瑙﹀彂
+ ID_TRIGGER_SOURCE_PROFINET, //profinet瑙﹀彂
+ ID_TRIGGER_SOURCE_FINS, //Fins鍗忚瑙﹀彂
+ ID_TRIGGER_SOURCE_MC, //MC瑙﹀彂
+ ID_TRIGGER_SOURCE_ETHERCAT, //Ethercat
+ ID_TRIGGER_SOURCE_NETWORKING, //缁勭綉瑙﹀彂
+ ID_TRIGGER_SOURCE_HARDWARE, //纭欢瑙﹀彂
+ ID_TRIGGER_SOURCE_SENSING //鎰熷簲妯″紡
+ }
+
+ /*
+ *瑙﹀彂鍙傛暟
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDTriggerParams
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool triggerStatus; //瑙﹀彂鐘舵��
+ public uint triggerDelay; //瑙﹀彂寤惰繜ms
+ public IDTriggerModel triggerModel; //瑙﹀彂妯″紡
+ public IDTriggerSignalHoldCondition conditionMode; //==淇″彿淇濇寔鏉′欢妯″紡 娉細鍙湁瑙﹀彂妯″紡閫夋嫨鈥滃甯р�濄�佲�滆鍙栨垚鍔熻緭鍑衡�濇椂鏈夋晥
+ public uint triggerFrames; //==瑙﹀彂閲囬泦甯ф暟 娉細鍙湁鍦ㄤ俊鍙蜂繚鎸佹潯浠舵ā寮忛�夋嫨鈥滈噰闆嗗抚鏁扳�濇椂鏈夋晥
+ public uint triggerDuration; //瑙﹀彂鎸佺画鏃堕棿 娉細鍙湁鍦ㄤ俊鍙蜂繚鎸佹潯浠朵负鏃垛�滄椂闂粹�濇湁鏁�
+ public uint triggerCodeNum; //璇诲彇鏉$爜鏁� 娉細鍙湁瑙﹀彂妯″紡閫夋嫨鈥滆鍙栨垚鍔熻緭鍑衡�濇椂鏈夋晥
+ public IDTriggerSource triggerSource; //瑙﹀彂婧�
+ public uint triggerInterval; //杞Е鍙戦棿闅攎s
+ [MarshalAs(UnmanagedType.I1)]
+ public bool statisticByCodeNum; //鐮佹暟鐩粺璁′娇鑳�(鍙湁瑙﹀彂妯″紡閫夋嫨鈥滆鍙栨垚鍔熻緭鍑衡�濇椂鏈夋晥)
+ }
+
+ public class IDTriggerParamsCreate
+ {
+ public IDTriggerParams createIDTriggerParams()
+ {
+ IDTriggerParams idtriParams = new IDTriggerParams();
+ idtriParams.triggerStatus = false;
+ idtriParams.triggerDelay = 0;
+ idtriParams.triggerModel = IDTriggerModel.ID_TRIGGER_HOLD_MODEL_SINGLE_FRAME;
+ idtriParams.conditionMode = IDTriggerSignalHoldCondition.ID_TRIGGER_HOLDONDITION_TIMES;
+ idtriParams.triggerFrames = 1;
+ idtriParams.triggerDuration = 2000;
+ idtriParams.triggerCodeNum = 1;
+ idtriParams.triggerSource = IDTriggerSource.ID_TRIGGER_SOURCE_TCP_SERVER;
+ idtriParams.triggerInterval = 500;
+ idtriParams.statisticByCodeNum = false;
+ return idtriParams;
+ }
+ }
+ /*
+ *纭欢瑙﹀彂鏋佹��
+ */
+ public enum IDTriggerPolarity
+ {
+ ID_HARDWARE_TRRIGER_LOW_LEVEL = 0, //浣庣數骞�
+ ID_HARDWARE_TRRIGER_HIGH_LEVEL = 1, //楂樼數骞�
+ ID_HARDWARE_TRRIGER_RISING_EDEG = 2, //涓婂崌娌�
+ ID_HARDWARE_TRRIGER_FALLING_EDEG = 3 //涓嬮檷娌�
+ }
+ /*
+ *纭欢瑙﹀彂鍙傛暟
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDHardwareTrigger
+ {
+ public uint debounceTime; //娑堟姈鏃堕棿us
+ public IDTriggerPolarity triggerPolarity; //瑙﹀彂鏋佹��
+ [MarshalAs(UnmanagedType.I1)]
+ public bool restrictCodeNum; //鍚敤鏈�澶цВ鐮佹暟
+ public uint triggerCodeNum; //鐮佹暟鐩�
+ public uint triggerTimeout; //瑙﹀彂瓒呮椂ms
+ [MarshalAs(UnmanagedType.I1)]
+ public bool elecLevelStatisticByCodeNum; //楂樹綆鐢靛钩鐮佹暟鐩粺璁′娇鑳�(楂樹綆鐢靛钩鍚敤鏈�澶цВ鐮佹暟寮�鍚墠鐢熸晥)
+ }
+
+
+ public class IDHardwareTriggerCreate
+ {
+ public IDHardwareTrigger createIDHardwareTrigger()
+ {
+ IDHardwareTrigger IDhardwareTrigger = new IDHardwareTrigger();
+ IDhardwareTrigger.debounceTime = 100;
+ IDhardwareTrigger.triggerPolarity = IDTriggerPolarity.ID_HARDWARE_TRRIGER_RISING_EDEG; //榛樿楂樼數骞充笂鍗囨部瑙﹀彂
+ IDhardwareTrigger.restrictCodeNum = false;
+ IDhardwareTrigger.triggerCodeNum = 1;
+ IDhardwareTrigger.triggerTimeout = 0;
+ IDhardwareTrigger.elecLevelStatisticByCodeNum = false;
+ return IDhardwareTrigger;
+ }
+ }
+ /*
+ *TCP鏈嶅姟鍣ㄨЕ鍙�
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDTcpServerTrigger
+ {
+ public uint port; //鏈嶅姟鍣ㄧ鍙�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string startCommand; //寮�濮嬫寚浠�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string endCommand; //缁撴潫鎸囦护
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableHEX; //鍚敤16杩涘埗
+
+ }
+
+
+ public class IDTcpServerTriggerCreate
+ {
+ public IDTcpServerTrigger createIDTcpServerTrigger()
+ {
+ IDTcpServerTrigger temTcpServer = new IDTcpServerTrigger();
+ temTcpServer.port = 1024;
+ temTcpServer.startCommand = "start";
+ temTcpServer.endCommand = "stop";
+ temTcpServer.enableHEX = false;
+ return temTcpServer;
+ }
+ }
+
+ /*
+ *TCP瀹㈡埛绔Е鍙�
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDTcpClientTrigger
+ {
+ public uint port; //鏈嶅姟鍣ㄧ鍙�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string ipAddress; //鏈嶅姟鍣↖P鍦板潃
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string startCommand; //寮�濮嬫寚浠�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string endCommand; //缁撴潫鎸囦护
+ [MarshalAs(UnmanagedType.I1)]
+ public bool heartBeatEnable; //蹇冭烦浣胯兘
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string heartBeatCmd; //蹇冭烦鎸囦护
+ public uint heartBeatPeriod; //蹇冭烦鍛ㄦ湡(ms)鏈�灏忓��50ms
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableHEX; //鍚敤16杩涘埗
+ }
+
+
+ public class IDTcpClientTriggerCreate
+ {
+ public IDTcpClientTrigger createIDTcpClientTrigger()
+ {
+ IDTcpClientTrigger temIDTcpClient = new IDTcpClientTrigger();
+ temIDTcpClient.port = 1024;
+ temIDTcpClient.ipAddress = "127.0.0.1";
+ temIDTcpClient.startCommand = "start";
+ temIDTcpClient.endCommand = "stop";
+ temIDTcpClient.heartBeatEnable = false;
+ temIDTcpClient.heartBeatCmd = "heartBeat";
+ temIDTcpClient.heartBeatPeriod = 500;
+ temIDTcpClient.enableHEX = false;
+ return temIDTcpClient;
+ }
+ }
+
+ /*
+ *涓插彛瑙﹀彂閰嶇疆,瀵瑰簲涓插彛鍙傛暟閰嶇疆浣跨敤涓插彛閫氳涓暟鎹�
+ */
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDSerialPortTrigger
+ {
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string startCommand; //寮�濮嬫寚浠�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string endCommand; //缁撴潫鎸囦护
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableHEX; //鍚敤16杩涘埗
+ }
+
+ public class IDSerialPortTriggerCreate
+ {
+ public IDSerialPortTrigger createIDSerialPortTrigger()
+ {
+ IDSerialPortTrigger temIDSerialPort = new IDSerialPortTrigger();
+
+ temIDSerialPort.startCommand = "start";
+ temIDSerialPort.endCommand = "stop";
+ temIDSerialPort.enableHEX = false;
+ return temIDSerialPort;
+ }
+ }
+
+ /*
+ *UDP瑙﹀彂
+ */
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDUDPTrigger
+ {
+ public uint port; //绔彛
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string startCommand; //寮�濮嬫寚浠�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string endCommand; //缁撴潫鎸囦护
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableHEX; //鍚敤16杩涘埗
+
+ }
+ public class IDUDPTriggerCreate
+ {
+ public IDUDPTrigger createIDUDPTrigger()
+ {
+ IDUDPTrigger temIDUDP = new IDUDPTrigger();
+ temIDUDP.port = 1025;
+ temIDUDP.startCommand = "start";
+ temIDUDP.endCommand = "stop";
+ temIDUDP.enableHEX = false;
+ return temIDUDP;
+ }
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDFilterInfo
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool preventDuplicatEnable; //棰勯槻閲嶅璇诲彇
+ [MarshalAs(UnmanagedType.I1)]
+ public bool removeDuplicateEnable; //鍘婚櫎閲嶅浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool historyTimesEnable; //鍘嗗彶杩囨护浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool readThresholdEnable; //璇诲彇闃堝�间娇鑳�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool frameDuplicateEnable; //閫愬抚鍘婚噸浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool angleEnable; //瑙掑害杩囨护寮�鍏�
+
+ public uint preventDuplicate; //棰勯槻閲嶅璇诲彇鏃堕棿
+ public uint historyTimes; //鍘嗗彶杩囨护甯ф暟
+ public uint readCountThreshold; //璇诲彇娆℃暟闃堟鏁�
+ public uint angleInit;
+ public uint angleOffset;
+
+ }
+
+
+ public class IDFilterInfoCreate
+ {
+ public IDFilterInfo createIDFilterInfo()
+ {
+ IDFilterInfo temIDFilterInfo = new IDFilterInfo
+ {
+ preventDuplicatEnable = false,
+ historyTimesEnable = false,
+ readThresholdEnable = false,
+ angleEnable = false,
+ removeDuplicateEnable = true,
+ frameDuplicateEnable = true,
+ preventDuplicate = 20,
+ historyTimes = 1,
+ readCountThreshold = 1,
+ angleInit = 0,
+ angleOffset = 0,
+ };
+
+ return temIDFilterInfo;
+ }
+ }
+
+ public enum IDFilterMode
+ {
+ ID_FILTER_MODE_REGULAR_C = 0, //鏅�氳繃婊�
+ ID_FILTER_MODE_REGEX_C //姝e垯琛ㄨ揪寮�
+ }
+
+ //姣忎釜ROI鐨刢odex鐨勮鍒�
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDFilterRules
+ {
+
+ public int minlength; //鏈�灏忔潯鐮侀暱搴�
+ public int maxlength; //鏈�澶ф潯鐮侀暱搴�
+ public long minvalue; //鏈�灏忓��
+ public long maxvalue; //鏈�澶у��
+
+ [MarshalAs(UnmanagedType.I1)]
+ public bool caseSensitive; //鍖归厤澶у皬鍐�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool onlyDigital; //绾暟瀛�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool onlyAlpha; //绾瓧姣�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string startstring; //浠ユ寚瀹氬瓧绗︿覆寮�濮�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string endstring; //浠ユ寚瀹氬瓧绗︿覆缁撴潫
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string constring; //鍖呭惈鎸囧畾瀛楃涓�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string NotConstring; //涓嶅寘鍚寚瀹氬瓧绗︿覆
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string wildcardstring;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string rule_str; //瑙勫垯鍚嶇О
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
+ public string regexPattern;
+
+ public IDFilterMode filterMode;
+ }
+
+ public class IDFilterRulesCreate
+ {
+ public IDFilterRules createIDFilterRules()
+ {
+ IDFilterRules temIDFilterRules = new IDFilterRules();
+ temIDFilterRules.minlength = 0;
+ temIDFilterRules.maxlength = 0;
+ temIDFilterRules.minvalue = 0;
+ temIDFilterRules.maxvalue = 0;
+ temIDFilterRules.startstring = "";
+ temIDFilterRules.endstring = "";
+ temIDFilterRules.constring = "";
+ temIDFilterRules.NotConstring = "";
+ temIDFilterRules.wildcardstring = "";
+ temIDFilterRules.caseSensitive = true;
+ temIDFilterRules.onlyDigital = false;
+ temIDFilterRules.onlyAlpha = false;
+
+ return temIDFilterRules;
+ }
+ }
+
+ public enum IDSortOrder
+ {
+ ID_SORT_ORDER_ROI_ASC_C = 0, // ROI 鍗囧簭
+ ID_SORT_ORDER_ROI_DESC_C, // ROI 闄嶅簭
+ ID_SORT_ORDER_CENTERX_ASC_C, // 涓績鍧愭爣 X 鍗囧簭
+ ID_SORT_ORDER_CENTERX_DESC_C, // 涓績鍧愭爣 X 闄嶅簭
+ ID_SORT_ORDER_CENTERY_ASC_C, // 涓績鍧愭爣 Y 鍗囧簭
+ ID_SORT_ORDER_CENTERY_DESC_C, // 涓績鍧愭爣 Y 闄嶅簭
+ ID_SORT_ORDER_CODEVALUE_ASC_C, // 鐮佺粨鏋滄暟鍊煎崌搴�
+ ID_SORT_ORDER_CODEVALUE_DESC_C // 鐮佺粨鏋滄暟鍊奸檷搴�
+ }
+ /*
+ *杈撳嚭鏁版嵁鏍煎紡閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDDataConfig
+ {
+ public IDSortOrder positionRules;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool noreadStatus; //鏃犺琛ラ綈浣胯兘
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] noreadString; //鏃犺琛ラ綈
+ [MarshalAs(UnmanagedType.I1)]
+ public bool conditionEnable; //杈撳嚭鏉′欢浣胯兘
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] conditionInfo; //杈撳嚭鏉′欢
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] formatInfo; //鏍煎紡鍖栦俊鎭�
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] headInfo; //澶撮儴鎻掑叆
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] tailInfo; //灏鹃儴鎻掑叆
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enterEnable; //鍥炶溅浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool lineFeedEnable; //鎹㈣浣胯兘
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] falseInfo; //鏉′欢false鏃惰緭鍑�
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] busyInfo; //BUSY鏃惰緭鍑�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool emptySendEnabel; //鍙戦�佺┖缁撴灉浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableHEX; //鍚敤16杩涘埗
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableInstantOutput; //鍚敤绔嬪嵆杈撳嚭
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableOneByOne; //鍚敤OneByOne
+ public uint oneByOnePeriod; //OneByOne鍛ㄦ湡(ms),鑼冨洿锛�20---10000
+
+ }
+
+
+ public class IDDataConfigCreate
+ {
+ public IDDataConfig createIDDataConfig()
+ {
+ IDDataConfig temIDDataConfig = new IDDataConfig();
+ temIDDataConfig.noreadStatus = false;
+ string noreadString = "NG";
+ temIDDataConfig.noreadString = noreadString.ToCharArray();
+ temIDDataConfig.conditionEnable = false;
+ string formatInfo = "<Code*String>";
+ temIDDataConfig.formatInfo = formatInfo.ToCharArray();
+ string headInfo = "";
+ temIDDataConfig.headInfo = headInfo.ToCharArray();
+ string tailInfo = "";
+ temIDDataConfig.tailInfo = tailInfo.ToCharArray();
+ temIDDataConfig.enterEnable = false;
+ temIDDataConfig.lineFeedEnable = false;
+ string falseInfo = "";
+ temIDDataConfig.falseInfo = falseInfo.ToCharArray();
+ string busyInfo = "";
+ temIDDataConfig.busyInfo = busyInfo.ToCharArray();
+ temIDDataConfig.emptySendEnabel = false;
+ temIDDataConfig.enableHEX = false;
+ temIDDataConfig.enableInstantOutput = false;
+ temIDDataConfig.enableOneByOne = false;
+ temIDDataConfig.oneByOnePeriod = 100;
+ return temIDDataConfig;
+ }
+ }
+ /*
+ *tcp鏈嶅姟鍣ㄩ�氳閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDTcpServerCommunication
+ {
+ public uint port;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status;
+ }
+
+
+ public class IDTcpServerCommunicationCreate
+ {
+ public IDTcpServerCommunication createIDTcpServerCommunication()
+ {
+ IDTcpServerCommunication temIDTcpServerCommunication = new IDTcpServerCommunication();
+
+ temIDTcpServerCommunication.status = false;
+ temIDTcpServerCommunication.port = 1024;
+ return temIDTcpServerCommunication;
+ }
+ }
+
+ /*
+ *TCP瀹㈡埛绔�氳
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDTcpClientCommunication
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status;
+ public uint port;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string ipAdress;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool heartBeatEnable; //蹇冭烦浣胯兘
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string heartBeatCmd; //蹇冭烦鎸囦护
+ public uint heartBeatPeriod; //蹇冭烦鍛ㄦ湡(ms)鏈�灏忓��50ms
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableHEX; //鍚敤16杩涘埗
+
+ }
+
+
+ public class IDTcpClientCommunicationCreate
+ {
+ public IDTcpClientCommunication createIDTcpClientCommunication()
+ {
+ IDTcpClientCommunication temIDTcpClientCommunication = new IDTcpClientCommunication();
+ temIDTcpClientCommunication.status = false;
+ temIDTcpClientCommunication.port = 1024;
+ temIDTcpClientCommunication.ipAdress = "127.0.0.1";
+
+ temIDTcpClientCommunication.heartBeatEnable = false;
+ temIDTcpClientCommunication.heartBeatCmd = "heartBeat";
+
+ temIDTcpClientCommunication.heartBeatPeriod = 500;
+ temIDTcpClientCommunication.enableHEX = false;
+ return temIDTcpClientCommunication;
+ }
+ }
+
+ /*
+ *涓插彛娉㈢壒鐜�
+ */
+ public enum IDBaud
+ {
+ ID_BAUDBR_110 = 0,
+ ID_BAUDBR_300 = 1,
+ ID_BAUDBR_600 = 2,
+ ID_BAUDBR_1200 = 3,
+ ID_BAUDBR_2400 = 4,
+ ID_BAUDBR_4800 = 5,
+ ID_BAUDBR_9600 = 6,
+ ID_BAUDBR_14400,
+ ID_BAUDBR_19200 = 8,
+ ID_BAUDBR_38400 = 9,
+ ID_BAUDBR_56000,
+ ID_BAUDBR_57600 = 11,
+ ID_BAUDBR_115200 = 12,
+ ID_BAUDBR_128000,
+ ID_BAUDBR_256000
+ }
+
+
+ /*
+ *涓插彛鏍¢獙浣�
+ */
+ public enum IDParity
+ {
+ ID_PARITY_NONE = 0, //鏃�
+ ID_PARITY_ODD, //濂囨牎楠�
+ ID_PARITY_EVEN //鍋舵牎楠�
+ }
+
+
+ /*
+ *涓插彛鏁版嵁浣�
+ */
+ public enum IDDatabits
+ {
+ ID_DATABITS_5BIT = 0,
+ ID_DATABITS_6BIT = 1,
+ ID_DATABITS_7BIT = 2,
+ ID_DATABITS_8BIT = 3
+ }
+
+
+ /*
+ *涓插彛鍋滄浣�
+ */
+ public enum IDStopbits
+ {
+ ID_STOPBITS_ONE = 0,
+ ID_STOPBITS_TWO = 1
+ }
+
+ /*
+ *涓插彛閫氳閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDSerialPortCommunication
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status;
+ public IDBaud baudRate; //娉㈢壒鐜�
+ public IDParity parity; //鏍¢獙浣�
+ public IDDatabits databits; //鏁版嵁浣�
+ public IDStopbits stopbits; //鍋滄浣�
+
+ }
+
+ public class IDSerialPortCommunicationCreate
+ {
+ public IDSerialPortCommunication createIDSerialPortCommunication()
+ {
+ IDSerialPortCommunication temIDSerialPortCommunication = new IDSerialPortCommunication();
+ temIDSerialPortCommunication.status = false;
+ temIDSerialPortCommunication.baudRate = IDBaud.ID_BAUDBR_9600;
+ temIDSerialPortCommunication.parity = IDParity.ID_PARITY_NONE;
+ temIDSerialPortCommunication.databits = IDDatabits.ID_DATABITS_8BIT;
+ temIDSerialPortCommunication.stopbits = IDStopbits.ID_STOPBITS_ONE;
+
+ return temIDSerialPortCommunication;
+ }
+ }
+
+ /*
+ *閿洏杈撳嚭
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDKeyboardConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status;
+ }
+
+
+
+ /*
+ *EIP閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDEipConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool resultSwap;//缁撴灉浜ゆ崲
+ public uint inputSize;//杈撳叆缁勪欢澶у皬
+ public uint outputSize;//杈撳嚭缁勪欢澶у皬
+ public uint resultTimeout;//缁撴灉瓒呮椂
+
+ }
+
+ public class IDEipConfigCreate
+ {
+ public IDEipConfig createIDEipConfig()
+ {
+ IDEipConfig temIDEipConfig = new IDEipConfig();
+ temIDEipConfig.enable = false;
+ temIDEipConfig.resultSwap = false;
+ temIDEipConfig.inputSize = 200;
+ temIDEipConfig.outputSize = 200;
+ temIDEipConfig.resultTimeout = 1000;
+
+ return temIDEipConfig;
+ }
+ }
+
+ /*
+ *modbus瑙掕壊
+ */
+ public enum IDModbusRole
+ {
+ ID_MODBUS_ROLE_MASTER = 0,
+ ID_MODBUS_ROLE_SLAVE = 1
+ }
+
+
+ /*
+ *modbus杩炴帴绫诲瀷
+ */
+ public enum IDModbusConnectionType
+ {
+ ID_MODBUSONNECTION_TCP = 0,
+ ID_MODBUSONNECTIONOM_RTU
+ }
+
+
+ /*
+ *modbus鍔熻兘妯″潡
+ */
+ public enum IDModbusFunction
+ {
+ ID_MODBUS_FUNCTIONOILS = 2, //绾垮湀
+ ID_MODBUS_FUNCTION_HOLDING_REGISTERS = 4 //淇濇寔瀵勫瓨鍣�
+ }
+
+
+ /*
+ *modbus閫氳閰嶇疆,瀵瑰簲涓插彛鍙傛暟閰嶇疆浣跨敤涓插彛閫氳涓暟鎹�
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDModbusConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status; //浣胯兘
+ public IDModbusRole role; //瑙掕壊,涓荤珯/浠庣珯
+ public IDModbusConnectionType connectionType; //杩炴帴绫诲瀷
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string tcpServerIp; //鍋氫富绔欐槸杩炴帴浠庣珯IP
+ public uint tcpPort; //tcp绔彛
+ public uint timeout; //瓒呮椂鏃堕棿
+ public uint retriesNum; //閲嶈瘯娆℃暟
+ public uint serverAddress; //鏈嶅姟鍣ㄥ湴鍧�
+ public IDModbusFunction function; //鏁版嵁鍔熻兘妯″潡
+ public uint startAddress; //寮�濮嬪湴鍧�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool resultSwap; //鏁版嵁浜ゆ崲
+ public uint resultTimeout; //缁撴灉瓒呮椂
+
+ }
+
+
+ public class IDModbusConfigCreate
+ {
+ public IDModbusConfig createIDModbusConfig()
+ {
+ IDModbusConfig temIDModbusConfig = new IDModbusConfig();
+ temIDModbusConfig.status = false;
+ temIDModbusConfig.role = IDModbusRole.ID_MODBUS_ROLE_MASTER;
+ temIDModbusConfig.connectionType = IDModbusConnectionType.ID_MODBUSONNECTION_TCP;
+ temIDModbusConfig.tcpServerIp = "127.0.0.1";
+ temIDModbusConfig.tcpPort = 512;
+ temIDModbusConfig.timeout = 3000;
+ temIDModbusConfig.retriesNum = 300;
+ temIDModbusConfig.serverAddress = 0;
+ temIDModbusConfig.function = IDModbusFunction.ID_MODBUS_FUNCTION_HOLDING_REGISTERS;
+ temIDModbusConfig.startAddress = 0;
+ temIDModbusConfig.resultSwap = false;
+ temIDModbusConfig.resultTimeout = 1000;
+
+ return temIDModbusConfig;
+ }
+ }
+
+
+ /*
+ *profinet閫氳閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDProfinetConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable; //浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool serialModule; //涓插彛妯″潡
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string ipAddress; //閰嶇疆鍚�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool resultSwap; //鏁版嵁浜ゆ崲
+ public uint resultSize; //缁撴灉澶у皬(瀛楄妭Bytes)
+ public uint resultTimeout; //缁撴灉瓒呮椂鏃堕棿(ms)
+
+ }
+
+ public class IDProfinetConfigCreate
+ {
+ public IDProfinetConfig createIDProfinetConfig()
+ {
+ IDProfinetConfig temIDProfinetConfig = new IDProfinetConfig();
+
+ temIDProfinetConfig.enable = false;
+ temIDProfinetConfig.serialModule = false;
+ temIDProfinetConfig.ipAddress = "127.0.0.1";
+ temIDProfinetConfig.resultSwap = false;
+ temIDProfinetConfig.resultSize = 200;
+ temIDProfinetConfig.resultTimeout = 1000;
+ return temIDProfinetConfig;
+ }
+ }
+
+ /*
+ *鍥惧儚鏍煎紡
+ */
+ public enum IDImageFormat
+ {
+ ID_IMAGE_FORMAT_JPG = 0,
+ ID_IMAGE_FORMAT_PNG,
+ ID_IMAGE_FORMAT_BMP,
+ ID_IMAGE_FORMAT_RANDERING_JPG, //娓叉煋鍥綣PG
+ ID_IMAGE_FORMAT_RANDERING_PNG, //娓叉煋鍥綪NG
+ ID_IMAGE_FORMAT_RANDERING_BMP //娓叉煋鍥綠MP
+ }
+
+
+ public enum IDFtpSendModel
+ {
+ ID_FTP_SEND_MODEL_NOT = 0, //涓嶄繚瀛�
+ ID_FTP_SEND_MODEL_NG, //NG淇濆瓨
+ ID_FTP_SEND_MODEL_ALL, //鍏ㄤ繚瀛�
+ ID_FTP_SEND_MODELONDITION //鎸囧畾鏉′欢
+ }
+
+ public enum IDFtpSaveStrategy
+ {
+ ID_FTP_SAVE_STRATEGY_ALL_C = 0, // 鍏ㄩ儴甯�
+ ID_FTP_SAVE_STRATEGY_LATEST_C, // 鏈�鏂板抚
+ ID_FTP_SAVE_STRATEGY_SPECIFIC_INDEX_C, // 鎸囧畾甯�
+ ID_FTP_SAVE_STRATEGY_SPECIFIC_RANGE_C, // 鎸囧畾鑼冨洿
+ }
+
+ public struct IDFTPSavePolicy
+ {
+ public IDFtpSaveStrategy saveStrategy; // 淇濆瓨绛栫暐
+ public int frameIndex; // 鎸囧畾甯у彿锛堜粎褰撶瓥鐣ヤ负淇濆瓨鎸囧畾甯ф椂浣跨敤锛�
+ public int rangeStartFrame; // 璧峰甯у彿锛堜粎褰撶瓥鐣ヤ负淇濆瓨鎸囧畾鑼冨洿甯ф椂浣跨敤锛�
+ public int rangeEndFrame; // 缁撴潫甯у彿锛堜粎褰撶瓥鐣ヤ负淇濆瓨鎸囧畾鑼冨洿甯ф椂浣跨敤锛�
+
+ }
+
+
+ /*
+ *FTP閰嶇疆淇℃伅
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDFtpConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status; //浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isLocal; //鏈湴淇濆瓨
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string iPAddress; //鏈嶅姟鍣↖P
+ public uint port; //鏈嶅姟鍣ㄧ鍙�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string username; //鐢ㄦ埛鍚�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string password; //瀵嗙爜
+ public IDImageFormat imageformat; //鍥惧儚鏍煎紡
+ public uint compressionRate; //鍘嬬缉鐜�
+ public uint maxImageCount; //鏈�澶т繚瀛樺紶鏁�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string filePath; //鍥惧儚璺緞
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string defaultFileName; //榛樿鏂囦欢鍚�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string localSavePath; //鏈湴淇濆瓨璺緞
+ [MarshalAs(UnmanagedType.I1)]
+ public bool containsBarcodeDateEnable; //鍖呭惈鏃堕棿鎴�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool containsNumberEnable; //鍖呭惈搴忓彿
+ [MarshalAs(UnmanagedType.I1)]
+ public bool containsFrameNumberEnable;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isDecodingResultNaming; //鍖呭惈缁撴灉
+ [MarshalAs(UnmanagedType.I1)]
+ public bool containsBarcodeIDEnable; //ID鍛藉悕
+ [MarshalAs(UnmanagedType.I1)]
+ public bool containsTriggerSequenceEnable;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string sendCondition; //鍙戦�佹潯浠�
+ public IDFTPSavePolicy savePolicy;
+
+ [MarshalAs(UnmanagedType.I1)]
+ public bool resultRenderingEnable;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool boundingBoxRenderingEnable;
+ }
+
+ public class IDFtpConfigCreate
+ {
+ public IDFtpConfig createIDFtpConfig()
+ {
+ IDFtpConfig temIDFtpConfig = new IDFtpConfig();
+
+ temIDFtpConfig.status = false;
+ temIDFtpConfig.isLocal = true;
+
+ temIDFtpConfig.iPAddress = "127.0.0.1";
+
+
+ temIDFtpConfig.port = 2121;
+ temIDFtpConfig.username = "ftp";
+
+
+ temIDFtpConfig.password = "123456";
+
+
+
+ temIDFtpConfig.imageformat = IDImageFormat.ID_IMAGE_FORMAT_BMP;
+ temIDFtpConfig.compressionRate = 6;
+ temIDFtpConfig.maxImageCount = 50;
+
+ temIDFtpConfig.filePath = "";
+
+
+ temIDFtpConfig.localSavePath = "/root/solution/NG_Image";
+
+
+ temIDFtpConfig.defaultFileName = "image";
+
+ temIDFtpConfig.containsBarcodeDateEnable = true;
+ temIDFtpConfig.containsNumberEnable = false;
+ temIDFtpConfig.isDecodingResultNaming = false;
+ temIDFtpConfig.containsBarcodeIDEnable = false;
+ temIDFtpConfig.sendCondition = "NG send";
+
+
+ //temIDFtpConfig.sendModel = IDFtpSendModel.ID_FTP_SEND_MODEL_NG;
+
+ return temIDFtpConfig;
+ }
+ }
+ /*
+ *鐩戞帶HTTP閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDWebpageConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status; //浣胯兘
+ public int port; //绔彛
+ public int imageQuality; //鍥惧儚璐ㄩ噺
+ [MarshalAs(UnmanagedType.I1)]
+ public bool resultDispaly; //缁撴灉灞曠ず
+ [MarshalAs(UnmanagedType.I1)]
+ public bool imageDisplay; //鍥惧儚灞曠ず
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
+ public string displayInfo; //鏄剧ず淇℃伅
+
+ }
+
+ public class IDWebpageConfigCreate
+ {
+ public IDWebpageConfig createIDWebpageConfig()
+ {
+ IDWebpageConfig temIDWebpageConfig = new IDWebpageConfig();
+ temIDWebpageConfig.status = false;
+ temIDWebpageConfig.port = 8080;
+ temIDWebpageConfig.imageQuality = 60;
+ temIDWebpageConfig.resultDispaly = true;
+ temIDWebpageConfig.imageDisplay = true;
+ temIDWebpageConfig.displayInfo = "";
+
+ return temIDWebpageConfig;
+ }
+
+ }
+ /*
+ * FINS閫氳閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDFinsConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status; //浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isTcp; //TCP/UDP
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string serverIp; //鏈嶅姟鍣↖P
+ public uint port; //鏈嶅姟鍣ㄧ鍙�
+ public uint startAddress; //寮�濮嬪湴鍧�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool resultSwap; //鏁版嵁浜ゆ崲
+ public uint resultSize; //缁撴灉澶у皬(瀛楄妭Bytes)
+ public uint resultTimeout; //缁撴灉瓒呮椂(ms)
+
+ }
+
+ public class IDFinsConfigCreate
+ {
+ public IDFinsConfig createIDFinsConfig()
+ {
+ IDFinsConfig temIDFinsConfig = new IDFinsConfig();
+
+ temIDFinsConfig.status = false;
+ temIDFinsConfig.isTcp = true;
+ temIDFinsConfig.serverIp = "0.0.0.0";
+ temIDFinsConfig.port = 9600;
+ temIDFinsConfig.startAddress = 0;
+ temIDFinsConfig.resultSwap = false;
+ temIDFinsConfig.resultSize = 200;
+ temIDFinsConfig.resultTimeout = 1000;
+ return temIDFinsConfig;
+ }
+ }
+ /*
+ *HTTP鍙戦�佹柟寮�
+ */
+ public enum IDHttpMethod
+ {
+ ID_HTTP_METHOD_POST = 0,
+ ID_HTTP_METHOD_GET
+ }
+
+
+ /*
+ * Http閫氳閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDHttpConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool status;
+ public IDHttpMethod method;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
+ public string httpURL;
+
+ }
+
+ public class IDHttpConfigCreate
+ {
+ public IDHttpConfig createIDHttpConfig()
+ {
+ IDHttpConfig temIDHttpConfig = new IDHttpConfig();
+
+ temIDHttpConfig.status = false;
+ temIDHttpConfig.method = IDHttpMethod.ID_HTTP_METHOD_POST;
+ temIDHttpConfig.httpURL = "";
+ return temIDHttpConfig;
+ }
+ }
+
+ /*
+ *缁勭綉鏁版嵁閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDNetworkingConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool networkingEnable; //缁勭綉鍚敤
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isMaster; //鏄惁鏄富鏈�
+ public uint communitionPort; //杩炴帴绔彛
+ public uint masterTimeout; //涓绘満瓒呮椂
+ public uint masterMaxConnectNumber; //涓绘満鏈�澶ц杩炴帴鏁�
+ public uint slaveID; //浠庢満ID
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isTriggerSlave; //鏄惁瑙﹀彂浠庢満
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string masterIP; //涓绘満IP
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isReceiveTrigger; //鏄惁鎺ュ彈涓绘満瑙﹀彂
+
+ public uint triggerDelayTime; //瑙﹀彂寤舵椂
+
+ [MarshalAs(UnmanagedType.I1)]
+ public bool ConnectionStatus; //杩炴帴鐘舵��
+ [MarshalAs(UnmanagedType.I1)]
+ public bool deviceRoiPlaceholder; //璁惧ROI琛ラ綈鍗犱綅
+
+ }
+
+ public class IDNetworkingConfigCreate
+ {
+ public IDNetworkingConfig createIDNetworkingConfig()
+ {
+ IDNetworkingConfig temIDNetworkingConfig = new IDNetworkingConfig();
+
+ temIDNetworkingConfig.networkingEnable = false;
+ temIDNetworkingConfig.isMaster = true;
+ temIDNetworkingConfig.communitionPort = 5128;
+ temIDNetworkingConfig.masterTimeout = 1500;
+ temIDNetworkingConfig.masterMaxConnectNumber = 8;
+ temIDNetworkingConfig.slaveID = 1;
+ temIDNetworkingConfig.isTriggerSlave = false;
+ temIDNetworkingConfig.masterIP = "127.0.0.1";
+ temIDNetworkingConfig.isReceiveTrigger = false;
+ temIDNetworkingConfig.triggerDelayTime = 1;
+ temIDNetworkingConfig.ConnectionStatus = false;
+ temIDNetworkingConfig.deviceRoiPlaceholder = false;
+ return temIDNetworkingConfig;
+ }
+ }
+
+ //鏉$爜绫诲瀷鏋氫妇
+ public enum IDCodeType
+ {
+ IDODETYPE_UNKNOWN = 0x0,
+ IDODETYPEODE39 = 0x1,
+ IDODETYPEODE128 = 0x2,
+ IDODETYPE_EAN8 = 0x4,
+ IDODETYPE_EAN13 = 0x8,
+ IDODETYPE_UPC_A = 0x10,
+ IDODETYPE_UPC_E = 0x20,
+ IDODETYPEODE93 = 0x40,
+ IDODETYPE_ITF = 0x80,
+ IDODETYPE_GS1_128 = 0x100,
+ IDODETYPE_GS1_DATABAR_EXPANDED = 0x200,
+ IDODETYPE_GS1_DATABAR = 0x400,
+ IDODETYPE_GS1_DATABAR_STACKED = 0x600,
+ IDODETYPE_GS1_DATABAR_EXPANDED_STACKED = 0x800,
+ IDODETYPE_GS1_DATABAR_LINITED = 0x1000,
+ IDODETYPE_PHARMACODE = 0x2000,
+ IDODETYPE_MSI = 0x4000,
+ IDODETYPE_PLESSEY = 0x8000,
+ IDODETYPEODEBAR = 0x10000,
+ IDODETYPE_INT2OF5 = 0x20000,
+ IDODETYPE_STD2OF5 = 0x40000,
+ IDODETYPE_MTX2OF5 = 0x80000,
+ IDODETYPE_DATAMATRIX = 0x04000000,
+ IDODETYPE_QRCODE = 0x08000000,
+ IDODETYPE_PDF417 = 0x010000000,
+ IDODETYPE_MICROQR = 0x020000000,
+ IDODETYPE_AZTEC = 0x040000000,
+ ID_CODETYPE_VERICODEC = 0x070000000
+ }
+
+ /*
+ *MC閫氫俊PLC鍨嬪彿
+ */
+ public enum IDMcBrandModel
+ {
+ ID_MC_BRAND_L_C = 0,
+ ID_MC_BRAND_Q_C = 1,
+ ID_MC_BRAND_R_C = 2,
+ ID_MC_BRAND_A_C = 4,
+ ID_MC_BRAND_FX3U_C = 5,
+ ID_MC_BRAND_FX5U_C = 6
+ }
+
+
+ /*
+ *MC閫氫俊鏁版嵁鏍煎紡
+ */
+ public enum IDMcDataFormat
+ {
+ ID_MC_DATA_BIN_C = 0,
+ ID_MC_DATA_ASCII_C
+ }
+
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDDeviceInfo
+ {
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string networkIP;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string networkMask;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string networkGateway;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string networkAdapterFriendName;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string networkMac;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
+ public string cameraIP;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraNetMask;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraGateWay;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraMac;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraSN;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraModel;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraManufucturer;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraSoftwareVersion;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraFirmwareVersion;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraAlias;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string cameraType;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
+ public string deviceFullType; //璁惧瀹屾暣鍨嬪彿
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
+ public string cameraChipType; //鐩告満鑺墖绫诲瀷
+ public uint cameraImageWidth; //鐩告満鍥惧儚瀹藉害
+ public uint cameraImageHeight; //鐩告満鍥惧儚楂樺害
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isRTDevice; //鏄惁涓哄疄鏃惰澶�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool globalExposure; //鍏ㄥ眬鏇濆厜
+ [MarshalAs(UnmanagedType.I1)]
+ public bool autoFocus; //鑷姩瀵圭劍
+ public uint lightChannelNum; //鍏夋簮閫氶亾鏁�
+ public uint diNum; //DI寮曡剼鏁�
+ public uint doNum; //DO寮曡剼鏁�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool blueToothInterface; //钃濈墮璁惧
+ [MarshalAs(UnmanagedType.I1)]
+ public bool serialPortInterface; //涓插彛鎺ュ彛
+ [MarshalAs(UnmanagedType.I1)]
+ public bool usbInterface; //USB鎺ュ彛
+ [MarshalAs(UnmanagedType.I1)]
+ public bool wirelessInterface; //WIFI鎺ュ彛
+ [MarshalAs(UnmanagedType.I1)]
+ public bool ethernetInterface; //浠ュお缃戞帴鍙�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool busyState; //蹇欑鐘舵��
+ }
+
+ //纭欢淇℃伅閫氱敤鑺傜偣缁撴瀯浣�
+ public struct IDNodeParam
+ {
+ public float maxValue;
+ public float minValue;
+ public float value;
+ public int type;
+ }
+
+ public IDNodeParam createIDNodeParam()
+ {
+ IDNodeParam param;
+ param.maxValue = 0;
+ param.minValue = 0;
+ param.value = 0;
+ param.type = 0;
+ return param;
+ }
+
+
+ //纭欢淇℃伅缁撴瀯浣�
+ public struct IDDeviceHarewareParams
+ {
+ public int imageWidth;
+ public int imageHight;
+ public IDNodeParam exposureStep;
+ public IDNodeParam exposure;
+ public IDNodeParam gamma;
+ public IDNodeParam gain;
+ public IDNodeParam illuminanatInerval;
+
+ public IDNodeParam focusingLocation;
+ public IDNodeParam DICount;
+ public IDNodeParam DOCount;
+ public IDNodeParam isOpenSightingDevice;
+ }
+
+
+ public IDDeviceHarewareParams createID_DEVICE_HARDWARE_PARAMS()
+ {
+ IDDeviceHarewareParams HarewareParams;
+ HarewareParams.imageWidth = 0;
+ HarewareParams.imageHight = 0;
+ HarewareParams.exposureStep = createIDNodeParam();
+ HarewareParams.exposure = createIDNodeParam();
+ HarewareParams.gamma = createIDNodeParam();
+ HarewareParams.gain = createIDNodeParam();
+ HarewareParams.illuminanatInerval = createIDNodeParam();
+
+ HarewareParams.focusingLocation = createIDNodeParam();
+ HarewareParams.DICount = createIDNodeParam();
+ HarewareParams.DOCount = createIDNodeParam();
+ HarewareParams.isOpenSightingDevice = createIDNodeParam();
+
+ return HarewareParams;
+
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ //鐐圭被鍨嬬粨鏋勪綋
+ public struct IDPoint
+ {
+ public double x;
+ public double y;
+ }
+
+
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDROIInfo
+ {
+
+ public IDPoint topLeftPoint;
+ public IDPoint bottomRightPoint;
+ public IDCodeType codeType;
+ public uint roiIndex;
+ public uint codeNum;
+ public uint timeout;
+ }
+
+ public class IDDeviceROI
+ {
+ // 鍒涘缓IDROIInfo鐨勬柟娉�
+ public IDROIInfo CreateIDROIInfo()
+ {
+ IDROIInfo temROIInfo = new IDROIInfo
+ {
+ codeNum = 1,
+ timeout = 500,
+
+ };
+
+ return temROIInfo;
+ }
+ }
+
+
+
+ //璐ㄩ噺璇勪及杈撳嚭缁撴灉
+ //ISO IEC 15416-2016 涓�缁寸爜
+ public struct IDQuality15416
+ {
+ public float overallQuality; //鎬昏川閲�
+ public float decode; //鍙В鐮佹��
+ public float edgeDetermination; //杈圭紭纭畾
+ public float symbolContrast; //瀛楃瀵规瘮搴�
+ public float minReflectance; //鏈�灏忓弽灏勭巼
+ public float minEdgeContrast; //鏈�灏忚竟缂樺姣斿害
+ public float modulation; //璋冨埗
+ public float quietZone; //闈欐鍖�
+ public float decodability; //瑙g爜瀹归敊搴�
+ public float defects; //缂洪櫡
+ }
+
+
+ //ISO_IEC15415-2011 QR
+ public struct IDQualityQR15415
+ {
+ public float overallQuality; //鎬昏川閲�
+ public float decode; //鍙В鐮佹��
+ public float symbolContrast; //瀛楃瀵规瘮搴�
+ public float fixedPatternDamage; //鍥哄畾妯″潡鎹熷潖
+ public float modulation; //璋冨埗
+ public float reflectanceMargin; //鍙嶅皠瑁曞害
+ public float unusedErrCorrection; //鏈娇鐢ㄧ籂閿欑爜
+ public float axialNonuniformity; //杞村悜涓嶅潎鍖�鎬�
+ public float gridNonuniformity; //缃戞牸涓嶅潎鍖�鎬�
+ public float formatInformation; //鏍煎紡淇℃伅
+ public float versionInformation; //鐗堟湰淇℃伅
+ public float contrastUniformity;
+ public float printGrowth;
+ public float aperture;
+ }
+
+ //DM 15415鐮佽川閲�
+ public struct IDQualityDM15415
+ {
+ public float overallQuality; //鎬昏川閲�
+ public float decode; //鍙В鐮佹��
+ public float symbolContrast; //瀛楃瀵规瘮搴�
+ public float fixedPatternDamage; //鍥哄畾妯″潡鎹熷潖
+ public float modulation; //璋冨埗
+ public float reflectanceMargin; //鍙嶅皠瑁曞害
+ public float unusedErrCorrection; //鏈娇鐢ㄧ籂閿欑爜
+ public float axialNonuniformity; //杞村悜涓嶅潎鍖�鎬�
+ public float gridNonuniformity; //缃戞牸涓嶅潎鍖�鎬�
+ public float contrastUniformity;
+ public float printGrowth;
+ public float aperture;
+ }
+
+
+ //ISO IEC TR 29158-2011(AIM-DPM-1-2006)
+ public struct IDQualityDM29518
+ {
+ public float overallQuality; //鎬昏川閲�
+ public float decode; //鍙В鐮佹��
+ public float cellContrast; //鍗曞厓瀵规瘮搴�
+ public float cellModulation; //鍗曞厓璋冨埗
+ public float reflectanceMargin; //鍙嶅皠瑁曞害
+ public float fixedPatternDamage; //鍥哄畾妯″潡鎹熷潖
+ public float axialNonuniformity; //杞村悜涓嶅潎鍖�鎬�
+ public float gridNonuniformity; //缃戞牸涓嶅潎鍖�鎬�
+ public float unusedErrCorrection; //鏈娇鐢ㄧ籂閿欑爜
+ public float contrastUniformity;
+ public float meanLight;
+ public float printGrowth;
+ public float aperture;
+ }
+
+ //QR 29158缁撴瀯浣�
+ public struct IDQualityQR29518
+ {
+ public float overallQuality; //鎬昏川閲�
+ public float decode; //鍙В鐮佹��
+ public float cellContrast; //鍗曞厓瀵规瘮搴�
+ public float cellModulation; //鍗曞厓璋冨埗
+ public float reflectanceMargin; //鍙嶅皠瑁曞害
+ public float fixedPatternDamage; //鍥哄畾妯″潡鎹熷潖
+ public float axialNonuniformity; //杞村悜涓嶅潎鍖�鎬�
+ public float gridNonuniformity; //缃戞牸涓嶅潎鍖�鎬�
+ public float unusedErrCorrection; //鏈娇鐢ㄧ籂閿欑爜
+ public float formatInformation; //鏍煎紡淇℃伅
+ public float versionInformation; //鐗堟湰淇℃伅
+ public float contrastUniformity;
+ public float meanLight;
+ public float printGrowth;
+ public float aperture;
+ }
+
+ //PDF417 15415褰撳墠绠楁硶鏆備笉鏀寔
+ public struct IDQualityPDF417_15415
+ {
+ public float overallQuality;
+ public float decode;
+ public float symbolContrast;
+ public float fixPattern;
+ public float modulation;
+ public float unusedErrCorrection;
+ public float axialNonuniformity;
+ public float gridNonuniformity;
+ public float startStopPattern;
+ public float codewordYield;
+ public float defects;
+ public float aperture;
+ }
+
+
+
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1, Size = 36)]
+ public struct IDDecodeInfo
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool decodeStatus; //瑙g爜缁撴灉鐘舵�丱K/NG
+ public float runtime; //瑙g爜鑰楁椂
+ public uint hardParamIndex;
+ public uint successCount; //瑙g爜鎴愬姛鏁�
+ public uint failedCount; //瑙g爜澶辫触鏁�
+ public uint decodeCount; //鎬昏В鐮佹暟
+ public double decodeRate; //瑙g爜鐜�
+ public uint IDDecodeROIInfoLength; //ROI鐨勪釜鏁�
+ }
+
+
+ //褰撳墠ROI瑙g爜缁撴灉
+ public struct IDDecodeROIInfo
+ {
+
+ public int roiIndex; //绗嚑涓猂OI
+ public int decodeReusltLength; //鐩墠鍙細鏈変竴涓爜鍒讹紝缁撴灉涓�1锛屽悗缁繚鐣欏彲鎵╁睍鎬�
+ }
+
+
+ //褰撳墠瑙g爜绫诲瀷,鍙湁涓�涓爜鍒舵湁鏁版嵁
+ public struct IDDecodeResult
+ {
+ public int conbination;
+ public int dmResultsLength;
+ public int qrResultsLength;
+ public int pdf417ResultsLength;
+ public int barcodeResultsLength;
+ }
+
+ //DM瑙g爜缁撴灉
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDDMCodeResult
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool state; // 褰撳墠缁撴灉瑙g爜鐘舵��
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] subType; // 瀛愮被鍨�
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] codeString; // 瑙g爜缁撴灉
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] polarity; // 鏋佹��
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] shape; // 鏍峰紡
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] mirror; // 闀滃儚
+ public int contrast; // 瀵规瘮搴�
+ public float moduleSize;
+ public float orientation;
+
+ }
+
+
+
+ //QR瑙g爜缁撴灉
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDQRCodeResult
+ {
+
+ [MarshalAs(UnmanagedType.I1)]
+ public bool state; //褰撳墠缁撴灉瑙g爜鐘舵��
+ //IDCodeType codeType; //鏉$爜绫诲瀷
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] codeString; //瑙g爜缁撴灉
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] subType;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] polarity;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] errorLevel;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] mirror; //闀滃儚
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] version; //鐗堟湰淇℃伅
+ public int contrast;
+ public float moduleSize;
+ public float orientation; //瑙掑害
+ }
+
+ //PDF417瑙g爜缁撴灉
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDPDF417CodeResult
+ {
+
+ [MarshalAs(UnmanagedType.I1)]
+ public bool state; //褰撳墠缁撴灉瑙g爜鐘舵��
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] codeString; //瑙g爜缁撴灉
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] subType; //瀛愮被鍨�
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] polarity; //鏋佹��
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] mirror; //闀滃儚
+ public int symbolRows;
+ public int symbolCols;
+ public int errorLevel;
+ public int contrast;
+ public float moduleHeight;
+ public float pixelPerModule; //moduleWidth
+ public float moduleRatio;
+ public float orientation; //瑙掑害
+
+ //IDQualityPDF417_15415 quality15415;
+ }
+
+
+ //barcode瑙g爜缁撴灉
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDBarCodeResult
+ {
+
+ [MarshalAs(UnmanagedType.I1)]
+ public bool state; //褰撳墠缁撴灉瑙g爜鐘舵��
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
+ public char[] codeString; //瑙g爜缁撴灉
+ public float orientation; //瑙掑害
+ public float pixelPerModule;
+
+ }
+
+ public unsafe struct StringList
+ {
+ public char* items;
+ public int size;
+ public int capacity;
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDQRCodeParam
+ {
+ public int modeType; //妯″紡
+ public int polarity; //鏋佹��
+ public int version; //鐗堟湰
+ public int sampleRate; //闄嶉噰鏍�
+ public int edgeThreshod; //闃堝��
+ public int mirror; //闀滃儚
+ public int codeNum; //鐮佹暟
+ public int timeOut; //绠楁硶瓒呮椂
+ [MarshalAs(UnmanagedType.I1)]
+ public bool outCandidate;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool outModuleArray;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable15415; //15415鐮佽瘎绾�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable29158; //29158鐮佽瘎绾�
+ }
+
+ public class IDQRCodeParamCreate
+ {
+ public IDQRCodeParam create()
+ {
+ IDQRCodeParam idQRCodeParam;
+
+ idQRCodeParam.modeType = 0; //妯″紡, 0,1,2
+ idQRCodeParam.polarity = 0; //鏋佹�� 0,1,2
+ idQRCodeParam.version = 0; //鐗堟湰 0~40
+ idQRCodeParam.sampleRate = 0;//闄嶉噰鏍峰�嶇巼 0~6
+ idQRCodeParam.edgeThreshod = 30; //杈圭紭闃堝�� 1~255
+ idQRCodeParam.mirror = 0; //闀滃儚, 0,1,2
+ idQRCodeParam.codeNum = 0; //鏉$爜涓暟 澶т簬绛変簬1
+ idQRCodeParam.timeOut = 500; //瓒呮椂 澶т簬绛変簬0
+ idQRCodeParam.outCandidate = false;//杈撳嚭鍊欓�夊尯
+ idQRCodeParam.outModuleArray = false; //杈撳嚭妯″潡淇℃伅
+ idQRCodeParam.enable15415 = false;
+ idQRCodeParam.enable29158 = false;
+
+ return idQRCodeParam;
+ }
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDBarCodeParam
+ {
+ public uint Type;
+ public int polarity;
+ public int sampleRate;
+ public int minContrast;
+ public int decodeDirection;
+ public int codeNum;
+ public int timeOut;
+ public int code39Check;
+ public int ITFCheck;
+ public int CodaBarCheck;
+ public int sendStartEnd;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable15416;
+ public int decodeThreshod;
+ }
+
+ public class IDBarCodeParamCreate
+ {
+ public IDBarCodeParam create()
+ {
+ IDBarCodeParam tmpIDBarCodeParam;
+ tmpIDBarCodeParam.Type = 0;//鏉$爜绫诲瀷 鎸変綅鍙栧��
+ tmpIDBarCodeParam.polarity = 0;//鏋佹�� 0锛�1锛�2
+ tmpIDBarCodeParam.sampleRate = 0;//闄嶉噰鏍� 0~2
+ tmpIDBarCodeParam.minContrast = 2; //鍙栧�艰寖鍥�0鍒�3,0锛氳〃绀烘瀬浣庡姣斿害锛�1锛氫綆瀵规瘮搴︼紝2锛氫腑绛夊姣斿害锛�3锛氶珮瀵规瘮搴�
+ tmpIDBarCodeParam.decodeDirection = 0;//瑙g爜鏂瑰悜 Pharmacode涓撶敤锛屽彇鍊硷細0锛氫粠宸﹀埌鍙筹紝1锛氫粠鍙冲埌宸︼紝2:浠庝笂鍒颁笅, 3:浠庝笅鍒颁笂
+ tmpIDBarCodeParam.codeNum = 1; //鏉$爜涓暟 澶т簬绛変簬1
+ tmpIDBarCodeParam.timeOut = 500; //瓒呮椂 澶т簬绛変簬0
+ tmpIDBarCodeParam.code39Check = 0;
+ tmpIDBarCodeParam.ITFCheck = 0;
+ tmpIDBarCodeParam.CodaBarCheck = 0;//0:涓嶆牎楠岋紝1锛氭牎楠屼笉鍙戦�侊紝2锛氭牎楠屽彂閫�
+ tmpIDBarCodeParam.sendStartEnd = 0;//鏄惁鍙戦�佽捣濮嬬粓姝㈢锛孋odaBar涓撶敤
+ tmpIDBarCodeParam.enable15416 = false;
+ tmpIDBarCodeParam.decodeThreshod = 0;
+
+ return tmpIDBarCodeParam;
+ }
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDDMCodeParam
+ {
+
+ public int polarity; //鏋佹��
+ public int style; //寮�濮嬩綅缃�
+ public int sampleRate; //闄嶉噰鏍�
+ public int minContrast; //鏍峰紡
+ public int mirror; //闀滃儚
+ public int codeNum; //鐮佹暟鐩�
+ public int timeOut; //绠楁硶瓒呮椂
+ [MarshalAs(UnmanagedType.I1)]
+ public bool outCandidate;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool outModuleArray;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable15415; //15415绠楁硶璇勭骇
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable29158; //29158绠楁硶璇勭骇
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enableAS9132; //AS9132绠楁硶璇勭骇
+
+
+ }
+ public class IDDMCodeParamCreate
+ {
+ public IDDMCodeParam create()
+ {
+ IDDMCodeParam tmpIDDMCodeParam;
+
+ tmpIDDMCodeParam.polarity = 0;//鏋佹�� 0锛�1锛�2
+ tmpIDDMCodeParam.style = -1; //鏍峰紡 -3锛�-2锛�-1锛�0....29
+ tmpIDDMCodeParam.sampleRate = 0; //闄嶉噰鏍� 0~5
+ tmpIDDMCodeParam.minContrast = 30; //鏈�灏忓姣斿害 1~255
+ tmpIDDMCodeParam.mirror = 0; //闀滃儚, 0,1,2
+ tmpIDDMCodeParam.codeNum = 0; //鏉$爜涓暟 澶т簬绛変簬1
+ tmpIDDMCodeParam.timeOut = 500; //瓒呮椂
+ tmpIDDMCodeParam.outCandidate = false;//杈撳嚭鍊欓�夊尯
+ tmpIDDMCodeParam.outModuleArray = false; //杈撳嚭妯″潡淇℃伅
+ tmpIDDMCodeParam.enable15415 = false;
+ tmpIDDMCodeParam.enable29158 = false;
+ tmpIDDMCodeParam.enableAS9132 = false;
+ return tmpIDDMCodeParam;
+ }
+
+ }
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDPDF417CodeParam
+ {
+ public int polarity; //鏋佹��
+ public int pdfRows; //
+ public int pdfCols; //
+ public int mirror; //闀滃儚
+ public int codeNum; //鐮佹暟鐩�
+ public int timeOut; //绠楁硶瓒呮椂
+ [MarshalAs(UnmanagedType.I1)]
+ public bool outCandidate;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable15415; //15415绠楁硶璇勭骇
+ }
+
+ public class IDPDF417CodeParamCreate
+ {
+ public IDPDF417CodeParam create()
+ {
+ IDPDF417CodeParam tmpIDPDF417CodeParam_C;
+ tmpIDPDF417CodeParam_C.polarity = 0;//鏋佹�� 0锛�1锛�2
+ tmpIDPDF417CodeParam_C.pdfRows = 0; //琛屾暟锛�0銆乕3, 90], 鍏朵腑0琛ㄧず鑷姩
+ tmpIDPDF417CodeParam_C.pdfCols = 0; //鍒楁暟锛歔0, 30], 鍏朵腑0琛ㄧず鑷姩
+ tmpIDPDF417CodeParam_C.mirror = 0; //闀滃儚, 0,1,2,鏆備笉鏀寔
+ tmpIDPDF417CodeParam_C.codeNum = 0; //鏉$爜涓暟 澶т簬绛変簬1
+ tmpIDPDF417CodeParam_C.timeOut = 500; //瓒呮椂
+ tmpIDPDF417CodeParam_C.outCandidate = false;//杈撳嚭鍊欓�夊尯,鏆備笉鏀寔
+ tmpIDPDF417CodeParam_C.enable15415 = false;//鏆備笉鏀寔
+ return tmpIDPDF417CodeParam_C;
+ }
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDMicroQRParam
+ {
+ public int polarity; // 鏋佹��
+ public int version; // 鐗堟湰
+ public int mirror; // 闀滃儚
+ public int codeNum; // 鏉$爜涓暟锛屽繀椤诲ぇ浜庣瓑浜�1
+ public int timeOut; // 瓒呮椂鏃堕棿锛屽繀椤诲ぇ浜庣瓑浜�0
+ public int outCandidate; // 杈撳嚭鍊欓�夐」
+ public int outModuleArray; // 杈撳嚭妯″潡鏁扮粍
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable15415; // 鏄惁鍚敤15415鏍囧噯
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable29158; // 鏄惁鍚敤29158鏍囧噯
+
+
+ }
+
+ public class IDMicroQRParamCreate
+ {
+ public IDMicroQRParam create()
+ {
+ IDMicroQRParam tmpIDMicroQRParam_C;
+ tmpIDMicroQRParam_C.polarity = 0; // 鍒濆鍖栦负榛樿鏋佹��
+ tmpIDMicroQRParam_C.version = 0; // 鍒濆鍖栦负榛樿鐗堟湰
+ tmpIDMicroQRParam_C.mirror = 0; // 鍒濆鍖栦负榛樿鏃犻暅鍍�
+ tmpIDMicroQRParam_C.codeNum = 1; // 鏉$爜涓暟锛岄粯璁よ嚦灏戜负1
+ tmpIDMicroQRParam_C.timeOut = 500; // 瓒呮椂锛岄粯璁�500ms
+ tmpIDMicroQRParam_C.outCandidate = 0; // 榛樿鏃犲�欓�夐」
+ tmpIDMicroQRParam_C.outModuleArray = 0; // 榛樿鏃犳ā鍧楁暟缁�
+ tmpIDMicroQRParam_C.enable15415 = false; // 榛樿涓嶅惎鐢�15415鏍囧噯
+ tmpIDMicroQRParam_C.enable29158 = false; // 榛樿涓嶅惎鐢�29158鏍囧噯
+
+ return tmpIDMicroQRParam_C;
+ }
+ }
+
+ // 鏉$爜绫诲埆
+ public enum IDCodeCategory
+ {
+ ID_CATEGORY_UNKNOWN_C = 0x0, // 鏈煡绫诲瀷
+ ID_CATEGORY_LINEAR_BARCODE_C = 0x1, // 涓�缁存潯鐮� (Linear Barcode)
+ ID_CATEGORY_QR_CODE_C = 0x2, // QR 浜岀淮鐮� (QR Code)
+ ID_CATEGORY_MICROQR_CODE_C = 0x3, // MicroQR 浜岀淮鐮� (MicroQR)
+ ID_CATEGORY_DATAMATRIX_CODE_C = 0x4, // Data Matrix 浜岀淮鐮� (Data Matrix Code)
+ ID_CATEGORY_STACKED_BARCODE_C = 0x8 // 鍫嗗彔鏉$爜 (Stacked Barcode)
+ }
+
+ public enum IDGeneralParamsType
+ {
+ GP_UNDEFINED_C = 0,
+ GP_NUM_C,
+ GP_STRING_C,
+ GP_BOOL_C,
+ GP_POINT_C,
+ GP_NUM_ARRAY_C,
+ GP_STRING_ARRAY_C,
+ GP_BOOL_ARRAY_C,
+ GP_POINT_ARRAY_C,
+ GP_UCHAR_C,
+ GP_FLOAT_C,
+ GP_USHORT_C,
+ GP_UINT_C,
+ GP_ULONG_C,
+ GP_SHORT_C,
+ GP_INT_C,
+ GP_FLAGS_C,
+ GP_LONG_C
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDImageROI
+ {
+
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
+ public char[] name;
+ public IDPoint topLeftPoint;
+ public IDPoint bottomRightPoint;
+ public IDCodeType codeType;
+ public uint mode;
+ public uint id;
+ public uint roiIndex;
+ public uint codeNum;
+ public uint timeout;
+
+ }
+
+ public class IDImageROICreate
+ {
+ public IDImageROI create()
+ {
+ IDImageROI temIDImageROI_C = new IDImageROI();
+ temIDImageROI_C.codeNum = 1;
+ temIDImageROI_C.timeout = 500;
+ return temIDImageROI_C;
+ }
+
+ }
+
+ //鍥惧儚鍙傛暟
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDSolutionImage
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool autoExposureEnabled; // 鑷姩鏇濆厜浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool autoGainEnabled; // 鑷姩澧炵泭浣胯兘
+ public int IDSolutionImageParamsLength;
+ }
+
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDSolutionImageParams
+ {
+
+ public int paramIndex;
+ public double exposure;
+ public int gain;
+ public double gamma;
+ public int focusLocation;
+ public int rowCount; //琛屾暟
+ public int rowFrequence; //琛岄(hz)
+ public int illuminantsCount; //鍏夋簮閫氶亾鍙傛暟
+ }
+
+ //鍏夋簮閫氶亾鍙傛暟
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDSolutionImageIlluminant
+ {
+ public int channel;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool enable;
+ public int brightness;
+ }
+
+
+ public enum IDDiInputSource
+ {
+ INPUT_SOURCE_TRIGGER_C = 0, // 瑙﹀彂妯″紡
+ INPUT_SOURCE_PRESET_COMPARE_C = 1, // 瀵规瘮棰勮杈撳叆妯″紡
+ INPUT_SOURCE_DISABLE = 2 // 绂佺敤
+ }
+ /*
+ * IO杈撳叆鍙傛暟
+
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDDIParams
+ {
+
+ public IDDiInputSource inputSource; // 瑙﹀彂绫诲瀷锛屽彇鍊硷細0锛氳Е鍙戯紝1锛氬姣旈璁捐緭鍏�
+ public uint pin; // DI瀵瑰簲鐨勫紩鑴氬彿
+ }
+
+
+ public class IDDIParamsCreate
+ {
+ public IDDIParams createSTRUCT_ID_DI_PARAMS()
+ {
+ IDDIParams tmpIDDIParams_C;
+ tmpIDDIParams_C.inputSource = IDDiInputSource.INPUT_SOURCE_TRIGGER_C;
+ tmpIDDIParams_C.pin = 0;
+ return tmpIDDIParams_C;
+ }
+ }
+
+ /*
+ *IO浜嬩欢婧�
+ */
+ public enum IDDoEventSource
+ {
+ EVENT_SOURCE_OFF_C = 0, // 鏃�
+ EVENT_SOURCE_ACQUISITION_START_C, // 閲囧浘寮�濮�
+ EVENT_SOURCE_ACQUISITION_STOP_C, // 閲囧浘缁撴潫
+ EVENT_SOURCE_EXPOSURE_START_C, // 鏇濆厜寮�濮�
+ EVENT_SOURCE_NOCODE_READ_C, // 瑙g爜 NG 鏃�
+ EVENT_SOURCE_READ_SUCCESS_C, // 瑙g爜 OK 鏃�
+ EVENT_SOURCE_CONDITION_SELECTED_C, // 鏉′欢閫夋嫨
+ EVENT_SOURCE_DATA_COMPARE_SUCCESS_C, // 鏁版嵁瀵规瘮鎴愬姛
+ EVENT_SOURCE_DATA_COMPARE_FAIL_C // 鏁版嵁瀵规瘮澶辫触
+ }
+
+ /*
+ * IO杈撳嚭鍙傛暟
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDDOParams
+ {
+ public uint status; // DO鐘舵�侊紙鍚敤鎴栫鐢級
+ public uint pin; // DO瀵瑰簲鐨勫紩鑴氬彿
+ public uint doModel; // 杈撳嚭鐢靛钩
+ public uint durationTime; // 鎸佺画鏃堕棿锛坢s锛�
+ public IDDoEventSource doSource; // 浜嬩欢婧愶紙鏉ヨ嚜鍏朵粬妯″潡锛�
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string condition;
+
+ }
+
+ public class IDDOParamsCreate
+ {
+ public IDDOParams create()
+ {
+ IDDOParams tmpIDDOParams_C;
+ tmpIDDOParams_C.status = 0;
+ tmpIDDOParams_C.pin = 0;
+ tmpIDDOParams_C.doModel = 0;
+ tmpIDDOParams_C.durationTime = 0;
+ tmpIDDOParams_C.doSource = IDDoEventSource.EVENT_SOURCE_OFF_C;
+ tmpIDDOParams_C.condition = "";
+ return tmpIDDOParams_C;
+ }
+ }
+ /*
+ * mcConfig 閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDMcConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isEnabled; // 浣胯兘
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isUdpCommunication; // UDP 閫氫俊
+ public int brandModel; // 鍝佺墝鍨嬪彿
+ public int dataFormat; // 鏁版嵁鏍煎紡
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string ipAddress; // IP 鍦板潃
+ public int port; // 绔彛
+ public int startAddress; // 寮�濮嬪湴鍧�
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isResultSwapped; // 缁撴灉浜ゆ崲
+ public uint resultSizeBytes; // 缁撴灉澶у皬锛堝瓧鑺傦級
+ public uint resultTimeoutMs; // 缁撴灉瓒呮椂锛堟绉掞級
+
+ }
+
+ public class IDMcConfigCreate
+ {
+ public IDMcConfig create()
+ {
+ IDMcConfig tmpIDMcConfig_C;
+ tmpIDMcConfig_C.isEnabled = false;
+ tmpIDMcConfig_C.isUdpCommunication = false;
+ tmpIDMcConfig_C.brandModel = 0;
+ tmpIDMcConfig_C.dataFormat = 0;
+ tmpIDMcConfig_C.ipAddress = "";
+ tmpIDMcConfig_C.port = 0;
+ tmpIDMcConfig_C.startAddress = 0;
+ tmpIDMcConfig_C.isResultSwapped = false;
+ tmpIDMcConfig_C.resultSizeBytes = 0;
+ tmpIDMcConfig_C.resultTimeoutMs = 0;
+ return tmpIDMcConfig_C;
+ }
+ }
+
+ /*
+ * udpConfig 閰嶇疆
+ */
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
+ public struct IDUdpConfig
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool isEnabled; // 浣胯兘
+ public int port; // 绔彛
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string ipAddress; // IP 鍦板潃
+
+
+ }
+
+ public class IDUdpConfigCreate
+ {
+ public IDUdpConfig create()
+ {
+ IDUdpConfig tmpIDUdpConfig_C;
+ tmpIDUdpConfig_C.isEnabled = false;
+ tmpIDUdpConfig_C.port = 0;
+ tmpIDUdpConfig_C.ipAddress = "";
+ return tmpIDUdpConfig_C;
+ }
+ }
+
+ public enum IDGeneralParamsName
+ {
+ ID_PARAM_FILTER_PREVENT_DUPLICATE = 0, //閲嶅杩囨护
+ ID_PARAM_FILTER_PREVENT_DUPLICATE_ENABLE, //閲嶅杩囨护浣胯兘
+ ID_PARAM_FILTER_HISTORY_TIMES, //鍘嗗彶杩囨护
+ ID_PARAM_FILTER_HISTORY_TIMES_ENABLE, //鍘嗗彶杩囨护浣胯兘
+ ID_PARAM_FILTER_READ_THRESHOLD, //闃堝�艰繃婊�
+ ID_PARAM_FILTER_READ_THRESHOLD_ENABLE, //闃堝�艰繃婊や娇鑳�
+ ID_PARAM_FILTER_REMOVE_DUPLICATE_ENABLE, //鍘婚櫎閲嶅浣胯兘
+ ID_PARAM_FILTER_FRAME_DUPLICATE_ENABLE, //閫愬抚杩囨护浣胯兘
+ ID_PARAM_FILTER_ANGLE_INIT, //瑙掑害鍒濆鍊�
+ ID_PARAM_FILTER_ANGLE_OFFSET, //瑙掑害鍋忕Щ鍊�
+ ID_PARAM_FILTER_ANGLE_ENABLE, //瑙掑害浣胯兘
+ ID_PARAM_COMPARE_CONTROL_ENABLE, //姣斿浣胯兘
+ ID_PARAM_COMPARE_RULE, //姣斿瑙勫垯
+ ID_PARAM_COMPARE_PRESET_DATA, //棰勮鏁版嵁
+ ID_PARAM_COMPARE_START_POSITION, //璧峰浣嶇疆
+ ID_PARAM_COMPARE_DIGITS, //姣斿鏁�
+ ID_PARAM_DATACONFIG_NOREAD, //鏃犺琛ラ綈閰嶇疆
+ ID_PARAM_DATACONFIG_NOREAD_ENABLE, //鏃犺琛ラ綈浣胯兘
+ ID_PARAM_DATACONFIG_CONDITION, //杈撳嚭鏉′欢
+ ID_PARAM_DATACONFIG_CONDITION_ENABLE, //杈撳嚭鏉′欢浣胯兘
+ ID_PARAM_DATACONFIG_FORMAT_INFO, //鏁版嵁澶勭悊鏍煎紡鍖栧唴瀹�
+ ID_PARAM_DATACONFIG_HEAD_INFO, //璧峰鎻掑叆
+ ID_PARAM_DATACONFIG_TAIL_INFO, //缁撳熬鎻掑叆
+ ID_PARAM_DATACONFIG_ENTER_ENABLE, //缁撴潫鍥炶溅绗︿娇鑳�
+ ID_PARAM_DATACONFIG_LINEFEED_ENABLE, //缁撴潫鎹㈣绗︿娇鑳�
+ ID_PARAM_DATACONFIG_FALSE_INFO, //杈撳嚭鏉′欢涓嶆弧瓒虫椂杈撳嚭
+ ID_PARAM_DATACONFIG_HEX_ENABLE, //杈撳嚭16杩涘埗浣胯兘
+ ID_PARAM_DATACONFIG_EMPTY_SEND_ENABLE, //鍙戦�佺┖缁撴灉浣胯兘
+ ID_PARAM_DATACONFIG_INSTANT_OUTPUT_ENABLE, //绔嬪嵆杈撳嚭浣胯兘
+ ID_PARAM_DATACONFIG_POSITION_RULES, //鎺掑簭瑙勫垯
+ ID_PARAM_DATACONFIG_ONE_BY_ONE_ENABLE, //OneByOne浣胯兘
+ ID_PARAM_DATACONFIG_ONE_BY_ONE_PERIOD, //OneByOne鍛ㄦ湡
+ ID_PARAM_QUALITY_BARCODE_15416, //鏉″舰鐮佽川閲� (15416 鏍囧噯)
+ ID_PARAM_QUALITY_QR_CODE_15415, //浜岀淮鐮佽川閲� (15415 鏍囧噯)
+ ID_PARAM_QUALITY_QR_CODE_29158, //浜岀淮鐮佽川閲� (29158 鏍囧噯)
+ ID_PARAM_QUALITY_DATAMATRIX_15415, //鏁版嵁鐭╅樀璐ㄩ噺 (15415 鏍囧噯)
+ ID_PARAM_QUALITY_DATAMATRIX_29158, //鏁版嵁鐭╅樀璐ㄩ噺 (29158 鏍囧噯)
+ ID_PARAM_QUALITY_DATAMATRIX_9132, //鏁版嵁鐭╅樀璐ㄩ噺 (9132 鏍囧噯)
+ ID_PARAM_QUALITY_DATAMATRIX_T100701, //鏁版嵁鐭╅樀璐ㄩ噺 (T100701 鏍囧噯)
+ ID_PARAM_QUALITY_PDF417_15415, //PDF417 鏉$爜璐ㄩ噺 (15415 鏍囧噯)
+ ID_PARAM_QUALITY_MODE, //鏉$爜鍒诲嵃楠岃瘉妯″紡锛屽彇鍊硷細0锛氭爣鍑嗘ā寮忥紝1锛歄PT妯″紡
+ ID_PARAM_TRIGGER_STATUS, //瑙﹀彂鐘舵��
+ ID_PARAM_TRIGGER_DELAY, //瑙﹀彂寤舵椂
+ ID_PARAM_TRIGGER_MODLE, //瑙﹀彂妯″紡
+ ID_PARAM_TRIGGER_DURATION, //瑙﹀彂鎸佺画鏃堕棿
+ ID_PARAM_TRIGGER_CODE_NUM, //瑙﹀彂瑙g爜鏁�
+ ID_PARAM_TRIGGER_SOURCE, //瑙﹀彂婧�
+ ID_PARAM_TRIGGER_STATISTIC_BY_NUM_ENABLE, //鐮佹暟鐩粺璁′娇鑳�
+ ID_PARAM_TRIGGER_CONDITION_MODE, //鎸夋椂闂�/甯цЕ鍙�
+ ID_PARAM_TRIGGER_TRIGGER_INTERVAL, //鑷姩瑙﹀彂闂撮殧
+ ID_PARAM_TRIGGER_CACHE_ENABLE, //瑙﹀彂缂撳瓨浣胯兘
+ ID_PARAM_TRIGGER_ENABLE_CODE_NUM_RESTRICT, //鐮佹暟鐩檺鍒跺紑鍚�
+ ID_PARAM_TRIGGER_FRAMES, //甯ф暟
+ ID_PARAM_HARDWARE_TRIGGER_DEBOUNCETIME, //娑堟姈鏃堕棿
+ ID_PARAM_HARDWARE_TRIGGER_POLARITY, //瑙﹀彂鏋佹��
+ ID_PARAM_HARDWARE_TRIGGER_CODE_NUM_ENABLE, //鍚敤鏈�澶х爜鏁扮洰浣胯兘
+ ID_PARAM_HARDWARE_TRIGGER_CODE_NUM, //瑙g爜鏁�
+ ID_PARAM_HARDWARE_TRIGGER_TIMEOUT, //瓒呮椂鏃堕棿
+ ID_PARAM_HARDWARE_TRIGGER_STATISTIC_BY_NUM_ENABLE, //纭欢瑙﹀彂鐮佹暟鐩娇鑳�
+ ID_PARAM_TCPSEVER_TRIGGER_PORT, //tcp鏈嶅姟鍣ㄧ鍙�
+ ID_PARAM_TCPSEVER_TRIGGER_START_CMD, //tcp鏈嶅姟鍣ㄥ紑濮嬭Е鍙戞寚浠�
+ ID_PARAM_TCPSEVER_TRIGGER_STOP_CMD, //tcp鏈嶅姟鍣ㄥ仠姝㈣Е鍙戞寚浠�
+ ID_PARAM_TCPSEVER_TRIGGER_IS_FUZZY_MATCH_ENABLE_CMD, //tcp鏈嶅姟鍣ㄥ惎鐢ㄦā绯婂尮閰�
+ ID_PARAM_TCPSEVER_TRIGGER_HEX_ENABLE, //tcp鏈嶅姟鍣�16杩涘埗浣胯兘
+ ID_PARAM_TCPCLIENT_TRIGGER_PORT, //tcp瀹㈡埛绔鍙�
+ ID_PARAM_TCPCLIENT_TRIGGER_IP, //tcp瀹㈡埛绔疘P
+ ID_PARAM_TCPCLIENT_TRIGGER_START_CMD, //tcp瀹㈡埛绔紑濮嬭Е鍙戞寚浠�
+ ID_PARAM_TCPCLIENT_TRIGGER_STOP_CMD, //tcp瀹㈡埛绔仠姝㈣Е鍙戞寚浠�
+ ID_PARAM_TCPCLIENT_TRIGGER_HEARTBEAT_ENABLE, //tcp瀹㈡埛绔績璺充娇鑳�
+ ID_PARAM_TCPCLIENT_TRIGGER_HEARTBEAT_CMD, //tcp瀹㈡埛绔績璺虫寚浠�
+ ID_PARAM_TCPCLIENT_TRIGGER_HEARTBEAT_PERIOD, //tcp瀹㈡埛绔績璺冲懆鏈�
+ ID_PARAM_TCPCLIENT_TRIGGER_IS_FUZZY_MATCH_ENABLE_CMD, //tcp瀹㈡埛绔惎鐢ㄦā绯婂尮閰�
+ ID_PARAM_TCPCLIENT_TRIGGER_HEX_ENABLE, //tcp瀹㈡埛绔�16杩涘埗浣胯兘
+ ID_PARAM_UDP_TRIGGER_PORT, //udp瑙﹀彂绔彛
+ ID_PARAM_UDP_TRIGGER_START_CMD, //udp瑙﹀彂寮�濮嬫寚浠�
+ ID_PARAM_UDP_TRIGGER_STOP_CMD, //udp瑙﹀彂鍋滄鎸囦护
+ ID_PARAM_UDP_TRIGGER_IS_FUZZY_MATCH_ENABLE_CMD, //udp瑙﹀彂鍚敤妯$硦鍖归厤
+ ID_PARAM_UDP_TRIGGER_HEX_ENABLE, //udp16杩涘埗浣胯兘
+ ID_PARAM_SERIAL_TRIGGER_START_CMD, //涓插彛寮�濮嬭Е鍙戞寚浠�
+ ID_PARAM_SERIAL_TRIGGER_STOP_CMD, //涓插彛鍋滄瑙﹀彂鎸囦护
+ ID_PARAM_SERIAL_TRIGGER_IS_FUZZY_MATCH_ENABLE_CMD, //涓插彛鍚敤妯$硦鍖归厤
+ ID_PARAM_SERIAL_TRIGGER_HEX_ENABLE, //涓插彛16杩涘埗浣胯兘
+ ID_PARAM_ENCODER_CTRL_PARAMS_ENABLE, //缂栫爜鎺у埗鍣ㄧ姸鎬侊紙鍚敤鎴栫鐢級
+ ID_PARAM_ENCODER_CTRL_PARAMS_DIRECTION, //鎺у埗鏂瑰悜
+ ID_PARAM_BUZZER_STATUS, //铚傞福鍣ㄧ姸鎬侊紙鍚敤鎴栫鐢級
+ ID_PARAM_BUZZER_CONDITION, //鎸佺画鏃堕棿锛堟绉掞級
+ ID_PARAM_BUZZER_DURATION_TIME, //鏉′欢锛堟寚瀹氳Е鍙戞潯浠讹級
+ ID_PARAM_SENSING_SENSITIVITY, //鎰熷簲鐏垫晱搴�
+ ID_PARAM_SENSING_WAITTIME, //鎰熷簲绛夊緟鏃堕棿
+ ID_PARAM_OUTPUT_TCPSEVER_PORT, //TCP鏈嶅姟鍣ㄨ緭鍑虹鍙�
+ ID_PARAM_OUTPUT_TCPSEVER_ENABLE, //TCP鏈嶅姟鍣ㄨ緭鍑轰娇鑳�
+ ID_PARAM_OUTPUT_TCPCLIENT_ENABLE, //TCP瀹㈡埛绔緭鍑轰娇鑳�
+ ID_PARAM_OUTPUT_TCPCLIENT_PORT, //TCP瀹㈡埛绔緭鍑虹鍙�
+ ID_PARAM_OUTPUT_TCPCLIENT_IP, //TCP瀹㈡埛绔緭鍑哄湴鍧�
+ ID_PARAM_OUTPUT_TCPCLIENT_HEARTBEAT_ENABLE, //TCP瀹㈡埛绔績璺充娇鑳�
+ ID_PARAM_OUTPUT_TCPCLIENT_HEARTBEAT_CMD, //TCP瀹㈡埛绔績璺虫寚浠�
+ ID_PARAM_OUTPUT_TCPCLIENT_HEARTBEAT_PERIOD, //TCP瀹㈡埛绔績璺冲懆鏈�
+ ID_PARAM_OUTPUT_TCPCLIENT_HEX_ENABLE, //TCP瀹㈡埛绔�16杩涘埗浣胯兘
+ ID_PARAM_OUTPUT_SERIALPORT_ENABLE, //涓插彛杈撳嚭浣胯兘
+ ID_PARAM_OUTPUT_SERIALPORT_BAUDRATE, //涓插彛娉㈢壒鐜�
+ ID_PARAM_OUTPUT_SERIALPORT_PARITY, //涓插彛鏍¢獙浣�
+ ID_PARAM_OUTPUT_SERIALPORT_DATABIT, //涓插彛鏁版嵁浣�
+ ID_PARAM_OUTPUT_SERIALPORT_STOPBITS, //涓插彛鍋滄浣�
+ ID_PARAM_OUTPUT_SERIALPORT_FLOWCTRL, //涓插彛娴佹帶鍒�
+ ID_PARAM_OUTPUT_KEYBOARD_ENABLE, //閿洏杈撳嚭浣胯兘
+ ID_PARAM_OUTPUT_EIP_ENABLE, //EIP浣胯兘
+ ID_PARAM_OUTPUT_EIP_RESULT_SWAP_ENABLE, //EIP缁撴灉浜ゆ崲浣胯兘
+ ID_PARAM_OUTPUT_EIP_INPUT_SIZE, //EIP杈撳叆缁勪欢澶у皬
+ ID_PARAM_OUTPUT_EIP_OUTPUT_SIZE, //EIP杈撳嚭缁勪欢澶у皬
+ ID_PARAM_OUTPUT_EIP_RESULT_TIMEOUT, //EIP缁撴灉瓒呮椂
+ ID_PARAM_OUTPUT_MODBUS_ENABLE, //MODBUS浣胯兘
+ ID_PARAM_OUTPUT_MODBUS_ROLE, //MODBUS瑙掕壊涓荤珯/浠庣珯
+ ID_PARAM_OUTPUT_MODBUS_CONNECTIONTYPE, //MODBUS杩炴帴绫诲瀷TCP/Serial
+ ID_PARAM_OUTPUT_MODBUS_TCPSEVER_IP, //MODBUS tcp鏈嶅姟鍣↖P
+ ID_PARAM_OUTPUT_MODBUS_TCPSEVER_PORT, //MODBUS tcp绔彛
+ ID_PARAM_OUTPUT_MODBUS_TIMEOUT, //MODBUS 瓒呮椂鏃堕棿
+ ID_PARAM_OUTPUT_MODBUS_FUNCATION, //MODBUS function
+ ID_PARAM_OUTPUT_MODBUS_SERVER_ADDRESS, //MODBUS 鏈嶅姟鍣ㄥ湴鍧�
+ ID_PARAM_OUTPUT_MODBUS_STARTADDRESS, //MODBUS 瀵勫瓨鍣ㄨ捣濮嬪湴鍧�
+ ID_PARAM_OUTPUT_MODBUS_RESULT_SWAP_ENABLE, //MODBUS 缁撴灉浜ゆ崲浣胯兘
+ ID_PARAM_OUTPUT_MODBUS_RETRIES_NUM, //MODBUS 閲嶈瘯娆℃暟
+ ID_PARAM_OUTPUT_MODBUS_RESULT_TIMEOUT, //MODBUS 缁撴灉瓒呮椂
+ ID_PARAM_OUTPUT_FTP_ENABLE, //FTP浣胯兘
+ ID_PARAM_OUTPUT_FTP_LOCAL_ENABLE, //FTP 鏈湴瀛樺浘浣胯兘
+ ID_PARAM_OUTPUT_FTP_IP, //FTP IP鍦板潃
+ ID_PARAM_OUTPUT_FTP_PORT, //FTP 绔彛
+ ID_PARAM_OUTPUT_FTP_USERNAME, //FTP璐﹀彿
+ ID_PARAM_OUTPUT_FTP_PWD, //FTP瀵嗙爜
+ ID_PARAM_OUTPUT_FTP_IMAGE_FORMAT, //FTP瀛樺浘鏍煎紡
+ ID_PARAM_OUTPUT_FTP_COMPRESSRATE, //FTP瀛樺浘鍘嬬缉鐜�
+ ID_PARAM_OUTPUT_FTP_FILEPATH, //FTP瀛樺浘璺緞
+ ID_PARAM_OUTPUT_FTP_DEFAULT_FILENAME, //FTP榛樿鏂囦欢鍚�
+ ID_PARAM_OUTPUT_FTP_LOCAL_PATH, //FTP鏈湴淇濆瓨璺緞
+ ID_PARAM_OUTPUT_FTP_LOCAL_MAX_COUNT, //FTP鏈湴淇濆瓨鏈�澶ф暟閲�
+ ID_PARAM_OUTPUT_FTP_CONTAINS_DATE, //FTP鍛藉悕鍖呭惈鏃堕棿缂�
+ ID_PARAM_OUTPUT_FTP_CONTAINS_INDEX, //FTP鍛藉悕鍖呭惈搴忓彿
+ ID_PARAM_OUTPUT_FTP_CONTAINS_RESULT, //FTP鍛藉悕鍖呭惈缁撴灉
+ ID_PARAM_OUTPUT_FTP_CONTAINS_FRAME_NUMBER, //FTP鍛藉悕鍖呭惈甯у彿
+ ID_PARAM_OUTPUT_FTP_CONTAINS_BARCODE_ID_ENABLE, //FTP鐢熸垚璇荤爜鍣↖D鏂囦欢澶�
+ ID_PARAM_OUTPUT_FTP_CONTAINS_TRIGGER_SEQUENCE_ENABLE, //FTP鐢熸垚瑙﹀彂鍙锋枃浠跺す
+ ID_PARAM_OUTPUT_FTP_RESULT_RENDERING, //FTP缁撴灉娓叉煋浣胯兘
+ ID_PARAM_OUTPUT_FTP_BOUNDINGBOX_RENDERING, //FTP瀹氫綅妗嗘覆鏌撲娇鑳�
+ ID_PARAM_OUTPUT_FTP_SAVE_SRATEGY, //FTP瀛樺浘绛栫暐
+ ID_PARAM_OUTPUT_FTP_SAVE_POLICY_FRAME_INDEX, //FTP鎸夋寚瀹氬抚鍙峰瓨鍥�
+ ID_PARAM_OUTPUT_FTP_FTP_SAVE_POLICY_RANGE_START_FRAME, //FTP鎸夎寖鍥村瓨鍥捐捣濮嬪抚鍙�
+ ID_PARAM_OUTPUT_FTP_FTP_SAVE_POLICY_RANGE_END_FRAME, //FTP鎸夎寖鍥村瓨鍥剧粨鏉熷抚鍙�
+ ID_PARAM_OUTPUT_FTP_CONDITION, //FTP淇濆瓨鏉′欢
+ ID_PARAM_OUTPUT_WEB_ENABLE, //WEB椤甸潰浣胯兘
+ ID_PARAM_OUTPUT_WEB_PORT, //WEB椤甸潰绔彛
+ ID_PARAM_OUTPUT_WEB_IMAGE_QUALITY, //WEB鍥惧儚璐ㄩ噺
+ ID_PARAM_OUTPUT_WEB_RESULT_ENABLE, //WEB鏄剧ず缁撴灉浣胯兘
+ ID_PARAM_OUTPUT_WEB_IMAGE_ENABLE, //WEB鏄剧ず鍥惧儚浣胯兘
+ ID_PARAM_OUTPUT_WEB_DISPLAY_INFO_FORMAT, //WEB鏄剧ず鏁版嵁鏍煎紡鍖�
+ ID_PARAM_OUTPUT_NETWORKING_ENABLE, //缁勭綉浣胯兘
+ ID_PARAM_OUTPUT_NETWORKING_MASTER_ENABLE, //鏄惁鏄痬aster
+ ID_PARAM_OUTPUT_NETWORKING_PORT, //缁勭綉閫氫俊绔彛
+ ID_PARAM_OUTPUT_NETWORKING_MASTER_IP, //缁勭綉涓绘満IP
+ ID_PARAM_OUTPUT_NETWORKING_MASTER_TIMEOUT, //缁勭綉涓绘満瓒呮椂鏃堕棿
+ ID_PARAM_OUTPUT_NETWORKING_SLAVE_ID, //缁勭綉浠庢満ID
+ ID_PARAM_OUTPUT_NETWORKING_MASTER_MAX_CONNECT_NUM, //缁勭綉涓绘満鏈�澶ц繛鎺ヤ粠鏈烘暟
+ ID_PARAM_OUTPUT_NETWORKING_TRIGGER_SLAVE_ENABLE, //缁勭綉涓绘満瑙﹀彂浠庢満浣胯兘
+ ID_PARAM_OUTPUT_NETWORKING_SLAVE_RECEIVE_TRIGGER_ENABLE, //缁勭綉浠庢満鎺ユ敹涓绘満瑙﹀彂浣胯兘
+ ID_PARAM_OUTPUT_NETWORKING_SLAVE_TRIGGER_DELAY, //缁勭綉浠庢満瑙﹀彂寤惰繜
+ ID_PARAM_OUTPUT_NETWORKING_SLAVE_TRIGGER_CONNECTION_STATUS, //缁勭綉杩炴帴鐘舵��
+ ID_PARAM_OUTPUT_NETWORKING_DEVICE_ROI_ENABLE, //缁勭綉璁惧ROI琛ラ綈浣胯兘
+ ID_PARAM_OUTPUT_PROFINET_ENABLE, //PROFINET浣胯兘
+ ID_PARAM_OUTPUT_PROFINET_RESULT_MODEL_SIZE, //PROFINET缁撴灉妯″潡澶у皬
+ ID_PARAM_OUTPUT_PROFINET_NAME, //PROFINET閰嶇疆鍚�
+ ID_PARAM_OUTPUT_PROFINET_RESULT_SWAP_ENABLE, //PROFINET缁撴灉瀛楄妭浜ゆ崲浣胯兘
+ ID_PARAM_OUTPUT_PROFINET_RESULT_SIZE, //PROFINET缁撴灉澶у皬
+ ID_PARAM_OUTPUT_PROFINET_RESULT_TIMEOUT, //PROFINET缁撴灉瓒呮椂
+ ID_PARAM_OUTPUT_FINS_ENABLE, //FINS浣胯兘
+ ID_PARAM_OUTPUT_FINS_IS_TCP, //FINS鏄惁鍚敤TCP
+ ID_PARAM_OUTPUT_FINS_IP, //FINS涓婁綅鏈篒P
+ ID_PARAM_OUTPUT_FINS_PROT, //FINS涓婁綅鏈虹鍙�
+ ID_PARAM_OUTPUT_FINS_STARTADDRESS, //FINS鏁版嵁璧峰鍦板潃
+ ID_PARAM_OUTPUT_FINS_RESULT_SWAP_ENABLE, //FINS缁撴灉浜ゆ崲浣胯兘
+ ID_PARAM_OUTPUT_FINS_RESULT_SIZE, //FINS缁撴灉鏁版嵁澶у皬
+ ID_PARAM_OUTPUT_FINS_RESULT_TIMEOUT, //FINS缁撴灉瓒呮椂鏃堕棿
+ ID_PARAM_OUTPUT_HTTP_ENABLE, //HTTP浣胯兘
+ ID_PARAM_OUTPUT_HTTP_URL, //HTTP鍙戦�佸湴鍧�
+ ID_PARAM_OUTPUT_MC_CONFIG_ENABLE, //MC浣胯兘
+ ID_PARAM_OUTPUT_MC_CONFIG_UDP_COMMUNICATION, //MC UDP閫氳浣胯兘
+ ID_PARAM_OUTPUT_MC_CONFIG_BRAND_MODEL, //MC鍝佺墝鍨嬪彿
+ ID_PARAM_OUTPUT_MC_CONFIG_DATA_FORMAT, //MC鏁版嵁鏍煎紡
+ ID_PARAM_OUTPUT_MC_CONFIG_IP_ADDRESS, //MC IP鍦板潃
+ ID_PARAM_OUTPUT_MC_CONFIG_PORT, //MC绔彛
+ ID_PARAM_OUTPUT_MC_CONFIG_START_ADDRESS, //MC璧峰鍦板潃
+ ID_PARAM_OUTPUT_MC_CONFIG_RESULT_SWAP, //MC缁撴灉浜ゆ崲
+ ID_PARAM_OUTPUT_MC_CONFIG_RESULT_SIZE, //MC缁撴灉澶у皬
+ ID_PARAM_OUTPUT_MC_CONFIG_RESULT_TIMEOUT, //MC缁撴灉瓒呮椂
+ ID_PARAM_OUTPUT_UDP_CONFIG_ENABLE, //UDP浣胯兘
+ ID_PARAM_OUTPUT_UDP_CONFIG_PORT, //UDP绔彛
+ ID_PARAM_OUTPUT_UDP_CONFIG_IP_ADDRESS //UDP IP鍦板潃
+ }
+
+ }
+}
--
Gitblit v1.9.3