diff --git a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/AnalogInputLevel.java b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/AnalogInputLevel.java index 5cb72a0..8e0be0e 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/AnalogInputLevel.java +++ b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/AnalogInputLevel.java @@ -6,9 +6,9 @@ import lombok.AllArgsConstructor; @AllArgsConstructor public enum AnalogInputLevel { - two("2"), - four("4"), - six("6"), + TWO("2"), + FOUR("4"), + SIX("6"), ; private final String analogInput; diff --git a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/FourByte.java b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/FourByte.java index f504b55..b184860 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/FourByte.java +++ b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/FourByte.java @@ -5,10 +5,10 @@ import lombok.AllArgsConstructor; @AllArgsConstructor public enum FourByte { - little("little"), - littleSwap("littleSwap"), - bigSwap("bigSwap"), - big("big"); + LITTLE("little"), + LITTLE_SWAP("littleSwap"), + BIG_SWAP("bigSwap"), + BIG("big"); private final String fourByte; @JsonValue diff --git a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/InputDataType.java b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/InputDataType.java index 64ffa95..6e07ec7 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/InputDataType.java +++ b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/InputDataType.java @@ -6,7 +6,7 @@ import lombok.AllArgsConstructor; @AllArgsConstructor public enum InputDataType { integer("integer"), - flo("float"), + flo("float64"), bool("boolean"), unsignedInteger("unsignedInteger"), shor("short"), diff --git a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/TwoByte.java b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/TwoByte.java index 8c27ad7..6651d43 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/TwoByte.java +++ b/src/main/java/org/mobidgim/mobidigimproject/model/register/enums/TwoByte.java @@ -5,8 +5,8 @@ import lombok.AllArgsConstructor; @AllArgsConstructor public enum TwoByte { - little("little"), - big("big"); + LITTLE("little"), + BIG("big"); private final String twoByte; @JsonValue diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html index 6a6c628..ed24fcf 100644 --- a/src/main/resources/static/index.html +++ b/src/main/resources/static/index.html @@ -80,101 +80,54 @@ .config-actions button{min-width:140px;padding:10px 18px;font-size:16px;border:1px solid #bbb;background:#d9d9d9;border-radius:4px;cursor:pointer} /* MODBUS 화면 심플 스타일 */ - #page-modbus .card { - background: #f7f7f7; - border: 1px solid #bbb; - box-shadow: none; - padding: 24px; - border-radius: 4px; - display: flex; - flex-direction: column; - } - #page-modbus table { - width: 100%; - border-collapse: collapse; - background: #fff; - border: 1px solid #bbb; - } - #page-modbus th, #page-modbus td { - border: 1px solid #bbb; - padding: 6px 8px; - text-align: left; - background: #fff; - } - #page-modbus th { - background: #e5e5e5; - font-weight: 500; - } - #page-modbus .modbus-input-area { - display: grid; - grid-template-columns: 200px 200px 200px 200px; - gap: 20px 20px; - margin: 24px auto 16px auto; - background: #eaeaea; - padding: 16px; - border-radius: 4px; - margin-left: auto; - margin-right: auto; - } - #page-modbus .input-row { - display: contents; - } - #page-modbus .modbus-input-area label.nowrap { - white-space: nowrap; - } - #page-modbus .modbus-input-area label { - min-width: auto; - color: #444; - white-space: normal; - } - #page-modbus .modbus-input-area input { - background: #e0e0e0; - border: none; - border-radius: 2px; - padding: 4px 8px; - min-width: auto; - } - #page-modbus .modbus-actions { - display: flex; - gap: 24px; - justify-content: center; - margin: 16px 0 0 0; - } - #page-modbus .modbus-actions button { - background: #d3d3d3; - border: 1px solid #aaa; - border-radius: 2px; - padding: 8px 24px; - font-size: 16px; - cursor: pointer; - } + #page-modbus .card {background: #f7f7f7;border: 1px solid #bbb;box-shadow: none;padding: 24px;border-radius: 4px;display: flex;flex-direction: column;} + #page-modbus table {width: 100%;border-collapse: collapse;background: #fff;border: 1px solid #bbb;} + #page-modbus th, #page-modbus td {border: 1px solid #bbb;padding: 6px 8px;text-align: left;background: #fff;} + #page-modbus th {background: #e5e5e5;font-weight: 500;} + #page-modbus .modbus-input-area {display: grid;grid-template-columns: 200px 200px 200px 200px;gap: 20px 20px;margin: 24px auto 16px auto;background: #eaeaea;padding: 16px;border-radius: 4px;margin-left: auto;margin-right: auto;} + #page-modbus .input-row {display: contents;} + #page-modbus .modbus-input-area label.nowrap {white-space: nowrap;} + #page-modbus .modbus-input-area label {min-width: auto;color: #444;white-space: normal;} + #page-modbus .modbus-input-area input {background: #e0e0e0;border: none;border-radius: 2px;padding: 4px 8px;min-width: auto;} + #page-modbus .modbus-actions {display: flex;gap: 24px;justify-content: center;margin: 16px 0 0 0;} + #page-modbus .modbus-actions button {background: #d3d3d3;border: 1px solid #aaa;border-radius: 2px;padding: 8px 24px;font-size: 16px;cursor: pointer;} /* 하단 버튼 영역 */ - #modbus-bottom-actions { - display: flex; - gap: 24px; - justify-content: center; - background: #f7f7f7; - border: 1px solid #bbb; - border-radius: 4px; - margin: 24px 0 0 0; - padding: 20px 0; - } - #modbus-bottom-actions button { - background: #e0e0e0; - border: 1px solid #aaa; - border-radius: 2px; - padding: 10px 18px; - font-size: 16px; - min-width: 140px; - cursor: pointer; - } + #modbus-bottom-actions {display: flex;gap: 24px;justify-content: center;background: #f7f7f7;border: 1px solid #bbb;border-radius: 4px;margin: 24px 0 0 0;padding: 20px 0;} + #modbus-bottom-actions button {background: #e0e0e0;border: 1px solid #aaa;border-radius: 2px;padding: 10px 18px;font-size: 16px;min-width: 140px;cursor: pointer;} + + /* OPC_UA 화면 */ + #page-opcua .card {background: #f7f7f7;border: 1px solid #bbb;box-shadow: none;padding: 24px;border-radius: 4px;display: flex;flex-direction: column;} + #page-opcua table {width: 100%;border-collapse: collapse;background: #fff;border: 1px solid #bbb;} + #page-opcua th, #page-opcua td {border: 1px solid #bbb;padding: 6px 8px;text-align: left;background: #fff;} + #page-opcua th {background: #e5e5e5;font-weight: 500;} + #page-opcua .opcua-input-area {display: grid;grid-template-columns: 200px 200px 200px 200px;gap: 20px 20px;margin: 24px auto 16px auto;background: #eaeaea;padding: 16px;border-radius: 4px;margin-left: auto;margin-right: auto;} + #page-opcua .input-row {display: contents;} + #page-opcua .opcua-input-area label.nowrap {white-space: nowrap;} + #page-opcua .opcua-input-area label {min-width: auto;color: #444;white-space: normal;} + #page-opcua .opcua-input-area input {background: #e0e0e0;border: none;border-radius: 2px;padding: 4px 8px;min-width: auto;} + #page-opcua .opcua-actions {display: flex;gap: 24px;justify-content: center;margin: 16px 0 0 0;} + #page-opcua .opcua-actions button {background: #d3d3d3;border: 1px solid #aaa;border-radius: 2px;padding: 8px 24px;font-size: 16px;cursor: pointer;} + #opcUa-bottom-actions {display: flex;gap: 24px;justify-content: center;background: #f7f7f7;border: 1px solid #bbb;border-radius: 4px;margin: 24px 0 0 0;padding: 20px 0;} + #opcUa-bottom-actions button {background: #e0e0e0;border: 1px solid #aaa;border-radius: 2px;padding: 10px 18px;font-size: 16px;min-width: 140px;cursor: pointer;} + + /* CAN 화면 스타일 */ + #page-can .card {background: #f7f7f7; border: 1px solid #bbb; box-shadow: none; padding: 24px; border-radius: 4px; display: flex; flex-direction: column;} + #page-can table {width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #bbb;} + #page-can th, #page-can td {border: 1px solid #bbb; padding: 6px 8px; text-align: left; background: #fff;} + #page-can th {background: #e5e5e5; font-weight: 500;} + #page-can .can-input-area {display: grid; grid-template-columns: 200px 200px 200px 200px; gap: 20px 20px; margin: 24px auto 16px auto; background: #eaeaea; padding: 16px; border-radius: 4px; margin-left: auto; margin-right: auto;} + #page-can .input-row {display: contents;} + #page-can .can-input-area label.nowrap {white-space: nowrap;} + #page-can .can-input-area label {min-width: auto; color: #444; white-space: normal;} + #page-can .can-input-area input {background: #e0e0e0; border: none; border-radius: 2px; padding: 4px 8px; min-width: auto;} + #page-can .can-actions {display: flex; gap: 24px; justify-content: center; margin: 16px 0 0 0;} + #page-can .can-actions button {background: #d3d3d3; border: 1px solid #aaa; border-radius: 2px; padding: 8px 24px; font-size: 16px; cursor: pointer;} + #can-bottom-actions {display: flex; gap: 24px; justify-content: center; background: #f7f7f7; border: 1px solid #bbb; border-radius: 4px; margin: 24px 0 0 0; padding: 20px 0;} + #can-bottom-actions button {background: #e0e0e0; border: 1px solid #aaa; border-radius: 2px; padding: 10px 18px; font-size: 16px; min-width: 140px; cursor: pointer;} + + .selected-row{background: #d0e6ff !important;} + .selected-row > td {background: #d0e6ff !important;} - .selected-row{ - background: #d0e6ff !important; - } - .selected-row > td { - background: #d0e6ff !important; - }
@@ -195,6 +148,7 @@ + @@ -446,8 +400,8 @@ @@ -538,11 +492,25 @@ - + - + @@ -586,11 +554,14 @@| field | -addr | -ns | -odt | -dv | +Field | +Address | +NS | +ODT | +Default Value | +Shift | +Expression | +Mask |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| + | + | + | + | + | + | + |