Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
# Conflicts:
# springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
| | |
| | | })
|
| | | }
|
| | |
|
| | | export function FrameStateUpdate(frameno,framestate) {
|
| | | export function FrameStateUpdate(frameno) {
|
| | | return request({
|
| | | url: '/home/FrameStateUpdate?frameno=' + frameno+'&framestate='+framestate,
|
| | | url: '/home/FrameStateUpdate?frameno=' + frameno,
|
| | | method: 'post',
|
| | | data:""
|
| | | })
|
| | | }
|
| | |
|
| | | export function WriteGlassID(glassid) {
|
| | | return request({
|
| | | url: '/home/WriteGlassID?glassid='+glassid,
|
| | | method: 'post',
|
| | | data:""
|
| | | })
|
| | | }
|
| | |
|
| | | export function ClearGlassId(position,glassid) {
|
| | | return request({
|
| | | url: '/home/ClearGlassId?position='+position+'&glassid='+glassid,
|
| | | method: 'post',
|
| | | data:""
|
| | | })
|
| | | }
|
| | |
|
| | | export function CloseForm7() {
|
| | | return request({
|
| | | url: '/home/CloseForm7',
|
| | | method: 'post',
|
| | | data:""
|
| | | })
|
| | | }
|
| | |
|
| | | export function TaskStop(num) {
|
| | | return request({
|
| | | url: '/home/TaskStop?num='+num,
|
| | | method: 'post',
|
| | | data:""
|
| | | })
|
| | | }
|
| | |
|
| | | export function SoftEmergencyStop() {
|
| | | return request({
|
| | | url: '/home/SoftEmergencyStop',
|
| | | method: 'post',
|
| | | data:""
|
| | | })
|
| New file |
| | |
| | | [
|
| | | |
| | | |
| | | |
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "MES进片任务"
|
| | | |
| | | }, "type": "1"
|
| | | |
| | | },
|
| | | {
|
| | | "name": "进片车起始位",
|
| | | "read": 33,
|
| | | "sending": 0,
|
| | | "type": "0",
|
| | | "unit": "mm",
|
| | | "value":"",
|
| | | "address":"DB100.48",
|
| | | "count":10,
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片车目标位",
|
| | | "read": 11,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片玻璃长度",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片玻璃宽度",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片笼玻璃数",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | }
|
| | | |
| | | |
| | | |
| | | ],
|
| | | |
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "PLC进片任务"
|
| | | |
| | | },"type": "1",
|
| | | "value":"0"
|
| | | },
|
| | | {
|
| | | "name": "进片车状态",
|
| | | "read": 33,
|
| | | "sending": 0,
|
| | | "type": "0" ,
|
| | | "unit": "mm",
|
| | | "value":"",
|
| | | "address":"DB100.68",
|
| | | "count":10,
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片车当前任务起始位",
|
| | | "read": 11,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片车当前任务终点位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片请求",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "进片ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "D01 ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | },
|
| | | {
|
| | | "name": "D02 ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0" ,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":22000
|
| | | }
|
| | | |
| | | |
| | | ],
|
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "MES出片任务"
|
| | | |
| | | }, "type": "1"
|
| | | },
|
| | | {
|
| | | "name": "出片车起始位",
|
| | | "read": 33,
|
| | | "sending": 0,
|
| | | "type": "0",
|
| | | "unit": "mm",
|
| | | "address":"DB100.0",
|
| | | "count":3,
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片车目标位",
|
| | | "read": 11,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片笼玻璃数",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "进片任务启动",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片任务启动",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片ID",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | }
|
| | | |
| | | |
| | | |
| | | ],
|
| | | |
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "PLC出片任务"
|
| | | |
| | | }, "type": "1"
|
| | | },
|
| | | {
|
| | | "name": "出片车状态",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片车当前任务起始位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "出片车当前任务终点位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "A02 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | }
|
| | | |
| | | |
| | | |
| | | ],
|
| | | [
|
| | | {
|
| | | "title": {
|
| | | "name": "MES任务信息"
|
| | | |
| | | }, "type": "1"
|
| | | },
|
| | | {
|
| | | "name": "B01MES汇报应答",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02MES汇报应答",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | |
|
| | | {
|
| | | "name": "B01PLC发送应答",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02PLC发送应答",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B01小车当前任务位",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B01小车任务状态",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | }
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | ],
|
| | | [
|
| | |
|
| | | {
|
| | | "title": {
|
| | | "name": "MES任务信息"
|
| | | |
| | | }, "type": "1"
|
| | | },
|
| | | {
|
| | | "name": "B02小车当前位置",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02小车任务状态",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "A01 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | |
| | | {
|
| | | "name": "A01 ID2",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "A02 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B01 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "min":0,
|
| | | "max":9999
|
| | | },
|
| | | {
|
| | | "name": "B02 ID1",
|
| | | "read": 22,
|
| | | "sending": 0,
|
| | | "unit": "mm",
|
| | | "type": "0",
|
| | | "value":"",
|
| | | "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" |
| | | } |
| | | |
| | | |
| | |
| | | "Queue State":"Queue State",
|
| | | "Sorting State":"Sorting State",
|
| | | "Confirm State":"Confirm State",
|
| | | "Next":"Next",
|
| | | "Current Frame":"Current Frame",
|
| | | "Outside":"Outside",
|
| | | "Inside":"Inside",
|
| | | "Cancel":"Cancel",
|
| | | "ServoManualone": {
|
| | | "A01 所在格子": "A01 Current Grid",
|
| | | "数量": "Quantity",
|
| | |
| | | "B02 OUT pos error": "B02 OUT pos 错误"
|
| | | },
|
| | | "Electrical": "设备管理",
|
| | | "Parameter": "参数下发",
|
| | | "Parameter": "参数设置",
|
| | | "Action": "开关控制",
|
| | | "Sign": "IO状态",
|
| | | "State": "设备状态",
|
| | |
| | | "Queue State":"队列状态",
|
| | | "Sorting State":"排序状态",
|
| | | "Confirm State":"确认状态",
|
| | | "Next":"下一个",
|
| | | "Current Frame":"当前铝框",
|
| | | "Outside":"外侧",
|
| | | "Inside":"内侧",
|
| | | "Cancel":"取消",
|
| | | "langparameter": {
|
| | | "conveyor Velocity(Auto FAST)": "D01-D06 皮带输送自动快速",
|
| | | "conveyor Velocity(Auto SLOW)": "D01-D06 皮带输送自动慢速",
|
| | |
| | | "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 != true) { |
| | | 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:360px" > |
| | | <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; |
| | | |
| | | const specialChars = /[^\w\s]/g; |
| | | 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].replace(specialChars, ""); |
| | | } 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);
|
| | | this.$forceUpdate();
|
| | |
|
| | | }
|
| | |
|
| | |
| | | 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);
|
| | | this.$forceUpdate();
|
| | |
|
| | | }
|
| | |
|
| | |
| | | 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);
|
| | | this.$forceUpdate();
|
| | |
|
| | | }
|
| | |
|
| | |
| | | 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);
|
| | | this.$forceUpdate();
|
| | |
|
| | | }
|
| | |
|
| | |
| | | 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);
|
| | | this.$forceUpdate();
|
| | | }
|
| | |
|
| | | if (currentButtonName === '回零' || currentButtonName === 'Home') {
|
| | |
| | | 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
|
| | | // )
|
| | |
| | |
|
| | | if(obj.zuhe1){
|
| | |
|
| | | // console.log(obj);
|
| | | console.log(obj);
|
| | |
|
| | | // 执行更新逻辑
|
| | | for (let i = 0; i < 4; i++) {
|
| | |
| | | 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;
|
| | | text-align: left;
|
| | | 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);
|
| | | }
|
| | |
|
| | |
| | | }
|
| | |
|
| | | .blocks-img {
|
| | | height: 100px;
|
| | | height: 88px;
|
| | | line-height: 90px;
|
| | | color: white;
|
| | | max-width: 100vw;
|
| | | background-repeat: no-repeat;
|
| | | background-attachment: local;
|
| | |
| | | top: 366px; */
|
| | | }
|
| | |
|
| | | .orderbutton1 {
|
| | | /* .orderbutton1 {
|
| | | position: absolute;
|
| | | left: 1070px;
|
| | | top: 70px;
|
| | |
| | | position: absolute;
|
| | | left: 500px;
|
| | | top: -10px;
|
| | | }
|
| | | } */
|
| | |
|
| | | .blocks-img3 {
|
| | | height: 90px;
|
| | |
| | | display: flex;
|
| | | }
|
| | |
|
| | | /* .el-table td,
|
| | | .el-table th {
|
| | | padding: 0px 0;
|
| | | } */
|
| | | .device {
|
| | | font-weight: bold;
|
| | | width: 25px;
|
| | | height: 72px;
|
| | | line-height: 72px;
|
| | | color: white;
|
| | | font-size: 12px;
|
| | | position: absolute;
|
| | | }
|
| | |
|
| | | .glass {
|
| | | font-weight: bold;
|
| | | font-size: 12px;
|
| | | width: 105px;
|
| | | height: 15px;
|
| | | position: absolute;
|
| | | }
|
| | | </style>
|
| | | <template>
|
| | | <el-container>
|
| | |
| | | </div>
|
| | | </div>
|
| | | <div style="display:flex;justify-content: space-around;width: 9zz5%;margin: 0 auto;">
|
| | | <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1"
|
| | | :class="ManuallyInfeedGlass == true ? 'hide' : ''"></el-input>
|
| | | <!-- <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1"
|
| | | :class="ManuallyInfeedGlass == true ? 'hide' : ''"></el-input> -->
|
| | | <el-button type="primary" @click="SelectGlassByGlassIDs(2)" :disabled="ManuallyInfeedGlass"
|
| | | :class="ManuallyInfeedGlass == true ? 'hide' : ''">
|
| | | {{ $t('Manually Infeed Glass') }}</el-button>
|
| | | <el-button type="primary" @click="showform2()" :disabled="OrderInfo"
|
| | | :class="OrderInfo == true ? 'hide' : ''">{{ $t('OrderInfo')
|
| | | }}</el-button>
|
| | | <el-button type="primary" @click="showform6()" :disabled="OutingQueue"
|
| | | :class="OutingQueue == true ? 'hide' : ''">
|
| | | {{ $t('Outing Queue') }}</el-button>
|
| | | <el-button type="primary" @click="TaskStop(0)" :disabled="OutingQueue"
|
| | | :class="StopTask == true ? 'hide' : ''">
|
| | | {{ $t('Stop Feeding') }}</el-button>
|
| | | <el-button type="primary" @click="TaskStop(1)" :disabled="StopTask"
|
| | | :class="StopTask == true ? 'hide' : ''">
|
| | | {{ $t('Stop Outing') }}</el-button>
|
| | | <el-button type="primary" @click="SoftEmergencyStop()" :disabled="SoftEmergencyStop"
|
| | | :class="SoftEmergencyStop == true ? 'hide' : ''">
|
| | | {{ $t('SoftEmergencyStop') }}</el-button>
|
| | | <!-- <el-input style="width:15%;" :placeholder="$t('Enter the Order No')" v-model="order"></el-input>
|
| | | <el-button type="warning" @click="showform1();">{{ $t('Exit the glass by order number') }}</el-button> -->
|
| | | </div>
|
| | |
| | | <div class="blue gezi"
|
| | | :style="{ display: 'flex', position: 'absolute', float: 'left', top: 105 + 'px', left: 1050 + 'px', height: loadglassheight2 + 'px', width: 4 + 'px' }">
|
| | | </div>
|
| | | <div class="blocks-img" :style="{ left: car1 + 'px', top: '16px' }"></div>
|
| | | <div class="blocks-img" :style="{ left: car2 + 'px', top: '175px' }"></div>
|
| | |
|
| | | <div class="blocks-img2"></div>
|
| | | <div class="blocks-img3"></div>
|
| | | <el-button class="orderbutton1" type="primary" @click="showform2()" :disabled="OrderInfo"
|
| | | :class="OrderInfo == true ? 'hide' : ''">{{ $t('OrderInfo')
|
| | | }}</el-button>
|
| | | <el-button class="orderbutton2" type="primary" @click="showform6()" :disabled="OutingQueue"
|
| | | :class="OutingQueue == true ? 'hide' : ''">
|
| | | {{ $t('Outing Queue') }}</el-button>
|
| | |
|
| | | <!-- <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:328px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="(item,index) in cagelist1" :key="item['date']"
|
| | | :style="{ height: 35 * item['glassWidth'] + 'px',left:4.22*index+'px' }"
|
| | | @click="showcageinfo(item['cage'])"></div>
|
| | | <div class="device" :style="'top: 25px;left: 1027px;background-color: ' + ShowDeviceList(0) + ';'">D01</div>
|
| | | <div class="device" :style="'top: 105px;left: 1027px;background-color: ' + ShowDeviceList(1) + ';'">D02
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:885px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="(item,index) in cagelist2" :key="item['date']"
|
| | | :style="{ height: 35 * item['glassWidth'] + 'px',left:4.22*index+'px' }"
|
| | | @click="showcageinfo(item['cage'])"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:154px;left:328px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="(item,index) in cagelist3" :key="item['date']"
|
| | | :style="{ height: 35 * item['glassWidth'] + 'px', top: item['width'] * 35 - 35 + 'px',left:4.22*index+'px' }"
|
| | | @click="showcageinfo(item['cage'])"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:154px;left:885px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="(item,index) in cagelist4" :key="item['date']"
|
| | | :style="{ height: 35 * item['glassWidth'] + 'px', top: item['width'] * 35 - 35 + 'px',left:4.22*index+'px' }"
|
| | | @click="showcageinfo(item['cage'])"></div>
|
| | | </div>
|
| | | <div class="blocks-img" :style="{ left: car1 + 'px', top: '16px' }"></div>
|
| | | <div class="blocks-img" :style="{ left: car2 + 'px', top: '194px' }"></div>
|
| | | <div class="blocks-img2" :style="{ left: '912px', top: '366px' }"></div>
|
| | | <div class="blocks-img3" :style="{ left: '875px', top: '455px' }"></div> -->
|
| | | <div class="device" :style="'top: 102px;left: 605px;background-color: ' + ShowDeviceList(2) + ';'">B01</div>
|
| | | <div class="device" :style="'top: 102px;left: 197px;background-color: ' + ShowDeviceList(3) + ';'">B02</div>
|
| | | <div class="blocks-img" :style="'left:' + car2 + 'px;top:175px;background-color:' + ShowDeviceList(4) + ''">
|
| | | A01</div>
|
| | | <div class="blocks-img" :style="'left:' + car1 + 'px;top:16px;background-color:' + ShowDeviceList(5) + ''">
|
| | | A02</div>
|
| | | <div class="device" :style="'top: 108px;left: 150px;background-color: ' + ShowDeviceList(6) + ';'">D03</div>
|
| | | <div class="device" :style="'top: 185px;left: 150px;background-color: ' + ShowDeviceList(7) + ';'">D04</div>
|
| | | <div class="device" :style="'top: 262px;left: 150px;background-color: ' + ShowDeviceList(8) + ';'">D05</div>
|
| | | <div class="device" :style="'top: 339px;left: 150px;background-color: ' + ShowDeviceList(9) + ';'">D06</div>
|
| | |
|
| | | <div class="glass D01" style="top: 54px;left: 1055px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.9.2', 0)">{{ ShowGlassIdList(0) }}</div>
|
| | | <div class="glass D02" style="top: 132px;left: 1055px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.9.2', 1)">{{ ShowGlassIdList(1) }}</div>
|
| | | <div class="glass B01" style="top: 270px;left: 640px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.10.2', 2)">
|
| | | B01:{{ ShowGlassIdList(2) }}</div>
|
| | | <div class="glass B02" style="top: 290px;left: 640px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.10.3', 3)">B02:{{ ShowGlassIdList(3) }}</div>
|
| | | <div class="glass A01" style="top: 270px;left: 289px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.10.0', 4)">
|
| | | A01.1:{{ ShowGlassIdList(4) }}</div>
|
| | |
|
| | | <div class="glass A01" style="top: 290px;left: 289px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.10.1,5')">A01.2:{{ ShowGlassIdList(5) }}</div>
|
| | |
|
| | | <div class="glass A02" style="top: 310px;left: 300px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.10.2,6')">A02:{{ ShowGlassIdList(6) }}</div>
|
| | |
|
| | | <div class="glass D03" style="top: 137px;left: 42px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.9.4', 7)">
|
| | | {{ ShowGlassIdList(7) }}</div>
|
| | | <div class="glass D04" style="top: 213px;left: 42px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.9.5', 8)">
|
| | | {{ ShowGlassIdList(8) }}</div>
|
| | | <div class="glass D05" style="top: 290px;left: 42px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.9.6', 9)">
|
| | | {{ ShowGlassIdList(9) }}</div>
|
| | | <div class="glass D06" style="top: 367px;left: 42px;position: absolute;"
|
| | | @click="ClearGlassId('DB101.9.5', 10)">
|
| | | {{ ShowGlassIdList(10) }}</div>
|
| | |
|
| | |
|
| | | </div>
|
| | | </el-footer>
|
| | | <el-dialog :visible.sync="dialogFormVisible" :title="$t('Please confirm the glass information')">
|
| | |
| | | style="width: 100%;overflow: auto;">
|
| | | <el-table-column :min-width="50" prop="cage" :label="$t('Cage No')"></el-table-column>
|
| | | <el-table-column :min-width="50" prop="cell" :label="$t('Slot No')"></el-table-column>
|
| | | <el-table-column :min-width="55" prop="tier" :label="$t('The Side')"></el-table-column>
|
| | | <el-table-column :min-width="55" prop="tier" :label="$t('The Side')">
|
| | | <template slot-scope='scope'>
|
| | | {{
|
| | | scope.row.tier == 1 ? $t('Inside') : $t('Outside')
|
| | | }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column :min-width="145" prop="glassId" :label="$t('Barcode')"></el-table-column>
|
| | | <el-table-column :min-width="80" prop="orderId" :label="$t('Order No')"></el-table-column>
|
| | | <el-table-column :min-width="80" prop="listId" :label="$t('List No')"></el-table-column>
|
| | |
| | | {{ scope.row.glassWidthMm }}{{ scope.row.glassWidthMm > 0 ? "*" : "" }}{{ scope.row.glassHeightMm }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | |
| | |
|
| | | <el-table-column :min-width="80" prop="lengthWidth" :label="$t('State')">
|
| | | <template slot-scope='scope'>
|
| | | {{ scope.row.disabled == 0 ? $t('Enable') : $t('Disable') }}
|
| | |
| | | </el-dialog>
|
| | | <el-dialog :visible.sync="dialogFormVisible5" :title="$t('Please confirm the glass information')">
|
| | | <el-form :model="form" label-width="100px" style="padding-right: 30px">
|
| | | <div style="display: flex;justify-content: center;">
|
| | | <!-- <el-form-item>
|
| | | <el-input style="width:50%;margin-left: 20%;" :placeholder="$t('Enter the glass barcode')"
|
| | | v-model="glassid2"></el-input>
|
| | | <el-button type="primary" @click="SelectGlassByGlassIDs(1)">{{ $t('Query')
|
| | | }}</el-button>
|
| | | </el-form-item> -->
|
| | | <el-form-item>
|
| | | <el-input style="width:70%;" :placeholder="$t('Enter the glass barcode')"
|
| | | v-model="glassid1"></el-input>
|
| | | <el-button type="primary" @click="SelectGlassByGlassIDs(2)">{{ $t('Add')
|
| | | }}</el-button>
|
| | | </el-form-item>
|
| | | </div>
|
| | | <div style="display: flex;justify-content: space-around;">
|
| | | <label for="">{{ $t('Upper film position') }}</label>
|
| | | <div>
|
| | | {{ $t('Confirm State') }}:{{ this.isConfirm == true ? $t('Not Allow') : $t('Allow') }}
|
| | | <el-button type="primary" @click="isConfirmState()">
|
| | | {{ this.isConfirm == true ? $t('Allow') : $t('Not Allow') }}</el-button>
|
| | | <el-button type="primary" @click="isConfirmState()">
|
| | | {{ this.isConfirm == true ? $t('Allow') : $t('Not Allow') }}</el-button>
|
| | | </div>
|
| | | <label for="">{{ $t('Scan Code Point') }}</label>
|
| | | </div>
|
| | |
| | | <label for="">{{ $t('current Information') }}</label>
|
| | | <label for="">{{ $t('Modify Information') }}</label>
|
| | | </div>
|
| | | <div style="display: flex;justify-content: space-around;">
|
| | | <el-form-item>
|
| | | <el-input style="width:50%;margin-left: 20%;" :placeholder="$t('Enter the glass barcode')"
|
| | | v-model="glassid2"></el-input>
|
| | | <el-button type="primary" @click="SelectGlassByGlassIDs(1)">{{ $t('Query')
|
| | | }}</el-button>
|
| | | </el-form-item>
|
| | | <el-form-item>
|
| | | <el-input style="width:50%;margin-left: 20%;" :placeholder="$t('Enter the glass barcode')"
|
| | | v-model="glassid1"></el-input>
|
| | | <el-button type="primary" @click="SelectGlassByGlassIDs(2)">{{ $t('Query')
|
| | | }}</el-button>
|
| | | </el-form-item>
|
| | | </div>
|
| | |
|
| | | <div style="display: flex;justify-content: space-around;">
|
| | | <el-form-item :label="$t('Barcode')">
|
| | | <el-input v-model="form2.glassId" readonly autocomplete="off" />
|
| | |
| | | <el-input v-model="form5.glassheightmm" readonly autocomplete="off" />
|
| | | </el-form-item>
|
| | | </div>
|
| | | <div style="display: flex;justify-content: space-around;">
|
| | | <el-button @click="DeleteQueueGlasss(2)" type="primary">{{ $t('Clear Current')
|
| | | <div style="display: flex;justify-content: right;">
|
| | | <!-- <el-button @click="DeleteQueueGlasss(2)" type="primary">{{ $t('Clear Current')
|
| | | }}</el-button>
|
| | | <el-button @click="InsertQueueGlass(2)" type="primary" :disabled="disabled">
|
| | | {{ $t('Confirm Modification') }}</el-button>
|
| | | <el-button @click="DeleteQueueGlasss(1)" type="primary">{{ $t('Clear Current')
|
| | | }}</el-button>
|
| | | <el-button @click="InsertQueueGlass(1)" type="primary" :disabled="disabled1">
|
| | | }}</el-button> -->
|
| | | <el-button @click="InsertQueueGlass(1)" style="margin-right: 100px;" type="primary"
|
| | | :disabled="disabled1">
|
| | | {{ $t('Confirm Modification') }}</el-button>
|
| | | </div>
|
| | | </el-form>
|
| | |
| | | </el-dialog>
|
| | |
|
| | | <el-dialog :visible.sync="dialogFormVisible6" :title="$t('Outing Queue')" top="5vh">
|
| | | {{ $t('Queue State') }}:
|
| | | {{ $t('Queue State') }}:
|
| | | {{ this.isAllowQueue
|
| | | == true ? $t('Start') : $t('Stop')
|
| | | }}
|
| | | <el-button type="primary" @click="isAllowQueueState()" :disabled="!this.isAllowReordering">{{ this.isAllowQueue
|
| | | == true ? $t('Stop') : $t('Start')
|
| | | }}</el-button>
|
| | | {{ $t('Sorting State') }}:
|
| | | <!-- {{ $t('Sorting State') }}:
|
| | | {{
|
| | | this.isAllowReordering == true ? $t('Not Allow') : $t('Allow')
|
| | | }}
|
| | | <el-button type="primary" @click="isAllowReorderings()" :disabled="this.isAllowQueue">{{
|
| | | this.isAllowReordering == true ? $t('Allow') : $t('Not Allow')
|
| | | }}</el-button>
|
| | | <el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input>
|
| | | <el-button type="primary" @click="AddOutSliceS()">{{ $t('Add') }}</el-button>
|
| | | <label style="background-color:yellow;font-size: 23px;" for="">{{ isQueueWarning== true ? $t('The cage is disabled') : "" }}</label>
|
| | | }}</el-button> -->
|
| | | <!-- <el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input> -->
|
| | | <el-button type="primary" @click="showform7()">{{ $t('Add') }}</el-button>
|
| | | <label style="background-color:yellow;font-size: 23px;" for="">
|
| | | {{ isQueueWarning == true ? $t('The cage is disabled') : "" }}
|
| | | </label>
|
| | | <!-- <span style="background-color:yellow;">
|
| | | {{ isQueueWarning== true ? $t('The cage is disabled') : $t('The cage is disabled') }}
|
| | | </span> -->
|
| | | |
| | | <el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border :cell-style="cellStyle"
|
| | | style="width: 100%;overflow: auto;font-size: 18px;">
|
| | | <el-table-column :min-width="175" prop="glassId" :label="$t('Barcode')"></el-table-column>
|
| | | <el-table-column :min-width="70" prop="orderId" :label="$t('Order No')"></el-table-column>
|
| | | <el-table-column :min-width="70" prop="listId" :label="$t('List No')"></el-table-column>
|
| | | <el-table-column :min-width="70" prop="boxId" :label="$t('Box No')"></el-table-column>
|
| | | <el-table-column :min-width="100" prop="glasswidthmm" :label="$t('Length')"></el-table-column>
|
| | | <el-table-column :min-width="100" prop="glassheightmm" :label="$t('Width')"></el-table-column>
|
| | | <el-table-column :min-width="90" prop="state" :label="$t('Glass State')">
|
| | | <template slot-scope='scope'>
|
| | | {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2
|
| | | ? $t('Outed') : scope.row.state == 3 ? $t('Absent') : $t('Completed') }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
|
| | | <el-table-column :min-width="90" prop="barcode" :label="$t('Complete')">
|
| | | <template slot-scope='scope' style="height:100px;height:100px;">
|
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
|
| | | :disabled="!(!isAllowQueue && scope.row.state != 2 && scope.row.state != 4)"
|
| | | @click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{ $t('Complete')
|
| | | }}</el-button>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column :min-width="300" prop="position" :label="$t('Position')" style="font-size: 20px;">
|
| | | <div style="display:flex;">
|
| | | <div style="width:70%;">
|
| | | <el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border
|
| | | :cell-style="cellStyle" style="width: 100%;overflow: auto;font-size: 18px;">
|
| | | <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column>
|
| | | <el-table-column :min-width="175" prop="glassId" :label="$t('Barcode')"></el-table-column>
|
| | | <el-table-column :min-width="70" prop="orderId" :label="$t('Order No')"></el-table-column>
|
| | | <el-table-column :min-width="70" prop="listId" :label="$t('List No')"></el-table-column>
|
| | | <el-table-column :min-width="70" prop="boxId" :label="$t('Box No')"></el-table-column>
|
| | | <el-table-column :min-width="100" prop="glasswidthmm" :label="$t('Length')"></el-table-column>
|
| | | <el-table-column :min-width="100" prop="glassheightmm" :label="$t('Width')"></el-table-column>
|
| | | <el-table-column :min-width="90" prop="state" :label="$t('Glass State')">
|
| | | <template slot-scope='scope'>
|
| | | {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') :
|
| | | scope.row.state
|
| | | == 2
|
| | | ? $t('Outed') : scope.row.state == 3 ? $t('Absent') : $t('Completed') }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
|
| | | <el-table-column :min-width="90" prop="barcode" :label="$t('Complete')">
|
| | | <template slot-scope='scope' style="height:100px;height:100px;">
|
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
|
| | | :disabled="!(!isAllowQueue && scope.row.state != 2 && scope.row.state != 4)"
|
| | | @click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{
|
| | | $t('Complete')
|
| | | }}</el-button>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <!-- <el-table-column :min-width="300" prop="position" :label="$t('Position')" style="font-size: 20px;">
|
| | | <template slot-scope='scope'>
|
| | | <div
|
| | | :style="'width:' + (scope.row.position == 1 ? '300' : '100') + 'px;height:' + (scope.row.position == 1 ? '100' : '200') + 'px;background-Color:gray;margin:0 auto;'">
|
| | |
|
| | | </div>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column prop="position" :label="$t('Flipped')" :min-width="200">
|
| | | </el-table-column> -->
|
| | | <!-- <el-table-column prop="position" :label="$t('Flipped')" :min-width="200">
|
| | | <template slot-scope='scope'>
|
| | | {{ scope.row.flip == true ? $t('EXTERIQR OUT AND BYPASS TO THE LEFT')
|
| | | : $t('EXTERIQR OUT AND BYPASS TO THE RIGHT') }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column>
|
| | | <el-table-column :width="240" :label="$t('Operate')">
|
| | | <template slot-scope='scope'>
|
| | | <el-button type="text" size="small" @click="getTopMove(scope.row, scope.$index)"
|
| | | </el-table-column> -->
|
| | |
|
| | | <el-table-column :width="100" :label="$t('Operate')">
|
| | | <template slot-scope='scope'>
|
| | | <!-- <el-button type="text" size="small" @click="getTopMove(scope.row, scope.$index)"
|
| | | style="font-size: 15px;"
|
| | | :disabled="(scope.$index == 0 || isAllowReordering == true || scope.row.state == 1)">
|
| | | {{ $t('Top') }}
|
| | |
| | | style="font-size: 15px;"
|
| | | :disabled="(OutSlice.length - 1 == scope.$index || isAllowReordering == true || scope.row.state == 1)">
|
| | | {{ $t('Down') }}
|
| | | </el-button>
|
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue"
|
| | | @click="deleteproductionqueueglass(scope.row.barcode)">{{ $t('Delete') }}</el-button>
|
| | | </el-button> -->
|
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
|
| | | :disabled="isAllowQueue" @click="deleteproductionqueueglass(scope.row.barcode)">{{
|
| | | $t('Delete') }}</el-button>
|
| | |
|
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue"
|
| | | <!-- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue"
|
| | | @click="FrameStateUpdate(scope.row.barcode,scope.row.framestate)">{{
|
| | | scope.row.framestate == 0 ? $t('Stop') : $t('Start') }}</el-button>
|
| | | </template>
|
| | | </el-table-column>
|
| | | </el-table>
|
| | | scope.row.framestate == 0 ? $t('Stop') : $t('Start') }}</el-button> -->
|
| | | </template>
|
| | | </el-table-column>
|
| | | </el-table>
|
| | | </div>
|
| | | <div style="width:30%;" v-for="(item) in CurrentFrame" :key="item['barcode']">
|
| | | <el-button style="margin-left: 42%;" type="primary" @click="FrameStateUpdate(item['barcode'])">{{
|
| | | $t('Next') }}</el-button>
|
| | | <h1 style="font-size: 40px;text-align: center;">{{ $t('Current Frame') }}:{{ item['barcode'] }}</h1>
|
| | | <h1 style="font-size: 30px;text-align: center;">
|
| | | {{ item['flip'] == true ? $t('EXTERIQR OUT AND BYPASS TO THE LEFT')
|
| | | : $t('EXTERIQR OUT AND BYPASS TO THE RIGHT') }}
|
| | | </h1>
|
| | | <h1 style="font-size: 30px;text-align: center;">{{ item['framewidthmm'] }}*{{ item['frameheightmm'] }}
|
| | | </h1>
|
| | |
|
| | | <div class="frame" :style="'background-color: green;margin-top:30px;margin:0 auto;width: ' +
|
| | | FrameWidthHeight('before', item['framewidthmm'], item['frameheightmm'], item['position']) + 'px;height:' +
|
| | | FrameWidthHeight('after', item['framewidthmm'], item['frameheightmm'], item['position']) + 'px;'
|
| | | ">
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | |
|
| | | </el-dialog>
|
| | |
|
| | | <el-dialog :visible.sync="dialogFormVisible7" :title="$t('Glass information corresponding to aluminum frame')"
|
| | | top="5vh">
|
| | | <el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input>
|
| | | <el-button type="primary" @click="showform7()">{{ $t('Query') }}</el-button>
|
| | | <el-button type="primary" @click="addoutslice()">{{ $t('Add') }}</el-button>
|
| | | <el-button type="primary" @click="AddOutSliceS()">{{ $t('Add') }}</el-button>
|
| | | <el-button type="primary" @click="CloseForm7()">{{ $t('Cancel') }}</el-button>
|
| | | <el-table :data="this.AluminumFrame" :height="700" border style="width: 100%;overflow: auto;">
|
| | |
|
| | | <el-table-column prop="frameBarcode" :label="$t('Frame No')"></el-table-column>
|
| | | <el-table-column prop="barcode" :label="$t('Barcode')"></el-table-column>
|
| | | <el-table-column prop="ordernumber" :label="$t('Order No')"></el-table-column>
|
| | | <el-table-column prop="listnumber" :label="$t('List No')"></el-table-column>
|
| | |
| | | <el-table-column prop="glassheight" :label="$t('Width')"></el-table-column>
|
| | | <el-table-column prop="storageCage.cage" :label="$t('Cage No')"></el-table-column>
|
| | | <el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column>
|
| | | <el-table-column prop="storageCage.tier" :label="$t('The Side')"></el-table-column>
|
| | | <el-table-column prop="FrameNo" :label="$t('Frame No')"></el-table-column>
|
| | | <el-table-column prop="Flip" :label="$t('Flipped')"></el-table-column>
|
| | | <el-table-column prop="storageCage.tier" :label="$t('The Side')">
|
| | | <template slot-scope='scope'>
|
| | | {{
|
| | | scope.row.storageCage == null ? "" : scope.row.storageCage.tier == 1 ? $t('Inside') : $t('Outside')
|
| | | }}
|
| | | </template>
|
| | | </el-table-column>
|
| | |
|
| | | <!-- <el-table-column prop="Flip" :label="$t('Flipped')"></el-table-column> -->
|
| | | <el-table-column prop="out_slice.state" :label="$t('In the queue')">
|
| | | <template slot-scope='scope'>
|
| | | {{ scope.row.out_slice != null ? $t('Yes') : $t('No') }}
|
| | |
| | | {{ scope.row.storageCage != null ? $t('Yes') : $t('No') }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column :width="80" :label="$t('Operate')">
|
| | | <!-- <el-table-column :width="80" :label="$t('Operate')">
|
| | | <template slot-scope='scope'>
|
| | | <el-checkbox label="" :disabled="!(scope.row.storageCage != null && scope.row.out_slice == null)"
|
| | | :checked="scope.row.isCheck" @change="CheckBoxchange(scope.row.barcode, $event)"></el-checkbox>
|
| | | </template>
|
| | | </el-table-column>
|
| | | </el-table-column> -->
|
| | | </el-table>
|
| | | </el-dialog>
|
| | | <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
|
| | |
| | | home, home2, InsertOrder, Addglassid, UpdateTask, SelectAlarmmgInfo, SelectCageInfo, DeleteByGlassID, OutByGlassID, Loadcarlist,
|
| | | SelectPassword, SelectGlassByGlassID, Disabled, Inglassid, SelectGlass, InsertQueueGlassId, UpdateQueueState, DeleteQueueGlass, SelectGlassNo,
|
| | | SelectAluminumFrameInfoById, DeleteProductionQueueGlass, AddOutSliceS, isAllowQueues, isConfirmStates, SelectPermissionByUserName, currentUsername, CompleteQueue,
|
| | | isAllowReorderings, FrameStateUpdate
|
| | | isAllowReorderings, FrameStateUpdate, WriteGlassID, ClearGlassId, CloseForm7, TaskStop, SoftEmergencyStop
|
| | | } from "../../api/home";
|
| | |
|
| | |
|
| | |
| | | OutingQueue: true,
|
| | | OrderInfo: true,
|
| | | CageDetails: true,
|
| | | ClearGlassID:true,
|
| | | StopTask:true,
|
| | | SoftEmergencyStop:true,
|
| | | CountDowns: "0",
|
| | | D01RequestState: false,
|
| | | EmergencyStop: false,
|
| | | PromptSize: 250,
|
| | | reset: false,
|
| | | isQueueWarning: false
|
| | | isQueueWarning: false,
|
| | | CurrentFrame: [],
|
| | | DeviceList: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
| | | GlassIdList: []
|
| | | };
|
| | | },
|
| | | created() {
|
| | | this.load();
|
| | |
|
| | | this.init();
|
| | | }
|
| | | ,
|
| | |
| | | this.tasklist1 = obj.tasklist1[0];
|
| | | this.tasklist2 = obj.tasklist2[0];
|
| | | this.alarm = obj.alarmmg[0];
|
| | | //查询当前铝框信息
|
| | | this.CurrentFrame = obj.CurrentFrame;
|
| | | //获取设备状态
|
| | | if (obj.DeviceList != null) {
|
| | | this.DeviceList = obj.DeviceList[0];
|
| | | }
|
| | | //获取设备上的玻璃id
|
| | | if (obj.GlassIdList != null) {
|
| | | this.GlassIdList = obj.GlassIdList[0];
|
| | | }
|
| | | //获取待确认的铝框玻璃信息
|
| | | if (obj.AluminumFrame != null) {
|
| | | this.AluminumFrame = obj.AluminumFrame[0];
|
| | | if (this.dialogFormVisible6 == true) {
|
| | | this.dialogFormVisible7 = true;
|
| | | }
|
| | | }
|
| | |
|
| | | // if (obj.alarmmg[0].length > 0) {
|
| | | // if (this.alarm.length > 0) {
|
| | | // if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length - 1].id) {
|
| | |
| | | }
|
| | | if (item.permissionId == "35" && item.state == 1) {
|
| | | this.CageDetails = false;
|
| | | }
|
| | | if (item.permissionId == "36" && item.state == 1) {
|
| | | this.ClearGlassID = false;
|
| | | }
|
| | | if (item.permissionId == "37" && item.state == 1) {
|
| | | this.StopTask = false;
|
| | | }
|
| | | if (item.permissionId == "38" && item.state == 1) {
|
| | | this.SoftEmergencyStop = false;
|
| | | }
|
| | | });
|
| | | });
|
| | |
| | | showform3() {
|
| | | this.dialogFormVisible5 = true;
|
| | | },
|
| | | //手动写入plc扫码位玻璃id
|
| | | WriteGlassID() {
|
| | | if (this.glassid1 != "") {
|
| | | WriteGlassID(this.glassid1).then(res => {
|
| | | console.log(res.data);
|
| | | this.$message.success(this.$t('Successful operation'));
|
| | | });
|
| | | }
|
| | | },
|
| | | //获取扫码位和上片位数据
|
| | | SelectGlassByGlassIDs(parameter) {
|
| | | this.showform3();
|
| | | if (parameter == 1) {
|
| | | SelectGlassByGlassID(this.glassid2).then(res => {
|
| | | if (res.data.form != null) {
|
| | | if (res.data.form.glassId != null) {
|
| | | this.form4 = res.data.form;
|
| | | this.$message.success(this.$t('query was successful'));
|
| | | this.Sizerange(this.form4, 2);
|
| | | } else {
|
| | | this.$message.error(this.$t('There is no such glass'));
|
| | | }
|
| | | // if (parameter == 1) {
|
| | | // SelectGlassByGlassID(this.glassid2).then(res => {
|
| | | // if (res.data.form != null) {
|
| | | // if (res.data.form.glassId != null) {
|
| | | // this.form4 = res.data.form;
|
| | | // this.$message.success(this.$t('query was successful'));
|
| | | // this.Sizerange(this.form4, 2);
|
| | | // } else {
|
| | | // this.$message.error(this.$t('There is no such glass'));
|
| | | // }
|
| | |
|
| | | } else {
|
| | | this.$message.error(this.$t('There is no such glass'));
|
| | | }
|
| | | });
|
| | | } else {
|
| | | SelectGlassByGlassID(this.glassid1).then(res => {
|
| | | if (res.data.form != null) {
|
| | | if (res.data.form.glassId != null) {
|
| | | this.form5 = res.data.form;
|
| | | this.$message.success(this.$t('query was successful'));
|
| | | this.Sizerange(this.form5, 1);
|
| | | } else {
|
| | | this.$message.error(this.$t('There is no such glass'));
|
| | | }
|
| | | } else {
|
| | | this.$message.error(this.$t('There is no such glass'));
|
| | | }
|
| | | });
|
| | | }
|
| | | // } else {
|
| | | // this.$message.error(this.$t('There is no such glass'));
|
| | | // }
|
| | | // });
|
| | | // } else {
|
| | | // SelectGlassByGlassID(this.glassid1).then(res => {
|
| | | // if (res.data.form != null) {
|
| | | // if (res.data.form.glassId != null) {
|
| | | // this.form5 = res.data.form;
|
| | | // this.$message.success(this.$t('query was successful'));
|
| | | // this.Sizerange(this.form5, 1);
|
| | | // } else {
|
| | | // this.$message.error(this.$t('There is no such glass'));
|
| | | // }
|
| | | // } else {
|
| | | // this.$message.error(this.$t('There is no such glass'));
|
| | | // }
|
| | | // });
|
| | | // }
|
| | |
|
| | | },
|
| | | //查询客户玻璃信息
|
| | |
| | | showform7() {
|
| | | //查询铝框id对应玻璃信息
|
| | | SelectAluminumFrameInfoById(this.framebarcode).then(res => {
|
| | | this.AluminumFrame = res.data.listAluminumFrame;
|
| | | this.AluminumFrame.sort(function (x, y) {
|
| | | if (x['storageCage'] != null && y['storageCage'] != null) {
|
| | | return y['storageCage']['tier'] - x['storageCage']['tier'];
|
| | | }
|
| | | });
|
| | | this.AluminumFrame.forEach(item => {
|
| | | if (item.storageCage != null && item.out_slice == null) {
|
| | | item.isCheck = true;
|
| | | } else {
|
| | | item.isCheck = false;
|
| | | }
|
| | | item.Flip = res.data.flip;
|
| | | item.FrameNo = this.framebarcode;
|
| | | });
|
| | | this.AluminumFrame = res.data.AluminumFrame;
|
| | | console.log(this.AluminumFrame);
|
| | | // this.AluminumFrame.forEach(item => {
|
| | | // if (item.storageCage != null && item.out_slice == null) {
|
| | | // item.isCheck = true;
|
| | | // } else {
|
| | | // item.isCheck = false;
|
| | | // }
|
| | | // item.Flip = res.data.flip;
|
| | | // item.FrameNo = this.framebarcode;
|
| | | // });
|
| | | });
|
| | | // this.dialogFormVisible7 = true;
|
| | | this.dialogFormVisible7 = true;
|
| | | },
|
| | | //取消操作时关闭页面
|
| | | cancel() {
|
| | |
| | | },
|
| | | //添加到出片队列
|
| | | AddOutSliceS() {
|
| | | // var dats_ = new Array();
|
| | | // this.AluminumFrame.forEach(item => {
|
| | | // var dats2_ = new Array();
|
| | | // dats2_[0] = item.barcode;
|
| | | // dats2_[1] = item.isCheck;
|
| | | // dats2_[2] = item.Flip;
|
| | | // dats2_[3] = item.FrameNo;
|
| | | // dats2_[4] = item.glasslengthmm;
|
| | | // dats2_[5] = item.glassheightmm;
|
| | | // dats_[dats_.length] = dats2_;
|
| | | // });
|
| | | // AddOutSliceS(dats_).then(res => {
|
| | | // if (res.data.message == 200) {
|
| | | // this.$message.success(this.$t('Operation successful'));
|
| | | // }
|
| | | // });
|
| | | AddOutSliceS(this.framebarcode).then(res => {
|
| | | if (res.data.message == 200) {
|
| | | this.$message.success(this.$t('Operation successful'));
|
| | | }
|
| | | });
|
| | | if (this.AluminumFrame != null) {
|
| | | AddOutSliceS(this.AluminumFrame[0].frameBarcode).then(res => {
|
| | | if (res.data.message == 200) {
|
| | | this.$message.success(this.$t('Operation successful'));
|
| | | }
|
| | | });
|
| | | }
|
| | | },
|
| | | //关闭待确认铝框信息界面并清除待确认信息
|
| | | CloseForm7() {
|
| | | if (this.AluminumFrame != null) {
|
| | | CloseForm7().then(res => {
|
| | | if (res.data.message == 200) {
|
| | | this.AluminumFrame = null;
|
| | | this.dialogFormVisible7 = false;
|
| | | this.$message.success(this.$t('Operation successful'));
|
| | | }
|
| | | });
|
| | | }
|
| | | },
|
| | | //置顶
|
| | | getTopMove(row, index) {
|
| | |
| | | rowIndex = column;
|
| | | let style = "";
|
| | | if (columnIndex === 8) {
|
| | | style = "font-size:200px;text-align: center;";
|
| | | // style = "font-size:200px;text-align: center;";
|
| | | style = "";
|
| | | }
|
| | | // if (columnIndex === 9 && row.flip == 1) {
|
| | | // style = "background-Color:yellow;";
|
| | |
| | | if (rowIndex != 0) {
|
| | | barcode2 = arrOutSlice[rowIndex - 1].barcode;
|
| | | }
|
| | | if (columnIndex === 12 || columnIndex === 9 || columnIndex === 10 || columnIndex === 11) {
|
| | | if (columnIndex === 0 || columnIndex === 10) {
|
| | | if (barcode != barcode2) {
|
| | | // this.FrameNoFlag = barcode;
|
| | | for (let i = rowIndex; i < this.OutSlice.length; i++) {
|
| | |
| | | );
|
| | |
|
| | | },
|
| | | FrameStateUpdate(frameno,framestate){
|
| | | if(framestate == 1){
|
| | | framestate=0;
|
| | | }else{
|
| | | framestate=1;
|
| | | }
|
| | | FrameStateUpdate(frameno,framestate).then(res=>{
|
| | | if(res.data.message == 200){
|
| | | //更换当前铝框
|
| | | FrameStateUpdate(frameno) {
|
| | | FrameStateUpdate(frameno).then(res => {
|
| | | if (res.data.message == 200) {
|
| | | this.$message.success("Operation successful");
|
| | | }
|
| | | });
|
| | | },
|
| | | //当前铝框图形
|
| | | FrameWidthHeight(state, width, height, position) {
|
| | | if (state == "before") {
|
| | | if (position == 0) {
|
| | | if (width > height) {
|
| | | return 400;
|
| | | }
|
| | | else {
|
| | | return width / height * 400;
|
| | | }
|
| | | } else {
|
| | | if (width > height) {
|
| | | return height / width * 400;
|
| | | }
|
| | | else {
|
| | | return 400;
|
| | | }
|
| | | }
|
| | | }
|
| | | if (state == "after") {
|
| | | if (position == 0) {
|
| | | if (width < height) {
|
| | | return 400;
|
| | | }
|
| | | else {
|
| | | return height / width * 400;
|
| | | }
|
| | | } else {
|
| | | if (width < height) {
|
| | | return width / height * 400;
|
| | | }
|
| | | else {
|
| | | return 400;
|
| | | }
|
| | | }
|
| | | }
|
| | | },
|
| | | //获取设备显示状态
|
| | | ShowDeviceList(num) {
|
| | | if (this.DeviceList != null && this.DeviceList.length > 0) {
|
| | |
|
| | | if (this.DeviceList[num] == 0) {
|
| | | return "";
|
| | | } else if (this.DeviceList[num] == 1) {
|
| | | return "rgba(0,128,0,0.5)";
|
| | | } else if (this.DeviceList[num] == 2) {
|
| | | return "rgba(255,0,0)";
|
| | | }
|
| | | }
|
| | | },
|
| | | //获取设备玻璃id
|
| | | ShowGlassIdList(num) {
|
| | | if (this.GlassIdList != null && this.GlassIdList.length > 0) {
|
| | | const specialChars = /[^\w\s]/g;
|
| | | return this.GlassIdList[num].replace(specialChars, "");
|
| | | }
|
| | | },
|
| | | //清除玻璃id
|
| | | ClearGlassId(position, num) {
|
| | | if (this.ClearGlassID == false) {
|
| | | if (this.DeviceList[position] != null) {
|
| | | if (this.GlassIdList[num].length == 14) {
|
| | | this.$confirm(this.$t('Are you sure to clear this barcode ?'), this.$t('confirm'), {
|
| | | confirmButtonText: this.$t('Yes'),
|
| | | cancelButtonText: this.$t('No'),
|
| | | type: 'warning'
|
| | | }).then(() => {
|
| | | ClearGlassId(position, this.GlassIdList[num]).then(res => {
|
| | | if (res.data.message3 == 200) {
|
| | | this.$message.success(this.$t('Operation successful'));
|
| | | } else {
|
| | | this.$message.success(this.$t('operation failed'));
|
| | | }
|
| | | });
|
| | | }).catch(() => {
|
| | | this.$message({
|
| | | type: 'info',
|
| | | message: this.$t('Operation canceled')
|
| | | });
|
| | | });
|
| | | } else {
|
| | | this.$message.error(this.$t('There is no glass ID here'));
|
| | | }
|
| | | } else {
|
| | | //自动状态不能清除玻璃id
|
| | | this.$message.error(this.$t('Unable to clear glass ID in automatic mode'));
|
| | | }
|
| | | } else {
|
| | | this.$message.error(this.$t('You do not have this permission'));
|
| | | }
|
| | | },
|
| | | //终止进/出片任务
|
| | | TaskStop(num) {
|
| | | TaskStop(num).then(res => {
|
| | | if (res.data.message == 200) {
|
| | | this.$message.success(this.$t('Operation successful'));
|
| | | }
|
| | | });
|
| | | },
|
| | | SoftEmergencyStop() {
|
| | | SoftEmergencyStop.then(res => {
|
| | | if (res.data.message == 200) {
|
| | | this.$message.success(this.$t('Operation successful'));
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | | }
|
| 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} |
| | | System.out.println(plcParameterObject.getPlcParameterValues(addresses)); |
| | | 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(100); |
| | | |
| | | } 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()); |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | private ResourceLoader resourceLoader; |
| | | private volatile static PlcParameter1Review instance = null; |
| | | |
| | | private PlcParameter1Review() { |
| | | public PlcParameter1Review() { |
| | | init(); |
| | | } |
| | | |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength()); |
| | | plcParameterObject.setPlcParameterList(getplcvlues); |
| | | int index = plcParameterObject.getPlcParameter("conveyorVelocity(AutoFAST)").getAddressIndex(); |
| | | S7control.getinstance().WriteWord(plcParameterObject.getPlcParameter("conveyorVelocity(AutoFAST)").getAddress(index), (short) 100); |
| | | plcParameterObject.setPlcParameterList(getplcvlues); |
| | | // int index = plcParameterObject.getPlcParameter("conveyorVelocity(AutoFAST)").getAddressIndex(); |
| | | // S7control.getinstance().WriteWord(plcParameterObject.getPlcParameter("conveyorVelocity(AutoFAST)").getAddress(index), (short) 100); |
| | | |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("conveyorVelocity(AutoFAST)"); |
| | |
| | | addresses.add("A01A02TURNJOGVelocity"); |
| | | addresses.add("A01A02TRAVELJOGVelocity"); |
| | | |
| | | plcParameterObject.getPlcParameterValues(addresses); |
| | | |
| | | System.out.println(plcParameterObject.getPlcParameterValues(addresses)); |
| | | |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | |
| | |
| | | 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 |
| | |
| | | import com.example.springboot.entity.Queue;
|
| | | import com.example.springboot.entity.StorageCage;
|
| | | import com.example.springboot.entity.alarmmg;
|
| | | import com.example.springboot.entity.north_glass_buffer1;
|
| | | import com.example.springboot.mapper.HomeMapper;
|
| | | import com.example.springboot.mapper.SpianMapper;
|
| | |
|
| | |
| | | // 出片队列是否允许出片
|
| | | public static Boolean isAllowQueue = true;
|
| | | public static Boolean isAllowReordering = true;
|
| | | //出片队列警告
|
| | | public static Boolean isQueueWarning=false;
|
| | | // 出片队列警告
|
| | | public static Boolean isQueueWarning = false;
|
| | | // 铝框id
|
| | | public static String FrameNo = "";
|
| | | // 是否需要手动确认玻璃
|
| | | public static Boolean isConfirm = false;
|
| | | //待确认的出片队列
|
| | | public static List<north_glass_buffer1> AluminumFrame;
|
| | |
|
| | | private Configuration config;
|
| | | // private Configuration config;
|
| | |
|
| | | private StorageCageService storageCageService;
|
| | |
|
| | | public Plchome() throws IOException {
|
| | | config = new Configuration("config.properties");
|
| | | }
|
| | | // public Plchome() throws IOException {
|
| | | // config = new Configuration("config.properties");
|
| | | // }
|
| | |
|
| | | // public static Map b=new HashMap<>();
|
| | | // b.put()
|
| | |
| | | jsonObject.append("listoutslice", listoutslice);
|
| | | // 获取当前出片队列出片状态
|
| | | jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
|
| | | //获取出片队列警告状态
|
| | | // 获取出片队列警告状态
|
| | | jsonObject.append("isQueueWarning", Plchome.isQueueWarning);
|
| | | // 获取当前出片队列调序状态
|
| | | jsonObject.append("isAllowReordering", Plchome.isAllowReordering);
|
| | | // 是否需要人工确认上片玻璃
|
| | | jsonObject.append("isConfirm", isConfirm);
|
| | | // String framenos="X21763329601FB";
|
| | | // if (!framenos.equals(Plchome.FrameNo)) {
|
| | | // Plchome.FrameNo = framenos;
|
| | | // try {
|
| | | // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
|
| | | // } catch (SQLException e) {
|
| | | // // TODO Auto-generated catch block
|
| | | // e.printStackTrace();
|
| | | // }
|
| | | // }
|
| | | // 查询当前铝框信息
|
| | | Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
|
| | | jsonObject.append("CurrentFrame", CurrentFrame);
|
| | |
|
| | | |
| | | |
| | | if (S7control.getinstance().CheckConnected() == true) {
|
| | | // 获取D01-D06,A01,A02,B01,B02状态
|
| | | List<Short> DeviceList = S7control.getinstance().ReadWord("DB103.0", 10);
|
| | | jsonObject.append("DeviceList", DeviceList);
|
| | | // 获取D01-D06,A01,A02,B01,B02玻璃id
|
| | | List<String> GlassIdList = new ArrayList<String>();
|
| | | GlassIdList.add(spianService.queGlassid("DB103.40", 14).toString());
|
| | | GlassIdList.add(spianService.queGlassid("DB103.58", 14).toString());
|
| | |
|
| | | GlassIdList.add(spianService.queGlassid("DB103.184", 14).toString());
|
| | | GlassIdList.add(spianService.queGlassid("DB103.212", 14).toString());
|
| | |
|
| | | GlassIdList.add(spianService.queGlassid("DB103.128", 14).toString());
|
| | | GlassIdList.add(spianService.queGlassid("DB103.142", 14).toString());
|
| | | GlassIdList.add(spianService.queGlassid("DB103.156", 14).toString());
|
| | |
|
| | | GlassIdList.add(spianService.queGlassid("DB103.72", 14).toString());
|
| | | GlassIdList.add(spianService.queGlassid("DB103.86", 14).toString());
|
| | | GlassIdList.add(spianService.queGlassid("DB103.100", 14).toString());
|
| | | GlassIdList.add(spianService.queGlassid("DB103.114", 14).toString());
|
| | | jsonObject.append("GlassIdList", GlassIdList);
|
| | |
|
| | | // 读去Plc进片车与出片车位置W
|
| | | List<String> addressList = new ArrayList<String>();
|
| | | addressList.add("DB106.12");
|
| | |
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | // 获取铝框idDB106.DBW64,添加到出片队列
|
| | | // // 获取铝框idDB106.DBW64,添加到出片队列
|
| | | // String frameno="X21763329601FB";
|
| | | String frameno = spianService.queGlassid("DB103.270", 14).toString();
|
| | | // String frameno="X12345611002GV";
|
| | | // frameno="X21763329601FB";
|
| | | if (!frameno.equals(Plchome.FrameNo)) {
|
| | | Plchome.FrameNo = frameno;
|
| | | try {
|
| | | north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
|
| | | Short num=0;
|
| | | List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(Plchome.FrameNo);
|
| | | for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
|
| | | if(north_glass_buffer1.getstorageCage()==null){
|
| | | break;
|
| | | }
|
| | | num++;
|
| | | }
|
| | | if(num==north_glass_buffer1s.size()){
|
| | | north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
|
| | | }else{
|
| | | Plchome.AluminumFrame=north_glass_buffer1s;
|
| | | }
|
| | | } catch (SQLException e) {
|
| | | // TODO Auto-generated catch block
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | if(AluminumFrame!=null){
|
| | | jsonObject.append("AluminumFrame", AluminumFrame);
|
| | | }
|
| | |
|
| | | // // 获取铝框idDB106.DBW64,添加到出片队列
|
| | | // String frameno = spianService.queGlassid("DB103.270", 14).toString();
|
| | | // // String frameno="X12345611002GV";
|
| | | // // frameno="X21763329601FB";
|
| | | // if (!frameno.equals(Plchome.FrameNo)) {
|
| | | // Plchome.FrameNo = frameno;
|
| | | // try {
|
| | | // Short num=0;
|
| | | // List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(Plchome.FrameNo);
|
| | | // for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
|
| | | // if(north_glass_buffer1.getstorageCage()==null){
|
| | | // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
|
| | | // break;
|
| | | // }
|
| | | // num++;
|
| | | // }
|
| | | // if(num==north_glass_buffer1s.size()){
|
| | | // jsonObject.append("AluminumFrame", north_glass_buffer1s);
|
| | | // }
|
| | | // } catch (SQLException e) {
|
| | | // // TODO Auto-generated catch block
|
| | | // e.printStackTrace();
|
| | | // }
|
| | | // }
|
| | |
|
| | | // 获取进片请求状态
|
| | | List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
|
| | |
| | | // 是否急停
|
| | | List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
|
| | | for (Boolean emergencystop : emergencystops) {
|
| | | jsonObject.
|
| | | append("emergencystop", emergencystop);
|
| | | jsonObject.append("emergencystop", emergencystop);
|
| | | }
|
| | | |
| | |
|
| | | // // 终止继续按钮
|
| | | // List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(","));
|
| | | // List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
|
| | | // List<String> niuanaddressList3 =
|
| | | // Arrays.asList(config.getProperty("Parameter2.stop").split(","));
|
| | | // List<Boolean> anniuread =
|
| | | // S7control.getinstance().readBits(niuanaddressList3);
|
| | | // // Boolean[] value4 = { false, false};
|
| | | // // List<Boolean> anniuread = new ArrayList<>(Arrays.asList(value4));
|
| | | // Boolean[] value5 = { true };
|
| | | // List<Boolean> resets = new ArrayList<>(Arrays.asList(value5));
|
| | | // short[] anniuparams = new short[anniuread.size()];
|
| | | // for (int i = 0; i < anniuread.size(); i++) {
|
| | | // boolean value = anniuread.get(i);
|
| | | // anniuparams[i] = value ? (short) 1 : (short) 0;
|
| | | // boolean value = anniuread.get(i);
|
| | | // anniuparams[i] = value ? (short) 1 : (short) 0;
|
| | | // }
|
| | |
|
| | | // short[] resets2 = new short[resets.size()];
|
| | | // for (int i = 0; i < resets.size(); i++) {
|
| | | // boolean value = resets.get(i);
|
| | | // resets2[i] = value ? (short) 1 : (short) 0;
|
| | | // boolean value = resets.get(i);
|
| | | // resets2[i] = value ? (short) 1 : (short) 0;
|
| | | // }
|
| | |
|
| | | // for (short number : resets2) {
|
| | |
|
| | | // if (number == 1) {
|
| | | // jsonObject.append("Abort", anniuparams);
|
| | | // if (number == 1) {
|
| | | // jsonObject.append("Abort", anniuparams);
|
| | |
|
| | | // }
|
| | | // }
|
| | |
|
| | | // }
|
| | | }
|
| | |
| | | // String lastMessage = messages.get(messages.size() - 1);
|
| | | // System.out.println("lastMessage:" + lastMessage);
|
| | | // JSONArray messageArray = new JSONArray(lastMessage);
|
| | | |
| | |
|
| | | // try {
|
| | | // // 检查索引是否有效
|
| | | // if (messageArray.getJSONArray(0).size() > 0) {
|
| | | // // 获取消息数组
|
| | | // JSONArray jsonArray = messageArray.getJSONArray(0);
|
| | | // // 创建一个布尔值列表
|
| | | // List<Boolean> sValue = new ArrayList<>();
|
| | | // // 遍历消息数组
|
| | | // for (int i = 0; i < jsonArray.size(); i++) {
|
| | | // // 获取消息数组中的值
|
| | | // Object value = jsonArray.get(i);
|
| | | // // 检查值是否有效
|
| | | // if (value != null && !value.toString().equals("null")) {
|
| | | // try {
|
| | | // // 移除非数字和数字字符
|
| | | // String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | // // 解析为布尔值
|
| | | // boolean val = "1".equals(cleanedValue.trim());
|
| | | // // 将布尔值添加到布尔值列表中
|
| | | // sValue.add(val);
|
| | | // System.out.println(
|
| | | // "messageValue: " + Arrays.asList(val) + " added to the list");
|
| | | // // 检查索引是否有效
|
| | | // if (messageArray.getJSONArray(0).size() > 0) {
|
| | | // // 获取消息数组
|
| | | // JSONArray jsonArray = messageArray.getJSONArray(0);
|
| | | // // 创建一个布尔值列表
|
| | | // List<Boolean> sValue = new ArrayList<>();
|
| | | // // 遍历消息数组
|
| | | // for (int i = 0; i < jsonArray.size(); i++) {
|
| | | // // 获取消息数组中的值
|
| | | // Object value = jsonArray.get(i);
|
| | | // // 检查值是否有效
|
| | | // if (value != null && !value.toString().equals("null")) {
|
| | | // try {
|
| | | // // 移除非数字和数字字符
|
| | | // String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | // // 解析为布尔值
|
| | | // boolean val = "1".equals(cleanedValue.trim());
|
| | | // // 将布尔值添加到布尔值列表中
|
| | | // sValue.add(val);
|
| | | // System.out.println(
|
| | | // "messageValue: " + Arrays.asList(val) + " added to the list");
|
| | |
|
| | | // } catch (NumberFormatException e) {
|
| | | // // 如果无法解析为 boolean 类型,则忽略该部分
|
| | | // System.err.println("Could not parse value: " + value);
|
| | | // }
|
| | | // }
|
| | | // }
|
| | | // // 终止进片任务
|
| | | // boolean Value1 = sValue.get(0);
|
| | | // boolean Value2 = sValue.get(1);
|
| | | // } catch (NumberFormatException e) {
|
| | | // // 如果无法解析为 boolean 类型,则忽略该部分
|
| | | // System.err.println("Could not parse value: " + value);
|
| | | // }
|
| | | // }
|
| | | // }
|
| | | // // 终止进片任务
|
| | | // boolean Value1 = sValue.get(0);
|
| | | // boolean Value2 = sValue.get(1);
|
| | |
|
| | | // if (Value1) {
|
| | | // storageCageService.EndTask(0);
|
| | | // if (Value1) {
|
| | | // storageCageService.EndTask(0);
|
| | |
|
| | | // }
|
| | | // if (Value2) {
|
| | | // storageCageService.EndTask(1);
|
| | | // }
|
| | | // if (Value2) {
|
| | | // storageCageService.EndTask(1);
|
| | |
|
| | | // }
|
| | | // // 检查布尔值列表是否为空
|
| | | // if (!sValue.isEmpty()) {
|
| | | // }
|
| | | // // 检查布尔值列表是否为空
|
| | | // if (!sValue.isEmpty()) {
|
| | |
|
| | | // // 调用 S7control.getinstance().WriteBit 方法将布尔值列表写入地址列表
|
| | | // S7control.getinstance().WriteBit(niuanaddressList3, sValue);
|
| | | // System.out.println(
|
| | | // "Values " + sValue + " written to PLC at address " + niuanaddressList3);
|
| | | // }
|
| | | // }
|
| | | // // 调用 S7control.getinstance().WriteBit 方法将布尔值列表写入地址列表
|
| | | // S7control.getinstance().WriteBit(niuanaddressList3, sValue);
|
| | | // System.out.println(
|
| | | // "Values " + sValue + " written to PLC at address " + niuanaddressList3);
|
| | | // }
|
| | | // }
|
| | | // } catch (Exception e) {
|
| | | // System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
|
| | | // System.err.println("An error occurred while writing bit to PLC: " +
|
| | | // e.getMessage());
|
| | | // }
|
| | | webserver.clearMessages();
|
| | | }
|
| | |
| | | } |
| | | spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class); |
| | | spianService = WebSocketServer.applicationContext.getBean(SpianService.class); |
| | | |
| | | StringBuilder B01glassid = spianService.queGlassid("DB103.184", 14);// BO1的玻璃id |
| | | StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02的玻璃id |
| | | boolean B01backs = spianService.listbool("DB106.60");// b01汇报 |
| | | boolean B02backs = spianService.listbool("DB106.62");// b01汇报 |
| | | if (b01 != B01backs) { |
| | | if (B01backs == true) { |
| | | spianMapper.insertlog("BO1:1"); |
| | | spianMapper.insertlog("BO1:1"+B01glassid); |
| | | } else { |
| | | spianMapper.insertlog("BO1:0"); |
| | | spianMapper.insertlog("BO1:0"+B01glassid); |
| | | } |
| | | b01 = B01backs; |
| | | } |
| | | |
| | | if (b02 != B02backs) { |
| | | if (B02backs == true) { |
| | | spianMapper.insertlog("BO2:1"); |
| | | spianMapper.insertlog("BO2:1"+B02glassid); |
| | | } else { |
| | | spianMapper.insertlog("BO2:0"); |
| | | spianMapper.insertlog("BO2:0"+B02glassid); |
| | | } |
| | | b02 = B02backs; |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | 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 huibao().start(); |
| | | //new Plchome().start(); |
| | | new Plclog().start(); |
| | | |
| | | // new Plcalarm().start(); |
| | | // new Plchome().start(); |
| | | |
| | | // new Plcsign().start(); |
| | | // new Plcalarm().start(); |
| | | |
| | | // new Plcstate().start(); |
| | | // new PlcPositioning1().start(); |
| | | // new Plcsign().start(); |
| | | |
| | | // new PlcParameter2().start(); |
| | | // new Plcstate().start(); |
| | | // new PlcPositioning1().start(); |
| | | |
| | | // new PLCAutomaticParameterSetting().start(); |
| | | // new PlcParameter2().start(); |
| | | |
| | | // new PlcManualonePosition().start(); |
| | | // new PlcManualonePosition2().start(); |
| | | // new PlcServoManualone().start(); |
| | | // new PLCManualJog().start(); |
| | | // new Plclog().start(); |
| | | // new PLCAutomaticParameterSetting().start(); |
| | | |
| | | // new PlcManualonePosition().start(); |
| | | // new PlcManualonePosition2().start(); |
| | | // new PlcServoManualone().start(); |
| | | // new PLCManualJog().start(); |
| | | // //new Plclog().start(); |
| | | |
| | | // new PlcInteractionState().start(); |
| | | // new PlcParameter1Review().start(); |
| | | // new PLCAutomaticParameterSettingReview().start(); |
| | | } |
| | | } |
| | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | |
| | | import com.example.springboot.service.SpianService; |
| | | import com.example.springboot.service.StorageCageService; |
| | | |
| | | |
| | | import com.example.springboot.common.Result; |
| | | import com.example.springboot.component.Plchome; |
| | | import com.example.springboot.component.S7control; |
| | | import com.example.springboot.entity.CarPosition; |
| | | import com.example.springboot.entity.StorageCage; |
| | | import com.example.springboot.entity.alarmmg; |
| | |
| | | @RequestMapping("/home") |
| | | public class HomeController { |
| | | @Autowired |
| | | |
| | | HomeMapper homeMapper; |
| | | |
| | | @Autowired |
| | | HomeService storageRackService; |
| | | |
| | | @Autowired |
| | | SpianService spianService; |
| | |
| | | return Result.success(map); |
| | | } |
| | | |
| | | //终止进片/出片任务 |
| | | // 终止进片/出片任务 |
| | | @GetMapping("/EndTask") |
| | | public Result EndTask(int types) { |
| | | storageCageService.EndTask(types); |
| | | |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message3", "200"); |
| | | return Result.success(map); |
| | |
| | | if (result == null) { |
| | | north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(glassid, "", ""); |
| | | String flip = jdbcConnections.SelectFlipByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | |
| | | if (flip != null) { |
| | | String position = jdbcConnections.SelectPositionByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | if (position != null) { |
| | | String framelength = jdbcConnections.SelectFrameLengthByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | String frameheight = jdbcConnections.SelectFrameHeightByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | int sequence = homeMapper.SelectMaxSquence(); |
| | | homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(), |
| | | north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(), |
| | | sequence, position, (short) 0, north_glass_buffer1.getordernumber(), north_glass_buffer1.getlistnumber(), |
| | | north_glass_buffer1.getboxnumber(), north_glass_buffer1.getglasslength().toString(), |
| | | north_glass_buffer1.getglassheight().toString()); |
| | | north_glass_buffer1.getglassheight().toString(), framelength, frameheight); |
| | | map.put("message2", "200"); |
| | | } else { |
| | | map.put("message2", "300"); |
| | |
| | | @PostMapping("/SelectAluminumFrameInfoById") |
| | | public Result SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException { |
| | | String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode); |
| | | List<north_glass_buffer1> listAluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode); |
| | | List<north_glass_buffer1> AluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("listAluminumFrame", listAluminumFrame); |
| | | map.put("AluminumFrame", AluminumFrame); |
| | | map.put("flip", flip); |
| | | return Result.success(map); |
| | | } |
| | |
| | | // 添加铝框id对应玻璃到出片队列 |
| | | @PostMapping("/AddOutSliceS") |
| | | public Result AddOutSliceS(String FrameNo) throws SQLException { |
| | | //public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws SQLException { |
| | | // public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws |
| | | // SQLException { |
| | | north_Glass_Buffer1Service.AddOutSliceS(FrameNo); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | |
| | | public Result isAllowQueues(Boolean isAllowQueue, @RequestBody List<Out_slice> out_slice) { |
| | | Plchome.isAllowQueue = isAllowQueue; |
| | | // if (isAllowQueue == true) { |
| | | // for (Out_slice out_slice2 : out_slice) { |
| | | // homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), out_slice2.getSequence()); |
| | | // } |
| | | // for (Out_slice out_slice2 : out_slice) { |
| | | // homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), |
| | | // out_slice2.getSequence()); |
| | | // } |
| | | // } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | |
| | | |
| | | // 手动完成任务 |
| | | @PostMapping("/FrameStateUpdate") |
| | | public Result FrameStateUpdate(String frameno, String framestate) { |
| | | return outSliceServive.FrameStateUpdate(frameno, framestate); |
| | | public Result FrameStateUpdate(String frameno) { |
| | | return outSliceServive.FrameStateUpdate(frameno); |
| | | } |
| | | |
| | | |
| | | // 手动写入plc扫码位玻璃id |
| | | @PostMapping("/WriteGlassID") |
| | | public void WriteGlassID(String glassid) { |
| | | // 扫码位写入玻璃id |
| | | } |
| | | |
| | | // 清除指定位置id |
| | | @PostMapping("/ClearGlassId") |
| | | public Result ClearGlassId(String position, String glassid) { |
| | | return storageCageService.ClearGlassId(position, glassid); |
| | | } |
| | | |
| | | // 清除待确认铝框信息 |
| | | @PostMapping("/CloseForm7") |
| | | public Result CloseForm7() { |
| | | Plchome.AluminumFrame = null; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | // 终止进/出片任务 |
| | | @PostMapping("/TaskStop") |
| | | public Result TaskStop(Short num) { |
| | | storageCageService.EndTask(num); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | // 软急停 |
| | | @PostMapping("/SoftEmergencyStop") |
| | | public Result SoftEmergencyStop(Short num) { |
| | | String position="DB101.11.3"; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (S7control.getinstance().CheckConnected() == true) { |
| | | S7control.getinstance().WriteBit(position, false); |
| | | try { |
| | | TimeUnit.MILLISECONDS.sleep(300); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | S7control.getinstance().WriteBit(position, true); |
| | | map.put("message", "200"); |
| | | } else { |
| | | map.put("message", "300"); |
| | | } |
| | | return Result.success(map); |
| | | } |
| | | } |
| | |
| | | package com.example.springboot.entity; |
| | | |
| | | //出片队列表 |
| | | public class Out_slice { |
| | | private int id;//自增id |
| | |
| | | private String boxId;//箱子id |
| | | private double glasswidthmm;//玻璃宽mm |
| | | private double glassheightmm;//玻璃高mm |
| | | private String position_x;//x坐标 |
| | | private int framestate;//y坐标 |
| | | private int framestate;//铝框状态 |
| | | private double framewidthmm; |
| | | private double frameheightmm; |
| | | |
| | | public String getPosition() { |
| | | return position; |
| | |
| | | public void SetFrameState(int framestate) { |
| | | this.framestate = framestate; |
| | | } |
| | | |
| | | public double getFrameWidthMm() { |
| | | return framewidthmm; |
| | | } |
| | | |
| | | public void setFrameWidthMm(double framewidthmm) { |
| | | this.framewidthmm = framewidthmm; |
| | | } |
| | | |
| | | public double getFrameHeightMm() { |
| | | return frameheightmm; |
| | | } |
| | | |
| | | public void setFrameHeightMm(double frameheightmm) { |
| | | this.frameheightmm = frameheightmm; |
| | | } |
| | | |
| | | } |
| | |
| | | } 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; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 添加参数实例 |
| | |
| | | private String slotnumber;// 格子 |
| | | private String datemodified;// |
| | | private String datecreated;// |
| | | private String FrameBarcode;// 铝框id |
| | | private String frameBarcode;// 铝框id |
| | | |
| | | public StorageCage storageCage; |
| | | |
| | |
| | | } |
| | | |
| | | public String getFrameBarcode() { |
| | | return FrameBarcode; |
| | | return frameBarcode; |
| | | } |
| | | |
| | | public void setFrameBarcode(String FrameBarcode) { |
| | | this.FrameBarcode = FrameBarcode; |
| | | public void setFrameBarcode(String frameBarcode) { |
| | | this.frameBarcode = frameBarcode; |
| | | } |
| | | |
| | | } |
| | |
| | | Out_slice SelectQueueByglassid(String getbarcode); |
| | | |
| | | //添加出片队列 |
| | | @Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position` ,`orderid` ,`listid` ,`boxid` ,`glasswidthmm` ,`glassheightmm`) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position}, #{orderid}, #{listid}, #{boxid}, #{glasswidth}, #{glassheight});") |
| | | void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm, int sequence, String position, Short state,String orderid, String listid, String boxid, String glasswidth, String glassheight); |
| | | @Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position` ,`orderid` ,`listid` ,`boxid` ,`glasswidthmm` ,`glassheightmm` ,`framewidthmm` ,`frameheightmm` ) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position}, #{orderid}, #{listid}, #{boxid}, #{glasswidth}, #{glassheight}, #{framewidthmm}, #{frameheightmm});") |
| | | void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm, int sequence, String position, Short state,String orderid, String listid, String boxid, String glasswidth, String glassheight,String framewidthmm,String frameheightmm); |
| | | |
| | | //出片队列调序 |
| | | @Update("update out_slice set sequence=#{sequence} where glassid=#{glassId}") |
| | |
| | | @Select("select ifnull(max(sequence),0)+1 from out_slice ") |
| | | Short SelectMaxSquence(); |
| | | //查询用户权限 |
| | | @Select("select rp.* from role_permission rp inner join user r on rp.role_id=r.role_id and r.username=#{username} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35 or permission_id=36)") |
| | | @Select("select rp.* from role_permission rp inner join user r on rp.role_id=r.role_id and r.username=#{username} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35 or permission_id=36 or permission_id=37 or permission_id=38)") |
| | | List<RolePermission> SelectPermissionByUserName(String username); |
| | | |
| | | //根据玻璃完成出片任务 |
| | | @Update("update out_slice set state=4 where id=#{id}") |
| | | @Update("update out_slice set state=3 where id=#{id}") |
| | | void CompleteQueue(String id); |
| | | |
| | | //根据玻璃完成出片任务 |
| | | @Update("update out_slice set state=4 where id=#{id}") |
| | | @Update("update out_slice set state=3 where id=#{id}") |
| | | void CompleteQueueByGlassId(String glassid); |
| | | |
| | | //查询铝框id对应玻璃完成数量 |
| | |
| | | List<StorageTask> SelectTaskByState(int task_type); |
| | | |
| | | //修改出片队列铝框状态 |
| | | @Select("update out_slice set framestate=#{framestate} where barcode=#{frameno}") |
| | | void FrameStateUpdate(String frameno, String framestate); |
| | | @Update("update out_slice set framestate=1 where barcode=#{frameno}") |
| | | void FrameStateUpdate(String frameno); |
| | | |
| | | //查询当前铝框信息 |
| | | @Select("select * from out_slice where framestate=0 order by id limit 1") |
| | | Out_slice SelectCurrentFrame(); |
| | | |
| | | //根据玻璃id查询任务信息 |
| | | @Select("select task_type from storage_task where glass_id=#{glassid} and task_state!=2") |
| | | Short SelectTaskByGlassId(String glassid); |
| | | |
| | | } |
| | |
| | | // queue.setdatecreated(rs.getString("datecreated")); |
| | | // queue.setFrameBarcode(rs.getString("FrameBarcode")); |
| | | } |
| | | // conn.close(); |
| | | conn.close(); |
| | | return queue; |
| | | } |
| | | |
| | |
| | | glass.add(north_glass_buffer1s); |
| | | |
| | | } |
| | | // conn.close(); |
| | | conn.close(); |
| | | return glass; |
| | | } |
| | | |
| | |
| | | glass.add(north_glass_buffer1s); |
| | | |
| | | } |
| | | // conn.close(); |
| | | conn.close(); |
| | | return glass; |
| | | } |
| | | |
| | |
| | | flip=rs.getString("Flip"); |
| | | |
| | | } |
| | | // conn.close(); |
| | | conn.close(); |
| | | return flip; |
| | | } |
| | | //根据铝框id查询是否铝框摆放 |
| | |
| | | while (rs.next()) { |
| | | position=rs.getString("position"); |
| | | } |
| | | // conn.close(); |
| | | conn.close(); |
| | | return position; |
| | | } |
| | | |
| | | //根据铝框id查询铝框宽 |
| | | public String SelectFrameLengthByFrameBarcode(String frameBarcode) throws SQLException { |
| | | conn = getConn(); |
| | | // north_glass_buffer1 glass=new north_glass_buffer1(); |
| | | String position=""; |
| | | String sql1 = "select * from north_glass_buffer1_frames where Barcode=? limit 1"; |
| | | ps = conn.prepareStatement(sql1); |
| | | ps.setString(1, frameBarcode); |
| | | rs= ps.executeQuery(); |
| | | while (rs.next()) { |
| | | position=rs.getString("framelength"); |
| | | } |
| | | conn.close(); |
| | | return position; |
| | | } |
| | | |
| | | //根据铝框id查询铝框高 |
| | | public String SelectFrameHeightByFrameBarcode(String frameBarcode) throws SQLException { |
| | | conn = getConn(); |
| | | // north_glass_buffer1 glass=new north_glass_buffer1(); |
| | | String position=""; |
| | | String sql1 = "select * from north_glass_buffer1_frames where Barcode=? limit 1"; |
| | | ps = conn.prepareStatement(sql1); |
| | | ps.setString(1, frameBarcode); |
| | | rs= ps.executeQuery(); |
| | | while (rs.next()) { |
| | | position=rs.getString("frameheight"); |
| | | } |
| | | conn.close(); |
| | | return position; |
| | | } |
| | | |
| | |
| | | north_glass_buffer1.setstorageCage(homeMapper.SelectStorageGlassById(north_glass_buffer1.getbarcode())); |
| | | north_glass_buffer1.setOut_slice(homeMapper.SelectQueueByglassid(north_glass_buffer1.getbarcode())); |
| | | } |
| | | // 对嵌套类的其中一列进行排序 |
| | | // 对嵌套类进行排序 |
| | | Collections.sort(listAluminumFrame, new north_glass_buffer1Comparator()); |
| | | return listAluminumFrame; |
| | | } |
| | |
| | | List<north_glass_buffer1> north_glass_buffer1s = SelectAluminumFrameInfoById(FrameBarcode); |
| | | String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode); |
| | | String position = jdbcConnections.SelectPositionByFrameBarcode(FrameBarcode); |
| | | String framelength=jdbcConnections.SelectFrameLengthByFrameBarcode(FrameBarcode); |
| | | String frameheight=jdbcConnections.SelectFrameHeightByFrameBarcode(FrameBarcode); |
| | | int sequence = homeMapper.SelectMaxSquence(); |
| | | for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) { |
| | | Short state = 0; |
| | |
| | | north_glass_buffer1.getglassheightmm().toString(), sequence, position, state, |
| | | north_glass_buffer1.getordernumber(), north_glass_buffer1.getlistnumber(), |
| | | north_glass_buffer1.getboxnumber(), north_glass_buffer1.getglasslength().toString(), |
| | | north_glass_buffer1.getglassheight().toString()); |
| | | north_glass_buffer1.getglassheight().toString(),framelength,frameheight); |
| | | sequence += 1; |
| | | } |
| | | } |
| | |
| | | @Autowired |
| | | SpianService spianService; |
| | | |
| | | |
| | | public void AddOutSliceS(String[][] AluminumFrames) throws SQLException { |
| | | // int sequence = homeMapper.SelectMaxSquence(); |
| | | |
| | |
| | | homeMapper.CompleteQueueByFrameNo(frameid); |
| | | } |
| | | StorageCage storageCage = homeMapper.SelectGlassInfo(glassid); |
| | | if (storageCage != null&&storageCage.getState().equals("3")) { |
| | | if (storageCage != null && storageCage.getState().equals("3")) { |
| | | spianMapper.UpdataOutCage1(storageCage.getGlassWidth(), storageCage.getCage(), storageCage.getCell()); |
| | | homeMapper.DeleteByGlassID(glassid); |
| | | } |
| | |
| | | // 确认后完成修改出片队列状态 |
| | | public void CompleteQueueByGlassId(String glassid) { |
| | | homeMapper.CompleteQueueByGlassId(glassid); |
| | | Out_slice outslice=homeMapper.SelectQueueByglassid(glassid); |
| | | Out_slice outslice = homeMapper.SelectQueueByglassid(glassid); |
| | | Short num = homeMapper.SelectCountByFrameNo(outslice.getBarCode()); |
| | | if (num == 0) { |
| | | homeMapper.CompleteQueueByFrameNo(outslice.getBarCode()); |
| | | } |
| | | } |
| | | |
| | | //终止进片/出片 |
| | | // 终止进片/出片 |
| | | public void StopTask(String glassid, int i) { |
| | | if (i == 0) {// 进片终止 |
| | | spianService.overtask(glassid); |
| | | DeleteByGlassIDs(glassid); |
| | | homeMapper.UpdateOutSliceGlass(glassid); |
| | | } else {// 出片终止 |
| | | spianMapper.UpdatetaskOut(glassid);//完成出片任务 |
| | | spianMapper.UpdatetaskOut(glassid);// 完成出片任务 |
| | | spianMapper.UpdataGlassCage(glassid, 0);// 清除出片格子玻璃信息 |
| | | spianMapper.UpdateCageOver(glassid, 0);// 更改笼子表出片状态 |
| | | homeMapper.UpdateOutSliceGlass(glassid);//修改出片队列此玻璃状态为缺失 |
| | | |
| | | homeMapper.UpdateOutSliceGlass(glassid);// 修改出片队列此玻璃状态为缺失 |
| | | |
| | | } |
| | | } |
| | | |
| | | //删除笼内玻璃还原宽度 |
| | | // 删除笼内玻璃还原宽度 |
| | | public void DeleteByGlassIDs(String glassid) { |
| | | StorageCage glassinfor = homeMapper.SelectGlassInfo(glassid); |
| | | spianMapper.UpdataOutCage1(glassinfor.getGlassWidth(), glassinfor.getCage(), glassinfor.getCell()); |
| | | homeMapper.DeleteByGlassID(glassid); |
| | | } |
| | | |
| | | public Result FrameStateUpdate(String frameno, String framestate) { |
| | | homeMapper.FrameStateUpdate(frameno, framestate); |
| | | //修改铝框确认状态 |
| | | public Result FrameStateUpdate(String frameno) { |
| | | homeMapper.FrameStateUpdate(frameno); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | } |
| | | //查询当前铝框 |
| | | public Out_slice SelectCurrentFrame() { |
| | | return homeMapper.SelectCurrentFrame(); |
| | | } |
| | | |
| | | } |
| | |
| | | package com.example.springboot.service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.example.springboot.common.Result; |
| | | import com.example.springboot.component.S7control; |
| | | import com.example.springboot.entity.StorageCage; |
| | | import com.example.springboot.entity.StorageTask; |
| | | import com.example.springboot.mapper.HomeMapper; |
| | |
| | | private SpianService spianService; |
| | | |
| | | public void EndTask(int types) { |
| | | String A01glassid1 = spianService.queGlassid("DB103.128", 14).toString(); |
| | | String A01glassid2 = spianService.queGlassid("DB103.142", 14).toString(); |
| | | String A02glassid1 = spianService.queGlassid("DB103.156", 14).toString(); |
| | | String B01glassid = spianService.queGlassid("DB103.184", 14).toString(); |
| | | String B02glassid = spianService.queGlassid("DB103.198", 14).toString(); |
| | | if (types == 0) {// 终止进片任务 |
| | | List<StorageTask> cageList = homeMapper.SelectTaskByState(types); |
| | | for (StorageTask storageTask : cageList) { |
| | | outSliceServive.StopTask(storageTask.getGlassId(), types); |
| | | // 判断出片任务位置并清除对应玻璃id |
| | | if (storageTask.getGlassId() == A01glassid1 || storageTask.getGlassId() == A01glassid2) { |
| | | outSliceServive.StopTask(storageTask.getGlassId(), types); |
| | | ClearGlassId("DB101.10.0"); |
| | | } else if (storageTask.getGlassId() == B01glassid) { |
| | | outSliceServive.StopTask(storageTask.getGlassId(), types); |
| | | ClearGlassId("DB101.10.2"); |
| | | } else if (storageTask.getGlassId() == B02glassid) { |
| | | ClearGlassId("DB101.10.3"); |
| | | outSliceServive.StopTask(storageTask.getGlassId(), types); |
| | | } |
| | | } |
| | | // 发送终止进片任务信号 |
| | | } else {// 终止出片任务 |
| | |
| | | } else {// 出片 |
| | | outSliceServive.StopTask(storageCagez.getGlassId(), types); |
| | | } |
| | | // 判断出片任务位置并清除对应玻璃id |
| | | if (storageCagez.getGlassId() == A02glassid1) { |
| | | outSliceServive.StopTask(storageCagez.getGlassId(), types); |
| | | ClearGlassId("DB101.10.1"); |
| | | } else if (storageCagez.getGlassId() == B01glassid) { |
| | | outSliceServive.StopTask(storageCagez.getGlassId(), types); |
| | | ClearGlassId("DB101.10.2"); |
| | | } else if (storageCagez.getGlassId() == B02glassid) { |
| | | ClearGlassId("DB101.10.3"); |
| | | outSliceServive.StopTask(storageCagez.getGlassId(), types); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //手动完成任务 |
| | | public void UpdateTask(Integer types, Integer shelfrack, String glassid) { |
| | | if (types == 0) {// 完成进片 |
| | | spianService.overtask(glassid); |
| | | } else if (types == 1) {// 完成出片 |
| | | spianService.overtask(glassid); |
| | | } else if (types == 2) {// 终止进片任务 |
| | | outSliceServive.StopTask(glassid, 0); |
| | | // 发送终止进片任务信号 |
| | | } else {// 终止出片任务 |
| | | outSliceServive.StopTask(glassid, 1); |
| | | } |
| | | // else if (types == 2) {// 终止进片任务 |
| | | // outSliceServive.StopTask(glassid, 0); |
| | | // // 发送终止进片任务信号 |
| | | // } else {// 终止出片任务 |
| | | // outSliceServive.StopTask(glassid, 1); |
| | | // } |
| | | } |
| | | |
| | | //判断任务类型后清除对应玻璃id |
| | | public Result ClearGlassId(String position, String glassid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (S7control.getinstance().CheckConnected() == true) { |
| | | // 判断进出还是出片任务 |
| | | Short type = homeMapper.SelectTaskByGlassId(glassid); |
| | | if (type == 0) { |
| | | // 进片 |
| | | outSliceServive.StopTask(glassid, 0); |
| | | } else if (type == 1) { |
| | | // 出片 |
| | | outSliceServive.StopTask(glassid, 1); |
| | | } else { |
| | | // 调拨 |
| | | outSliceServive.StopTask(glassid, 0); |
| | | outSliceServive.StopTask(glassid, 1); |
| | | } |
| | | ClearGlassId(position); |
| | | map.put("message", "200"); |
| | | } else { |
| | | map.put("message", "300"); |
| | | } |
| | | return Result.success(map); |
| | | } |
| | | |
| | | //清除玻璃id |
| | | public Result ClearGlassId(String position) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (S7control.getinstance().CheckConnected() == true) { |
| | | S7control.getinstance().WriteBit(position, true); |
| | | try { |
| | | TimeUnit.MILLISECONDS.sleep(300); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | S7control.getinstance().WriteBit(position, false); |
| | | map.put("message", "200"); |
| | | } else { |
| | | map.put("message", "300"); |
| | | } |
| | | return Result.success(map); |
| | | } |
| | | |
| | | } |
| | |
| | | "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.44-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,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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|