合肥网站备案,微信登录平台,产品的推广及宣传思路,网站首页排名在使用星原网关时#xff0c;需要导入点表#xff0c;由于设备的点表非常的多#xff0c;可写的点表有1095个。 所有根据编码规律#xff0c;编写了一段nodejs代码#xff0c;来生成点表。 一个编码有四部分组成#xff0c; 分别是
[‘A’, ‘B’, ‘C’, ‘D’, ‘E’]…在使用星原网关时需要导入点表由于设备的点表非常的多可写的点表有1095个。 所有根据编码规律编写了一段nodejs代码来生成点表。 一个编码有四部分组成 分别是
[‘A’, ‘B’, ‘C’, ‘D’, ‘E’][‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’][‘01’, ‘02’, ‘03’, ‘04’, ‘05’, ‘06’, ‘07’, ‘08’, ‘09’, ‘10’][‘R’, ‘Y’, ‘G’]
如 AA02-GAH10-G
最后以csv格式保存文件然后使用excel软件另存为xlsx格式。
二天的工作量2个小时内完成 而且可以重复二次修改使用。
至此生产力艺术已成。
const fs require(fs)
const oneStrArr [A, B, C, D, E]
const twoStrArr [A, B, C, D, E, F, G, H]
const threeStrArr [01, 02, 03, 04, 05, 06, 07, 08, 09, 10]
const colorArr [R, Y, G]
function initFun() {const resArr []const resSwitchArr []for (let i 0; i oneStrArr.length; i) {const oi oneStrArr[i]for (let t 0; t twoStrArr.length; t) {const ti twoStrArr[t]for (let th 0; th threeStrArr.length; th) {const ri threeStrArr[th]// DB05-Gif (oi D ti B parseInt(ri) 5) {continue}// DD05-Gif (oi D ti D parseInt(ri) 5) {continue}// DF05-Gif (oi D ti F parseInt(ri) 5) {continue}// DF05-G; 没有DG,DHif (oi D [G, H].includes(ti)) {continue}resSwitchArr.push(${oi}${ti}${ri}-SWITCH)for (let c 0; c colorArr.length; c) {const ci colorArr[c]resArr.push(${oi}${ti}${ri}-${ci})}}}}return [resArr, resSwitchArr]
}function getPoint(lightingArr) {const pointArr []for (let i 0; i lightingArr.length; i) {const item lightingArr[i]const addr Math.floor(i / 16) 10const dataType i % 16pointArr.push(${item},第${i 1}个灯,保持寄存器,${addr},BIT${dataType},可写,周期上报)}return pointArr
}const arr initFun()
console.log(灯数量 arr[0].length)
console.log(开关数量 arr[1].length)const pointArr getPoint(arr[0])// 使用fs.writeFile方法将字符串写入文件
fs.writeFile(lighting.txt, arr[0].join(\n), err {if (err) throw errconsole.log(文件已保存)
})// 使用fs.writeFile方法将字符串写入文件
fs.writeFile(switch.txt, arr[1].join(\n), err {if (err) throw errconsole.log(文件已保存)
})// 使用fs.writeFile方法将字符串写入文件
fs.writeFile(lighting.csv, pointArr.join(\n), err {if (err) throw errconsole.log(文件已保存)
})