浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
S7-200电源模块代理商

S7-200电源模块代理商S7-200电源模块代理商S7-200电源模块代理商

电源模块一级代理S7-200电源模块代理商S7-200电源模块代理商

西门子模块,SIMATIC模块,SMART模块,小型可编程控制器,精彩系列面板,SIMATIC S7-200 SMART (Mao, Dong)
西门子,供应商,模块,CPU,PLC模块

如何在step7程序中将16进制数转换成10进制

有一组变量格式为16进制数,比如B#16#14,我在程序中需要使用 "14"来做些逻辑判断,请问应该怎么转换好?14转成10进制为20,又不方便做逻辑,请教下怎么处理这个问题好

问题补充:
我尝试用SCL中直接比较16进制是可行的,比如地址为,DB1.DBB0,比较时直接写 IF DB1.DBB0 = 16#14 THEN
但是LAD中怎么进行方便的这样的逻辑呢

202309061152441346924.jpg202308181258093258584.jpg佳答案

1、问题很简单,不要顾及在PLC中存储的数据格式,因为都是十六进制数的。只考虑用来比较的数据14,如果这个14是十六进制数,则直接进行比较。如果这个14是十进制数,则将其转换为十六进制数0E,再进行比较。
2、在编程时,如果一个字长数据与14(十进制数)进行比较,直接应用:
L   14指令取数即可,系统会自动将14(十进制数)转换为十六进制数0E。
3、问题补充:LAD中怎么进行方便的这样的逻辑呢?
比较的输入端直接写入十进制数或十六进制数均可,但注意要采用正确的数据类型。见:
见《S7-300的数据类型》其中,8、常数的表示方法。连接:
https://blog.gkong.com/more.asp?name=zhyo720211&id=2005IMG_20230318_161442


S7-200电源模块代理商S7-200电源模块代理商S7-200电源模块代理商S7-200电源模块代理商西门子CPU模块代理商西门子CPU模块代理商西门子CPU模块代理商


展开全文
优质商家推荐 拨打电话