中国机器人网 App
手机扫码下载 · 或点击查看
手上有个搬运项目,逻辑写得碎,IF ELSE套了好几层,现在程序段数已经快900了,估计做到1000出头才能跑完整流程。客户那边说能接受,但总感觉后面加个分支都费劲,万一哪段编错号了都不知道。
想问下大家,这种段数是不是太多了?有没有什么拆分思路?之前听人说把主程序拆成多个子程序调用,能省段数,是这样吗?
900多段确实偏多了,但也不是不能用,主要看你后续还要不要扩。建议先把那些条件判断、IO等待之类的逻辑单独拎出来做成子程序,主程序里只留CALL和必要的顺序控制,段数能直接砍掉一半。IF ELSE嵌套深的话,调试时可以先把不满足的条件屏蔽掉跑一遍,确认分支走向再放出来,不然真容易晕。
拆子程序这事儿得分情况,搬运项目逻辑碎、信号多的时候拆完确实清爽,但CALL调用本身也有开销,段数多不一定是问题,关键看维护方不方便。1000段以内正常,超过1500就该考虑重构了,900多还属于将就能用。
你们这是走D-Net还是EtherCAT?IO点数大概多少?我之前有个类似项目,段数从800多优化到400多,主要是把大量信号处理放到背景任务里去了,前台程序只跑动作。
900段就想重构有点矫情了,我手上有个点焊项目主程序两千多段,跑了三年没出过问题,段数多不是病,结构乱才是。