作者 | 主题 |
---|---|
'Razor 至圣 ![]() ![]() 经验值:21345 发帖数:2960 精华帖:27 |
楼主
![]() 主题:MOD指令提升生产力 ![]() 为保持输出代码能力,会不时地做些小训练。 周末在训练自定义Timer时,偶然发现了MOD指令在某些特定时候会带来高效,故记此小文。 构建Timer的方法有多种,其中一种是借助PLC系统时钟字节实现,当然西门子官方指南是不推荐这么做的,毕竟它依赖硬件。 初次设计时,采用了笨方法,毕竟量产之前得先有“原型机”,由“秒->分->小时->天->周->月->年”,分级递进的方式。 代码写了一长串,自己都觉得尴尬。 代码写完,功能也基本实现,可直觉告诉自己,事情不应该是这样的,毕竟里面有很多代码的逻辑本质是一样的,当然可以把它们提取出来单独封装,可这样就是可以的吗?当然不是,应该还有更巧妙简洁的法子。 于是便随手拿起电脑桌上的一枚1元的硬币,一边在指间翻转着,一边不知道在想什么,冷不丁地突然想到,就像硬币的两面一样,加减的另一面就是乘除,乘除?求模!MOD指令。 重新编码,出来二代码。 想法一改,很多工作直接不需要再做了,像传零、复位、级间联锁。 MOD在什么时候能够提升生产力,想必聪明如你,此时已经知道了。
Less is more……
|