From 3f1ef5cdf9212f912e9cad544387947d158f5d08 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 14 九月 2023 19:26:49 +0800 Subject: [PATCH] 增加plc连接状态 --- api/v1/plc.go | 21 +++++++++++++++++++++ model/response/common.go | 1 + docs/swagger.yaml | 10 +++++----- docs/docs.go | 14 +++++++------- docs/swagger.json | 14 +++++++------- 5 files changed, 41 insertions(+), 19 deletions(-) diff --git a/api/v1/plc.go b/api/v1/plc.go index 7fdf89d..3ed79a8 100644 --- a/api/v1/plc.go +++ b/api/v1/plc.go @@ -6,7 +6,10 @@ "apsClient/model/response" _ "apsClient/model/response" "apsClient/pkg/contextx" + "apsClient/pkg/ecode" + "apsClient/pkg/plc" "apsClient/service" + "fmt" "github.com/gin-gonic/gin" "github.com/spf13/cast" ) @@ -31,6 +34,24 @@ resp := new(response.ProductProgress) resp.FinishNumber = cast.ToInt(finishNumber) resp.TotalNumber = cast.ToInt(totalNumber) + + plcConfig, code := service.NewDevicePlcService().GetDevicePlc() + if code != ecode.OK { + return + } + plcStatus := 1 //鏂紑杩炴帴 + ipAddr := fmt.Sprintf("%s:%v", plcConfig.Address, plcConfig.Port) + + conn, err := plc.GetModbusConnection(ipAddr) + if err == nil && conn.IsConnected() { + if resp.FinishNumber > 0 { //鐢熶骇 + plcStatus = 2 + } else { //寰呮満 + plcStatus = 3 + } + } + resp.PlcStatus = plcStatus + ctx.OkWithDetailed(resp) } diff --git a/docs/docs.go b/docs/docs.go index ab10e06..dc275bb 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -707,6 +707,10 @@ "description": "鏁版嵁闀垮害", "type": "integer" }, + "position": { + "description": "鏁版嵁璧峰鍦板潃", + "type": "integer" + }, "startAddress": { "description": "鏁版嵁璧峰鍦板潃", "type": "integer" @@ -1014,6 +1018,9 @@ "finishNumber": { "type": "integer" }, + "plcStatus": { + "type": "integer" + }, "totalNumber": { "type": "integer" } @@ -1057,13 +1064,6 @@ }, "procedure": { "$ref": "#/definitions/model.Procedures" - }, - "workers": { - "description": "浜哄憳鍒楄〃", - "type": "array", - "items": { - "$ref": "#/definitions/common.ProcedureWorker" - } } } } diff --git a/docs/swagger.json b/docs/swagger.json index a946339..3566fd0 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -695,6 +695,10 @@ "description": "鏁版嵁闀垮害", "type": "integer" }, + "position": { + "description": "鏁版嵁璧峰鍦板潃", + "type": "integer" + }, "startAddress": { "description": "鏁版嵁璧峰鍦板潃", "type": "integer" @@ -1002,6 +1006,9 @@ "finishNumber": { "type": "integer" }, + "plcStatus": { + "type": "integer" + }, "totalNumber": { "type": "integer" } @@ -1045,13 +1052,6 @@ }, "procedure": { "$ref": "#/definitions/model.Procedures" - }, - "workers": { - "description": "浜哄憳鍒楄〃", - "type": "array", - "items": { - "$ref": "#/definitions/common.ProcedureWorker" - } } } } diff --git a/docs/swagger.yaml b/docs/swagger.yaml index a6908c8..fa76802 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -134,6 +134,9 @@ length: description: 鏁版嵁闀垮害 type: integer + position: + description: 鏁版嵁璧峰鍦板潃 + type: integer startAddress: description: 鏁版嵁璧峰鍦板潃 type: integer @@ -342,6 +345,8 @@ properties: finishNumber: type: integer + plcStatus: + type: integer totalNumber: type: integer type: object @@ -372,11 +377,6 @@ type: integer procedure: $ref: '#/definitions/model.Procedures' - workers: - description: 浜哄憳鍒楄〃 - items: - $ref: '#/definitions/common.ProcedureWorker' - type: array type: object info: contact: {} diff --git a/model/response/common.go b/model/response/common.go index 39b65be..788dd40 100644 --- a/model/response/common.go +++ b/model/response/common.go @@ -52,6 +52,7 @@ type ProductProgress struct { FinishNumber int `json:"finishNumber"` TotalNumber int `json:"totalNumber"` + PlcStatus int `json:"plcStatus"` } type TaskCountdown struct { -- Gitblit v1.8.0