| | |
| | | params: [1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
|
| | | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,],
|
| | | xyData: [
|
| | | { name: 'D01.SR dec', value: 0 },
|
| | | { name: "D01.SR in pos", value: 0 },
|
| | | { name: "D02.SR dec", value: 0 },
|
| | | { name: "D02.SR in pos", value: 0 },
|
| | | { name: "D03.SR into", value: 0 },
|
| | | { name: "D03.SR dec", value: 0 },
|
| | | { name: 'D03.SR in pos', value: 0 },
|
| | | { name: "D04.SR dec", value: 0 },
|
| | | { name: "D04.SR in pos", value: 0 },
|
| | | { name: "D05.SR dec", value: 0 },
|
| | | { name: "D05.SR in pos", value: 0 },
|
| | | { name: "D06.SR dec", value: 0 },
|
| | | { name: 'D06.SR in pos', value: 0 },
|
| | | { name: "B01.SR out dec", value: 0 },
|
| | | { name: "B01.SR out in pos", value: 0 },
|
| | | { name: "B01.SR in dec", value: 0 },
|
| | | { name: "B01.SR in in pos", value: 0 },
|
| | | { name: "B01.SR turn on", value: 0 },
|
| | | { name: 'B01.SR turn off', value: 0 },
|
| | | { name: "B01.SR up", value: 0 },
|
| | | { name: "B01.SR down", value: 0 },
|
| | | { name: "B02.SR out dec", value: 0 },
|
| | | { name: "B02.SR out in pos", value: 0 },
|
| | | { name: "B02.SR in dec", value: 0 },
|
| | | { name: 'B02.SR in in pos', value: 0 },
|
| | | { name: "B02.SR turn on", value: 0 },
|
| | | { name: "B02.SR turn off", value: 0 },
|
| | | { name: "B02.SR up", value: 0 },
|
| | | { name: "B02.SR down", value: 0 },
|
| | | { name: "B01.SR out safety", value: 0 },
|
| | | { name: "B01.SR in safety", value: 0 },
|
| | | { name: "B02.SR out safety", value: 0 },
|
| | | { name: "SB.start(+)", value: 0 },
|
| | | { name: "SB.stop(1)", value: 0 },
|
| | | { name: "SB.reset", value: 0 },
|
| | | { name: "SB.auto/manul", value: 0 },
|
| | | { name: "SB.pause", value: 0 },
|
| | | { name: "SB.emg", value: 0 },
|
| | | { name: "D01.SB.start", value: 0 },
|
| | | { name: "D06.SB.start", value: 0 },
|
| | | { name: "B02.SR in safety", value: 0 },
|
| | | { name: "SAFETYDOOR.requset", value: 0 },
|
| | | { name: "SAFETYDOOR.confirm", value: 0 },
|
| | | { name: "SAFETYDOOR.reset", value: 0 },
|
| | | { name: "LED.red", value: 0 },
|
| | | { name: "LED.green", value: 0 },
|
| | | { name: "LED.yellow", value: 0 },
|
| | | { name: "D01.LED.green", value: 0 },
|
| | | { name: "D06.LED.green", value: 0 },
|
| | | { name: "B01.YV.turn", value: 0 },
|
| | | { name: "B01.YV.up down", value: 0 },
|
| | | { name: "B01.YV.gassing", value: 0 },
|
| | | { name: "B02.YV.turn", value: 0 },
|
| | | { name: "B02.YV.up down", value: 0 },
|
| | | { name: "B02.YV.gassing", value: 0 },
|
| | | { name: "SAFETYDOOR.led", value: 0 },
|
| | | { name: "SAFETYDOOR.open", value: 0 },
|
| | | { name: 'D01.SR dec', value: 1 },
|
| | | { name: "D01.SR in pos", value: 1 },
|
| | | { name: "D02.SR dec", value: 1 },
|
| | | { name: "D02.SR in pos", value: 1 },
|
| | | { name: "D03.SR into", value: 1 },
|
| | | { name: "D03.SR dec", value: 1 },
|
| | | { name: 'D03.SR in pos', value: 1 },
|
| | | { name: "D04.SR dec", value: 1 },
|
| | | { name: "D04.SR in pos", value: 1 },
|
| | | { name: "D05.SR dec", value: 1 },
|
| | | { name: "D05.SR in pos", value: 1 },
|
| | | { name: "D06.SR dec", value: 1 },
|
| | | { name: 'D06.SR in pos', value: 1 },
|
| | | { name: "B01.SR out dec", value: 1 },
|
| | | { name: "B01.SR out in pos", value: 1 },
|
| | | { name: "B01.SR in dec", value: 1 },
|
| | | { name: "B01.SR in in pos", value: 1 },
|
| | | { name: "B01.SR turn on", value: 1 },
|
| | | { name: 'B01.SR turn off', value: 1 },
|
| | | { name: "B01.SR up", value: 1 },
|
| | | { name: "B01.SR down", value: 1 },
|
| | | { name: "B02.SR out dec", value: 1 },
|
| | | { name: "B02.SR out in pos", value: 1 },
|
| | | { name: "B02.SR in dec", value: 1 },
|
| | | { name: 'B02.SR in in pos', value: 1 },
|
| | | { name: "B02.SR turn on", value: 1 },
|
| | | { name: "B02.SR turn off", value: 1 },
|
| | | { name: "B02.SR up", value: 1 },
|
| | | { name: "B02.SR down", value: 1 },
|
| | | { name: "B01.SR out safety", value: 1 },
|
| | | { name: "B01.SR in safety", value: 1 },
|
| | | { name: "B02.SR out safety", value: 1 },
|
| | | { name: "SB.start(+)", value: 1 },
|
| | | { name: "SB.stop(1)", value: 1 },
|
| | | { name: "SB.reset", value: 1 },
|
| | | { name: "SB.auto/manul", value: 1 },
|
| | | { name: "SB.pause", value: 1 },
|
| | | { name: "SB.emg", value: 1 },
|
| | | { name: "D01.SB.start", value: 1 },
|
| | | { name: "D06.SB.start", value: 1 },
|
| | | { name: "B02.SR in safety", value: 1 },
|
| | | { name: "SAFETYDOOR.requset", value: 1 },
|
| | | { name: "SAFETYDOOR.confirm", value: 1 },
|
| | | { name: "SAFETYDOOR.reset", value: 1 },
|
| | | { name: "LED.red", value: 1 },
|
| | | { name: "LED.green", value: 1 },
|
| | | { name: "LED.yellow", value: 1 },
|
| | | { name: "D01.LED.green", value: 1 },
|
| | | { name: "D06.LED.green", value: 1 },
|
| | | { name: "B01.YV.turn", value: 1 },
|
| | | { name: "B01.YV.up down", value: 1 },
|
| | | { name: "B01.YV.gassing", value: 1 },
|
| | | { name: "B02.YV.turn", value: 1 },
|
| | | { name: "B02.YV.up down", value: 1 },
|
| | | { name: "B02.YV.gassing", value: 1 },
|
| | | { name: "SAFETYDOOR.led", value: 1 },
|
| | | { name: "SAFETYDOOR.open", value: 1 },
|
| | |
|
| | | ],
|
| | | // canshu: [
|
| | | // 'D01.SR dec',
|
| | | // 'D01.SR in pos',
|
| | | // 'D02.SR dec',
|
| | | // 'D02.SR in pos',
|
| | | // 'D03.SR into',
|
| | | // 'D03.SR dec',
|
| | | // 'D03.SR in pos',
|
| | | // 'D04.SR dec',
|
| | | // 'D04.SR in pos',
|
| | | // 'D05.SR dec',
|
| | | // 'D05.SR in pos',
|
| | | // 'D06.SR dec',
|
| | | // 'D06.SR in pos',
|
| | | // 'B01.SR out dec',
|
| | | // 'B01.SR out in pos',
|
| | | // 'B01.SR in dec',
|
| | | // 'B01.SR in in pos',
|
| | | // 'B01.SR turn on',
|
| | | // 'B01.SR turn off',
|
| | | // 'B01.SR up',
|
| | | // 'B01.SR down',
|
| | | // 'B02.SR out dec',
|
| | | // 'B02.SR out in pos',
|
| | | // 'B02.SR in dec',
|
| | | // 'B02.SR in in pos',
|
| | | // 'B02.SR turn on',
|
| | | // 'B02.SR turn off',
|
| | | // 'B02.SR up',
|
| | | // 'B02.SR down',
|
| | | // 'LED.red',
|
| | | // 'LED.green',
|
| | | // 'LED.yellow',
|
| | | // ],
|
| | | canshu: [
|
| | | 'D01.SR dec',
|
| | | 'D01.SR in pos',
|
| | | 'D02.SR dec',
|
| | | 'D02.SR in pos',
|
| | | 'D03.SR into',
|
| | | 'D03.SR dec',
|
| | | 'D03.SR in pos',
|
| | | 'D04.SR dec',
|
| | | 'D04.SR in pos',
|
| | | 'D05.SR dec',
|
| | | 'D05.SR in pos',
|
| | | 'D06.SR dec',
|
| | | 'D06.SR in pos',
|
| | | 'B01.SR out dec',
|
| | | 'B01.SR out in pos',
|
| | | 'B01.SR in dec',
|
| | | 'B01.SR in in pos',
|
| | | 'B01.SR turn on',
|
| | | 'B01.SR turn off',
|
| | | 'B01.SR up',
|
| | | 'B01.SR down',
|
| | | 'B02.SR out dec',
|
| | | 'B02.SR out in pos',
|
| | | 'B02.SR in dec',
|
| | | 'B02.SR in in pos',
|
| | | 'B02.SR turn on',
|
| | | 'B02.SR turn off',
|
| | | 'B02.SR up',
|
| | | 'B02.SR down',
|
| | | 'LED.red',
|
| | | 'LED.green',
|
| | | 'LED.yellow',
|
| | | ],
|
| | |
|
| | | },
|
| | |
|
| | |
| | | methods: {
|
| | | //根据读取PLC的值,根据名称改变颜色
|
| | | getStatusClass (zhuangtai) {
|
| | | // if (mc === "LED.green" && zhuangtai === 0) {
|
| | | // return "green";
|
| | | // }
|
| | | // if (mc === "LED.red" && zhuangtai === 0) {
|
| | | // return "red";
|
| | | // }
|
| | | // if (mc === "LED.yellow" && zhuangtai === 0) {
|
| | | // return "yellow"
|
| | | // }
|
| | |
|
| | |
|
| | | if (zhuangtai === 0) {
|
| | | return "op";
|
| | | }
|
| | | else {
|
| | | return "dow";
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | },
|
| | | init () {
|
| | |
| | |
|
| | | //console.log("收到数据====" + msg.data);
|
| | | let obj = JSON.parse(msg.data);
|
| | | //this.$set(this.record.params, 0, obj.params[0]);
|
| | | this.record.params[0] = obj.sig[0];
|
| | | for (let a = 0; a <= this.record.xyData[0] - 1; a++) {
|
| | | for (let a = 0; a < this.record.params[0].length; a++) {
|
| | | if (!this.record.xyData[a]) {
|
| | | this.record.xyData[a] = { name: this.record.canshu[a], value: this.record.params[0][a] };
|
| | |
|
| | | } else {
|
| | | this.record.xyData[a].value = this.record.params[0][a];
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | | this.$forceUpdate();
|
| | |
| | | }
|
| | | }
|
| | | },
|
| | | send () {
|
| | | this.messagepack.data = { taskname: "前端到后台" };
|
| | | socket?.send(JSON.stringify(this.messagepack)); // 将组装好的json发送给服务端,由服务端进行转发
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
| | |
|
| | | <div class="kuai_div" v-for="item in this.record.xyData" :key="item.name">
|
| | | <el-input style="width: 280px;" class="in_mc" v-model="item.name"></el-input>
|
| | | <el-input v-model.number="item.value" style="width: 80px;"></el-input>
|
| | | <el-input v-model="item.value" readonly="readonly" style="width: 80px;"></el-input>
|
| | | </div>
|
| | |
|
| | |
|
| | |
| | | data () {
|
| | | return {
|
| | | record: {
|
| | | params: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0,],
|
| | | params: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1,],
|
| | | xyData: [
|
| | | { name: 'D01.State', value: 0 },
|
| | | { name: 'D02.State', value: 0 },
|
| | | { name: 'B01.State', value: 0 },
|
| | | { name: 'B02.State', value: 0 },
|
| | | { name: 'A01.State', value: 0 },
|
| | | { name: 'A02.State', value: 0 },
|
| | | { name: 'D03.State', value: 0 },
|
| | | { name: 'D04.State', value: 0 },
|
| | | { name: 'D05.State', value: 0 },
|
| | | { name: 'D06.State', value: 0 },
|
| | | { name: 'D01.State', value: "自动" },
|
| | | { name: 'D02.State', value: "自动" },
|
| | | { name: 'B01.State', value: "自动" },
|
| | | { name: 'B02.State', value: "自动" },
|
| | | { name: 'A01.State', value: "自动" },
|
| | | { name: 'A02.State', value: "自动" },
|
| | | { name: 'D03.State', value: "自动" },
|
| | | { name: 'D04.State', value: "自动" },
|
| | | { name: 'D05.State', value: "自动" },
|
| | | { name: 'D06.State', value: "自动" },
|
| | | ],
|
| | | // canshu: [
|
| | | // 'D01.State',
|
| | |
| | | //console.log("收到数据====" + msg.data);
|
| | | let obj = JSON.parse(msg.data);
|
| | | this.record.params[0] = obj.sta[0];
|
| | | console.log(this.record.params[0]);
|
| | | //将读取到的PLC的数据,与定义的xyData,组合成新的数组
|
| | | for (let a = 0; a <= this.record.xyData[0].length - 1; a++) {
|
| | | for (let a = 0; a < this.record.params[0].length; a++) {
|
| | | if (!this.record.xyData[a]) {
|
| | | this.record.xyData[a] = { name: this.record.canshu[a], value: this.record.params[0][a] };
|
| | | } else {
|
| | |
| | | console.log(this.messagepack);
|
| | | socket?.send(JSON.stringify(this.messagepack));
|
| | | },
|
| | | valuezhi (zhi) {
|
| | | if (zhi == 1) {
|
| | | return "自动";
|
| | | }
|
| | | else {
|
| | | return "手动";
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | |
| | | import cn.hutool.json.JSONObject; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | import com.example.springboot.mapper.AlarmMapper; |
| | |
| | | } |
| | | |
| | | List<Boolean> plclist = S7control.getinstance().ReadBits("DB104.DBx0.0", 40); |
| | | if (plclist == null) { |
| | | |
| | | } else { |
| | | // Boolean[] values = { true, false, true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, true, false, true, false, true, false, |
| | | // true, false, true, false, true, |
| | | // false, true, false, true, false, |
| | | // true, false, true, false }; |
| | | // List<Boolean> plclist = new ArrayList<>(Arrays.asList(values)); |
| | | if (plclist != null) { |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | |
| | |
| | | if (sendwServer != null) { |
| | | sendwServer.sendMessage(jsonObject.toString()); |
| | | } |
| | | // 将读取plc数据的plclist转换为数组 |
| | | Short[] shuzu1 = plclist.toArray(new Short[0]); |
| | | // Short[] shuzu1 = { |
| | | // 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, |
| | | // 1, 0, 1, 0, 0, |
| | | // 1, 0, 1, 0, 1, 0, 1, 0, 1, |
| | | // }; |
| | | |
| | | // 将获取的布尔类型转换为整数类型 |
| | | List<Integer> Intlist = new ArrayList<>(); |
| | | for (Boolean value : plclist) { |
| | | Intlist.add(value == true ? 1 : 0); |
| | | |
| | | } |
| | | // 将Intlist转换为数组 |
| | | Integer[] shuzu1 = Intlist.toArray(new Integer[0]); |
| | | |
| | | String[] shuzu = { |
| | | "D01 VFD error", |
| | |
| | | "B02 OUT pos error", |
| | | }; |
| | | alarmMapper = WebSocketServer.applicationContext.getBean(AlarmMapper.class); |
| | | for (short i = 0; i < shuzu1.length; i++) { |
| | | for (short i = 0; i < shuzu.length; i++) { |
| | | short result = alarmMapper.selectnullti(shuzu[i]); |
| | | if (shuzu1[i] == 1 && result == 0) { |
| | | alarmMapper.Insertalarm(shuzu[i]); |
| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Arrays; |
| | | |
| | | public class Plcsign extends Thread { |
| | | @Override |
| | |
| | | } |
| | | |
| | | List<Boolean> plclist = S7control.getinstance().ReadBits("DB102.DBX0.0", 58); |
| | | if (plclist == null) { |
| | | // Boolean[] values = { true, false, true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, true, false, true, false, true, false, |
| | | // true, false, true, false, true, |
| | | // false, true, false, true, false, |
| | | // true, false, true, false, true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, |
| | | // true, false, true, false, true, }; |
| | | // List<Boolean> plclist = new ArrayList<>(Arrays.asList(values)); |
| | | if (plclist != null) { |
| | | // 将获取的布尔类型转换为整数类型 |
| | | List<Integer> Intlist = new ArrayList<>(); |
| | | for (Boolean value : plclist) { |
| | | Intlist.add(value == true ? 0 : 1); |
| | | |
| | | } else { |
| | | } |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // jsonObject3.append("sig", |
| | | // new short[] { 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, |
| | | // 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, |
| | | // 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, |
| | | // }); |
| | | jsonObject.append("sig", plclist); |
| | | jsonObject.append("sig", Intlist); |
| | | WebSocketServer sendwServer3 = WebSocketServer.sessionMap.get("Sign"); |
| | | if (sendwServer3 != null) { |
| | | sendwServer3.sendMessage(jsonObject.toString()); |
| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Arrays; |
| | | |
| | | public class Plcstate extends Thread { |
| | | @Override |
| | |
| | | } |
| | | |
| | | List<Short> plclist = S7control.getinstance().ReadWord("DB103.DBW0", 10); |
| | | if (plclist == null) { |
| | | // Short[] values = { 0, 1, 1, 0, 1, 0, 1, 0, |
| | | // 1, 0, }; |
| | | // List<Short> plclist = new ArrayList<>(Arrays.asList(values)); |
| | | if (plclist != null) { |
| | | |
| | | } else { |
| | | List<String> Intlist = new ArrayList<>(); |
| | | for (Short value : plclist) { |
| | | Intlist.add(value == 1 ? "自动" : "手动"); |
| | | |
| | | } |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // jsonObject.append("sta", |
| | | // new short[] { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, }); |
| | | jsonObject.append("sta", plclist); |
| | | jsonObject.append("sta", Intlist); |
| | | WebSocketServer sendwServer = WebSocketServer.sessionMap.get("State"); |
| | | if (sendwServer != null) { |
| | | sendwServer.sendMessage(jsonObject.toString()); |