先看程序
点击此处查看附件PLC外部接了一个10位的绝对值格雷码编码器。
位值按照外观次序0次方接I0.0。9次方接I1.1。
程序就是翻译格雷码成为二进制码。
以上的只是描述一下背景而已。
下面开始正题。
就是这一句
LDN I1.1
= I1.1
这一句太多问题要讨论了。
很多人不明白。线圈上写输入量,究竟为了什么?可以这样做吗?这样做没有意义吧。而且还把自己的反值送给自己?不可思议。
其实怎么说都好。手册上明确了这个关系式合法的。而且程序这样写也确实达到了他的目的。为什么的话,或许留着讨论吧。
这是一个道理。
下一个道理也是因为这句程序。
格雷码编码器。自生产后便确定了值的增加的旋转方向。物理不可改变。要是机械上的方向的确跟编码器的方向不一致的话……。通常最直接的方法是用最大值减去当前值。OK。现在告诉一个深刻的道理给大家。任意位长的格雷码,把最高位取反就可以得到反向的数值次序。
这个程序的这句程序就正好用最简单最快速的方法完成了以上两个工作。