三菱plc 指令HEXA 是ASCII→HEX转换

三菱PLC的HEXA指令是用于将ASCII码转换为十六进制字符的指令。它的一般格式是HEXA S D n,其中S是ASCII码存储字元件的首地址,D是十六进制字符存储字元件的首地址,n是需要转换的十六进制字符的个数,取值范围是1~256。¹

HEXA指令有两种数据处理模式,分别是16位数据处理模式和8位数据处理模式。这两种模式由特殊继电器M8161的状态来决定。当M8161=OFF时,为16位数据处理模式;当M8161=ON时,为8位数据处理模式。¹

16位数据处理模式下,每个S寄存器中的高8位和低8位都被视为ASCII码,并转换为对应的十六进制字符。每个D寄存器中可以存放4个十六进制字符,分别占用高4位、低4位、高8位和低8位。例如,如果执行指令HEXA D0 D100 K2,已知(D0)=H3132,(D1)=H3334,那么指令执行后(D100)=H4321。(D0)中的H31对应字符“1”,(D0)中的H32对应字符“2”,依次类推。²

8位数据处理模式下,每个S寄存器中只有低8位被视为ASCII码,并转换为对应的十六进制字符。每个D寄存器中只能存放一个十六进制字符,占用低4位,高12位作置零处理。例如,如果执行指令HEXA D0 D100 K4,已知(D0)=H0034,(D1)=H0033,(D2)=H0032,(D3)=H0031,那么指令执行后(D100)=H0004,(D101)=H0003,(D102)=H0002,(D103)=H0001。(D0)中的H34对应字符“4”,依次类推。³

下面是一个使用HEXA指令的梯形图简单案例:

| M8000 |----|/| M8002 |----[ HEXA D0 D100 K10 ]  ; 当M8000为ON且M8002为OFF时,执行HEXA指令
| M8000 |----| | M8002 |----[ MOV K10 M8002 ]    ; 当M8000为ON且M8002为ON时,将K10赋值给M8002

这个梯形图的功能是在上电后将以D0为首地址的10个ASCII码转换为十六进制字符,并存放在以D100为首地址的寄存器中。转换完成后将M8002置为K10。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值