推广 热搜: csgo  vue  2023  angelababy  gps  信用卡  新车  htc  落地  控制 

上海卓曙自动化设备有限公司

   2023-08-07 网络整理佚名2390
核心提示:(2)功能:字节转换为整数指令(BTI)把输入端(IN)的字节值转换成一个整数,并将结果送到OUT,由于字节是无符号的,因此没有符号扩展。实数转换为双整数指令(ROUND)将输入端(IN)的实数转换成双整数值,如果小数部分大于0.

安徽西门子S7-模块代理经销商

PLC ASCII码转换指令

ASCII码转换指令包括ASCII码转十六进制数指令(ATH)、十六进制数转ASCII码指令(HTA)、整数转ASCII码指令(ITA)、双整数转ASCII码指令(DTA)和实数转换为ASCII代码指令(RTA)。

(1) 格式:ATH 指令和HTA 指令的梯形图如图6-40 所示。 ATH指令中,IN为待转换字符的起始地址。 输入字符的编码范围为30~39H(对应字符O~9)和41~46H(对应字符A~F); LEN 为转换后字符的长度,ASCII 码串的最大长度为 255 个字符。 HTA指令中,IN为待转换的十六进制数的起始地址,LEN为待转换的十六进制数的长度。

图 6-40 ATH 指令和 HTA 指令梯形图

图 6-41 ITA 指令、DTA 指令、RTA 指令梯形图

ITA 指令、DTA 指令和RTA 指令的梯形图如图6-41 所示。 在ITA和DTA指令中,FMT是字节格式操作数,用于转换格式。 FMT的四位数字()必须为零; 第四位(D3)用于设置小数点的显示方式。 设置为0时,小数点用点表示; 设置为1时,小数点用逗号表示; 低三位()的有效取值范围为0~5,为0时表示没有小数位。 当为1~5时,表示小数点后1~5位。 RTA指令中,FMT的四位()用于输出缓冲区的大小,有效值范围为3~15; 第四位(D3)用于设置小数点的显示方式。 当设置为0时,小数点用Point表示,当设置为1时,小数点用逗号表示; 低三位( )的有效取值范围为 0 到 5,设置为 0 时表示没有小数位,设置为 1 到 5 时表示保留 1 到 5 位小数位。

(2) 功能:当使能输入有效时,ATH 命令将从 IN 字符开始的 ASCII 码串和 LEN 的长度转换为从 OUT 开始的十六进制数。 当使能输入有效时,HTA 指令将从 IN 字符开始的十六进制数和 LEN 的长度转换为从 OUT 开始的 ASCII 码字符串。

整数转 ASCII 码转换指令(ITA),当使能输入有效时,将输入端(IN)处的整数转换为 ASCII 码串。 转换结果存储在OUT的连续8个字节中,ASCII码串始终为8个字符,位存储在OUT中,低位存储在OUT+7地址单元中。 正值不带符号写入输出缓冲区,负值带减号写入输出缓冲区。

双整数转 ASCII 码转换指令(DTA)是将输入端(IN)处的整数转换为 ASCII 码字符串。 转换结果存储在OUT的连续12个字节中,ASCII码字符串始终为12个字符。 转换结果的高位存储在OUT中,低位存储在OUT+11地址单元中。 正值无符号写入输出缓冲区,负值带减号写入。

实数转 ASCII 码转换指令(RTA)是将输入端子(IN)处的实数转换为 ASCII 码串。 转换结果放入OUT的连续3到15个字节中,高位存储在OUT中,低位存储在OUT+14地址单元中。 正值不带符号写入输出缓冲区,负值带减号写入输出缓冲区。 S7-200 CPU 采用的浮点数格式最多支持 7 位有符号数,无法显示大于 7 位的有符号数。

[例 6-7] 编写一个程序,将 VD100 中存储的 ASCII 码转换为十六进制数。 已知(VB100)=33、(VB101)=32、(VB102)=41、(VB103)=45。

方案设计方案如图6-42所示。

图 6-42 梯形图程序

在PLC存储器中,ASCII字符以编码形式存储。 图6-42中程序的运行结果为:(VB200)=32,(VB201)=AE。

【例 6-8】 整数转 ASCII 转换指令(ITA)应用示例,梯形图如图 6-43 所示。 假设VW2的内容为12345,执行ITA命令后,(VB10)=20(空格字符''),(VB11)=20,(VB12)=31(字符'1'),(VB13)=32 (字符'2'), (VB14)=2C (字符','), (VB15)=33 (字符'3'), (VB16) =34 (字符'4'), (VB17) =35 (字符'4'), (VB17) =35 (字符'3') '5')。

说明:图6-43中,转换格式操作数16#0B表示有3位小数,小数点用逗号表示; 小于 8 个 ASCII 字符的部分为空格(ASCII 码为 20H)*。

图 6-43 梯形图程序

字节、整数、实数之间的转换指令包括字节到整数指令(BTI)、整数到字节指令(ITB)、整数到双整数指令(ITD)、双整数到整数指令(DTI)、双整数到实数转换指令(DTR)、将实数转换为双整数指令(ROUND)、将实数四舍五入后转换为双整数指令(TRUNC)。

(1) 格式:BTI 指令、ITB 指令、ITD 指令的梯形图如图 6-38 所示,DTI 指令、DTR 指令、ROUND 指令、TRUVC 指令的梯形图如图 6-39 所示。

图 6-38 BTI 指令、ITB 指令、ITD 指令梯形图

图 6-39 DTI 指令、DTR 指令、ROUND 指令、TRUNC 指令梯形图

(2) 功能:字节转整数指令(BTI)将输入端(IN)的字节值转换为整数,并将结果发送到 OUT。 由于该字节是无符号的,因此没有符号扩展。 整数转字节指令 (ITB) 将输入端子 (IN) 处的字转换为字节,并将结果发送到 OUT 输出。 输入整数的大小范围是0到255,所有其他值都会导致溢出。 溢出时输出不变,设置SM1.1为1。

整数到双精度整数指令 (ITD) 将输入 (IN) 处的整数转换为双精度整数,并将结果发送到 OUT 输出,同时扩展符号。 双整数到整数指令 (DTI) 将输入 (IN) 处的双整数转换为整数,并将结果发送到 OUT 输出。 如果输入数据超出整数范围,就会发生溢出,溢出时输出保持不变,SM1.1被置1。

双整数转实数指令 (DTR) 将 32 位有符号整数 (IN) 转换为 32 位实数,并将结果发送到 OUT。 实数转换为长整型指令(ROUND)将输入端子(IN)处的实数转换为长整型值。 如果小数部分大于0.5,则在转换前必须先进行四舍五入。 指令(TRUNC)将输入端子(IN)处的 32 位实数四舍五入(实数的小数部分四舍五入)后,将实数四舍五入为双整数,然后将其转换为 32 位有符号数。整数。 当要转换的实数超出范围时,SM1.1 置位,但输出保持不变。

安徽西门子S7-模块代理经销商

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON