New file |
| | |
| | | [
|
| | | |
| | | |
| | | |
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "MES进片任务"
|
| | | |
| | | }, "type": "1"
|
| | | |
| | | },
|
| | | {
|
| | | "name": "进片车起始位",
|
| | | "read": 33,
|
| | | "sending": 0,
|
| | | "type": "0",
|
| | | "unit": "mm",
|
| | | "value":"0",
|
| | | "address":"DB100.48",
|
| | | "count":10,
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片车目标位",
|
| | | "read": 11,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片玻璃长度",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片玻璃宽度",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片笼玻璃数",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | }
|
| | | |
| | | |
| | | |
| | | ],
|
| | | |
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "PLC进片任务"
|
| | | |
| | | },"type": "1",
|
| | | "value":"0"
|
| | | },
|
| | | {
|
| | | "name": "进片车状态",
|
| | | "read": 33,
|
| | | "sending": 0,
|
| | | "type": "0" ,
|
| | | "unit": "mm",
|
| | | "value":"0",
|
| | | "address":"DB100.68",
|
| | | "count":10,
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片车当前任务起始位",
|
| | | "read": 11,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片车当前任务终点位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片请求",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "D01 ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "D02 ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":22000
|
| | | }
|
| | | |
| | | |
| | | ],
|
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "MES出片任务"
|
| | | |
| | | }, "type": "1"
|
| | | },
|
| | | {
|
| | | "name": "出片车起始位",
|
| | | "read": 33,
|
| | | "sending": 0,
|
| | | "type": "0",
|
| | | "unit": "mm",
|
| | | "address":"DB100.0",
|
| | | "count":3,
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片车目标位",
|
| | | "read": 11,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片笼玻璃数",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "进片任务启动",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片任务启动",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | }
|
| | | |
| | | |
| | | |
| | | ],
|
| | | |
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "PLC出片任务"
|
| | | |
| | | }, "type": "1"
|
| | | },
|
| | | {
|
| | | "name": "出片车状态",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片车当前任务起始位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片车当前任务终点位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "A02 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | }
|
| | | |
| | | |
| | | |
| | | ],
|
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "MES任务信息"
|
| | | |
| | | }, "type": "1"
|
| | | },
|
| | | {
|
| | | "name": "B01汇报应答",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02汇报应答",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B01小车当前任务位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B01小车任务状态",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02小车当前位置",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02小车任务状态",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "A01 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "A01 ID2",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "A02 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B01 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"0",
|
| | | "min":0,
|
| | | "max":9999
|
| | | }
|
| | | |
| | | |
| | | |
| | | ]
|
| | | |
| | | |
| | | |
| | | ]
|
| | | |
| | | |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.0" |
| | | }, |
| | | { |
| | | "name": "D01.SR in pos", |
| | | "value": "0", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.1" |
| | | }, |
| | | { |
| | | "name": "D02.SR dec", |
| | | "value": "0", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.2" |
| | | |
| | | }, |
| | | { |
| | | "name": "D02.SR in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.3" |
| | | }, |
| | | { |
| | | "name": "D03.SR into", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.4" |
| | | }, |
| | | { |
| | | "name": "D03.SR dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.5" |
| | | }, |
| | | { |
| | | "name": "D03.SR in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.6" |
| | | }, |
| | | { |
| | | "name": "D04.SR dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I10.7" |
| | | }, |
| | | { |
| | | "name": "D04.SR in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.0" |
| | | |
| | | }, |
| | | { |
| | | "name": "D05.SR dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.1" |
| | | }, |
| | | { |
| | | "name": "D05.SR in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.2" |
| | | }, |
| | | { |
| | | "name": "D06.SR dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.3" |
| | | }, |
| | | { |
| | | "name": "D06.SR in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.4" |
| | | }, |
| | | { |
| | | "name": "B01.SR in dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.5" |
| | | }, |
| | | { |
| | | "name": "B01.SR in in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.6" |
| | | }, |
| | | { |
| | | "name": "B01.SR out dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I11.7" |
| | | }, |
| | | { |
| | | "name": "B01.SR out in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.0" |
| | | |
| | | }, |
| | | { |
| | | "name": "B01.SR turn on", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.1" |
| | | }, |
| | | { |
| | | "name": "B01.SR turn off", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.2" |
| | | }, |
| | | { |
| | | "name": "B01.SR up", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.3" |
| | | }, |
| | | { |
| | | "name": "B01.SR down", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.4" |
| | | }, |
| | | { |
| | | "name": "B02.SR out dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.5" |
| | | }, |
| | | { |
| | | "name": "B02.SR out in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.6" |
| | | }, |
| | | { |
| | | "name": "B02.SR in dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I124.7" |
| | | }, |
| | | { |
| | | "name": "B02.SR in in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.0" |
| | | }, |
| | | { |
| | | "name": "B02.SR turn on", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.1" |
| | | }, |
| | | { |
| | | "name": "B02.SR turn off", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.2" |
| | | }, |
| | | { |
| | | "name": "B02.SR up", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.3" |
| | | }, |
| | | { |
| | | "name": "B02.SR down", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.4" |
| | | }, |
| | | { |
| | | "name": "B01.SR in safety", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.5" |
| | | }, |
| | | { |
| | | "name": "B01.SR out safety", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.6" |
| | | }, |
| | | { |
| | | "name": "B02.SR in safety", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I125.7" |
| | | }, |
| | | { |
| | | "name": "SB.start(+)", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.0" |
| | | }, |
| | | { |
| | | "name": "SB.stop(1)", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.1" |
| | | }, |
| | | { |
| | | "name": "SB.reset", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.2" |
| | | }, |
| | | { |
| | | "name": "SB.auto/manul", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.3" |
| | | }, |
| | | { |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.4" |
| | | }, |
| | | { |
| | | "name": "SB.emg", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.5" |
| | | }, |
| | | { |
| | | "name": "D01.SB.start", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.6" |
| | | }, |
| | | { |
| | | "name": "D06.SB.start", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I126.7" |
| | | }, |
| | | { |
| | | "name": "B02.SR out safety", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.0" |
| | | }, |
| | | { |
| | | "name": "SafetyDoor.requset", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.1" |
| | | }, |
| | | { |
| | | "name": "SafetyDoor.confirm", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.2" |
| | | }, |
| | | { |
| | | "name": "SafetyDoor.reset", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.3" |
| | | }, |
| | | { |
| | | "name": "Sspace", |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.4" |
| | | }, |
| | | { |
| | | "name": "Sspce", |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.5" |
| | | }, |
| | | { |
| | | "name": "Sspce", |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.6" |
| | | }, |
| | | { |
| | | "name": "Sspce", |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I127.7" |
| | | }, |
| | | { |
| | | "name": "A01.SR left dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.0" |
| | | }, |
| | | { |
| | | "name": "A01.SR left in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.1" |
| | | }, |
| | | { |
| | | "name": "A01.SR left safety", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.2" |
| | | }, |
| | | { |
| | | "name": "A01.SR right dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.3" |
| | | }, |
| | | { |
| | | "name": "A01.SR right in pos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.4" |
| | | }, |
| | | { |
| | | "name": "A01.SR right safety", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.5" |
| | | }, |
| | | { |
| | | "name": "A01.SR turn home", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.6" |
| | | }, |
| | | { |
| | | "name": "A01.SR turn up", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I128.7" |
| | | }, |
| | | { |
| | | "name": "A01.SR turn down", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.0" |
| | | }, |
| | | { |
| | | "name": "A01.SR travel home", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.1" |
| | | }, |
| | | { |
| | | "name": "A01.SR travel left dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.2" |
| | | }, |
| | | { |
| | | "name": "A01.SR travel left limit", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.3" |
| | | }, |
| | | { |
| | | "name": "A01.SR travel right dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.4" |
| | | }, |
| | | { |
| | | "name": "A01.SR travel right limit", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.5" |
| | | }, |
| | | { |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.6" |
| | | }, |
| | | { |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I129.7" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.0" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.1" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.2" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.3" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.4" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.5" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.6" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I130.7" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.0" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.1" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.2" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.3" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.4" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.5" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.6" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I131.7" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.0" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.1" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.2" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.3" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.4" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.5" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.6" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"I132.7" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.0" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.1" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.2" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.3" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.4" |
| | | }, |
| | | { |
| | | "name": "B01.YV.turn", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.5" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.6" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q4.7" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.0" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.1" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.2" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.3" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.4" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.5" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.6" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q5.7" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q126.0" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q126.1" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q126.2" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q126.3" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q127.0" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q127.1" |
| | | } |
| | | , |
| | | { |
| | |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q127.2" |
| | | }, |
| | | { |
| | | "name": "space", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1" |
| | | "page": "1", |
| | | "unit":"Q127.3" |
| | | } |
| | | |
| | | |
| | |
| | | "B02 OUT pos error": "B02 OUT pos 错误"
|
| | | },
|
| | | "Electrical": "设备管理",
|
| | | "Parameter": "参数下发",
|
| | | "Parameter": "参数设置",
|
| | | "Action": "开关控制",
|
| | | "Sign": "IO状态",
|
| | | "State": "设备状态",
|
| | |
| | | "SafetyDoor.requset": "安全门请求进入",
|
| | | "SafetyDoor.confirm": "安全门确认",
|
| | | "SafetyDoor.reset": "安全门复位",
|
| | | "Sspce":"备用",
|
| | | "A01.SR left dec":"A01左键速",
|
| | | "A01.SR left in pos":"A01左到位",
|
| | | "A01.SR left safety":"A01左安全",
|
| | |
| | | "ManualonePosition":"手动定位",
|
| | | "Servomanualone":"半自动",
|
| | | "Address parameter settings":"地址参数设置",
|
| | | "Speed parameter settings":"速度参数设置"
|
| | | "Speed parameter settings":"速度参数设置",
|
| | | "InteractionState":"交互状态"
|
| | |
|
| | | } |
| | |
| | | }, |
| | | 1000 |
| | | ); |
| | | if (this.reset == false) { |
| | | if (this.reset == false&&this.EmergencyStop == false) { |
| | | this.dialogFormCountDown = true; |
| | | } |
| | | }, |
| | |
| | | { |
| | | path: '/Electrical/ManualJog', |
| | | component: () => import('../views/Electrical/ManualJog') |
| | | }, |
| | | { |
| | | path: '/Electrical/InteractionState', |
| | | component: () => import('../views/Electrical/InteractionState') |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | ] |
| | | } |
| | |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | |
| | | <router-link |
| | | to="/Electrical/InteractionState" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("InteractionState") }}</router-link |
| | | > |
| | | |
| | | </el-breadcrumb> |
| | | |
New file |
| | |
| | | <template> |
| | | <div class="app"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> |
| | | <router-link |
| | | to="/Electrical/alarm" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Alarm") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/State" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("State") }}</router-link |
| | | > |
| | | <!-- <router-link |
| | | to="/Electrical/Action" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Action") }}</router-link |
| | | > --> |
| | | <!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') |
| | | }}</router-link> --> |
| | | <router-link |
| | | to="/Electrical/Sign" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Sign") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/Servomanual" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Parameter") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> |
| | | <router-link |
| | | to="/Electrical/Parameter2" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Automatic State") }}</router-link |
| | | > |
| | | <!-- <router-link |
| | | to="/Electrical/ManualJog" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualJog") }}</router-link |
| | | > --> |
| | | |
| | | <router-link |
| | | to="/Electrical/ManualonePosition" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualonePosition") }}</router-link |
| | | > |
| | | |
| | | <router-link |
| | | to="/Electrical/Servomanualone" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Servomanualone") }}</router-link |
| | | > |
| | | <!-- <router-link |
| | | to="/Electrical/Parameter1" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Parameter1") }}</router-link |
| | | > --> |
| | | |
| | | <router-link |
| | | to="/Electrical/Positioning1" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Address parameter settings") }}</router-link |
| | | > |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> --> |
| | | |
| | | <!-- <router-link |
| | | to="/Electrical/ManualonePosition2" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualonePosition2") }}</router-link |
| | | > --> |
| | | <router-link |
| | | to="/Electrical/AutomaticParameterSetting" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Speed parameter settings") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/InteractionState" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("InteractionState") }}</router-link |
| | | > |
| | | |
| | | |
| | | </el-breadcrumb> |
| | | |
| | | <el-row :gutter="30" class="card"> |
| | | <el-col |
| | | :span="6" |
| | | v-for="(dataGroup, groupIndex) in jsonData" |
| | | :key="groupIndex" |
| | | > |
| | | <el-card class="json-block" style="width: 300px; margin-bottom: 2px;height:500px" > |
| | | <div |
| | | class="button-row" |
| | | style="display: flex; justify-content: space-between" |
| | | > |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex"> |
| | | <span |
| | | v-if="item.title" |
| | | :name="item.title.name" |
| | | class="action-button" |
| | | >{{ item.title.name }}</span |
| | | > |
| | | </div> |
| | | </div> |
| | | <div |
| | | v-for="(item, itemIndex) in dataGroup" |
| | | :key="itemIndex" |
| | | class="item-container" |
| | | > |
| | | <div class="item-row"> |
| | | <span class="name" style="width: 150px">{{ item.name }}</span> |
| | | <el-input |
| | | v-if="item.type === '0'" |
| | | v-model="item.value" |
| | | class="input-box" |
| | | readonly="readonly" style="width: 200px" |
| | | ></el-input> |
| | | |
| | | |
| | | <!-- <el-button |
| | | v-if="item.type === '0' && item.name !== '格子间距' && item.name !== '出片接片地址' && item.name !== '存片接片地址'" |
| | | class="input-box" @click="submitDataToBackend();">取地址</el-button> --> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-button @click="submitDataToBackend">提交数据到后端</el-button> --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | let socket; |
| | | import LanguageMixin from "../../lang/LanguageMixin"; |
| | | import data from "../../configuration/InteractionState"; |
| | | |
| | | export default { |
| | | name: "InteractionState", |
| | | mixins: [LanguageMixin], |
| | | data() { |
| | | return { |
| | | jsonData: data, // 加载整个data.json文件作为jsonData |
| | | }; |
| | | }, |
| | | activated() { |
| | | this.initWebSocket(); |
| | | const language = this.$i18n.locale; |
| | | console.log(language); |
| | | if (language === "en-US") { |
| | | this.replaceChineseWithEnglish(); |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | methods: { |
| | | |
| | | |
| | | initWebSocket() { |
| | | let viewname = "InteractionState"; |
| | | |
| | | if (typeof WebSocket === "undefined") { |
| | | console.log("您的浏览器不支持WebSocket"); |
| | | } else { |
| | | let socketUrl = |
| | | "ws://" + |
| | | this.$t("ip") + |
| | | ":8888" + |
| | | "/springboot-vue3/api/talk/" + |
| | | viewname; |
| | | |
| | | if (socket != null) { |
| | | socket.close(); |
| | | socket = null; |
| | | } |
| | | |
| | | // 开启一个websocket服务 |
| | | socket = new WebSocket(socketUrl); |
| | | |
| | | // 打开事件 |
| | | socket.onopen = function () { |
| | | console.log("websocket已打开"); |
| | | }; |
| | | |
| | | |
| | | |
| | | socket.onmessage = (msg) => { |
| | | if (!msg.data) { |
| | | return; // 如果收到空数据,则直接返回,不执行后续逻辑 |
| | | } |
| | | |
| | | |
| | | let obj = JSON.parse(msg.data); |
| | | const jsondata2 = this.jsonData; |
| | | |
| | | const zuhe1=obj.zuhe1; |
| | | |
| | | |
| | | if(obj.zuhe1){ |
| | | |
| | | //console.log(obj); |
| | | |
| | | for (let i = 0; i < jsondata2.length; i++) { |
| | | const item = jsondata2[i]; |
| | | for (let j = 1; j < item.length; j++) { |
| | | const subitem = item[j]; |
| | | if (subitem.type === '0' ) { |
| | | if (j - 1 < zuhe1[i].length) { |
| | | subitem.value = zuhe1[i][j - 1]; |
| | | } else { |
| | | subitem.value = 'N/A'; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | // 关闭事件 |
| | | socket.onclose = function () { |
| | | console.log("websocket已关闭"); |
| | | }; |
| | | |
| | | // 发生错误事件 |
| | | socket.onerror = function () { |
| | | console.log("websocket发生了错误"); |
| | | }; |
| | | this.$router.afterEach(function () { |
| | | socket.close(); |
| | | }); |
| | | } |
| | | }, |
| | | //语言替换 |
| | | replaceChineseWithEnglish() { |
| | | const nameMap = this.$t("langPositioning1"); |
| | | this.jsonData = this.jsonData.map((item) => { |
| | | return item.map((obj) => { |
| | | if (obj.name) { |
| | | const newName = nameMap[obj.name] || obj.name; |
| | | return { ...obj, name: newName }; |
| | | } else if (obj.button && obj.button.name) { |
| | | const newName = nameMap[obj.button.name] || obj.button.name; |
| | | return { ...obj, button: { ...obj.button, name: newName } }; |
| | | } else if (obj.title && obj.title.name) { |
| | | const newName = nameMap[obj.title.name] || obj.title.name; |
| | | return { ...obj, title: { ...obj.title, name: newName } }; |
| | | } else { |
| | | return obj; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // console.log(this.jsonData) |
| | | }, |
| | | send() { |
| | | socket?.send(JSON.stringify(this.messagepack)); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .item-row { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 5px; |
| | | /* 调整每个项目之间的间距 */ |
| | | } |
| | | |
| | | .action-button { |
| | | margin-right: 30px; |
| | | background: #66b1ff; |
| | | color: #fff; |
| | | } |
| | | |
| | | .blue-button { |
| | | background-color: skyblue; |
| | | } |
| | | </style> |
| | |
| | | <router-link v-if="hasPermission" to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Speed parameter settings')
|
| | | }}</router-link>
|
| | |
|
| | | <router-link v-if="hasPermission"
|
| | | to="/Electrical/InteractionState"
|
| | | tag="el-button"
|
| | | type="text"
|
| | | active-class="blue-button"
|
| | | >{{ $t("InteractionState") }}</router-link
|
| | | >
|
| | |
|
| | | </el-breadcrumb>
|
| | |
|
| | |
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | event.target.blur(); // 取消输入框焦点
|
| | |
|
| | |
|
| | |
|
| | | },
|
| | | A02start(event){
|
| | | const data = [];
|
| | |
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | setTimeout(() => {
|
| | | const reversedData = data.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | setTimeout(() => {
|
| | | const reversedData = data.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | setTimeout(() => {
|
| | | const reversedData = data.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | setTimeout(() => {
|
| | | const reversedData = data.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | const jsonString2 = JSON.stringify(jsonObject2);
|
| | | console.log('所有复位的value:', jsonString2);
|
| | | socket?.send(jsonString2);
|
| | | // setTimeout(() =>
|
| | | // window.location.reload(), 2000
|
| | | // )
|
| | | setTimeout(() => {
|
| | | const reversedData = data2.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | const jsonString2 = JSON.stringify(jsonObject2);
|
| | | console.log('所有回零的value:', jsonString2);
|
| | | socket?.send(jsonString2);
|
| | | setTimeout(() => {
|
| | | const reversedData = data2.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | | // setTimeout(() =>
|
| | | // window.location.reload(), 2000
|
| | | // )
|
| | |
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | setTimeout(() => {
|
| | | const reversedData = data.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | setTimeout(() => {
|
| | | const reversedData = data.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | const jsonString2 = JSON.stringify(jsonObject2);
|
| | | console.log('所有Type为0的value:', jsonString2);
|
| | | socket?.send(jsonString2);
|
| | | setTimeout(() => {
|
| | | const reversedData = data2.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | |
|
| | | }
|
| | |
| | | const jsonString2 = JSON.stringify(jsonObject2);
|
| | | console.log('所有Type为0的value:', jsonString2);
|
| | | socket?.send(jsonString2);
|
| | | setTimeout(() => {
|
| | | const reversedData = data2.map(values => values.map(value => {
|
| | | return (!value || value === 1) ? 0 : 0 ;
|
| | | }));
|
| | |
|
| | | const reversedJsonObject = { data: reversedData };
|
| | |
|
| | | // 提交数据到后端
|
| | | const reversedJsonString = JSON.stringify(reversedJsonObject);
|
| | | console.log('反转后:', reversedJsonString);
|
| | | socket?.send(reversedJsonString);
|
| | | }, 1000);
|
| | |
|
| | |
|
| | | }
|
| | |
| | | <router-link v-if="hasPermission" to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | |
| | | <router-link v-if="hasPermission" |
| | | to="/Electrical/InteractionState" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("InteractionState") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | <el-row :gutter="40"> |
| | |
| | | item.button.value === 2 && item.button.name !== 'Clear ID', |
| | | 'yellow-button': |
| | | item.button.value === 1 && item.button.name !== 'Clear ID', |
| | | id: |
| | | 'id': |
| | | item.button.value === 1 && item.button.name === 'Clear ID', |
| | | 'A01jiting':item.button.value === 0 && item.button.name === 'A01Abort/ResumeTasks', |
| | | 'A02jiting':item.button.value === 0 && item.button.name === 'A02Abort/ResumeTasks', |
| | | 'emgHMI':item.button.value === 0 && item.button.name === 'emgHMI', |
| | | 'GA01jiting':item.button.value ===1 && item.button.name === 'A01Abort/ResumeTasks', |
| | | 'GA02jiting':item.button.value === 1 && item.button.name === 'A02Abort/ResumeTasks', |
| | | 'GemgHMI':item.button.value === 1 && item.button.name === 'emgHMI' |
| | | |
| | | }" |
| | | >{{ item.button.name }}</el-button |
| | | > |
| | |
| | | item.button.value === 2 && item.button.name !== '清除ID', |
| | | 'yellow-button': |
| | | item.button.value === 1 && item.button.name !== '清除ID', |
| | | id: item.button.value === 1 && item.button.name === '清除ID', |
| | | 'id': item.button.value === 1 && item.button.name === '清除ID', |
| | | 'A01jiting':item.button.value === 0 && item.button.name === 'A01终止/继续', |
| | | 'A02jiting':item.button.value === 0 && item.button.name === 'A02终止/继续', |
| | | 'emgHMI':item.button.value === 0 && item.button.name === '软急停', |
| | | 'GA01jiting':item.button.value === 1 && item.button.name === 'A01终止/继续', |
| | | 'GA02jiting':item.button.value === 1 && item.button.name === 'A02终止/继续', |
| | | 'GemgHMI':item.button.value === 1 && item.button.name === '软急停' |
| | | |
| | | }" |
| | | >{{ item.button.name }}</el-button |
| | | > |
| | |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log("发送的内容:", jsonString); |
| | | socket?.send(jsonString); |
| | | }, 2000); |
| | | }, 1000); |
| | | |
| | | } |
| | | |
| | |
| | | currentButtonName === "A01Abort/ResumeTasks" || |
| | | currentButtonName === "A01终止/继续" || |
| | | currentButtonName === "A02Abort/ResumeTasks" || |
| | | currentButtonName === "A02终止/继续" |
| | | currentButtonName === "A02终止/继续" || |
| | | currentButtonName === "软急停" || |
| | | currentButtonName === "emgHMI" |
| | | ) { |
| | | const data3 = []; |
| | | const resetButtonValues3 = [this.jsonData[13][0].button.value2,this.jsonData[14][0].button.value2]; |
| | | const resetButtonValues3 = [this.jsonData[13][0].button.value2,this.jsonData[14][0].button.value2,this.jsonData[16][0].button.value2]; |
| | | |
| | | // 将得到的值添加到 data 数组中 |
| | | data3.push(resetButtonValues3.flat()); |
| | |
| | | const jsonString3 = JSON.stringify(jsonObject3); |
| | | console.log("急停后中止/继续选择:", jsonString3); |
| | | socket?.send(jsonString3); |
| | | |
| | | setTimeout(() => { |
| | | const jsonObject = { data: [ [],[0, 0, 0], []] }; |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log("发送的回弹内容:", jsonString); |
| | | socket?.send(jsonString); |
| | | }, 1000); |
| | | |
| | | |
| | | |
| | | // setTimeout(()=> |
| | | // window.location.reload(),2000 |
| | | // ) |
| | |
| | | //急停按钮 |
| | | jsonData2[13][0].button.value = obj.jiting[0][0]; |
| | | jsonData2[14][0].button.value = obj.jiting[0][1]; |
| | | jsonData2[16][0].button.value = obj.jiting[0][2]; |
| | | |
| | | |
| | | |
| | |
| | | .id { |
| | | background-color: green; |
| | | } |
| | | .A02jiting{ |
| | | |
| | | background-color: #66b1ff; |
| | | } |
| | | .A01jiting{ |
| | | |
| | | background-color: #66b1ff; |
| | | } |
| | | .emgHMI{ |
| | | |
| | | background-color: #66b1ff; |
| | | } |
| | | .GA02jiting{ |
| | | |
| | | background-color: green; |
| | | } |
| | | .GA01jiting{ |
| | | background-color: green; |
| | | } |
| | | .GemgHMI{ |
| | | background-color: green; |
| | | } |
| | | </style> |
| | |
| | | active-class="blue-button" |
| | | >{{ $t("Speed parameter settings") }}</router-link |
| | | > |
| | | |
| | | <router-link |
| | | to="/Electrical/InteractionState" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("InteractionState") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | <el-row :gutter="18" class="card"> |
| | |
| | | active-class="blue-button" |
| | | >{{ $t("Speed parameter settings") }}</router-link |
| | | > |
| | | |
| | | <router-link |
| | | to="/Electrical/InteractionState" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("InteractionState") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | <el-row :gutter="26"> |
| | |
| | | } |
| | | |
| | | if (currentButtonName === "回零" || currentButtonName === "Home") { |
| | | const data3 = []; |
| | | |
| | | const resetButtonValues3 = this.jsonData |
| | | .map((item) => { |
| | | const buttonItem3 = item.find( |
| | |
| | | .filter((value) => value !== null); |
| | | |
| | | // 将得到的值添加到 data 数组中 |
| | | data3.push(resetButtonValues3.flat()); |
| | | data.push(resetButtonValues3.flat()); |
| | | |
| | | // 在 data3 数组前面添加两个空数组 |
| | | data3.unshift([], [], []); |
| | | data3.push([], [], [], []); |
| | | data.unshift([], [], []); |
| | | data.push([], [], [], []); |
| | | |
| | | // 创建 jsonObject3 对象,并添加 data3 属性 |
| | | jsonObject = { data: data3 }; |
| | | jsonObject = { data }; |
| | | } |
| | | if ( |
| | | currentButtonName === "A01半自动" || |
| | |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log("所有Type为0的value:", jsonString); |
| | | socket?.send(jsonString); |
| | | |
| | | setTimeout(() => { |
| | | const reversedData = data.map(values => values.map(value => { |
| | | return (!value || value === 0) ? 0 : 0 ; |
| | | })); |
| | | |
| | | const reversedJsonObject = { data: reversedData }; |
| | | |
| | | // 提交数据到后端 |
| | | const reversedJsonString = JSON.stringify(reversedJsonObject); |
| | | console.log('反转后:', reversedJsonString); |
| | | socket?.send(reversedJsonString); |
| | | }, 1000); |
| | | }, |
| | | |
| | | initWebSocket() { |
| | |
| | | <router-link v-if="hasPermission" to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | |
| | | <router-link v-if="hasPermission" |
| | | to="/Electrical/InteractionState" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("InteractionState") }}</router-link |
| | | > |
| | | |
| | | </el-breadcrumb> |
| | | |
| | |
| | | <div style="padding-right: 30px;display: flex;flex-wrap: wrap;" class="neir">
|
| | | <div class="kuai_sb" v-for="item in record.xyData" :key="item.name">
|
| | | <el-col class="deng" :class="getStatusClass(item.value)"></el-col>
|
| | | <el-input v-model="item.name" style="width: 100%;" class="in_mc"></el-input>
|
| | | <span style="width: 100%;" class="in_mc">{{
|
| | | item.unit
|
| | | }}</span>
|
| | | <span style="width: 100%;" class="in_mc">{{
|
| | | item.name
|
| | | }}</span>
|
| | |
|
| | | </div>
|
| | |
|
| | |
| | | const translation = this.$t('Signlang');
|
| | |
|
| | | if (translation != null) {
|
| | | this.record.xyData = this.record.xyData.map(item => { return { name: translation[item.name] || item.name, value: item.value }; });
|
| | | this.record.xyData = this.record.xyData.map(item => { return { name: translation[item.name] || item.name, value: item.value,unit:item.unit }; });
|
| | | //console.log(translation);
|
| | | }
|
| | |
|
| | |
| | |
|
| | | .kuai_sb {
|
| | | text-align: center;
|
| | | width: 15%;
|
| | | margin-bottom: 15px;
|
| | | width:18%;
|
| | | margin-bottom: 5px;
|
| | | }
|
| | |
|
| | | .el-input {
|
| | |
| | | }
|
| | |
|
| | | .in_mc {
|
| | | .el-input__inner {
|
| | | border: none;
|
| | | }
|
| | | font-size: 13px;
|
| | | }
|
| | |
|
| | | .deng {
|
| | | margin-left: 40%;
|
| | | margin-left: 1%;
|
| | | display: inline-block;
|
| | | background: #A0A0A0;
|
| | | border: 0.1875em solid white;
|
| | | border-radius: 50%;
|
| | | height: 4em;
|
| | | width: 4em;
|
| | | height: 2em;
|
| | | width: 2em;
|
| | | box-shadow: 0.375em 0.375em 0 0 rgba(214, 214, 214, 0.125);
|
| | | }
|
| | |
|
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?>
|
| | | <project version="4">
|
| | | <component name="Palette2">
|
| | | <group name="Swing">
|
| | | <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
| | | </item>
|
| | | <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
| | | </item>
|
| | | <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
| | | </item>
|
| | | <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
| | | <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
| | | </item>
|
| | | <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
| | | <initial-values>
|
| | | <property name="text" value="Button" />
|
| | | </initial-values>
|
| | | </item>
|
| | | <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
| | | <initial-values>
|
| | | <property name="text" value="RadioButton" />
|
| | | </initial-values>
|
| | | </item>
|
| | | <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
| | | <initial-values>
|
| | | <property name="text" value="CheckBox" />
|
| | | </initial-values>
|
| | | </item>
|
| | | <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
| | | <initial-values>
|
| | | <property name="text" value="Label" />
|
| | | </initial-values>
|
| | | </item>
|
| | | <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
| | | <preferred-size width="150" height="-1" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
| | | <preferred-size width="150" height="-1" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
| | | <preferred-size width="150" height="-1" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
| | | <preferred-size width="150" height="50" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
| | | <preferred-size width="150" height="50" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
| | | <preferred-size width="150" height="50" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
| | | </item>
|
| | | <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
| | | <preferred-size width="150" height="50" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
| | | <preferred-size width="150" height="50" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
| | | <preferred-size width="150" height="50" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
| | | <preferred-size width="200" height="200" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
| | | <preferred-size width="200" height="200" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
| | | </item>
|
| | | <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
| | | </item>
|
| | | <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
| | | </item>
|
| | | <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
| | | </item>
|
| | | <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
| | | <preferred-size width="-1" height="20" />
|
| | | </default-constraints>
|
| | | </item>
|
| | | <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
| | | <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
| | | </item>
|
| | | <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
| | | <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
| | | </item>
|
| | | </group>
|
| | | </component>
|
| | | </project> |
New file |
| | |
| | | FROM openjdk:8-jdk-alpine
|
| | | VOLUME /tmp
|
| | | ARG JAR_FILE
|
| | | COPY ${JAR_FILE} springboot-vue3-0.0.1-SNAPSHOT.jar
|
| | | EXPOSE 8888
|
| | | ENTRYPOINT ["java","-jar","/springboot-vue3-0.0.1-SNAPSHOT.jar"] |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB100.0", |
| | | "plcAddressLenght":"86", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "conveyorVelocity(Max)", |
| | | "addressIndex":"0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(Manual)", |
| | | "addressIndex":"6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNJOGVelocity", |
| | | "addressIndex":"8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELJOGVelocity", |
| | | "addressIndex":"10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01B02TRAVELJOGVelocity", |
| | | "addressIndex":"12", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNPOSVelocityAUTO", |
| | | "addressIndex":"14", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01TURNPOSVelocitymanual", |
| | | "addressIndex":"16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELPOSVelocityAUTO", |
| | | "addressIndex":"18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01TRAVELPOSVelocitymanual", |
| | | "addressIndex":"20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01B02TRAVELPOSVelocityAUTO", |
| | | "addressIndex":"22", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01TRAVELPOSVelocitymanual", |
| | | "addressIndex":"24", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(Max)", |
| | | "addressIndex":"26", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"28", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"30", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Manual)", |
| | | "addressIndex":"32", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Max)", |
| | | "addressIndex":"34", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"36", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"38", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Manual)", |
| | | "addressIndex":"40", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "gridspacing", |
| | | "addressIndex":"42", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01Spliceaddresssetting", |
| | | "addressIndex":"44", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02Spliceaddresssetting", |
| | | "addressIndex":"46", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A011#gridaddress", |
| | | "addressIndex":"48", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0122#gridaddress", |
| | | "addressIndex":"50", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0143#gridaddress", |
| | | "addressIndex":"52", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0164#gridaddress", |
| | | "addressIndex":"54", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0185#gridaddress", |
| | | "addressIndex":"56", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01106#gridaddress", |
| | | "addressIndex":"58", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01127#gridaddress", |
| | | "addressIndex":"60", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01148#gridaddress", |
| | | "addressIndex":"62", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01169#gridaddress", |
| | | "addressIndex":"64", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01190#gridaddress", |
| | | "addressIndex":"66", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A021#gridaddress", |
| | | "addressIndex":"68", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0222#gridaddress", |
| | | "addressIndex":"70", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "addressIndex":"72", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0264#gridaddress", |
| | | "addressIndex":"74", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0285#gridaddress", |
| | | "addressIndex":"76", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02106#gridaddress", |
| | | "addressIndex":"78", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02127#gridaddress", |
| | | "addressIndex":"80", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02148#gridaddress", |
| | | "addressIndex":"82", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02169#gridaddress", |
| | | "addressIndex":"84", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02190#gridaddress", |
| | | "addressIndex":"86", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B011#gridaddress", |
| | | "addressIndex":"88", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0122#gridaddress", |
| | | "addressIndex":"90", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0143#gridaddress", |
| | | "addressIndex":"92", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0164#gridaddress", |
| | | "addressIndex":"94", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0185#gridaddress", |
| | | "addressIndex":"96", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02106#gridaddress", |
| | | "addressIndex":"98", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02127#gridaddress", |
| | | "addressIndex":"100", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02148#gridaddress", |
| | | "addressIndex":"102", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02169#gridaddress", |
| | | "addressIndex":"104", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02190#gridaddress", |
| | | "addressIndex":"106", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01Targetgrid(Manual)", |
| | | "addressIndex":"108", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": " A02Targetgrid(Manual)", |
| | | "addressIndex":"110", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B01Targetgrid(Manual)", |
| | | "addressIndex":"112", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02Targetgrid(Manual)", |
| | | "addressIndex":"114", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01turnTargetAngle(Manual)", |
| | | "addressIndex":"116", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnTargetAngle(Manual)", |
| | | "addressIndex":"118", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle1", |
| | | "addressIndex":"120", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle2", |
| | | "addressIndex":"122", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle3", |
| | | "addressIndex":"124", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle4", |
| | | "addressIndex":"126", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle1", |
| | | "addressIndex":"128", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle2", |
| | | "addressIndex":"130", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle3", |
| | | "addressIndex":"132", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle4", |
| | | "addressIndex":"134", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "Minimumglasslength", |
| | | "addressIndex":"136", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Minimumglassheight", |
| | | "addressIndex":"138", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglasslength", |
| | | "addressIndex":"140", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglassheight", |
| | | "addressIndex":"142", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01cellsGlassNum", |
| | | "addressIndex":"144", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02cellsGlassNum", |
| | | "addressIndex":"146", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01ID", |
| | | "addressIndex":"148", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02ID", |
| | | "addressIndex":"162", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"176", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"178", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionofthefeedca", |
| | | "addressIndex":"180", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Targetpositionofthefeedcar", |
| | | "addressIndex":"182", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Lengthofincomingglass", |
| | | "addressIndex":"184", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Widthofincomingglass", |
| | | "addressIndex":"186", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionoftheexitcar", |
| | | "addressIndex":"188", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, { |
| | | "codeId": "Exitcartargetposition", |
| | | "addressIndex":"190", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A02TURNPOSVelocitymanual", |
| | | "addressIndex":"192", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A01delayTime", |
| | | "addressIndex":"194", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | |
| | | |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB100.0.0", |
| | | "plcAddressLenght":"20", |
| | | "dataType":"bit", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "D01.SRdec", |
| | | "addressIndex":"0" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"1" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(Manual)", |
| | | "addressIndex":"2" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNJOGVelocity", |
| | | "addressIndex":"3" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELJOGVelocity", |
| | | "addressIndex":"4" |
| | | }, |
| | | { |
| | | "codeId": "B01B02TRAVELJOGVelocity", |
| | | "addressIndex":"5" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNPOSVelocityAUTO", |
| | | "addressIndex":"12" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNPOSVelocitymanual", |
| | | "addressIndex":"14" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELPOSVelocityAUTO", |
| | | "addressIndex":"16" |
| | | }, |
| | | { |
| | | "codeId": "DO1id", |
| | | "addressIndex":"18" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | package com.example.springboot.component;
|
| | | import cn.hutool.json.JSONArray;
|
| | | import cn.hutool.json.JSONObject;
|
| | | import com.example.springboot.entity.device.PlcBitInfo;
|
| | | import com.example.springboot.entity.device.PlcBitObject;
|
| | | import com.example.springboot.entity.device.PlcParameterInfo;
|
| | | import com.example.springboot.entity.device.PlcParameterObject;
|
| | |
|
| | | import java.io.BufferedReader;
|
| | | import java.io.FileReader;
|
| | | import java.io.IOException;
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | |
|
| | | public class InitUtil {
|
| | | public static PlcParameterObject initword(String jsonFilePath) {
|
| | | try {
|
| | | FileReader fileReader = new FileReader(jsonFilePath);
|
| | | BufferedReader bufferedReader = new BufferedReader(fileReader);
|
| | |
|
| | | StringBuilder content = new StringBuilder();
|
| | | String line;
|
| | |
|
| | | while ((line = bufferedReader.readLine()) != null) {
|
| | | content.append(line);
|
| | | }
|
| | |
|
| | | bufferedReader.close();
|
| | | fileReader.close();
|
| | |
|
| | | JSONObject jsonfileobj = new JSONObject(content.toString());
|
| | | JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
|
| | | PlcParameterObject plcParameterObject = new PlcParameterObject();
|
| | | plcParameterObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//设置起始位地址
|
| | | plcParameterObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//设置地址长度
|
| | |
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | JSONObject parameterObj = jsonArray.getJSONObject(i);
|
| | | PlcParameterInfo plcParameterInfo = new PlcParameterInfo(jsonfileobj.getStr("plcAddressBegin")); //参数实例
|
| | | String codeid = parameterObj.getStr("codeId");
|
| | | plcParameterInfo.setCodeId(codeid);
|
| | | plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
|
| | | plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio")));
|
| | | plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght")));
|
| | | plcParameterInfo.setUnit(parameterObj.getStr("unit"));
|
| | | plcParameterObject.addPlcParameter(plcParameterInfo);
|
| | | }
|
| | | return plcParameterObject;
|
| | | } catch (IOException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | public static PlcBitObject initbit(String jsonFilePath) {
|
| | | PlcBitObject plcBitObject = new PlcBitObject();
|
| | |
|
| | | try {
|
| | | FileReader fileReader = new FileReader(jsonFilePath);
|
| | | BufferedReader bufferedReader = new BufferedReader(fileReader);
|
| | |
|
| | | StringBuilder content = new StringBuilder();
|
| | | String line;
|
| | |
|
| | | while ((line = bufferedReader.readLine()) != null) {
|
| | | content.append(line);
|
| | | }
|
| | |
|
| | | bufferedReader.close();
|
| | | fileReader.close();
|
| | |
|
| | | JSONObject jsonfileobj = new JSONObject(content.toString());
|
| | | JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
|
| | | plcBitObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//设置起始位地址
|
| | | plcBitObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//设置地址长度
|
| | |
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | JSONObject parameterObj = jsonArray.getJSONObject(i);
|
| | |
|
| | | PlcBitInfo plcBitInfo = new PlcBitInfo(jsonfileobj.getStr("plcAddressBegin")); //参数实例
|
| | | String codeid = parameterObj.getStr("codeId");
|
| | | plcBitInfo.setCodeId(codeid);
|
| | | plcBitInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
|
| | |
|
| | | plcBitObject.addPlcBit(plcBitInfo);
|
| | | }
|
| | | System.out.println("");
|
| | | } catch (IOException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | return plcBitObject;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | //写入bit
|
| | | public void writeBitToPLC(JSONArray messageArray, List<String> addresses, int index) {
|
| | | try {
|
| | |
| | | List<Short> dache1 = S7control.getinstance().ReadWord("DB100.18", 1); |
| | | List<Short> xiaoche1 = S7control.getinstance().ReadWord("DB100.22", 1); |
| | | List<Short> fanzhuan1 = S7control.getinstance().ReadWord("DB100.14", 1); |
| | | |
| | | List<String> addresses = Arrays.asList(config.getProperty("Auto.addresses").split(",")); |
| | | |
| | | List<Short> arraylist2 = S7control.getinstance().readWords(addresses); |
| | | //System.out.println("lastMessage:" + arraylist2); |
| | | |
| | | //翻转 |
| | | List<Short> fanzhuan2 = S7control.getinstance().ReadWord("DB100.8", 1); |
| | | List<Short> xiaoche2 = S7control.getinstance().ReadWord("DB100.12", 1); |
| | |
| | | System.out.println(messageArray); |
| | | // 写入第一个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList2,2); |
| | | |
| | | // 写入第二个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList3,3); |
| | | |
| | | |
| | | // 写入第三个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList4,4); |
| | | |
| | | |
| | | // 写入第四个地址 |
| | | if (!mergedList.isEmpty()) { |
| | | S7control.getinstance().WriteWord(addressList1, mergedList); |
| | |
| | | } |
| | | |
| | | List<String> waddresses1 = Arrays.asList(config.getProperty("Auto.shusong").split(",")); |
| | | |
| | | |
| | | String addressList22 = "DB100.8"; |
| | | String addressList33 = "DB100.12"; |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为 short 类型的列表 |
| | | |
| | | |
| | | // 整合第 1 到 3 个数组并去掉 null 元素 |
| | | List<Short> mergedList2 = new ArrayList<>(); |
| | | for (int i = 5; i < 8; i++) { |
| | |
| | | |
| | | // 写入第伍个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList22,8); |
| | | |
| | | |
| | | // 写入第六个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList33,9); |
| | | |
| | | // 写入第七个地址 |
| | | if (!mergedList2.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses1, mergedList2); |
| | | System.out.println("messageValue:" + mergedList2 + " written to PLC at address " + waddresses1); |
| | | } |
| | | |
| | | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
New file |
| | |
| | | package com.example.springboot.component; |
| | | |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import com.example.springboot.service.StorageCageService; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.example.springboot.entity.device.PlcParameterObject; |
| | | import com.example.springboot.entity.device.PlcBitObject; |
| | | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | @Component |
| | | public class PLCAutomaticParameterSettingReview extends Thread { |
| | | |
| | | private StorageCageService storageCageService = new StorageCageService(); |
| | | private final PlcParameterObject plcParameterObject; |
| | | private final PlcBitObject plcBitObject; |
| | | MessageHandler customS7Control = new MessageHandler(); |
| | | @Autowired |
| | | public PLCAutomaticParameterSettingReview() { |
| | | this.storageCageService = storageCageService; |
| | | this.plcParameterObject = new PlcParameterObject(); |
| | | this.plcBitObject = new PlcBitObject(); |
| | | String jsonFilePath = "JsonFile/PlcParameter.json"; |
| | | InitUtil.initword(jsonFilePath); // 初始化 PlcParameterObject |
| | | String jsonFilePath2 = "JsonFile/PlcSign.json"; |
| | | InitUtil.initbit(jsonFilePath2); // 初始化 PlcSign |
| | | |
| | | |
| | | } |
| | | |
| | | // 单例模式 线程安全 |
| | | public static PLCAutomaticParameterSettingReview getInstance(StorageCageService storageCageService) { |
| | | return new PLCAutomaticParameterSettingReview(); |
| | | } |
| | | |
| | | @Override |
| | | public void run() { |
| | | while (!Thread.currentThread().isInterrupted()) { |
| | | try { |
| | | Thread.sleep(1000); |
| | | } catch (InterruptedException e) { |
| | | Thread.currentThread().interrupt(); |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("A01turnAngle1"); |
| | | addresses.add("A01turnAngle2"); |
| | | addresses.add("A01turnAngle3"); |
| | | addresses.add("A01turnAngle4"); |
| | | addresses.add("A02turnAngle2"); |
| | | addresses.add("A02turnAngle3"); |
| | | addresses.add("A02turnAngle4"); |
| | | addresses.add("Minimumglasslength"); |
| | | |
| | | |
| | | //Auto.addresses=DB100.0,DB100.2,DB100.4,DB100.6,DB100.26,DB100.28,DB100.30,DB100.32,DB100.34,DB100.36,DB100.38,DB100.40 |
| | | List<String> Autoaddresses = new ArrayList<>(); |
| | | Autoaddresses.add("conveyorVelocity(Max)"); |
| | | Autoaddresses.add("conveyorVelocity(AutoFAST)"); |
| | | Autoaddresses.add("conveyorVelocity(AutoSLOW)"); |
| | | Autoaddresses.add("conveyorVelocity(Manual)"); |
| | | Autoaddresses.add("A01A02conveyorVelocity(Max)"); |
| | | Autoaddresses.add("A01A02conveyorVelocity(AutoFAST)"); |
| | | Autoaddresses.add("A01A02conveyorVelocity(AutoSLOW)"); |
| | | Autoaddresses.add("B01B02conveyorVelocity(Manual)"); |
| | | |
| | | Autoaddresses.add("B01B02conveyorVelocity(Max)"); |
| | | Autoaddresses.add("B01B02conveyorVelocity(AutoFAST)"); |
| | | Autoaddresses.add("B01B02conveyorVelocity(AutoSLOW)"); |
| | | Autoaddresses.add("B01B02conveyorVelocity(Manual)"); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String addressList1 = "DB100.120"; |
| | | String addressList2 = "DB100.18"; |
| | | String addressList3 = "DB100.22"; |
| | | String addressList4 = "DB100.14"; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // List<Short> dache1 = S7control.getinstance().ReadWord("DB100.18", 1); |
| | | // List<Short> xiaoche1 = S7control.getinstance().ReadWord("DB100.22", 1); |
| | | // List<Short> fanzhuan1 = S7control.getinstance().ReadWord("DB100.14", 1); |
| | | // List<String> addresses = Arrays.asList(config.getProperty("Auto.addresses").split(",")); |
| | | // List<Short> arraylist2 = S7control.getinstance().readWords(addresses); |
| | | //System.out.println("lastMessage:" + arraylist2); |
| | | //翻转 |
| | | //List<Short> fanzhuan2 = S7control.getinstance().ReadWord("DB100.8", 1); |
| | | // List<Short> xiaoche2 = S7control.getinstance().ReadWord("DB100.12", 1); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // new short[]{1,1, 1, 1, 1, 1, 2, 33, 2,3, 4, 5} |
| | | // new short[]{0,0, 0, 0, 0, 0, 0, 0, 0, 0} |
| | | |
| | | jsonObject.append("params", plcParameterObject.getPlcParameterValues(addresses)); |
| | | jsonObject.append("dache1", plcParameterObject.getPlcParameter("A01A02TRAVELPOSVelocityAUTO").getValue()); |
| | | jsonObject.append("xiaoche", plcParameterObject.getPlcParameter("B01B02TRAVELPOSVelocityAUTO").getValue()); |
| | | jsonObject.append("fanzhuan", plcParameterObject.getPlcParameter("A01A02TURNPOSVelocityAUTO").getValue()); |
| | | jsonObject.append("params2", plcParameterObject.getPlcParameterValues(Autoaddresses)); |
| | | jsonObject.append("fanzhuan2", plcParameterObject.getPlcParameter("A01A02TURNJOGVelocity").getValue()); |
| | | jsonObject.append("xiaoche2", plcParameterObject.getPlcParameter("B01B02TRAVELJOGVelocity").getValue()); |
| | | |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | // WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting"); |
| | | if (webserver != null) { |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为 short 类型的列表 |
| | | String lastMessage = messages.get(messages.size() - 1); |
| | | // System.out.println("lastMessage:" + lastMessage); |
| | | JSONArray messageArray = new JSONArray(lastMessage); |
| | | |
| | | // 整合第 1 到 2 个数组并去掉 null 元素 |
| | | List<Short> mergedList = new ArrayList<>(); |
| | | for (int i = 0; i < 2; i++) { |
| | | JSONArray sublist = messageArray.getJSONArray(i); |
| | | for (int j = 0; j < sublist.size(); j++) { |
| | | Object value = sublist.get(j); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | mergedList.add(sValue); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | System.out.println(messageArray); |
| | | // 写入第一个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList2,2); |
| | | // 写入第二个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList3,3); |
| | | // 写入第三个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList4,4); |
| | | // 写入第四个地址 |
| | | if (!mergedList.isEmpty()) { |
| | | S7control.getinstance().WriteWord(addressList1, mergedList); |
| | | System.out.println("messageValue:" + mergedList + " written to PLC at address " + addressList1); |
| | | } |
| | | |
| | | //List<String> waddresses1 = Arrays.asList(config.getProperty("Auto.shusong").split(",")); |
| | | String addressList22 = "DB100.8"; |
| | | String addressList33 = "DB100.12"; |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为 short 类型的列表 |
| | | // 整合第 1 到 3 个数组并去掉 null 元素 |
| | | List<Short> mergedList2 = new ArrayList<>(); |
| | | for (int i = 5; i < 8; i++) { |
| | | JSONArray sublist = messageArray.getJSONArray(i); |
| | | for (int j = 0; j < sublist.size(); j++) { |
| | | Object value = sublist.get(j); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | mergedList2.add(sValue); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第伍个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList22,8); |
| | | // 写入第六个地址 |
| | | customS7Control.WriteWordsToPLC(messageArray, addressList33,9); |
| | | // 写入第七个地址 |
| | | // plcParameterObject.getPlcParameter("conveyorVelocity(AutoFAST)").getAddress(index) |
| | | if (!mergedList2.isEmpty()) { |
| | | //S7control.getinstance().WriteWord(plcParameterObject.getPlcParameter(Autoaddresses), mergedList2); |
| | | // System.out.println("messageValue:" + mergedList2 + " written to PLC at address " + waddresses1); |
| | | } |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.example.springboot.component; |
| | | |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | public class PlcInteractionState extends Thread { |
| | | private Configuration config; |
| | | |
| | | public PlcInteractionState() throws IOException { |
| | | config = new Configuration("config.properties"); |
| | | } |
| | | |
| | | |
| | | // 创建一个自定义的 S7 控制器消息处理器对象 |
| | | MessageHandler customS7Control = new MessageHandler(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void run() { |
| | | while (this != null) { |
| | | try { |
| | | Thread.sleep(500); |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // this.readValue(); |
| | | // String PlcAddress = this.name; |
| | | // Integer Plccount = this.count; |
| | | |
| | | |
| | | |
| | | List<String> addresses = Arrays.asList(config.getProperty("PlcInteractionState.MESImporttask").split(",")); |
| | | |
| | | List<String> arraylist = S7control.getinstance().readStringsandword(addresses); |
| | | // System.out.println(arraylist); |
| | | List<String> addresses2 = Arrays.asList(config.getProperty("PlcInteractionState.PLCImporttask").split(",")); |
| | | |
| | | List<String> arraylist2 = S7control.getinstance().readStringsandword(addresses2); |
| | | |
| | | List<String> addresses3 = Arrays.asList(config.getProperty("PlcInteractionState.MESProductiontask").split(",")); |
| | | |
| | | List<String> arraylist3 = S7control.getinstance().readStringsandword(addresses3); |
| | | |
| | | |
| | | List<String> addresses4 = Arrays.asList(config.getProperty("PlcInteractionState.PLCProductiontask").split(",")); |
| | | |
| | | List<String> arraylist4 = S7control.getinstance().readStringsandword(addresses4); |
| | | |
| | | |
| | | List<String> addresses5 = Arrays.asList(config.getProperty("PlcInteractionState.MEStaskinformation").split(",")); |
| | | List<String> arraylist5 = S7control.getinstance().readStringsandword(addresses5); |
| | | |
| | | |
| | | // String[] values = { ".x11","x21 ","x21 ","x21 ","x21 ","x21"}; |
| | | // List<String> arraylist = new ArrayList<>(Arrays.asList(values)); |
| | | // String[] values2 = { ".x11 ","x21 ","x21 ","x21 ","x21 ","x21 ","x21 "}; |
| | | // List<String> arraylist2 = new ArrayList<>(Arrays.asList(values2)); |
| | | // String[] values3 = { ".x11 ","x21 ","x21 ","x21 ","x21 ","x21 "}; |
| | | // List<String> arraylist3 = new ArrayList<>(Arrays.asList(values3)); |
| | | // String[] values4 = { ".x11 ","x21 ","x21 ","x21 "}; |
| | | // List<String> arraylist4 = new ArrayList<>(Arrays.asList(values4)); |
| | | // String[] values5 = { ".x11 ","x21 ","x21 ","x21 ","x21 ","x21 ","x21 ","x21 ","x21 ","x21 "}; |
| | | // List<String> arraylist5 = new ArrayList<>(Arrays.asList(values5)); |
| | | |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // System.out.println(arraylist6); |
| | | JSONArray jsonArray = new JSONArray(); |
| | | jsonArray.put(arraylist); |
| | | jsonArray.put(arraylist2); |
| | | jsonArray.put(arraylist3); |
| | | jsonArray.put(arraylist4); |
| | | jsonArray.put(arraylist5); |
| | | jsonObject.put("zuhe1", jsonArray); |
| | | |
| | | |
| | | // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition"); |
| | | // if (sendwServer != null) { |
| | | // sendwServer.sendMessage(jsonObject.toString()); |
| | | // } |
| | | |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("InteractionState"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | if (!containsOne) { |
| | | //判断id是否包含数字 |
| | | if (id.matches(".*\\d.*")) { |
| | | //判断清楚id是否true |
| | | //判断清除id是否true |
| | | if (value) { |
| | | System.out.println(id); |
| | | switch (i) { |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | // 检查布尔值列表是否为空 |
| | | if (!sValue.isEmpty()) { |
| | | |
| | |
| | | S7control.getinstance().WriteBit(addressList0, sValue); |
| | | System.out.println("Values " + sValue + " written to PLC at address " + addressList0); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | FileInputStream fileInputStream; |
| | | try { |
| | | // 从文件中读取字节数据存入 fileInputStream |
| | | fileInputStream = new FileInputStream("D:/code/canadames/Alarm.json"); |
| | | fileInputStream = new FileInputStream("D:/canadames/Alarm.json"); |
| | | // 读取 fileInputStream 中字节并将其解码为字符 |
| | | InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8"); |
| | | // 提高读取效率,在 BufferedReader 内包装 InputStreamReader |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public List<String> readStringsandword(List<String> addressList) { |
| | | if (s7PLC == null) { |
| | | return null; |
| | | } |
| | | List<String> result = new ArrayList<>(); |
| | | for (String address : addressList) { |
| | | try { |
| | | if (address.contains("-")) { |
| | | address = address.substring(0, address.indexOf("-")); |
| | | |
| | | byte[] bytes = s7PLC.readByte(address, 14); |
| | | if (bytes != null) { |
| | | String str = new String(bytes, StandardCharsets.UTF_8); |
| | | result.add(str); |
| | | } |
| | | |
| | | } else { |
| | | Short value = s7PLC.readInt16(address); |
| | | result.add(value.toString()); |
| | | |
| | | } |
| | | } catch (Exception e) { |
| | | System.out.println("读取 " + address + " 失败:" + e.getMessage()); |
| | | result.add(null); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | |
| | | //不连续地址写入Word |
| | | public void WriteWord(List<String> address, List<Short> datas) { |
| | | if (s7PLC == null) |
| | |
| | | // |
| | | System.out.println("启动完成"); |
| | | |
| | | new PlcHold().start(); |
| | | // new PlcHold().start(); |
| | | |
| | | new Plchome().start(); |
| | | |
| | |
| | | new PlcServoManualone().start(); |
| | | new PLCManualJog().start(); |
| | | new Plclog().start(); |
| | | |
| | | new PlcInteractionState().start(); |
| | | |
| | | // new PLCAutomaticParameterSettingReview().start(); |
| | | } |
| | | } |
| | |
| | | } else |
| | | return null; |
| | | return stringdatas[0]+"."+dbwindex+bitindex; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public int getPlcAddress() { |
| | | |
| | | return addressIndex; |
| | | } |
| | | } |
| | |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 根据参数标识 获取某个参数实例 |
| | | * |
| | |
| | | } |
| | | return arrayList; |
| | | } |
| | | |
| | | |
| | | public List<String> getPlcAddressList(String codeid) { |
| | | List<String> addressList = new ArrayList<>(); |
| | | if (plcParameterList != null) { |
| | | for (PlcParameterInfo plcParameterInfo : plcParameterList) { |
| | | if (plcParameterInfo.getCodeId().equals(codeid)) { |
| | | int plcAddress = plcParameterInfo.getPlcAddress(); |
| | | if (!addressList.contains(plcAddress)) { |
| | | addressList.add(String.valueOf(plcAddress)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return addressList; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 添加参数实例 |
| | |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "codeId": "B0185#gridaddress", |
| | | "addressIndex":"96", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "codeId": "B02106#gridaddress", |
| | | "addressIndex":"98", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "codeId": "B02127#gridaddress", |
| | | "addressIndex":"100", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "codeId": "B02148#gridaddress", |
| | | "addressIndex":"102", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "codeId": "B02169#gridaddress", |
| | | "addressIndex":"104", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "codeId": "B02190#gridaddress", |
| | | "addressIndex":"106", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01Targetgrid(Manual)", |
| | | "addressIndex":"108", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": " A02Targetgrid(Manual)", |
| | | "addressIndex":"110", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B01Targetgrid(Manual)", |
| | | "addressIndex":"112", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02Targetgrid(Manual)", |
| | | "addressIndex":"114", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01turnTargetAngle(Manual)", |
| | | "addressIndex":"116", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnTargetAngle(Manual)", |
| | | "addressIndex":"118", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle1", |
| | | "addressIndex":"120", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle2", |
| | | "addressIndex":"122", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle3", |
| | | "addressIndex":"124", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle4", |
| | | "addressIndex":"126", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle1", |
| | | "addressIndex":"128", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle2", |
| | | "addressIndex":"130", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle3", |
| | | "addressIndex":"132", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle4", |
| | | "addressIndex":"134", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "Minimumglasslength", |
| | | "addressIndex":"136", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Minimumglassheight", |
| | | "addressIndex":"138", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglasslength", |
| | | "addressIndex":"140", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglassheight", |
| | | "addressIndex":"142", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01cellsGlassNum", |
| | | "addressIndex":"144", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02cellsGlassNum", |
| | | "addressIndex":"146", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01ID", |
| | | "addressIndex":"148", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02ID", |
| | | "addressIndex":"162", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"176", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"178", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionofthefeedca", |
| | | "addressIndex":"180", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Targetpositionofthefeedcar", |
| | | "addressIndex":"182", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Lengthofincomingglass", |
| | | "addressIndex":"184", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Widthofincomingglass", |
| | | "addressIndex":"186", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionoftheexitcar", |
| | | "addressIndex":"188", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, { |
| | | "codeId": "Exitcartargetposition", |
| | | "addressIndex":"190", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A02TURNPOSVelocitymanual", |
| | | "addressIndex":"192", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A01delayTime", |
| | | "addressIndex":"194", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | |
| | | ] |
| | | |
| | | ] |
| | | } |
| | |
| | | #扫码枪
|
| | | Parameter2.scanner=DB103.256,DB103.270
|
| | | #急停
|
| | | Parameter2.stop=DB101.10.4,DB101.11.2,DB101.DBX11.3
|
| | | Parameter2.stop=DB101.10.4,DB101.11.2,DB101.11.3
|
| | |
|
| | | Parameter2.timeout=DB100.194
|
| | | #当前格子
|
| | |
| | |
|
| | |
|
| | |
|
| | | #----------------------------PlcInteractionState
|
| | | #进片
|
| | | PlcInteractionState.MESImporttask=DB105.0,DB105.2,DB105.4,DB105.6,DB105.8,DB105.20-33
|
| | |
|
| | | PlcInteractionState.PLCImporttask=DB106.8,DB106.4,DB106.6,DB106.24,DB106.26-39,DB103.40-57,DB103.58-71
|
| | | #出片任务
|
| | | PlcInteractionState.MESProductiontask=DB105.10,DB105.12,DB105.14,DB105.16,DB105.18,DB105.34-47
|
| | |
|
| | | PlcInteractionState.PLCProductiontask=DB106.20,DB106.16,DB106.18,DB103.156-169
|
| | |
|
| | | #任务信息
|
| | | PlcInteractionState.MEStaskinformation=DB105.48,DB105.50,DB106.42,DB106.48,DB106.50,DB106.58,DB103.128-141,DB103.142-155,DB103.156-169,DB103.184-197,DB103.212-225
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|