From 89cecacfc917f43410dc65b404de75f94b570a3b Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 4 Sep 2020 11:48:07 +0200 Subject: [PATCH] S7NEW: read/write error more detailed for debug --- CMS_CORE_Library/Models/CmsError.cs | 4 +++- CMS_CORE_Library/Models/DataStructures.cs | 19 +++++++++++++-- CMS_CORE_Library/S7Net/Nc_S7Net.cs | 28 +++++++++++------------ 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/CMS_CORE_Library/Models/CmsError.cs b/CMS_CORE_Library/Models/CmsError.cs index 9cda4bc..ef7067b 100644 --- a/CMS_CORE_Library/Models/CmsError.cs +++ b/CMS_CORE_Library/Models/CmsError.cs @@ -74,6 +74,8 @@ namespace CMS_CORE_Library.Models WRONG_CMS_PP = 29, SIEMENS_TOOL_TABLE_ERROR = 30, PLC_IP_NOT_FOUND = 31, - PLC_MEM_CONF_ERROR = 32 + PLC_MEM_CONF_ERROR = 32, + S7NET_READ_ERROR = 33, + S7NET_WRITE_ERROR = 34 } } \ No newline at end of file diff --git a/CMS_CORE_Library/Models/DataStructures.cs b/CMS_CORE_Library/Models/DataStructures.cs index bf59e95..ed25d3d 100644 --- a/CMS_CORE_Library/Models/DataStructures.cs +++ b/CMS_CORE_Library/Models/DataStructures.cs @@ -174,8 +174,23 @@ namespace CMS_CORE_Library.Models public static CmsError NOT_FOUND_ERROR = new CmsError(CMS_ERROR_CODES.INTERNAL_ERROR, "error_not_found"); public static CmsError S7_PLC_EMPTY_READ = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_empy_data"); public static CmsError S7_PLC_WRONG_DATA = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_wrong_data"); - public static CmsError S7_PLC_READ_ERROR = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_read_error"); - public static CmsError S7_PLC_WRITE_ERROR = new CmsError(CMS_ERROR_CODES.PLC_MEM_CONF_ERROR, "error_s7_write_error"); + public static CmsError S7_PLC_READ_ERROR = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error"); + public static CmsError S7_PLC_READ_ERROR_BYTE = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error_byte"); + public static CmsError S7_PLC_READ_ERROR_LST_BYTE = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error_byte_list"); + public static CmsError S7_PLC_READ_ERROR_LST_SHORT = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error_short_list"); + public static CmsError S7_PLC_READ_ERROR_LST_INT = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error_int_list"); + public static CmsError S7_PLC_READ_ERROR_LST_WORD = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error_word_list"); + public static CmsError S7_PLC_READ_ERROR_LST_DWORD = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error_dword_list"); + public static CmsError S7_PLC_READ_ERROR_LST_DOUBLE = new CmsError(CMS_ERROR_CODES.S7NET_READ_ERROR, "error_s7_read_error_double_list"); + public static CmsError S7_PLC_WRITE_ERROR = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error"); + public static CmsError S7_PLC_WRITE_ERROR_BYTE = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error_byte"); + public static CmsError S7_PLC_WRITE_ERROR_LST_BYTE = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error_byte_list"); + public static CmsError S7_PLC_WRITE_ERROR_LST_SHORT = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error_short_list"); + public static CmsError S7_PLC_WRITE_ERROR_LST_INT = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error_int_list"); + public static CmsError S7_PLC_WRITE_ERROR_LST_WORD = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error_word_list"); + public static CmsError S7_PLC_WRITE_ERROR_LST_DWORD = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error_dword_list"); + public static CmsError S7_PLC_WRITE_ERROR_LST_DOUBLE = new CmsError(CMS_ERROR_CODES.S7NET_WRITE_ERROR, "error_s7_write_error_double_list"); + public static CmsError PROC_NOT_FOUND_ERROR = new CmsError(CMS_ERROR_CODES.FUNCTION_NOT_ALLOWED, "error_process_not_found"); public static CmsError FUNCTION_NOT_ALLOWED_ERROR = new CmsError(CMS_ERROR_CODES.FUNCTION_NOT_ALLOWED, "error_function_not_allowed"); public static CmsError BIT_NOT_IN_RANGE_ERROR = new CmsError(CMS_ERROR_CODES.BIT_NOT_IN_RANGE, "error_bit_not_in_range"); diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs index ab576bd..26b34a8 100644 --- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs +++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs @@ -3365,7 +3365,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return PLC_MEM_CONF_ERROR; + return S7_PLC_WRITE_ERROR_BYTE; } } else @@ -3377,7 +3377,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return PLC_MEM_CONF_ERROR; + return S7_PLC_READ_ERROR_BYTE; } } @@ -3492,7 +3492,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_WRITE_ERROR; + return S7_PLC_WRITE_ERROR_LST_BYTE; } } else @@ -3508,7 +3508,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_READ_ERROR; + return S7_PLC_READ_ERROR_LST_BYTE; } } @@ -3551,7 +3551,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_WRITE_ERROR; + return S7_PLC_WRITE_ERROR_LST_WORD; } } else @@ -3575,7 +3575,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_READ_ERROR; + return S7_PLC_READ_ERROR_LST_WORD; } } @@ -3617,7 +3617,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_WRITE_ERROR; + return S7_PLC_WRITE_ERROR_LST_SHORT; } } else @@ -3640,7 +3640,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_READ_ERROR; + return S7_PLC_READ_ERROR_LST_SHORT; } } @@ -3682,7 +3682,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_WRITE_ERROR; + return S7_PLC_WRITE_ERROR_LST_DWORD; } } else @@ -3706,7 +3706,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_READ_ERROR; + return S7_PLC_READ_ERROR_LST_DWORD; } } @@ -3759,7 +3759,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_WRITE_ERROR; + return S7_PLC_WRITE_ERROR_LST_INT; } } else @@ -3783,7 +3783,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_READ_ERROR; + return S7_PLC_READ_ERROR_LST_INT; } } @@ -3830,7 +3830,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_WRITE_ERROR; + return S7_PLC_WRITE_ERROR_LST_DOUBLE; } } else @@ -3854,7 +3854,7 @@ namespace CMS_CORE_Library.S7Net } catch { - return S7_PLC_WRITE_ERROR; + return S7_PLC_READ_ERROR_LST_DOUBLE; } }