西门子PLC模块西门子D0模块6ES7222-1HF32-0XB0参数详情

西门子PLC模块西门子D0模块6ES7222-1HF32-0XB0参数详情

发布商家
西门子PLC模块代理商
联系人
颜娟(女士)
电话
15021292620
手机
15021292620
价格
¥1100.00/件

西门子D0模块6ES7222-1HF32-0XB0西门子D0模块6ES7222-1HF32-0XB0

ASCII码也就是美国信息交换标准代码,它是一组7位(或8位)二进制代码,分别表示0~9的十个代码、大小写字母的52个代码、32个表示各种符号的代码以及34个控制码。而什么字符对应什么ASCII码,我们可以通过查它的编码表得知。例如字符“3”对应的ASCII码为H33,字符“A”对应的ASCII码为H41,这里的3、A是一个字符,而不仅仅是一个数。这就像运动员背后贴的号码布,上面的号码代表的不是数值的大小,而是表示运动员的编号。

S7-200 SMART,CPU ST30,标准型 CPU 模块,晶体管输出,24 V DC 供电,18 输入/12 输出

S7-200 SMART,CPU SR40,标准型 CPU 模块,继电器输出,220 V AC或110 DC 供电,24 输入/16 输出

S7-200 SMART,CPU ST40,标准型 CPU 模块,晶体管输出,24 V DC 供电,24 输入/16 输出

01HEX→ASCII转换指令ASCI


图15-1


ASCI指令的作用是将十六进制字符转换为ASCII码。但为什么要将HEX字符转换为ASCII码呢?这其实是通信的内容,ASCII通信模式是MODBUS通信协议的通信模式之一,简单来说,是指在数据传输过程中所传送的字符用ASCII码表示。至于什么是MODBUS通信协议,咳咳,这通信吧,我上篇文章已经说过了,这是我永远滴痛。

0AD01.jpg

所以,ASCI指令和HEX指令都是用于ASCII通信模式的。即PLC通过ASCI指令将需发送的十六进制数据转换为ASCII码,通过HEX指令将接收到的ASCII码转换为十六进制字符。


ASCI指令的编程手册截图如上图15-1所示,和RS指令与CCD指令一样不可用于32位,有连续执行型和脉冲执行型两种。


图15-2


其梯形图形式如上图15-2所示,和CCD指令非常相似,也有3个操作数,源址S为HEX字符或存储字元件首址;终址D为ASCII码存储字元件首地址;n为需转换的HEX字符的个数,取值范围为1~256。当驱动条件成立时,将源址S的n个十六进制字符转换为ASCII码并存放到首址为D的寄存器中。

结合上篇文章,特殊继电器M8161的状态可以将ASCI指令分为16位数据处理模式和8位数据处理模式。

(1)16位数据处理模式

特殊继电器M8161=OFF,ASCI指令为16位数据处理模式。当驱动条件成立,将以S为首址的寄存器的n个十六进制字符转换为ASCII码,并分别存放到以D为首址的寄存器的高8位和低8位。

1个16位(二进制位)的寄存器含有4个十六进制字符,如下图15-3所示,每1个十六进制字符转为ASCII码后需占有2个十六进制位(8个二进制位),如D0中低4位组成一个十六进制位H1,将字符“1”转换为ASCII后变成H31,即1→31。


图15-3


也就是说,执行指令ASCI D0 D100 K1,已知(D0)=H4321,指令执行完后(D100)=H0031,如下图15-4所示。


图15-4

在16位数据处理模式下,终址D对应的寄存器,其高8位也被利用,换句话说,一个D可以存放2个ASCII码。由每个S有4位HEX数据,全部转换为ASCII码就需要2个D。 如下图15-5所示,执行指令ASCI D0 D100 K4,已知(D0)=H4321,指令执行完后(D101)=H3132,(D100)=H3334,其中D100中的“34”为D0中“4”的ASCII码,依次类推。

图15-5


这里要注意的是,HEX数据在转换的过程中,最后被转换的会存放在终址D的最低位,例如上例中的十六进制字符“4”对应的ASCII码存放到D100的低8位,这如同一个压栈的过程。而在实际应用中,常采用的是8位数据处理模式。


(2)8位数据处理模式

特殊继电器M8161=ON,ASCI指令为8位数据处理模式。当驱动条件成立,将以S为首址的寄存器的n个十六进制字符转换为ASCII码,并分别存放到以D为首址的寄存器的低8位,高8位忽略不用。01.jpg

此时一个S的4位HEX数据,全部转换为ASCII码就需要4个D寄存器,如下图15-6所示。执行指令ASCI D0 D100 K4,M8161=ON,已知(D0)=H4321,指令执行完后(D100)=H0034,其中D100中的“34”为D0中“4”的ASCII码,高8位作置零处理,依次类推。


图15-6


在低8位数据处理模式下,因为1位HEX数据转换为ASCII码就要占用1个寄存器,所以要转换n个字符,就要用到n个占D寄存器,其最高地址为D n-1。如下图15-7所示,执行指令ASCI D0 D100 K10,n=10,终址D的最高地址为D109(100 10-1),且存放的是最先转换的字符“A”,其ASCII码为H41。

图15-7


十六进制字符0~9,A~F对应的ASCII码分别为H30~H39,H41~H46,这个是可以通过查表得知,不过也比较好记。知道了ASCI指令是怎么回事后,再来看HEX指令就显得很简单。

02ASCII→HEX转换指令HEX

HEX指令的作用是将外围设备向PLC回传的ASCII码转换为HEX数据。其编程手册截图和梯形图形式如下图15-8所示。和ASCI指令一样,HEX指令也有3个操作数,源址S为ASCII码存储字元件首址;终址D为HEX数据存储字元件首地址;n依然是需转换的HEX字符的个数,取值范围为1~256。


图15-8


当驱动条件成立时,将源址S的ASCII码转换为n个十六进制字符并存放到首址为D的寄存器中,分为16位和8位数据处理模式。其对数据的处理过程恰好为ASCI指令的逆过程,如下图15-9所示,执行指令HEX D0 D100 K1,(D0)=H0041,ASCII码“H41”对应字符“A”,所以指令执行完毕后,(D100)=H000A。002.jpg


图15-9

可以发现,1个S最多能存2个ASCII码,全部转换为HEX数据只占用D的低8位。换句话说,也就是1个D可以存放2个S的共4个ASCII码。基于ASCI指令讲解的比较详细,HEX指令的16位数据处理模式就不再展开讲解,它是将S的高8位和低8位均作为ASCII码进行转换。

HEX指令的8位数据处理模式,是指把S为首址的寄存器的低8位数据对于的ASCII码转换为HEX数据并存放到D位首址的寄存器中,此时每转换4个S占用1个D。如下图15-10所示,执行指令HEX D0 D10 K8,M8161=ON,8位数据处理模式,D0~D7的高8位数据均忽略不作处理,仅对其低8位数据进行转换。如D0的低8位为H38,该ASCII码对应的字符为“8”,所以终址D11的高4位就为H8,最先转换的存放在最高位。

图15-10

这里要注意的是,S中的数据一定要符合ASCII码的标准才能被转换,如果不是ASCII码,则运算错误。

西门子D0模块6ES7222-1HF32-0XB0西门子D0模块6ES7222-1HF32-0XB0

西门子D0模块6ES7222-1HF32-0XB0西门子D0模块6ES7222-1HF32-0XB0西门子D0模块6ES7222-1HF32-0XB0

人气
28
发布时间
2023-11-22 21:37
所属行业
PLC
编号
40200541
我公司的其他供应信息
相关西门子产品
拨打电话
QQ咨询
请卖家联系我