在西门子PLC的许多指令中,都可以使用常数值。常数可以是字节、字或者双字。西门子PLC可以二进制数的形式存储常数,也可以用十进制数、十六进制数、BCD码等几种形式表示。
(1)二进制数
二进制数只有两个符号,0和1,按照每两进一的规则进行运算。0和1用于表示开关值(或数字值)的两种不同状态,如触点的断开和连接、线圈的通电和断电等。
如果二进制数的某一位为1,则表示梯形图中对应位编程元件(如位存储器M或输出过程图像Q)的线圈“上电”,其常开触点接通,其常闭触点断开,表示编程元件处于1状态或接通;如果该位为0,则相应编程元件的线圈或触点的状态与上述相反,编程元件被称为处于0状态或关断状态。在编程手册和软件中,位编程元素的1状态和0状态通常用真和假表示。
二进制常量前面用2#表示,例如2#1111_0110_1001_0001是16位二进制常量。
(2)十六进制数
十六进制数的每个数字有16个可能的数字,即0 ~ 9和A ~ F(对应十进制数的10 ~ 15)。根据每十六进制一的规则,每个数字占二进制数的4位。
十六进制常量表示法:
①B#16#、W#16#和DW#16#分别用于表示十六进制(16#)字节(B#)、字(W#)和双字(DW#)常量。
②用字符H表示十六进制常量,例如W#16#3B可以表示为3BH。
(3) BCD码
BCD码是用二进制数表示十进制数,每个十进制数用4位二进制数表示。BCD码其实是一个十六进制数,16个组合用4位二进制数表示,而BCD码只用其前十个组合表示0~9,其余六个组合(1010 ~ 1111)不使用。例如,十进制数298对应的BCD码的二进制表示为2#0000 0010 1001 1000,也可以表示为W#16#298。