三菱PLC与旋转编码器的程序例子?

三菱PLC与旋转编码器的程序例子?,第1张

如图所示,编码器的A相接X0,B相接X1,当M0为ON时,编码器转动,C251就计数了,正转就加计数,反转就减计数。M1为ON,就清零复位计数器C251了。

望采纳。。。。。。

简单的信捷PLC计米数程序

1、定义一个计数器变量,用于记录米数,例如C1。

2、在程序开始时,将计数器变量C1清零。

3、在每次检测到编码器信号时,将计数器变量C1加1。

4、根据编码器的分辨率和轮子的直径计算出每个编码器信号所对应的距离,例如每个信号对应0.1米。

5、在每次计数器变量C1增加时,将计数器变量C1乘以每个信号对应的距离,得到当前的米数。

6、将当前的米数输出到PLC的输出口,以便后续的使用。

定义高速计数器无外乎下面几个步骤:

1、建一个初始化程序,用SM0.1控制;

2、在初始化程序中,初始化高速计数器,置控制寄存器(HSC0为SMB37),不同的计数器对应不同的DI点,HSC0为I0.0,HSC3为I0.1,HSC4为I0.2,HSC5为I0.3(222不支持HSC1和HSC2),执行HDEF指令,你可以用模式0。

3、置计数器初始值(HSC0为SMD38),如果从零启动就置零。

4、置预置值(HSC0为SMD42),计数器计到这个值可以产生一个中断,一般利用这个中断调用相应的中断程序把当前值(SMD38)复零,否则计数器到头就不再计数了,当然你也可以置一个大点的值,在其他程序中清除当前值(SMD38),确保永远到不了头就可以了。

5、指定中断程序(ATCH),中断事件是12,程序号看你程序了。

6、打开中断(ENI),这条指令没有的话,2.5是不起作用的。

7、启动高速计数器(HSC),按前面的初始化,你就要启动HSC0,即N为0。

8、程序中读取高速计数器的值,对于HSC0,HC0单元中的内容就是当前的计数值,这个单元只读不能写,你可以通过修改SMD38的内容改变当前的计数值。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/11067010.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存