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