台达计数器ES2PLC怎么使用计数器检测Y0发出的脉冲数呢

如图所示利用比较指令,当C0=1时M0輸出运行一套程序;当C0=2时M1输出,运行一套程序;当C0=3时M2输出运行一套程序。。

你对这个回答的评价是?

用比较判断LD= C0 K1(当计数器C0值為1时)调用子程序1

LD= C0 K2(当计数器C0值为2时)调用子程序2

如果不熟悉子程序,就直接用比较等于指令(LD=)作为启动条件满足条件时,触点接通

你对这个回答的评价是?

如何理解NEG指令的求补

   从计算机运算基础可知正数的补码是它本身,负数的补码是其原码各位取反后加1(不包括符号位);或者也可以理解为负数的补码,是与其绝对徝相等的对应的正数各位取反后加1(包括符号位)

1.“求补码”指令NEG    附图1的程序,是对NEG指令的观察运行程序,接通X0(D0)=-3、(D1)=6;可見,通过NEG指令的运算各数的绝对值分别相同,但符号位改变了

   而按“求补”的运算方法,正数的补码是其本身——因此NEG指令,或许並不是“完全”的求补运算那么,要如何理解它呢


2.-6的补码    确切地说,是带符号位的16位二进制负数00 0110(用十六进制表达是H8006)的补码;按照求补码的方法是将其数码各位取反后加1,得11 1010(HFFFA)这里用H表示十六进制数。

   我们可以把一个正数6的二进制码各位取反后加1,得到對应的补码参见附图2。运行程序用十六进制数显示监控;接通X0,有(D1)=HFFF9、(D2)=HFFFAD2就是所求的值。


   但如果用十进制来显示却是(D1)=K-7、(D2)=K-6,D2的值与K6执行NEG指令的结果相同。原来在DVP-PLC中,负数是用补码表示的当符号位为1时,就会看成是补码十进制数显示出来的,却是其原码对应的数

   那么,怎样才能得到补码的数码位呢我们可以试一下。接通X1将D2的符号位置为0,就得到了D2的数码位H7FFA(11 1010)十进制为K32762。

3.结语    在附图2中接通X1,在D3中得到了补码的数码位但此处只是一种演示,如果不是应用的需要(尚无经验)大可不必如此。

   因为补码夲来就是为加减法运算的方便而引入的是机器内的中间结果,而不必提取出来而在PLC中,如果要传送这些数位用负数的形式就可以了。

附记:    如果要把DVP-PLC的数据存放形式统一到文前的描述上来,则可以理解成:由于正数的补码是原码相同所以正数以原码形式存放;而對于负数,则机器自动将其转换为补码

   因此,可以这样认为数据是以补码的形式存放的。对于负数来说不需要另外对其求补码;但通过NEG指令,可以求出其绝对值


本系列是基础顺序控制主机的代表提供经济、提升效率、高功能的小型PLC

▲ 指令执行速度:0.35 ~ 1μS(基本指令)

▲ 可扩展8台模拟量模块(14bit)

▲ 高速脉冲输出:支持4点独立高速脉沖输出功能,(Y0、Y2)高可达100kHz(Y1、Y3)高可达10kHz

▲ 内置8点高速计数器:

一般型 硬件高速计数器

*指单一计数器高计数范围

▲ 内置模拟输入/输出功能(EX2)

PLC ES系列数字量扩展机


我要回帖

更多关于 台达计数器 的文章

 

随机推荐