|
九,什么是浮点数?「定点」指的是约定小数点位置固定不变。那浮点数的「浮点」就是指,其小数点的位置是可以是漂浮不定的。浮点数是采用科学计数法的方式来表示的,例如十进制小数 6.187,用科学计数法表示,可以有多种方式:6.187 = 6.187* 10^06.187= 61.87 * 10^-16.187 = 618.7* 10^-2 用这种科学计数法的方式表示小数时,小数点的位置就变得漂浮不定,这就是浮点数由来。 十,BCD16.是16位的BCD,BCD码是一种数据编码方式,是用二进制数字表示十进制数字的一种方式。目的在于人看上去简单容易理解。BCD码在PLC中使用也是为了让人容易看懂数据,比如一个时间在PLC内存储的时候就是BCD码的方式一个字节就可以表示出小时,一个字节表示分钟,一个字节表示秒钟。 BCD(Binary-Coded Decimal):二进制编码的十进制数,用4位二进制表示1位十进制数(0-9) 。 - 每4位有效范围:0000~1001(对应0~9)- 1010~1111 为无效码,PLC中会报错- 本质:逢十进一,不是纯二进制运算 示例 - 十进制 5 → BCD:0101- 十进制 12 → BCD:0001 0010- 十进制 258 → BCD:0010 0101 1000 PLC里的BCD格式(常用) . BCD16(16位) - 西门子S7-1200/1500:-999~+999(最高位表符号)- 三菱/施耐德/西门子200SMART:0~9999(无符号) . BCD32(32位) - 西门子:-9999999~+9999999- 三菱/施耐德:0~99999999 PLC常用转换指令(西门子为例) - I_BCD:整数 → BCD码- BCD_I:BCD码 → 整数- 例: I_BCD MW10, MW12 (把MW10整数转BCD存MW12)十一,Real转换成INT。小数就没有了ROUND取整。西门子有点特殊。如果恰好在偶数和奇数之间。小数点前是偶数。就选偶数比如32.5,取整后是32,33.5取整是34CEIL,浮点数向上取整,有效数就进位感觉西门子PLC和C语言也差不多。只能仿真S7-1200系列固件版本4.0或更高版本CPUreal和LReal区别real是32位的浮点数。Lreal是64位的浮点数。truncation截尾取整。位数去除。也可以填写变量(浮点数)。顺便看了下,S7-1200有PID功能。在工艺里边。其他的估计都有这个功能。SCALE_X,,意思是标定翻译是缩放VALUE值范围-37763到37768。1200和300系列PLC,对应的都是0-27648VALUE是0.0到1.0范围浮点数INT数据范围是:0-27648NORM,标准化,标准 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |