恭喜,你发布的帖子
发布于 2022-06-17 15:45:09
10楼
看懂了
几个想法:
程序开始结束可以加入 DIO 映射,这样每个工位的数据更加清晰,可惜smart没有UDT,只能人为定义寄存器排布;
工位调用可以用循环+指针,更能体现OO;当然,所有工位职责不是都一样,但要说明问题的话,用“大同小异”更好;
工位控制可以再细化,实际每个工位不止是控制公共灯,对吧,那“工位控制”下再调用“公共灯控制”子程序,以后再加入别的控制子程序,那 “工位”这个对象会更清晰丰满;同时也能组合出第二点的“小异”,毕竟要职责单一嘛;
我觉得这个例子本身不是很能表现OO或是低耦合(嗯,不谈起因吧)
类似补水系统应该更加合适:
每个“工位”有液位,有阀泵控制(像阀门,可以包括开关到位、开关控制、超时报警等),可以加入容积泵、离心泵的不同导致的阀泵动作先后等等。。。
随着需求的不断增加,重复几个这样的工位,可能更能说明问题,万总觉得呢
这咋还没看懂呢!
未来真实的工况是80个工位70个不重样, 其中只有10几个能重复调用。 所以,循环是用不上滴。
而所有类型中,唯一的共同点是都有一个XX开关。
请填写推广理由:
分享
只看
楼主