// 堆垛机当前运行状态对象
|
function CrnTask(crnData) {
|
let that = this;
|
|
that.crnNo = 0;
|
that.run = false;
|
// 上一数据
|
that.preBay = 1 ;
|
that.preLev = 1 ;
|
that.preX = 0;
|
that.preY = 0;
|
that.preZ = 0;
|
that.prePosition = null;
|
that.preForkPos = -1; // -1, "不在定位" 0, "货叉原位" 1, "货叉在左侧远" 2, "货叉在左侧" 3, "货叉在右侧" 4, "货叉在右侧远"
|
// 当前数据
|
that.bay = 1 ;
|
that.lev = 1 ;
|
that.x = 0;
|
that.y = 0;
|
that.z = 0;
|
that.position = null;
|
that.forkPos = -1;
|
|
let init = function () {
|
that.crnNo = crnData.crnNo;
|
that.bay = crnData.bay;
|
that.lev = crnData.lev;
|
that.x = crnData.position.x;
|
that.y = crnData.position.y;
|
that.z = crnData.position.z;
|
that.position = crnData.position;
|
that.forkPos = crnData.forkPos;
|
};
|
init();
|
|
that.modify = function (crnData) {
|
if (that.run || that.crnNo === 0) {
|
console.error(that.crnNo + "号堆垛机更新失败");
|
} else {
|
if (JSON.stringify(crnData.position) === JSON.stringify(that.position)) {
|
return;
|
}
|
// 上一次
|
that.preBay = that.bay;
|
that.preLev = that.lev;
|
that.preX = that.x;
|
that.preY = that.y;
|
that.preY = that.y;
|
that.prePosition = JSON.parse(JSON.stringify(that.position));
|
that.preForkPos = that.forkPos;
|
// 当前
|
that.bay = crnData.bay;
|
that.lev = crnData.lev;
|
that.x = crnData.position.x;
|
that.y = crnData.position.y;
|
that.z = crnData.position.z;
|
that.position = crnData.position;
|
that.forkPos = crnData.forkPos;
|
// create Route ------------------------------------------------
|
let bodyRoute = new Route([that.prePosition, that.position]); // body
|
// new Route(); // load
|
// console.log(bodyRoute);
|
// console.log("pre" + JSON.stringify(that.prePosition));
|
// console.log(JSON.stringify(that.position));
|
// that.run = true;
|
}
|
}
|
|
}
|