S7-300定时器BI BCD输出如果我选择是自动的话,那我设定的时间S5TIME则显示我设定的多少分钟,多少秒,很直观,然后我将显示表达式变成16进制显示的时候,则是按时基的方式显示,但问题是我一按10进制表达方式进行显示,这个数据我就看不懂了,请指教,10进制显示是一个什么格式,是不是西门子在这个10进制显示方面没有做好?
1楼
0
0
回复
-
-
yangran 发表于 2010/4/22 17:34:31
S7-300定时器在不指定时基的情况下CPU自动选择,一般为1S,定时器字为两个字节,15、14位未用,一般为00,13、12位时基1S时对应10,11至0位用来以BCD码存放时间值T(无单位十进制数),定时时间为 t (单位S),则有 t=1S×T。2楼 回复本楼
我们以定时3分4秒为例加以说明,则按10进制表达方式进行显示时,梯形图中定时器的定时器字“ TV ”为8580
8580变成二进制为 0010 0001 1000 0100
10 13、12位表示时基1S
0001 1000 0100 11至0位表示时间值T=184
此时t=1S×184=184s 3分4秒对应184秒
定时器开始计时后
“ B I” 以时间值T为起点每秒减一,以184为起点逐渐减小至0
以“ B I ”值的前八次递减情况为例:
①184 ②183 ③182 ④181 ⑤180 ⑥ 179 ⑦178
“ BCD ” 是以定时器控制字TV为起点每秒减一,但控制字的前4为是不变的,一直为0010,11至0位每秒减一,即“ BCD ”为 “ 0010 ” 与 “ BI ”组合的BCD码。
以“ BCD ”值的前八次递减情况为例:
梯形图上的数字(十进制数)
①8580 ② 8579 ③ 8578 ④ 8577 ⑤ 8576 ⑥8569 ⑦ 8568
把十进制数转为BCD码
①0010 0001 1000 0100 ②0010 0001 1000 0011
③0010 0001 1000 0010 ④0010 0001 1000 0001
⑤0010 0001 1000 0000 ⑥0010 0001 0111 1001
⑦0010 0001 0111 1000
上边的BCD码只看11至0位(前4位不变,把后12位BCD码变为十进制数),则有
①0010 184 ②0010 183 ③ 0010 182 ④0010 181 ⑤0010 180 ⑥0010 179 ⑦0010 178
引用 yangran 2010/4/22 17:34:31 发表于2楼的内容