威纶通官方论坛

ASCII判断

[复制链接]
发表于 2011-11-23 02:00:28 | 显示全部楼层 |阅读模式
请问管理员,我做一个用宏指令判断ASCII大小,当D402(a)大于D420(b)值宏指令还是判断NG。

macro_command main()
char a[6],b[6]
bool c=true
bool d
GetData(a[0], "MITSUBISHI FX3u/FX3G", D, 402, 5)
GetData(b[0], "MITSUBISHI FX3u/FX3G", D, 420, 5)
if a[0]>b[0] then
SetData(c, "MITSUBISHI FX3u/FX3G", M, 100, 1)
SetData(d, "MITSUBISHI FX3u/FX3G", M, 101, 1)
else
SetData(C, "MITSUBISHI FX3u/FX3G", M, 101, 1)
SetData(d, "MITSUBISHI FX3u/FX3G", M, 100, 1)
end if

end macro_command

ASCII大小判断.zip

22.79 KB, 下载次数: 137

ASCII判断

 楼主| 发表于 2011-11-26 00:09:07 | 显示全部楼层
有没有人在吗??本人有几个问题想请教下:
1:请问我的ASCII为什么不能判断,为什么当a=b时还是N G ???
2:ASCII2DEC宏指令不能将ASCII转十进制。
以上问题点请问下管理员错在那里,急需解决为谢。
macro_command main()
char a[6],b[6]
bool c=true
bool d
short result
GetData(a[0], "MITSUBISHI FX3u/FX3G", D, 420, 5)
GetData(b[0], "MITSUBISHI FX3u/FX3G", D, 450, 5)
ASCII2DEC(a[0], result, 1)
SetData(result, "MITSUBISHI FX3u/FX3G", D, 0, 1)
if a[0]>b[0] then
//ok
SetData(c, "MITSUBISHI FX3u/FX3G", M, 100, 1)
SetData(d, "MITSUBISHI FX3u/FX3G", M, 101, 1)
else
//NG
SetData(C, "MITSUBISHI FX3u/FX3G", M, 101, 1)
SetData(d, "MITSUBISHI FX3u/FX3G", M, 100, 1)
end if

end macro_command
发表于 2011-11-30 16:37:10 | 显示全部楼层
1:请问我的ASCII为什么不能判断,为什么当a=b时还是N G ???
else是包括小于和等于两种情况的所以运行结果是正确的,你可以用else if  a<b
2:ASCII2DEC宏指令不能将ASCII转十进制。
这个是可以正确转换的,ascii的来源可以是一个数组,看下你的具体的写法,还有每个寄存器的值,这样我好判断问题在哪里!
发表于 2011-11-30 16:37:19 | 显示全部楼层
1:请问我的ASCII为什么不能判断,为什么当a=b时还是N G ???
else是包括小于和等于两种情况的所以运行结果是正确的,你可以用else if  a<b
2:ASCII2DEC宏指令不能将ASCII转十进制。
这个是可以正确转换的,ascii的来源可以是一个数组,看下你的具体的写法,还有每个寄存器的值,这样我好判断问题在哪里!
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2025-8-10 04:17

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表