西门子300PLC,如何把ASCII转化成浮点数?现在使用CP340读取一个泄漏仪表的数据,数据接收区为DB12,比如仪表的结果为0.03,那么DB12.DBB0=NONE,DB12.DBB1=NONE,DB12.DBB2=NONE,DB12.DBB3=NONE,DB12.DBB4= 0 ,DB12.DBB5= .,DB12.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 19:11:34
西门子300PLC,如何把ASCII转化成浮点数?现在使用CP340读取一个泄漏仪表的数据,数据接收区为DB12,比如仪表的结果为0.03,那么DB12.DBB0=NONE,DB12.DBB1=NONE,DB12.DBB2=NONE,DB12.DBB3=NONE,DB12.DBB4= 0 ,DB12.DBB5= .,DB12.
x[OGǿ )/dNL"Ui~j/&&7vUOP_ C Bظ.ўSBj^xM_vל9?gf#{A_>%w1+Ç^=7Yn݅Ky-6zt{Q1@iiN}\bW%s>r\xVŠlm՞%56FngVq o .03=M-?M)ݔ*/jzBrE\{YBC0A1w_Mq~{#'LKӟQOpFt"N'3|*kK.Lm^5q(ܑbaBd.*A4KYIjPSM4š*UBT J2UPϒPEF*&5TMI DXEȺPA1Bdju=!)xKl߿IX~ͼKy%ݳ>mCK|+*|f8w[U`ahҠh)òܽ`_}ZbݥsX+4Nˊ9\=GLjw$ NKUmL2νe5$C`y?R.G>!srb]UWmZ[Yi/7|'Akq 퍑/ۧ~ <;x,cL?&)^-Ȗ0ːk^Gtױ|*O|g}xͪ+7^fՆ{ W&75vO:N1"{bec

西门子300PLC,如何把ASCII转化成浮点数?现在使用CP340读取一个泄漏仪表的数据,数据接收区为DB12,比如仪表的结果为0.03,那么DB12.DBB0=NONE,DB12.DBB1=NONE,DB12.DBB2=NONE,DB12.DBB3=NONE,DB12.DBB4= 0 ,DB12.DBB5= .,DB12.
西门子300PLC,如何把ASCII转化成浮点数?
现在使用CP340读取一个泄漏仪表的数据,数据接收区为DB12,比如仪表的结果为0.03,那么DB12.DBB0=NONE,DB12.DBB1=NONE,DB12.DBB2=NONE,DB12.DBB3=NONE,DB12.DBB4= 0 ,DB12.DBB5= .,DB12.DBB6= 0 ,DB12.DBB7= 3 ,请问如何转化为小数0.03,如果结果为负的,DB12.DBB3= - .

西门子300PLC,如何把ASCII转化成浮点数?现在使用CP340读取一个泄漏仪表的数据,数据接收区为DB12,比如仪表的结果为0.03,那么DB12.DBB0=NONE,DB12.DBB1=NONE,DB12.DBB2=NONE,DB12.DBB3=NONE,DB12.DBB4= 0 ,DB12.DBB5= .,DB12.
先按照byte,把每个字符转换为10进制数,比如字符‘3’(plc中实际存储的是3的ascii码值)就转换为10进制的3,然后按照位数乘以倍率再加起来,形如10*a+b+0.1*C+0.01*D,最后再判断是否为负值就乘以-1
至于如何把ascii码转换为10进制数据,其实你这种情况都不需要专用指令了,因为就是0-9的ascii码,对应ascii码的范围就是48-57而已,你只要把DB12.DBB7这种地址直接减48就得到10进制数了(当然,step7里面没有byte数据的算术指令,还得先转换为int类型)