| | |
| | | }) |
| | | } |
| | | |
| | | export function SelectGlassInfo(width,height,thickness,films) { |
| | | export function SelectGlassInfo(width,height,thickness,films,tier) { |
| | | return request({ |
| | | url: '/home/SelectGlassInfo?width='+width+'&height='+height+'&thickness='+thickness+'&films='+films, |
| | | url: '/home/SelectGlassInfo?width='+width+'&height='+height+'&thickness='+thickness+'&films='+films+'&tier='+tier, |
| | | method: 'post', |
| | | data:"" |
| | | }) |
| | |
| | | //手动界面 |
| | | export function writeValue(address,value,type) { |
| | | return request({ |
| | | |
| | | url: '/home/writeValue?address='+address+'&value='+value+'&type='+type, |
| | | method: 'get', |
| | | data:"" |
| | |
| | | { |
| | | "sign": [ |
| | | { |
| | | "name": "Sr.Dec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A01减速光电" |
| | | }, |
| | | { |
| | | "name": "Sr.LowE", |
| | | "name": "Sr.Low", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | |
| | | "name1":"LOW-E检测光电" |
| | | }, |
| | | { |
| | | "name": "Sr.OutDec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"出口减速光电" |
| | | }, |
| | | { |
| | | "name": "Sr.OutPos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A01出口到位光电" |
| | | "name1":"出口到位光电" |
| | | }, |
| | | |
| | | |
| | | { |
| | | "name": "Sr.InToX", |
| | | "name": "Sr.XCheck", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02X轴入口减速光电" |
| | | "name1":"X轴寻边" |
| | | }, |
| | | { |
| | | "name": "Sr.GaToXIn", |
| | | "name": "Sr.XDec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02X轴入口测量光电" |
| | | "name1":"X轴出口减速" |
| | | }, |
| | | { |
| | | "name": "Sr.DecToXOut", |
| | | "name": "Sr.XPos", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02X轴出口减速光电" |
| | | "name1":"X轴出口到位" |
| | | }, |
| | | { |
| | | "name": "Sr.DecToXOut", |
| | | "name": "Sr.H1", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02X轴出口减速光电" |
| | | "name1":"Y轴高度感应1" |
| | | }, |
| | | { |
| | | "name": "Sr.GaToY1", |
| | | "name": "Sr.H2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴粗定位1(最低位)" |
| | | "name1":"Y轴高度感应2" |
| | | }, |
| | | { |
| | | "name": "Sr.GaToY2", |
| | | "name": "Sr.H3", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴粗定位2" |
| | | "name1":"Y轴高度感应3" |
| | | }, |
| | | { |
| | | "name": "Sr.GaToY3", |
| | | "name": "Sr.H4", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴粗定位3" |
| | | "name1":"Y轴高度感应4" |
| | | }, |
| | | { |
| | | "name": "Sr.GaToY4", |
| | | "name": "Sr.YChecK", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴粗定位4(最高位)" |
| | | "name1":"Y轴寻边" |
| | | }, |
| | | { |
| | | "name": "Sr.DecToY", |
| | | "name": "Sr.YDec", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴减速光电" |
| | | "name1":"Y轴高度减速" |
| | | }, |
| | | { |
| | | "name": "Sr.GaToY", |
| | | "name": "Sr.travellimitTop", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴测量光电" |
| | | "name1":"上极限" |
| | | }, |
| | | { |
| | | "name": "Sr.HomeToY", |
| | | "name": "Sr.travellimitBottom", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴原点" |
| | | "name1":"下极限" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitchTop", |
| | | "name": "SQ.YZero", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴上极限" |
| | | "name1":"Y轴原点" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitchBottom", |
| | | "name": "SQ.Travellimitleft", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"A02Y轴下极限" |
| | | }, |
| | | { |
| | | "name": "Sr.Travellimitleft", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01左极限" |
| | | "name1":"左极限" |
| | | }, |
| | | { |
| | | "name": "Sr.PosToLeft", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01左到位" |
| | | "name1":"左到位" |
| | | }, |
| | | { |
| | | "name": "Sr.DecToLeft", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01左减速" |
| | | "name1":"左减速" |
| | | }, |
| | | { |
| | | "name": "Sr.DecToRight", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01右减速" |
| | | "name1":"右减速" |
| | | }, |
| | | { |
| | | "name": "Sr.PosToRight", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01右到位" |
| | | "name1":"右到位" |
| | | }, |
| | | { |
| | | "name": "Sr.TravellimitRight", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01右极限" |
| | | "name1":"右极限" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitch+", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01大车正极限" |
| | | "name1":"大车正极限" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitch-", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01大车负极限" |
| | | "name1":"大车负极限" |
| | | }, |
| | | { |
| | | "name": "Sr.HomeToTurn", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01翻转原点" |
| | | "name1":"翻转原点" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitchToTurnTop", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01翻转上极限" |
| | | "name1":"翻转上极限" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitchToTurnBottom", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01翻转下极限" |
| | | "name1":"翻转下极限" |
| | | }, |
| | | { |
| | | "name": "oilPump", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"B01油泵输出" |
| | | "name1":"油泵输出" |
| | | }, |
| | | { |
| | | "name": "Sr.Travellimitleft", |
| | | "name": "Sr.InOrigin", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01左极限" |
| | | "name1":"小车原点" |
| | | }, |
| | | { |
| | | "name": "Sr.TravellimitRight", |
| | | "name": "Sr.LimitSwitch+", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01右极限" |
| | | "name1":"小车正极限" |
| | | }, |
| | | { |
| | | "name": "Sr.Home", |
| | | "name": "Sr.LimitSwitch-", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01小车原点" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitch+", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01小车正极限" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitch-", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01小车负极限" |
| | | "name1":"小车负极限" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp1", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点1" |
| | | "name1":"吹气抬起气缸原点1" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp2", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点2" |
| | | "name1":"吹气抬起气缸原点2" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp3", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点3" |
| | | "name1":"吹气抬起气缸原点3" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp4", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点4" |
| | | "name1":"吹气抬起气缸原点4" |
| | | }, |
| | | { |
| | | "name": "biBasPosGlassUp1", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01玻璃抬起气缸原点1" |
| | | "name1":"玻璃抬起气缸原点1" |
| | | }, |
| | | { |
| | | "name": "biBasPosGlassUp2", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01玻璃抬起气缸原点2" |
| | | "name1":"玻璃抬起气缸原点2" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr1", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应1" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应2" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr3", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应3" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr4", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应4" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp1", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点1" |
| | | "name1":"吹气抬起气缸动点1" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气抬起气缸动点2" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr3", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气抬起气缸动点3" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr4", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气抬起气缸动点4" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp1", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气抬起气缸动点1" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp2", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点2" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp3", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点3" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp4", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起气缸原点4" |
| | | }, |
| | | { |
| | | "name": "biWorkPosGlassUp1", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01玻璃抬起气缸原点1" |
| | | }, |
| | | { |
| | | "name": "biWorkPosGlassUp2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01玻璃抬起气缸原点2" |
| | | "name1":"吹气抬起气缸动点2" |
| | | }, |
| | | { |
| | | "name": "boWorkPosBlow", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气输出" |
| | | "name1":"吹气输出" |
| | | }, |
| | | { |
| | | "name": "boWorkPosBlowUp", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01吹气抬起输出" |
| | | "name1":"吹气抬起输出" |
| | | }, |
| | | { |
| | | "name": "boWorkPosGlassUp", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C01玻璃抬起输出" |
| | | "name1":"玻璃抬起输出" |
| | | }, |
| | | { |
| | | "name": "Sr.Travellimitleft", |
| | | "name": "Sr.InOrigin", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02左极限" |
| | | }, |
| | | { |
| | | "name": "Sr.TravellimitRight", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02右极限" |
| | | }, |
| | | { |
| | | "name": "Sr.Home", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02小车原点" |
| | | "name1":"小车原点" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitch+", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02小车正极限" |
| | | "name1":"小车正极限" |
| | | }, |
| | | { |
| | | "name": "SQ.LimitSwitch-", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02小车负极限" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp1", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点1" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点2" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp3", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点3" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp4", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点4" |
| | | "name1":"小车负极限" |
| | | }, |
| | | { |
| | | "name": "biBasPosGlassUp1", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02玻璃抬起气缸原点1" |
| | | "name1":"吹气抬起气缸原点1" |
| | | }, |
| | | { |
| | | "name": "iBasPosGlassUp2", |
| | | "name": "biBasPosBlowUp2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02玻璃抬起气缸原点2" |
| | | "name1":"吹气抬起气缸原点2" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp3", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气抬起气缸原点3" |
| | | }, |
| | | { |
| | | "name": "biBasPosBlowUp4", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气抬起气缸原点4" |
| | | }, |
| | | { |
| | | "name": "biBasPosGlassUp1", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"玻璃抬起气缸原点1" |
| | | }, |
| | | { |
| | | "name": "biBasPosGlassUp2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"玻璃抬起气缸原点2" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr1", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应1" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr2", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应2" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr3", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应3" |
| | | }, |
| | | { |
| | | "name": "biWorkBlowSr4", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"吹气感应4" |
| | | }, |
| | | |
| | | { |
| | | "name": "biWorkPosBlowUp1", |
| | | "value": "1", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点1" |
| | | "name1":"吹气抬起气缸动点1" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp2", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点2" |
| | | "name1":"吹气抬起气缸动点2" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp3", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点3" |
| | | "name1":"吹气抬起气缸动点3" |
| | | }, |
| | | { |
| | | "name": "biWorkPosBlowUp4", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起气缸原点4" |
| | | "name1":"吹气抬起气缸动点4" |
| | | }, |
| | | { |
| | | "name": "biWorkPosGlassUp1", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02玻璃抬起气缸原点1" |
| | | "name1":"玻璃抬起气缸动点1" |
| | | }, |
| | | { |
| | | "name": "biWorkPosGlassUp2", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02玻璃抬起气缸原点2" |
| | | "name1":"玻璃抬起气缸动点2" |
| | | }, |
| | | { |
| | | "name": "boWorkPosBlow", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气输出" |
| | | "name1":"吹气输出" |
| | | }, |
| | | { |
| | | "name": "boWorkPosBlowUp", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02吹气抬起输出" |
| | | "name1":"吹气抬起输出" |
| | | }, |
| | | { |
| | | "name": "boWorkPosGlassUp", |
| | |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"C02玻璃抬起输出" |
| | | }, |
| | | { |
| | | "name": "Red", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"红灯" |
| | | }, |
| | | { |
| | | "name": "Yellow", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"黄灯" |
| | | }, |
| | | { |
| | | "name": "Green", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"绿灯" |
| | | }, |
| | | { |
| | | "name": "FootSwitch", |
| | | "value": "1", |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0", |
| | | "name1":"脚踏开关" |
| | | "name1":"玻璃抬起输出" |
| | | } |
| | | ], |
| | | "address": [ |
| | | { |
| | | "name": "DB101.0.0", |
| | | "name": "DB12.0.0", |
| | | "count": 71 |
| | | } |
| | | ] |
| | |
| | | "'No Of Cage":"'No Of Cage", |
| | | "Finish No":"Finish No", |
| | | "Mate No":"Mate No", |
| | | "Cage GlassNumber":"在笼数量", |
| | | "Cage GlassNumber":"Cage GlassNumber", |
| | | "Order":"Order", |
| | | "Select":"Select", |
| | | "GlassType":"GlassType", |
| | |
| | | "Height":"Height", |
| | | "Thickness":"Thickness", |
| | | "Clear":"Clear", |
| | | "MeasureNumber":"MeasureNumber", |
| | | "MeasureNumber":"NemainingNumber", |
| | | "results":"results", |
| | | "start work":"start work", |
| | | "stop work":"stop work", |
| | | "Start bit":"Start bit", |
| | | "Target bit":"Target bit", |
| | | "Line":"Line", |
| | | "Please select a route":"Please select a route", |
| | | "This route already has a task":"This route already has a task", |
| | |
| | | "Height":"高", |
| | | "Thickness":"厚度", |
| | | "Clear":"清除", |
| | | "MeasureNumber":"测量数量", |
| | | "MeasureNumber":"剩余数量", |
| | | "results":"结果", |
| | | "start work":"开始上片", |
| | | "stop work":"暂停上片", |
| | | |
| | | "Start bit":"起始位", |
| | | "Target bit":"目标位", |
| | | "Line":"线路", |
| | | "Please select a route":"请选择线路", |
| | | "This route already has a task":"此路线已存在任务", |
| | |
| | | "Save":"保存", |
| | | "Select file":"选择文件", |
| | | |
| | | "ip2":"192.168.10.2", |
| | | "ip":"localhost", |
| | | "ip":"192.168.10.2", |
| | | "ip2":"localhost", |
| | | "systemTitle": "登录系统", |
| | | "usernamePlaceholder": "请输入用户名", |
| | | "passwordPlaceholder": "请输入密码", |
| | |
| | | @keyup.enter.native="writeValue(plcSigns[19])" @focus="refresh()" @blur="writeValue(plcSigns[19])"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[20])">Y轴定位设置1</el-button> |
| | | <el-button style="width: 50%;" type="primary" @click="writeValue(plcSigns[20])">Y轴定位设置1</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[21].value" @focus="refresh()" @blur="writeValue(plcSigns[21])" |
| | | @keyup.enter.native="writeValue(plcSigns[21])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[22])">Y轴定位设置2</el-button> |
| | | <el-button style="width: 50%;" type="primary" @click="writeValue(plcSigns[22])">Y轴定位设置2</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[23].value" @focus="refresh()" @blur="writeValue(plcSigns[23])" |
| | | @keyup.enter.native="writeValue(plcSigns[23])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[89])">大车原点设定</el-button> |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[90])">油泵自动维护</el-button> |
| | | </div> |
| | | <div> |
| | |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[109])">1#笼子距离</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[109].value" @focus="refresh()" @blur="writeValue(plcSigns[109])" |
| | | @keyup.enter.native="writeValue(plcSigns[109])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[109])">2#笼子距离</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[1].value" @focus="refresh()" @blur="writeValue(plcSigns[18])" |
| | | @keyup.enter.native="writeValue(plcSigns[104])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | 入片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[1].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[110])" |
| | | <el-input style="width: 30%;" v-model="plcSigns[110].value" @focus="refresh()" @blur="writeValue(plcSigns[110])" |
| | | @keyup.enter.native="writeValue(plcSigns[110])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[111])">2#笼子距离</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[112].value" @focus="refresh()" @blur="writeValue(plcSigns[112])" |
| | | @keyup.enter.native="writeValue(plcSigns[1112])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | 入片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[113].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[113])" |
| | | @keyup.enter.native="writeValue(plcSigns[113])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 出片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[1].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[111])" |
| | | @keyup.enter.native="writeValue(plcSigns[111])" |
| | | 出片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[114].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[114])" |
| | | @keyup.enter.native="writeValue(plcSigns[114])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div> |
| | | C01行走高速<el-input type="text" style="width: 30%;" v-model="plcSigns[112].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[112])" |
| | | @keyup.enter.native="writeValue(plcSigns[112])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms |
| | | </div> |
| | | <div> |
| | | C01行走手动<el-input style="width: 30%;" v-model="plcSigns[113].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[113])" |
| | | @keyup.enter.native="writeValue(plcSigns[113])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 最大取片格子<el-input style="width: 30%;" v-model="plcSigns[114].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[114])" |
| | | @keyup.enter.native="writeValue(plcSigns[114])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 最小取片格子<el-input style="width: 30%;" v-model="plcSigns[115].value" |
| | | C01行走高速<el-input type="text" style="width: 30%;" v-model="plcSigns[115].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[115])" |
| | | @keyup.enter.native="writeValue(plcSigns[115])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms |
| | | </div> |
| | | <div> |
| | | C01行走手动<el-input style="width: 30%;" v-model="plcSigns[116].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[116])" |
| | | @keyup.enter.native="writeValue(plcSigns[116])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 最大取片格子<el-input style="width: 30%;" v-model="plcSigns[117].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[117])" |
| | | @keyup.enter.native="writeValue(plcSigns[117])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[116])" >3#笼子距离</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[117].value" @focus="refresh()" @blur="writeValue(plcSigns[117])" |
| | | @keyup.enter.native="writeValue(plcSigns[117])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | 入片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[118].value" |
| | | 最小取片格子<el-input style="width: 30%;" v-model="plcSigns[118].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[118])" |
| | | @keyup.enter.native="writeValue(plcSigns[118])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 出片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[119].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[119])" |
| | | @keyup.enter.native="writeValue(plcSigns[119])" |
| | | <el-button type="primary" @click="writeValue(plcSigns[119])" >3#笼子距离</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[120].value" @focus="refresh()" @blur="writeValue(plcSigns[120])" |
| | | @keyup.enter.native="writeValue(plcSigns[120])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | 入片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[121].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[121])" |
| | | @keyup.enter.native="writeValue(plcSigns[121])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 出片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[122].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[122])" |
| | | @keyup.enter.native="writeValue(plcSigns[122])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | </div> |
| | |
| | | <div style="display: flex;"> |
| | | <div> |
| | | <div> |
| | | C02输送高速<el-input style="width: 30%;" v-model="plcSigns[120].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[120])" |
| | | @keyup.enter.native="writeValue(plcSigns[120])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | C02输送低速<el-input style="width: 30%;" v-model="plcSigns[121].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[121])" |
| | | @keyup.enter.native="writeValue(plcSigns[121])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | C02输送手动<el-input style="width: 30%;" v-model="plcSigns[122].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[122])" |
| | | @keyup.enter.native="writeValue(plcSigns[122])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | C02最大速度<el-input style="width: 30%;" v-model="plcSigns[123].value" |
| | | C02输送高速<el-input style="width: 30%;" v-model="plcSigns[123].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[123])" |
| | | @keyup.enter.native="writeValue(plcSigns[123])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | C02输送低速<el-input style="width: 30%;" v-model="plcSigns[124].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[124])" |
| | | @keyup.enter.native="writeValue(plcSigns[124])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | C02输送手动<el-input style="width: 30%;" v-model="plcSigns[125].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[125])" |
| | | @keyup.enter.native="writeValue(plcSigns[125])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[124])">4#笼子距离</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[125].value" @focus="refresh()" @blur="writeValue(plcSigns[125])" |
| | | @keyup.enter.native="writeValue(plcSigns[125])" |
| | | C02最大速度<el-input style="width: 30%;" v-model="plcSigns[126].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[126])" |
| | | @keyup.enter.native="writeValue(plcSigns[126])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>m/min |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" @click="writeValue(plcSigns[127])">4#笼子距离</el-button> |
| | | <el-input style="width: 30%;" v-model="plcSigns[128].value" @focus="refresh()" @blur="writeValue(plcSigns[128])" |
| | | @keyup.enter.native="writeValue(plcSigns[128])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm |
| | | </div> |
| | | <div> |
| | | 入片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[126].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[126])" |
| | | @keyup.enter.native="writeValue(plcSigns[126])" |
| | | 入片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[129].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[129])" |
| | | @keyup.enter.native="writeValue(plcSigns[129])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 出片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[1].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[126])" |
| | | @keyup.enter.native="writeValue(plcSigns[126])" |
| | | 出片输送启动延时<el-input style="width: 30%;" v-model="plcSigns[130].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[130])" |
| | | @keyup.enter.native="writeValue(plcSigns[130])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div> |
| | | C02行走高速<el-input type="text" style="width: 30%;" v-model="plcSigns[127].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[127])" |
| | | @keyup.enter.native="writeValue(plcSigns[127])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/s |
| | | </div> |
| | | <div> |
| | | C02行走手动<el-input style="width: 30%;" v-model="plcSigns[128].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[128])" |
| | | @keyup.enter.native="writeValue(plcSigns[128])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/s |
| | | </div> |
| | | <div> |
| | | 最大取片格子<el-input style="width: 30%;" v-model="plcSigns[129].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[129])" |
| | | @keyup.enter.native="writeValue(plcSigns[129])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>格 |
| | | </div> |
| | | <div> |
| | | 最小取片格子<el-input style="width: 30%;" v-model="plcSigns[130].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[130])" |
| | | @keyup.enter.native="writeValue(plcSigns[130])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>格 |
| | | </div> |
| | | <div> |
| | | 入片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[131].value" |
| | | C02行走高速<el-input type="text" style="width: 30%;" v-model="plcSigns[131].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[131])" |
| | | @keyup.enter.native="writeValue(plcSigns[131])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/s |
| | | </div> |
| | | <div> |
| | | C02行走手动<el-input style="width: 30%;" v-model="plcSigns[132].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[132])" |
| | | @keyup.enter.native="writeValue(plcSigns[132])" |
| | | oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/s |
| | | </div> |
| | | <div> |
| | | 最大取片格子<el-input style="width: 30%;" v-model="plcSigns[133].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[133])" |
| | | @keyup.enter.native="writeValue(plcSigns[133])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>格 |
| | | </div> |
| | | <div> |
| | | 最小取片格子<el-input style="width: 30%;" v-model="plcSigns[134].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[134])" |
| | | @keyup.enter.native="writeValue(plcSigns[134])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>格 |
| | | </div> |
| | | <div> |
| | | 入片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[135].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[135])" |
| | | @keyup.enter.native="writeValue(plcSigns[135])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | <div> |
| | | 出片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[132].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[132])" |
| | | @keyup.enter.native="writeValue(plcSigns[132])" |
| | | 出片输送超时时间<el-input style="width: 30%;" v-model="plcSigns[136].value" |
| | | @focus="refresh()" @blur="writeValue(plcSigns[136])" |
| | | @keyup.enter.native="writeValue(plcSigns[136])" |
| | | :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms |
| | | </div> |
| | | </div> |
| | |
| | | socket.close(); |
| | | }, |
| | | writeValue(plcSign) { |
| | | writeValue(plcSign.addressIndex, plcSign.value, plcSign.ratio).then(res => { |
| | | const value = plcSign.value || 1; // 默认值为1 |
| | | writeValue(plcSign.unit, value, plcSign.ratio).then(res => { |
| | | if (res.data.message == 200) { |
| | | this.$message.success(this.$t('Operation successful')); |
| | | } |
| | |
| | | </div> |
| | | <el-table :data="this.tasklist1" border style="width: 700px;"> |
| | | <el-table-column prop="mateid" :label="$t('Mateid')"></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.glassWidth" :label="$t('Width')"></el-table-column> |
| | | <el-table-column prop="storageCage.glassHeight" :label="$t('Height')"></el-table-column> |
| | | <el-table-column prop="storageCage.thickness" :label="$t('Thickness')"></el-table-column> |
| | | <el-table-column prop="storageCage.cage" :label="$t('Start bit')"></el-table-column> |
| | | <el-table-column prop="storageCage.cell" :label="$t('Target bit')"></el-table-column> |
| | | <el-table-column prop="storageCage.glassWidth" :label="$t('Width')" width="70"></el-table-column> |
| | | <el-table-column prop="storageCage.glassHeight" :label="$t('Height')" width="70"></el-table-column> |
| | | <el-table-column prop="storageCage.thickness" :label="$t('Thickness')" width="50"></el-table-column> |
| | | <el-table-column prop="storageCage.tier" :label="$t('Tier')" width="50"></el-table-column> |
| | | <el-table-column prop="storageCage.films" :label="$t('Films')"></el-table-column> |
| | | |
| | | <el-table-column :min-width="120" :label="$t('Terminate Task')"> |
| | | <template slot-scope='scope'> |
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" |
| | |
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" |
| | | @click="TerminateTask(scope.row.id)">{{ $t('Terminate') }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table :data="this.tasklist2" border style="width: 100%"> |
| | | <el-table-column prop="mateid" :label="$t('Mateid')"></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.glassWidth" :label="$t('Width')"></el-table-column> |
| | | <el-table-column prop="storageCage.glassHeight" :label="$t('Height')"></el-table-column> |
| | | <el-table-column prop="storageCage.thickness" :label="$t('Thickness')"></el-table-column> |
| | | <el-table-column prop="storageCage.cage" :label="$t('Start bit')"></el-table-column> |
| | | <el-table-column prop="storageCage.cell" :label="$t('Target bit')"></el-table-column> |
| | | <el-table-column prop="storageCage.glassWidth" :label="$t('Width')" width="70"></el-table-column> |
| | | <el-table-column prop="storageCage.glassHeight" :label="$t('Height')" width="70"></el-table-column> |
| | | <el-table-column prop="storageCage.thickness" :label="$t('Thickness')" width="50"></el-table-column> |
| | | <el-table-column prop="storageCage.tier" :label="$t('Tier')" width="50"></el-table-column> |
| | | <el-table-column prop="storageCage.films" :label="$t('Films')"></el-table-column> |
| | | |
| | | <el-table-column :min-width="120" :label="$t('Terminate Task')"> |
| | | <template slot-scope='scope'> |
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" |
| | |
| | | <div style="height: 760px;"> |
| | | <!--功能--> |
| | | <div> |
| | | <el-button type="primary" @click="ManualMatching()" :disabled="(this.LastQueue.state > 0)" |
| | | <el-button type="primary" @click="ManualMatching()" :disabled="(this.LastQueue.state > 3)" |
| | | style="z-index: 999;">{{ $t('Manual matching') }}</el-button> |
| | | <el-button type="primary" @click="ManualTake()" :disabled="(this.LastQueue.state > 0)" |
| | | style="z-index: 999;">{{ |
| | |
| | | style="width: 100%;padding:0;"> |
| | | <el-table-column prop="flowcard" :label="$t('Order')"></el-table-column> |
| | | <el-table-column prop="mateid" :label="$t('Mateid')"></el-table-column> |
| | | <el-table-column prop="tier" :label="$t('Tier')" width="50"></el-table-column> |
| | | <el-table-column prop="films" :label="$t('Films')"></el-table-column> |
| | | <el-table-column prop="width" :label="$t('Width')"></el-table-column> |
| | | <el-table-column prop="height" :label="$t('Height')"></el-table-column> |
| | |
| | | <el-table-column :min-width="80" prop="thickness" :label="$t('Thickness')"></el-table-column> |
| | | <el-table-column :min-width="80" prop="films" :label="$t('Films')"></el-table-column> |
| | | <el-table-column :min-width="80" prop="number" :label="$t('number')"></el-table-column> |
| | | <el-table-column :min-width="80" prop="tier" :label="$t('Tier')"></el-table-column> |
| | | <el-table-column :min-width="80" prop="mateid" :label="$t('Mateid')"></el-table-column> |
| | | <!-- <el-table-column :min-width="80" prop="width" :label="$t('Width')"></el-table-column> --> |
| | | <el-table-column :min-width="250" :label="$t('Operate')"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="cell" :label="$t('Slot No')" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div :style="{backgroundColor: scope.row.state === 0 ? '#00FFFF' : '', width: '105%', height: '100%', lineHeight: '38px' }"> |
| | | <div :style="{ width: '105%', height: '100%', lineHeight: '38px' }"> |
| | | {{ scope.row.cell }} |
| | | </div> |
| | | </template> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="mateid" :label="$t('Mateid')" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div :style="{width: '105%', height: '100%', lineHeight: '38px' }"> |
| | | <div :style="{backgroundColor: scope.row.state === 0 ? '#00FFFF' : '',width: '105%', height: '100%', lineHeight: '38px' }"> |
| | | {{ scope.row.mateid }} |
| | | </div> |
| | | </template> |
| | |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cell" :label="$t('Slot No')" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div :style="{width: '105%', height: '100%', lineHeight: '38px' }"> |
| | | {{ scope.row.cell }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="mateid" :label="$t('Mateid')" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div :style="{width: '105%', height: '100%', lineHeight: '38px' }"> |
| | |
| | | <el-input v-model="StorageCageForm.thickness" autocomplete="off" style="width:15%;" /> |
| | | <label for="">{{ $t('Films') }}</label> |
| | | <el-input v-model="StorageCageForm.films" autocomplete="off" style="width:15%;" /> |
| | | <label for="">{{ $t('Tier') }}</label> |
| | | <el-input v-model="StorageCageForm.tier" autocomplete="off" style="width:15%;" /> |
| | | <el-button @click="SelectGlassInfo()" type="primary"> |
| | | {{ $t('Select') }}</el-button> |
| | | </div> |
| | |
| | | glasswidthmm: "", |
| | | glassheightmm: "", |
| | | thickness: "", |
| | | films: "" |
| | | films: "", |
| | | tier: "" |
| | | }, |
| | | StorageCageAddInfo: [], |
| | | TaskqueueInfo: [], |
| | |
| | | this.tasklist3 = obj.glassInfoFlowCard[0]; |
| | | this.tasklist2 = obj.StoragTaskeTaskFeed[0]; |
| | | this.tasklist1 = obj.StoragTaskeTaskOut[0]; |
| | | // console.log(obj.StoragTaskeTaskOut[0]); |
| | | |
| | | this.SelectSetting = obj.SelectSetting[0]; |
| | | this.selectedOption1.films = obj.SelectMeasure[0]; |
| | | this.selectedOption2.thickness = obj.SelectMeasure[0]; |
| | |
| | | UpdateQueue(this.StorageCageAddInfo[index]).then(res => { |
| | | if (res.data.message == 200) { |
| | | this.$message.success(this.$t('Operation successful')); |
| | | // this.StorageCageAdd = false; |
| | | } else { |
| | | this.$message.error(this.$t('Operation failed')); |
| | | } |
| | |
| | | }, |
| | | //查询玻璃信息 |
| | | SelectGlassInfo() { |
| | | console.log(this.StorageCageForm.glasswidthmm); |
| | | |
| | | SelectGlassInfo(this.StorageCageForm.glasswidthmm, this.StorageCageForm.glassheightmm, this.StorageCageForm.thickness, this.StorageCageForm.films).then(res => { |
| | | // console.log(this.StorageCageForm.glasswidthmm); |
| | | // console.log(this.StorageCageForm.tier); |
| | | SelectGlassInfo(this.StorageCageForm.glasswidthmm, this.StorageCageForm.glassheightmm, this.StorageCageForm.thickness, this.StorageCageForm.films,this.StorageCageForm.tier).then(res => { |
| | | this.StorageCageAddInfo = res.data.StorageCageAddInfo; |
| | | }) |
| | | }, |
| | |
| | | //人工匹配 |
| | | ManualMatching() { |
| | | this.StorageCageAdd = true; |
| | | this.SelectGlassInfo(); |
| | | this.Measuermode = false; |
| | | }, |
| | | //人工拿走 |
| | |
| | | plcParameterInfo.setCodeId(codeid); |
| | | // plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex"))); |
| | | plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio"))); |
| | | plcParameterInfo.setUnit(parameterObj.getStr("unit")); |
| | | // plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght"))); |
| | | // plcParameterInfo.setUnit(parameterObj.getStr("unit")); |
| | | plcParameterObject.addPlcParameter(plcParameterInfo); |
| | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class); |
| | | spianService = WebSocketServer.applicationContext.getBean(SpianServiceNew.class); |
| | | albaniaMapper = WebSocketServer.applicationContext.getBean(AlbaniaMapper.class); |
| | | // spianService.selectout(1); |
| | | // storageCageService.ScanMatch("123",1,1); |
| | | // spianService.mateOut(); |
| | | // 读取DB14区文件 |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | |
| | | String IDStatus1 = plcmes.getPlcParameter("IDStatus1").getValue();// 1号任务完成 |
| | | String MESToPLCStatus1 = plcmes.getPlcParameter("MESToPLCStatus1").getValue();// 1号确认字 |
| | | String MESToPLC = plcmes.getPlcParameter("MESToPLC").getValue();// 发送任务字 |
| | | String GaToMES = plcmes.getPlcParameter("GaToMES").getValue();// 测量成功信号 |
| | | |
| | | int taskcont = albaniaMapper.SelectTaskcount(); // 正在进行的任务数量 |
| | | int outtask = albaniaMapper.SelectOutTaskCount(); // 等待补发的出片任务数量 |
| | |
| | | // 运送车请求和测量完成请求 |
| | | GlassInfo glass = albaniaMapper.SelectGlass(); |
| | | if (PLCToMES != null && glass != null && MESToPLC != null) { |
| | | if (PLCToMES.equals("1") == true && MESToPLC.equals("0") == true && MESToPLCStatus1.equals("0") == true&&outtask == 0) { |
| | | if (PLCToMES.equals("1")&& MESToPLC.equals("0")&&("1".equals(GaToMES)||"2".equals(GaToMES))) { |
| | | try { |
| | | Thread.sleep(100); // 每100毫秒检查一次 |
| | | } catch (InterruptedException e) { |
| | | Thread.currentThread().interrupt(); // 处理线程中断 |
| | | } |
| | | // System.out |
| | | // .println("进片状态:MESToPLC:" + MESToPLC + "PLCToMES:" + PLCToMES + "MESToPLCStatus1:" + MESToPLCStatus1); |
| | | spianService.selectAll(glass); |
| | | } |
| | | } |
| | |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | import java.util.ArrayList; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | // 匹配 |
| | | // System.err.println(PlcRequest+","+MesSend+","+width+","+height); |
| | | if (plcmes.getPlcParameter("GaToMES").getValue() != null) { |
| | | String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求 |
| | | String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送 |
| | | String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// plc请求字 |
| | | String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// mes发送字 |
| | | String A01ToMES = plcmes.getPlcParameter("A01ToMES").getValue();// 扫码请求 |
| | | String MESToA01 = plcmes.getPlcParameter("MESToA01").getValue();// 确认扫码 |
| | | String Layer = plcmes.getPlcParameter("Layer").getValue();// 层号 |
| | | String Mateid = plcmes.getPlcParameter("A01MateID").getValue();// 配对号 |
| | | String Order = plcmes.getPlcParameter("A01OrderID").getValue();// 订单号 |
| | | double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());// |
| | | // 宽 |
| | | double height = Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 高 |
| | | // if ("0".equals(PlcRequest) && "1".equals(MesSend)|| "0".equals(PlcRequest) && "4".equals(MesSend)) { |
| | | // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0); |
| | | // } |
| | | // if ("2".equals(PlcRequest) && "1".equals(MesSend)) { |
| | | // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0); |
| | | // } |
| | | if ("4".equals(PlcRequest)) { |
| | | |
| | | String celanedOrders = Order.replaceAll("[^a-zA-Z0-9.]", "").trim().split("\\.")[0]; |
| | | String cleanedMateids = Mateid.replaceAll("[^0-9.]", "").trim().split("\\.")[0]; // 移除所有非数字字符 |
| | | String cleanedLayers = Layer.replaceAll("[^0-9.]", "").trim().split("\\.")[0]; // |
| | | |
| | | String celanedOrder = celanedOrders.isEmpty() ? "" : celanedOrders; |
| | | String cleanedMateid = cleanedMateids.isEmpty() ? "" : cleanedMateids; |
| | | String cleanedLayer = cleanedLayers.isEmpty() ? "" : cleanedLayers; |
| | | |
| | | if ("4".equals(PlcRequest)) { |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0); |
| | | System.out.println("收四归零"); |
| | | } |
| | | |
| | | // System.out.println("PlcRequest:" + PlcRequest+"MesSend:" + MesSend+"width:" + |
| | | // width+"height:" + height); |
| | | // 扫码请求时 |
| | | if ("1".equals(A01ToMES) && "0".equals(MESToA01)&&"0".equals(MesSend)&&"0".equals(PlcRequest)) { |
| | | if(cleanedMateid==""||cleanedLayer==""){ |
| | | cleanedMateid="0"; |
| | | cleanedLayer="0"; |
| | | } |
| | | int cont = storageCageService.ScanMatch(celanedOrder, Integer.parseInt(cleanedMateid),Integer.parseInt(cleanedLayer)); |
| | | if (cont > 0) { |
| | | System.out.println("扫码成功"); |
| | | System.out.println( |
| | | "Order:" + celanedOrder + " Mateid:" + cleanedMateid + " Layer:" + cleanedLayer); |
| | | |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToA01").getAddress(), |
| | | (short) 1); |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 1); |
| | | } else { |
| | | // QueueMapper.insertMatchFailure(1000, 1000, -1); |
| | | System.out.println( |
| | | "Order:" + celanedOrder + " Mateid:" + cleanedMateid + " Layer:" + cleanedLayer); |
| | | System.out.println("扫码添加失败"); |
| | | } |
| | | |
| | | } |
| | | // 请求归零时 |
| | | if ("4".equals(A01ToMES)) { |
| | | System.out.println("扫码归零成功"); |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToA01").getAddress(), (short) 0); |
| | | } |
| | | |
| | | // 测量请求时 |
| | | if ("1".equals(PlcRequest) && "0".equals(MesSend)) { |
| | | boolean is = HomeService.Normal(width, height, "1"); |
| | | if (is && istest) { |
| | |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 1); |
| | | |
| | | } |
| | | else if (istest) { |
| | | } else if (istest) { |
| | | // 匹配失败 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 4); |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | List<StorageTask> StoragTaskeTaskOut = storageCageService.SelectStorageTask(1); |
| | | jsonObject.append("StoragTaskeTaskOut", StoragTaskeTaskOut); |
| | | |
| | | // 查询当前出片队列 |
| | | List<Map> OutTask = storageCageService.SelectOutTask(); |
| | | jsonObject.append("OutTask", OutTask); |
| | | // 查询当前出片队列 |
| | | List<Map> OutTask = storageCageService.SelectOutTask(); |
| | | jsonObject.append("OutTask", OutTask); |
| | | |
| | | // 查询最后6次出片记录 |
| | | List<Map> OutLog = storageCageService.SelectOutLog(); |
| | | jsonObject.append("OutLog", OutLog); |
| | | |
| | | // 查询最后6次出片记录 |
| | | List<Map> OutLog = storageCageService.SelectOutLog(); |
| | | jsonObject.append("OutLog", OutLog); |
| | | |
| | | // 查询所有玻璃厚度和膜系 |
| | | List<GlassInfo> SelectMeasure = storageCageService.SelectMeasure(); |
| | |
| | | |
| | | // jsonObject.append("params", new short[] { 30, 40, }); |
| | | // System.out.println("jsonObject:" + jsonObject); |
| | | |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home"); |
| | | |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | if (webserver != null) { |
| | | |
| | | Iterator<WebSocketServer> iterator = sendwServer.iterator(); |
| | | while (iterator.hasNext()) { |
| | | WebSocketServer webserver = iterator.next(); |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home"); |
| | | // if (sendwServer != null) { |
| | | // for (WebSocketServer webserver : sendwServer) { |
| | | // webserver.sendMessage(jsonObject.toString()); |
| | | // if (webserver != null) { |
| | | // List<String> messages = webserver.getMessages(); |
| | | |
| | | // if (!messages.isEmpty()) { |
| | | // // // 将最后一个消息转换为整数类型的列表 |
| | | // webserver.clearMessages(); |
| | | // } |
| | | // } |
| | | |
| | | // } |
| | | // } |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | new PlcHoldNew().start(); |
| | | new Plchome().start(); |
| | | // new PlcAlbaniaServo().start(); |
| | | // new Plcsign().start(); |
| | | new Plcsign().start(); |
| | | |
| | | new PlcSigns().start(); |
| | | |
| | |
| | | |
| | | // 查询玻璃信息 |
| | | @PostMapping("/SelectGlassInfo") |
| | | public Result SelectGlassInfo(String width, String height, String thickness, String films) { |
| | | return storageCageService.SelectGlassInfo(width, height, thickness, films); |
| | | public Result SelectGlassInfo(String width, String height, String thickness, String films, String tier) { |
| | | return storageCageService.SelectGlassInfo(width, height, thickness, films,tier); |
| | | } |
| | | |
| | | // 添加玻璃信息到笼子 |
| | |
| | | public Result writeValue(String address, float value, String type) { |
| | | if ("0".equals(type)) { |
| | | System.err.println("写入word" + address + "+" + value); |
| | | // S7control.getinstance().WriteWord(address, (short) value); |
| | | S7control.getinstance().WriteWord(address, (short) value); |
| | | } else if("1".equals(type)) { |
| | | |
| | | System.err.println("写入float" + address + "+" + value); |
| | | // S7control.getinstance().writeFloat32(address, value); |
| | | }else{ |
| | | S7control.getinstance().writeFloat32(address, value); |
| | | }else if("2".equals(type)) { |
| | | System.err.println("写入bit" + address + "+" + value); |
| | | // S7control.getinstance().WriteBit(address, true); |
| | | S7control.getinstance().WriteBit(address, true); |
| | | }else{ |
| | | S7control.getinstance().writetime(address, (long)value); |
| | | System.err.println("写入time" + address + "+" + value); |
| | | } |
| | | |
| | | try { |
| | | TimeUnit.MILLISECONDS.sleep(300); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // S7control.getinstance().WriteBit(address, false); |
| | | } |
| | | |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | |
| | | private Integer glasstype;//玻璃类型 |
| | | private String flowcard;//流程卡 |
| | | private Integer mateid;//配片id |
| | | |
| | | private Integer tier;//片序 |
| | | |
| | | private StorageCage storageCage; |
| | |
| | | @Select("select id from storage_cage where glasstype=#{glasstype} and width>=#{width}+#{widths} and disabled=0 order by id limit 1") |
| | | StorageCage SelectCage(int glasstype,Double width,int widths); |
| | | //判断笼内没有玻璃的空格 |
| | | @Select("select id from storage_cage where (number is null or number=0) and cage>#{cage} and cage<#{cage2} and disabled=0 order by id limit 1") |
| | | @Select("select id from storage_cage where (number is null) and cage>#{cage} and cage<#{cage2} and disabled=0 order by id limit 1") |
| | | StorageCage SelectNewCell(int cage,int cage2); |
| | | //增加玻璃数 |
| | | @Update("update storage_cage set number=number+1,width=width-glasswidth where id=#{id}") |
| | |
| | | @Insert("INSERT INTO `albania`.`out_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,glasstype,flowcard,mateid,tier) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{glasstype},#{flowcard},#{mateid},#{tier});") |
| | | void InsertOutTask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int glasstype,String flowcard,int mateid,int tier); |
| | | //新增一条笼子数据 |
| | | @Update("UPDATE `albania`.`storage_cage` SET `glass_id` =#{glassid}, `width` =width-#{glasswidth}, `glasswidth` =#{glasswidth}, `glassheight` =#{glassheight}, `glasswidthmm` =#{glasswidth}, `glassheightmm` = #{glassheight}, `state` = #{state}, `glasstype` = #{glasstype}, `number` = #{number},thickness=#{thickness},films=#{films},flowcard=#{flowcard},mateid=#{mateid} WHERE `id` =#{id};") |
| | | void AddCage(int id,String glassid,Double glasswidth,Double glassheight,int state,int glasstype,int number,Double thickness,String films,String flowcard,int mateid); |
| | | @Update("UPDATE `albania`.`storage_cage` SET `glass_id` =#{glassid}, `width` =width-#{glasswidth}, `glasswidth` =#{glasswidth}, `glassheight` =#{glassheight}, `glasswidthmm` =#{glasswidth}, `glassheightmm` = #{glassheight}, `state` = #{state}, `glasstype` = #{glasstype}, `number` = #{number},thickness=#{thickness},films=#{films},flowcard=#{flowcard},mateid=#{mateid},tier=#{tier} WHERE `id` =#{id};") |
| | | void AddCage(int id,String glassid,Double glasswidth,Double glassheight,int state,int glasstype,int number,Double thickness,String films,String flowcard,int mateid,int tier); |
| | | //获取进片数据 |
| | | @Select("select glassid,flowcard,glasswidth as width,glassheight as height,glasswidthmm,glassheightmm,glasstype,thickness from queue where state=1 limit 1") |
| | | GlassInfo SelectGlass(); |
| | |
| | | // @Select("SELECT COUNT(*) FROM role_permission WHERE role_id = #{roleId} AND permission_id = #{permissionId}") |
| | | // boolean checkExists(@Param("roleId") int roleId, @Param("permissionId") int permissionId); |
| | | |
| | | @Select("SELECT g.* FROM flowcard as f left join glassinfo as g on f.flowcard=g.flowcard WHERE f.orderstate = #{orderstate} and state!=2") |
| | | // @Select("SELECT g.* FROM flowcard as f left join glassinfo as g on f.flowcard=g.flowcard WHERE f.orderstate = #{orderstate} and state!=2 and g.number>measurenumber") |
| | | @Select("SELECT g.flowcard,g.mateid,g.tier,g.films,g.width,g.height,g.thickness,g.number,(g.number-g.measurenumber)as measurenumber FROM flowcard as f left join glassinfo as g on f.flowcard=g.flowcard WHERE f.orderstate = 1 and state!=2 and g.number>measurenumber") |
| | | List<GlassInfo> selectOrderState(@Param("orderstate") int orderstate); |
| | | |
| | | @Update("UPDATE glassinfo SET measurenumber = measurenumber+1 WHERE id = #{id}") |
| | |
| | | List<StorageCage> SelectStorageCageInfo(); |
| | | |
| | | // 删除格子内玻璃信息 |
| | | @Update("update storage_cage set films=null,width=4300,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,thickness=null,glasstype=null,number=null,glass_id=null,flowcard=null,mateid=null where cell=#{cell}") |
| | | @Update("update storage_cage set films=null,width=4300,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,thickness=null,glasstype=null,number=null,glass_id=null,flowcard=null,mateid=null,tier=null where cell=#{cell}") |
| | | void DeleteStroageCageByCell(Integer cell); |
| | | |
| | | // 修改格子玻璃数量 |
| | |
| | | @Select("select * from storage_cage where cell=#{cell}") |
| | | StorageCage SelectStorageByCell(String cell); |
| | | //根据玻璃类型查询玻璃信息 |
| | | @Select("select a.shelf_rack as cage,a.load_rack as cell,b.mateid,b.width as glasswidth,b.height as glassheight,b.thickness,b.films from storage_task a left join glassinfo b on a.glasstype=b.glasstype where a.id=#{id} limit 1") |
| | | @Select("select a.shelf_rack as cage,a.load_rack as cell,b.mateid,b.width as glasswidth,b.height as glassheight,b.thickness,b.films,a.tier from storage_task a left join glassinfo b on a.glasstype=b.glasstype where a.id=#{id} limit 1") |
| | | StorageCage SelectStorageByCellGlass(Integer id); |
| | | |
| | | // 手动完成任务 |
| | | @Select("update storage_task set task_state=#{state} where id=#{id}") |
| | | void FinishTask(Integer id, int state); |
| | | //人工匹配测量查询 |
| | | @Select("select gi.* from glassinfo gi inner join flowcard fc on gi.flowcard=fc.flowcard where fc.state!=2 and fc.orderstate=1 and position(#{width} in gi.width) and position(#{height} in gi.height) and position(#{thickness} in gi.thickness) and position(#{films} in gi.films) group by gi.id") |
| | | List<GlassInfo> SelectGlassInfo(String width, String height, String thickness, String films); |
| | | @Select("select gi.* from glassinfo gi inner join flowcard fc on gi.flowcard=fc.flowcard where fc.state!=2 and fc.orderstate=1 and position(#{width} in gi.width) and position(#{height} in gi.height) and position(#{thickness} in gi.thickness) and position(#{films} in gi.films) and position(#{tier} in gi.tier) group by gi.id") |
| | | List<GlassInfo> SelectGlassInfo(String width, String height, String thickness, String films,String tier); |
| | | // @Select("select b.* from flowcard a left join glassinfo b on a.flowcard=b.flowcard INNER JOIN measuresetting c where a.orderstate=1 and a.state!=2 and b.width BETWEEN #{width} - c.errorwidth AND #{width} + c.errorwidth and b.height BETWEEN #{height} - c.errorheight AND #{height} + c.errorheight and b.films=#{films} and b.thickness=#{thickness}") |
| | | // List<GlassInfo> SelectGlassInfo(String width, String height, String thickness, String films); |
| | | |
| | | |
| | | @Update("update storage_cage set glasstype=#{glassInfo.glasstype},mateid=#{glassInfo.mateid},glass_id=#{glassInfo.glassid},flowcard=#{glassInfo.flowcard},glasswidth=#{glassInfo.width},glassheight=#{glassInfo.height},thickness=#{glassInfo.thickness},films=#{glassInfo.films},number=0 where cell=#{cell}") |
| | | @Update("update storage_cage set glasstype=#{glassInfo.glasstype},mateid=#{glassInfo.mateid},glass_id=#{glassInfo.glassid},flowcard=#{glassInfo.flowcard},glasswidth=#{glassInfo.width},glassheight=#{glassInfo.height},thickness=#{glassInfo.thickness},films=#{glassInfo.films},number=0,tier=#{glassInfo.tier} where cell=#{cell}") |
| | | void StorageCageAddGlass(String cell, GlassInfo glassInfo); |
| | | |
| | | @Select("select id,flowcard,Customer,totaltier,line,state,method,starttime,orderstate from flowcard where state!=2") |
| | |
| | | @Update("update queue set glassid=concat(#{flowcard},'-',#{tier}),flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},thickness=#{thickness},mateid=#{mateid},state=1 where state<=0") |
| | | void UpdateQueue(String flowcard, double width, double height, Integer glasstype, Double thickness, Integer tier,int mateid); |
| | | //人工匹配新增一条 |
| | | @Insert("INSERT INTO queue (flowcard,glassid,glasswidth,glassheight,glasstype,thickness,mateid,state) VALUES (#{flowcard},concat(#{flowcard},'-',#{tier}),#{width},#{height},#{glasstype},#{thickness},#{mateid},1)") |
| | | @Insert("INSERT INTO queue (flowcard,glassid,glasswidth,glassheight,glasstype,thickness,mateid,state,time) VALUES (#{flowcard},concat(#{flowcard},'-',#{tier}),#{width},#{height},#{glasstype},#{thickness},#{mateid},1,NOW())") |
| | | int AddQueue(String flowcard, double width, double height, Integer glasstype, Double thickness, Integer tier,int mateid); |
| | | //判断测量表是否有可更改的数据 |
| | | @Select("select count(*) from queue where state<1") |
| | |
| | | +" select #{flowcard}, 0, #{number}, 0, 0, 0, now(),#{Customer} where 0=( select count(*) from flowcard where flowcard=#{flowcard});") |
| | | void InsertFlowcard(String flowcard, Integer number,String Customer); |
| | | |
| | | @Delete("DELETE FROM queue WHERE id = (SELECT id FROM ( SELECT id FROM queue WHERE glasstype = #{glassId} ORDER BY time ASC LIMIT 1) AS temp);") |
| | | @Delete("DELETE FROM queue WHERE id = (SELECT id FROM ( SELECT id FROM queue WHERE state = 2 ORDER BY time ASC LIMIT 1) AS temp);") |
| | | void DeletequeueByGlassid(String glassId); |
| | | |
| | | @Select("select count(*) from flowcard where line=#{line} and state=1 and flowcard!=#{flowcard}") |
| | |
| | | @Update("UPDATE measuresetting SET `films` = #{films}, `thickness` = #{thickness} WHERE `id` = 1;") |
| | | int SaveMeasure(String films, Integer thickness); |
| | | //查询出片队列数据 |
| | | @Select("SELECT a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state FROM `out_task` a left join glassinfo b on a.glasstype=b.glasstype where task_state!=1 ORDER BY task_state") |
| | | @Select("SELECT a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state,shelf_rack as cell FROM `out_task` a left join glassinfo b on a.glasstype=b.glasstype where task_state!=1 ORDER BY task_state") |
| | | List<Map>SelectOutTask(); |
| | | //查询出片记录数据 |
| | | @Select(" select a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state,a.shelf_rack as cell from storage_task a left join glassinfo b on a.glasstype=b.glasstype where task_type=1 ORDER BY a.id desc LIMIT 6;") |
| | | @Select(" select DISTINCT a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state,a.shelf_rack as cell from storage_task a left join glassinfo b on a.glasstype=b.glasstype where task_type=1 ORDER BY a.id desc LIMIT 6;") |
| | | List<Map>SelectOutLog(); |
| | | //查询扫码数据 |
| | | @Select("select*from glassinfo a where a.flowcard=#{flowcard} and a.mateid=#{mateid} and a.tier=#{tier} LIMIT 1") |
| | | GlassInfo SelectCodeGlass(String flowcard,Integer mateid,Integer tier); |
| | | //查询出片队列的玻璃信息 |
| | | @Select("select shelf_rack from out_task where id=#{id}") |
| | | int SelectOutTaskId(Integer id); |
| | | |
| | | } |
| | |
| | | package com.example.springboot.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.example.springboot.entity.GlassInfo; |
| | | import com.example.springboot.entity.Queue; |
| | | import com.example.springboot.entity.RolePermission; |
| | | |
| | |
| | | @Delete("delete from queue where state<=0") |
| | | void DeleteErrorQueue(); |
| | | |
| | | @Delete("delete from queue where state<=3") |
| | | @Delete("delete from queue where state<1") |
| | | void DeleteQueue(); |
| | | |
| | | @Insert("INSERT into queue (flowcard,glassId,mateid,glasstype,glasswidth,glassheight,thickness,state,time) VALUES (#{flowcard},#{glassId},#{mateid},#{glasstype},#{glasswidth},#{glassheight},#{thickness},1,NOW())") |
| | | int insertQueueCode(String flowcard,String glassId,int mateid,int glasstype,double glasswidth,double glassheight,double thickness); |
| | | } |
| | |
| | | // 当返回的格子号为空时,返回400笼子已满 |
| | | if (cage != null) { |
| | | albaniaMapper.AddCage(cage.getId(), glassid, width, height, 1, glasstype, 0, thickness, |
| | | glassfilms.getFilms(), glassfilms.getFlowcard(), glassfilms.getMateid()); |
| | | glassfilms.getFilms(), glassfilms.getFlowcard(), glassfilms.getMateid(),glassfilms.getTier()); |
| | | Mestast(glassid, 1001, cage.getId(), 1, "MESID1", 1); |
| | | System.out.println("任务发送玻璃id:" + glassid + "起始位置:" + 1001 + "格子号:" + cage.getId() + "启动:" + 1); |
| | | albaniaMapper.UpdateStorage(width, height, cage.getId()); |
| | |
| | | } |
| | | } |
| | | // 增加任务记录 |
| | | albaniaMapper.Inserttask(0, 0, 1001, cage.getId(), glassid, glasstype, flowcard, glassfilms.getMateid(), 0); |
| | | albaniaMapper.Inserttask(0, 0, 1001, cage.getId(), glassid, glasstype, flowcard, glassfilms.getMateid(), glassfilms.getTier()); |
| | | albaniaMapper.UpdateQueueState(glassid); |
| | | return (200); |
| | | |
| | |
| | | carwidth = carwidth + glass.getWidth() + 300; |
| | | if (carwidth >= 4300&&type!=glassmate.get(i).getTaskType()) { |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 出片任务启动 |
| | | MestoPlc(); |
| | | return (200); |
| | | } else { |
| | | //增加一条任务记录 |
| | |
| | | } |
| | | // 本次配片完成发送启动命令 |
| | | // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 出片任务启动 |
| | | while (true) { |
| | | String currentValue = plcmes.getPlcParameter("MESToPLC").getValue(); |
| | | // 检查 MESToPLC 的值是否为 0 |
| | | if (currentValue.equals("1")) { |
| | | System.out.println("发送启动字现在为1,停止循环写入"); |
| | | break; // 退出循环 |
| | | } |
| | | // 如果不为 1,继续写入 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(),(short) 1);// 任务发送字 |
| | | System.out.println("继续写入 MESToPLC,当前值:" + currentValue); |
| | | try { |
| | | Thread.sleep(100); // 例如每秒检查一次 |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | MestoPlc(); |
| | | |
| | | } |
| | |
| | | homeMapper.FinishTask(storageTask.getId(), 2);// 完成任务 |
| | | homeMapper.DeletequeueByGlassid(storageTask.getGlasstype().toString()); |
| | | glassInfoMapper.updateGlassNumber(storageTask.getGlasstype());// 减少扫描次数 |
| | | StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getLoadrack()); |
| | | if (storageCage.getNumber() == null || storageCage.getNumber() == 0) { |
| | | UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), 0);// 清除格内信息 |
| | | } |
| | | } else { |
| | | System.out.println("结束出片任务:" + storageTask.getId()); |
| | | homeMapper.FinishTask(storageTask.getId(), 2);// 完成任务 |
| | |
| | | } |
| | | |
| | | // 查询玻璃信息 |
| | | public Result SelectGlassInfo(String width, String height, String thickness, String films) { |
| | | List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width, height, thickness, films); |
| | | public Result SelectGlassInfo(String width, String height, String thickness, String films,String tier) { |
| | | List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width, height, thickness, films,tier); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("StorageCageAddInfo", glassInfoList); |
| | | return Result.success(map); |
| | |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | //扫码匹配成功 |
| | | public int ScanMatch(String Order, Integer Mateid,Integer tier) { |
| | | |
| | | GlassInfo glass=homeMapper.SelectCodeGlass(Order,Mateid,tier); |
| | | System.out.println("glass:"+glass); |
| | | System.out.println("order"+Order+"mateid"+Mateid+"tier"+tier); |
| | | if(glass==null){ |
| | | return 0; |
| | | }else{ |
| | | int cont= QueueMapper.insertQueueCode(glass.getFlowcard(),glass.getGlassid(),glass.getMateid(),glass.getGlasstype(),glass.getWidth(),glass.getHeight(),glass.getThickness()); |
| | | glassInfoMapper.updatemeasurenumber(glass.getId()); |
| | | return cont; |
| | | } |
| | | } |
| | | |
| | | // 人工匹配修改测量信息 |
| | | public Result UpdateQueue(GlassInfo glassInfo) { |
| | | // 删除数据 |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | QueueMapper.DeleteQueue(); |
| | | System.out.println("人工匹配ID:" + glassInfo.getMateid() + "膜系:" + glassInfo.getFilms()); |
| | | String mestoplc=plcmes.getPlcParameter("MESToGaStatus").getValue(); |
| | | String A02Plc=plcmes.getPlcParameter("GaToMES").getValue(); |
| | | System.out.println("人工匹配mestoplc:"+mestoplc); |
| | | // int count = homeMapper.SelectQueue(); |
| | | // if (count > 0) { |
| | | if (("0".equals(mestoplc)&&"0".equals(A02Plc))||("1".equals(A02Plc)&&"4".equals(mestoplc))) { |
| | | // homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(), |
| | | // glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier(), glassInfo.getMateid()); |
| | | homeMapper.AddQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(), |
| | | glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier(), glassInfo.getMateid()); |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | glassInfoMapper.updatemeasurenumber(glassInfo.getId()); |
| | | if("0".equals(mestoplc)){ |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToA01").getAddress(), (short) 1); |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1); |
| | | System.out.println("提前匹配"); |
| | | }else{ |
| | | System.out.println("测量匹配"); |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1); |
| | | } |
| | | map.put("message", "200"); |
| | | // } else { |
| | | // map.put("message", "300"); |
| | | // } |
| | | } else { |
| | | map.put("message", "300"); |
| | | } |
| | | return Result.success(map); |
| | | } |
| | | |
| | |
| | | |
| | | // 删除出片队列 |
| | | public Result DeleteOutTask(Integer id) { |
| | | |
| | | int cell=homeMapper.SelectOutTaskId(id); |
| | | UpdateStroageCageByCell(cell, 1);// 玻璃数量+1 |
| | | homeMapper.DeleteOutTask(id); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | |
| | | // 读取DB105区文件 |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | // 重新测量 |
| | | String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// plc请求字 |
| | | if("1".equals(PlcRequest)){ |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 2); |
| | | } |
| | | // 删除数据 |
| | | QueueMapper.DeleteErrorQueue(); |
| | | // plcmes.getPlcParameter("GaToMES").setValue("2"); |
| | |
| | | for (Map map : RemoveErrorData) { |
| | | String key = map.get("base").toString() + "_" + map.get("height").toString() + "_" |
| | | + map.get("thickness").toString() + "_" + map.get("films").toString() + "_" |
| | | + map.get("order").toString() + "_" + map.get("matching").toString(); |
| | | |
| | | + map.get("order").toString() + "_" + map.get("matching").toString()+ map.get("tier").toString(); |
| | | String tierkey = map.get("order").toString() + "_" + map.get("matching").toString(); |
| | | |
| | | String value = TypeData.get(key); |
| | |
| | | { |
| | | "plcAddressBegin":"DB14.0", |
| | | "plcAddressLenght":"196", |
| | | "plcAddressLenght":"262", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | { |
| | | "codeId": "PLCToMES", |
| | | "addressIndex":"0", |
| | | "addressLenght":"2", |
| | |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "A01ToMES", |
| | | "addressIndex":"210", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToA01", |
| | | "addressIndex":"212", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "Layer", |
| | | "addressIndex":"214", |
| | | "addressLenght":"16", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "A01MateID", |
| | | "addressIndex":"230", |
| | | "addressLenght":"16", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "A01OrderID", |
| | | "addressIndex":"246", |
| | | "addressLenght":"16", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | ] |
| | | } |
| | |
| | | PlcInteractionState.MEStaskinformation2=DB106.52,DB106.58,DB103.128-141,DB103.142-155,DB103.156-169,DB103.184-197,DB103.212-225 |
| | | |
| | | #IO状态 |
| | | PlcIO.State=DB101.0.0,DB101.0.1,DB101.0.2,DB101.2.1,DB101.2.2,DB101.2.3,DB101.2.4,DB101.2.5,DB101.2.6,DB101.2.7,DB101.3.0,DB101.3.1,DB101.3.2,DB101.3.3,DB101.3.4,DB101.4.0,DB101.4.1,DB101.4.2,DB101.4.3,DB101.4.4,DB101.4.5,DB101.4.6,DB101.4.7,DB101.5.0,DB101.5.1,DB101.5.2,DB101.5.3,DB101.6.0,DB101.6.1,DB101.6.2,DB101.6.3,DB101.6.4,DB101.8.0,DB101.8.1,DB101.8.2,DB101.8.3,DB101.8.4,DB101.8.5,DB101.10.0,DB101.10.1,DB101.10.2,DB101.10.3,DB101.10.4,DB101.10.5,DB101.12.0,DB101.12.1,DB101.12.2,DB101.14.0,DB101.14.1,DB101.14.2,DB101.14.3,DB101.14.4,DB101.16.0,DB101.16.1,DB101.16.2,DB101.16.3,DB101.16.4,DB101.16.5,DB101.18.0,DB101.18.1,DB101.18.2,DB101.18.3,DB101.18.4,DB101.18.5,DB101.20.0,DB101.20.1,DB101.20.2,DB101.22.0,DB101.22.1,DB101.22.2,DB101.22.3 |
| | | PlcIO.Name=Sr.Dec,Sr.LowE,Sr.OutPos,Sr.InToX,Sr.GaToXIn,Sr.DecToXOut,Sr.GaToY1,Sr.GaToY2,Sr.GaToY3,Sr.GaToY4,Sr.DecToY,Sr.GaToY,Sr.HomeToY,SQ.LimitSwitchTop,SQ.LimitSwitchBottom,Sr.Travellimitleft,Sr.PosToLeft,Sr.DecToLeft,Sr.DecToRight,Sr.PosToRight,Sr.TravellimitRight,SQ.LimitSwitch+,SQ.LimitSwitch-,Sr.HomeToTurn,SQ.LimitSwitchToTurnTop,SQ.LimitSwitchToTurnBottom,oilPump,Sr.Travellimitleft,Sr.TravellimitRight,Sr.Home,SQ.LimitSwitch+,SQ.LimitSwitch-,biBasPosBlowUp1,biBasPosBlowUp2,biBasPosBlowUp3,biBasPosBlowUp4,biBasPosGlassUp1,biBasPosGlassUp2,biWorkPosBlowUp1,biWorkPosBlowUp2,biWorkPosBlowUp3,biWorkPosBlowUp4,biWorkPosGlassUp1,biWorkPosGlassUp2,boWorkPosBlow,boWorkPosBlowUp,boWorkPosGlassUp,Sr.Travellimitleft,Sr.TravellimitRight,Sr.Home,SQ.LimitSwitch+,SQ.LimitSwitch-,biBasPosBlowUp1,biBasPosBlowUp2,biBasPosBlowUp3,biBasPosBlowUp4,biBasPosGlassUp1,biBasPosGlassUp2,biWorkPosBlowUp1,biWorkPosBlowUp2,biWorkPosBlowUp3,biWorkPosBlowUp4,biWorkPosGlassUp1,biWorkPosGlassUp2,boWorkPosBlow,boWorkPosBlowUp,boWorkPosGlassUp,Red,Yellow,Green,FootSwitch |
| | | PlcIo.Name1=A01减速光电,LOW-E检测光电,A01出口到位光电,A02X轴入口减速光电,A02X轴入口测量光电,A02X轴出口减速光电,A02Y轴粗定位1(最低位),A02Y轴粗定位2,A02Y轴粗定位3,A02Y轴粗定位4(最高位),A02Y轴减速光电,A02Y轴测量光电,A02Y轴原点,A02Y轴上极限,A02Y轴下极限,B01左极限,B01左到位,B01左减速,B01右减速,B01右到位,B01右极限,B01大车正极限,B01大车负极限,B01翻转原点,B01翻转上极限,B01翻转下极限,B01油泵输出,C01左极限,C01右极限,C01小车原点,C01小车正极限,C01小车负极限,C01吹气抬起气缸原点1,C01吹气抬起气缸原点2,C01吹气抬起气缸原点3,C01吹气抬起气缸原点4,C01玻璃抬起气缸原点1,C01玻璃抬起气缸原点2,C01吹气抬起气缸原点1,C01吹气抬起气缸原点2,C01吹气抬起气缸原点3,C01吹气抬起气缸原点4,C01玻璃抬起气缸原点1,C01玻璃抬起气缸原点2,C01吹气输出,C01吹气抬起输出,C01玻璃抬起输出,C02左极限,C02右极限,C02小车原点,C02小车正极限,C02小车负极限,C02吹气抬起气缸原点1,C02吹气抬起气缸原点2,C02吹气抬起气缸原点3,C02吹气抬起气缸原点4,C02玻璃抬起气缸原点1,C02玻璃抬起气缸原点2,C02吹气抬起气缸原点1,C02吹气抬起气缸原点2,C02吹气抬起气缸原点3,C02吹气抬起气缸原点4,C02玻璃抬起气缸原点1,C02玻璃抬起气缸原点2,C02吹气输出,C02吹气抬起输出,C02玻璃抬起输出,红灯,黄灯,绿灯,脚踏开关 |
| | | # PlcIO.State=DB101.0.0,DB101.0.1,DB101.0.2,DB101.2.1,DB101.2.2,DB101.2.3,DB101.2.4,DB101.2.5,DB101.2.6,DB101.2.7,DB101.3.0,DB101.3.1,DB101.3.2,DB101.3.3,DB101.3.4,DB101.4.0,DB101.4.1,DB101.4.2,DB101.4.3,DB101.4.4,DB101.4.5,DB101.4.6,DB101.4.7,DB101.5.0,DB101.5.1,DB101.5.2,DB101.5.3,DB101.6.0,DB101.6.1,DB101.6.2,DB101.6.3,DB101.6.4,DB101.8.0,DB101.8.1,DB101.8.2,DB101.8.3,DB101.8.4,DB101.8.5,DB101.10.0,DB101.10.1,DB101.10.2,DB101.10.3,DB101.10.4,DB101.10.5,DB101.12.0,DB101.12.1,DB101.12.2,DB101.14.0,DB101.14.1,DB101.14.2,DB101.14.3,DB101.14.4,DB101.16.0,DB101.16.1,DB101.16.2,DB101.16.3,DB101.16.4,DB101.16.5,DB101.18.0,DB101.18.1,DB101.18.2,DB101.18.3,DB101.18.4,DB101.18.5,DB101.20.0,DB101.20.1,DB101.20.2,DB101.22.0,DB101.22.1,DB101.22.2,DB101.22.3 |
| | | PlcIO.state=DB12.2.0,DB12.2.1,DB12.2.2,DB12.4.2,DB12.4.3,DB12.4.4,DB12.4.5,DB12.4.6,DB12.4.7,DB12.5.0,DB12.5.1,DB12.5.2,DB12.5.3,DB12.5.4,DB12.5.5,DB12.8.2,DB12.8.3,DB12.8.4,DB12.8.5,DB12.8.6,DB12.8.7,DB12.9.0,DB12.9.1,DB12.9.2,DB12.9.3,DB12.9.4,DB12.9.7,DB12.10.6,DB12.10.7,DB12.11.0,DB12.12.0,DB12.12.1,DB12.12.2,DB12.12.3,DB12.12.4,DB12.12.5,DB12.14.0,DB12.14.1,DB12.14.2,DB12.14.3,DB12.14.4,DB12.14.5,DB12.14.6,DB12.14.7,DB12.15.0,DB12.15.1,DB12.16.0,DB12.16.1,DB12.16.2,DB12.18.6,DB12.18.7,DB12.19.0,DB12.20.0,DB12.20.1,DB12.20.2,DB12.20.3,DB12.20.4,DB12.20.5,DB12.22.0,DB12.22.1,DB12.22.2,DB12.22.3,DB12.22.4,DB12.22.5,DB12.22.6,DB12.22.7,DB12.23.0,DB12.23.1,DB12.24.0,DB12.24.1,DB12.24.2 |
| | | # PlcIO.Name=Sr.Dec,Sr.LowE,Sr.OutPos,Sr.InToX,Sr.GaToXIn,Sr.DecToXOut,Sr.GaToY1,Sr.GaToY2,Sr.GaToY3,Sr.GaToY4,Sr.DecToY,Sr.GaToY,Sr.HomeToY,SQ.LimitSwitchTop,SQ.LimitSwitchBottom,Sr.Travellimitleft,Sr.PosToLeft,Sr.DecToLeft,Sr.DecToRight,Sr.PosToRight,Sr.TravellimitRight,SQ.LimitSwitch+,SQ.LimitSwitch-,Sr.HomeToTurn,SQ.LimitSwitchToTurnTop,SQ.LimitSwitchToTurnBottom,oilPump,Sr.Travellimitleft,Sr.TravellimitRight,Sr.Home,SQ.LimitSwitch+,SQ.LimitSwitch-,biBasPosBlowUp1,biBasPosBlowUp2,biBasPosBlowUp3,biBasPosBlowUp4,biBasPosGlassUp1,biBasPosGlassUp2,biWorkPosBlowUp1,biWorkPosBlowUp2,biWorkPosBlowUp3,biWorkPosBlowUp4,biWorkPosGlassUp1,biWorkPosGlassUp2,boWorkPosBlow,boWorkPosBlowUp,boWorkPosGlassUp,Sr.Travellimitleft,Sr.TravellimitRight,Sr.Home,SQ.LimitSwitch+,SQ.LimitSwitch-,biBasPosBlowUp1,biBasPosBlowUp2,biBasPosBlowUp3,biBasPosBlowUp4,biBasPosGlassUp1,biBasPosGlassUp2,biWorkPosBlowUp1,biWorkPosBlowUp2,biWorkPosBlowUp3,biWorkPosBlowUp4,biWorkPosGlassUp1,biWorkPosGlassUp2,boWorkPosBlow,boWorkPosBlowUp,boWorkPosGlassUp,Red,Yellow,Green,FootSwitch |
| | | PlcIO.Name=Sr.Low, Sr.OutDec, Sr.OutPos, Sr.XCheck, Sr.XDec, Sr.XPos, Sr.H1, Sr.H2, Sr.H3, Sr.H4, Sr.YChecK, Sr.YDec, Sr.travellimitTop, Sr.travellimitBottom, Sr.YZero, Sr.Travellimitleft, Sr.PosToLeft, Sr.DecToLeft, Sr.DecToRight, Sr.PosToRight, Sr.TravellimitRight, SQ.LimitSwitch+, SQ.LimitSwitch-, Sr.HomeToTurn, SQ.LimitSwitchToTurnTop, SQ.LimitSwitchToTurnBottom, oilPump, Sr.InOrigin, SQ.LimitSwitch+, SQ.LimitSwitch-, biBasPosBlowUp1, biBasPosBlowUp2, biBasPosBlowUp3, biBasPosBlowUp4, biBasPosGlassUp1, biBasPosGlassUp2, biWorkBlowSr1, biWorkBlowSr2, biWorkBlowSr3, biWorkBlowSr4, biWorkPosBlowUp1, biWorkPosBlowUp2, biWorkPosBlowUp3, biWorkPosBlowUp4, biWorkPosGlassUp1, biWorkPosGlassUp2, boWorkPosBlow, boWorkPosBlowUp, boWorkPosGlassUp |
| | | PlcIo.Name1=LOW-E检测光电, 出口减速光电, 出口到位光电, X轴寻边, X轴出口减速, X轴出口到位, Y轴高度感应1, Y轴高度感应2, Y轴高度感应3, Y轴高度感应4, Y轴寻边, Y轴高度减速, 上极限, 下极限, Y轴原点, 左极限, 左到位, 左减速, 右减速, 右到位, 右极限, 大车正极限, 大车负极限, 翻转原点, 翻转上极限, 翻转下极限, 油泵输出, 小车原点, 小车正极限, 小车负极限, 吹气抬起气缸原点1, 吹气抬起气缸原点2, 吹气抬起气缸原点3, 吹气抬起气缸原点4, 玻璃抬起气缸原点1, 玻璃抬起气缸原点2, 吹气感应1, 吹气感应2, 吹气感应3, 吹气感应4, 吹气抬起气缸动点1, 吹气抬起气缸动点2, 吹气抬起气缸动点3, 吹气抬起气缸动点4, 玻璃抬起气缸动点1, 玻璃抬起气缸动点2, 吹气输出, 吹气抬起输出, 玻璃抬起输出 |
| | | # PlcIo.Name1=A01减速光电,LOW-E检测光电,A01出口到位光电,A02X轴入口减速光电,A02X轴入口测量光电,A02X轴出口减速光电,A02Y轴粗定位1(最低位),A02Y轴粗定位2,A02Y轴粗定位3,A02Y轴粗定位4(最高位),A02Y轴减速光电,A02Y轴测量光电,A02Y轴原点,A02Y轴上极限,A02Y轴下极限,B01左极限,B01左到位,B01左减速,B01右减速,B01右到位,B01右极限,B01大车正极限,B01大车负极限,B01翻转原点,B01翻转上极限,B01翻转下极限,B01油泵输出,C01左极限,C01右极限,C01小车原点,C01小车正极限,C01小车负极限,C01吹气抬起气缸原点1,C01吹气抬起气缸原点2,C01吹气抬起气缸原点3,C01吹气抬起气缸原点4,C01玻璃抬起气缸原点1,C01玻璃抬起气缸原点2,C01吹气抬起气缸原点1,C01吹气抬起气缸原点2,C01吹气抬起气缸原点3,C01吹气抬起气缸原点4,C01玻璃抬起气缸原点1,C01玻璃抬起气缸原点2,C01吹气输出,C01吹气抬起输出,C01玻璃抬起输出,C02左极限,C02右极限,C02小车原点,C02小车正极限,C02小车负极限,C02吹气抬起气缸原点1,C02吹气抬起气缸原点2,C02吹气抬起气缸原点3,C02吹气抬起气缸原点4,C02玻璃抬起气缸原点1,C02玻璃抬起气缸原点2,C02吹气抬起气缸原点1,C02吹气抬起气缸原点2,C02吹气抬起气缸原点3,C02吹气抬起气缸原点4,C02玻璃抬起气缸原点1,C02玻璃抬起气缸原点2,C02吹气输出,C02吹气抬起输出,C02玻璃抬起输出,红灯,黄灯,绿灯,脚踏开关 |
| | | #A01参数 |
| | | PlcA01.param=DB101.44,DB101.48,DB101.52,DB101.56,DB101.60 |
| | | #A01按钮 |