1.数制
二进制数的1位(bit)只能取0和1这两个不同的值,可以用来表示开关量(或称数字量)的两种不同的状态,例如触点的断开和接通、线圈的通电和断电等。如果该位为1,则表示梯形图中对应的位编程元件(例如位存储器M和过程映像输出位Q)的线圈“通电”,其常开触点接通,常闭触点断开,以后称该编程元件为TRUE或1状态,如果该位为0,则对应的编程元件的线圈和触点的状态与上述的相反,称该编程元件为FALSE或0状态。
(2)多位二进制整数
计算机和PLC用多位二进制数来表示数字,二进制数遵循逢二进一的运算规则,从右往左的第n位(最低位为第0位)的权值为2n。二进制常数以2#开始,用下式计算2#1100对应的十进制数:
1×23+1×22+0×21+0×20=8+4=12
表2-4给出了不同进制的数和BCD码的表示方法。
(3)十六进制数
多位二进制数的书写和阅读很不方便。为了解决这一问题,可以用十六进制数来取代二进制数,每个十六进制数对应于4位二进制数。十六进制数的16个数字是0~9和A~F(对应于十进制数10~15)。B#16#、W#16#和DW#16#分别用来表示十六进制字节、字和双字常数,例如W#16#13AF。在数字后面加“H”也可以表示十六进制数,例如16#13AF可以表示为13AFH。
表2-4 不同进制的数的表示方法
2.编码
(1)补码
有符号二进制整数用补码来表示,其最高位为符号位,最高位为0时为正数,为1时为负数。正数的补码就是它本身,最大的16位二进制正数为2#0111 1111 1111 1111,对应的十进制数为32767。
将正数的补码逐位取反(0变为1,1变为0)后加1,得到绝对值与它相同的负数的补码。例如将1158对应的补码2#0000 0100 1000 0110逐位取反后加1,得到-1158的补码1111 1011 0111 1010。
将负数的补码的各位取反后加1,得到它的绝对值对应的正数。例如将-1158的补码2#1111 1011 0111 1010逐位取反后加1,得到1158的补码2#0000 0100 1000 0110。(www.xing528.com)
整数的取值范围为-32768~32767,双整数的取值范围为-2147483648~2147483647。
(2)BCD码
BCD(Binary-coded Decimal)是二进制编码的十进制数的缩写,BCD码用4位二进制数表示一位十进制数(见表2-4),每一位BCD码允许的数值范围为2#0000~2#1001,对应于十进制数0~9。BCD码各位之间的关系是逢十进一,图2-10中的BCD码为-829。BCD码的最高位二进制数用来表示符号,负数为1,正数为0。一般令负数和正数的最高4位二进制数分别为1111或0000(见图2-10)。3位BCD码的范围为-999~+999,7位BCD码(见图2-11)的范围为-9999999~+9999999。
BCD码常用来表示PLC的输入/输出变量的值。TIA博途中的日期和时间一般都采用BCD码来显示和输入。拨码开关(见图2-12)内的圆盘的圆周面上有0~9这10个数字,用按钮来增、减各位要输入的数字。它用内部硬件将10个十进制数转换为4位二进制数。PLC用输入点读取的多位拨码开关的输出值就是BCD码,可以用“转换值”指令CONVERT将它转换为二进制整数。
图2-10 3位BCD码的格式
图2-11 7位BCD码的格式
用PLC的4个输出点给译码驱动芯片4547提供输入信号,可以用LED七段显示器显示一位十进制数(见图2-13)。需要使用“转换值”指令CONVERT,将PLC中的二进制整数或双整数转换为BCD码,然后分别送给各个译码驱动芯片。
图2-12 拨码开关
图2-13 LED七段显示器电路
(3)ASCⅡ码
ASCⅡ码(American Standard Code for Information Interchange,美国信息交换标准代码)由美国国家标准局(ANSI)制定,它已被国际标准化组织(ISO)定为国际标准(ISO646标准)。ASCⅡ码用来表示所有的英语大/小写字母、数字0~9、标点符号和在美式英语中使用的特殊控制字符。数字0~9的ASCⅡ码为十六进制数30H~39H,英语大写字母A~Z的ASCⅡ码为41H~5AH,英语小写字母a~z的ASCⅡ码为61H~7AH。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。