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中怎么进行方便的这样的逻辑呢
佳答案
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=2005
S7-200电源模块代理商S7-200电源模块代理商S7-200电源模块代理商S7-200电源模块代理商西门子CPU模块代理商西门子CPU模块代理商西门子CPU模块代理商